diff --git a/.gitignore b/.gitignore index 741d6ed0..3983cd57 100644 --- a/.gitignore +++ b/.gitignore @@ -8,4 +8,6 @@ source/python/dist source/rust/polaris-specification/target venv debug/ -target/ \ No newline at end of file +target/ +# Maven ignore +.flattened-pom.xml \ No newline at end of file diff --git a/Cargo.lock b/Cargo.lock index d2312f9f..bfe4faa9 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -557,7 +557,7 @@ checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" [[package]] name = "polaris-specification" -version = "1.5.2" +version = "1.5.3" dependencies = [ "bytes", "prost", diff --git a/VERSION b/VERSION index 4cda8f19..8af85beb 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -1.5.2 +1.5.3 diff --git a/api/v1/config_manage/config_file.proto b/api/v1/config_manage/config_file.proto index 80e2b8aa..e0b26054 100644 --- a/api/v1/config_manage/config_file.proto +++ b/api/v1/config_manage/config_file.proto @@ -34,6 +34,9 @@ message ConfigFileGroup { google.protobuf.StringValue business = 17; google.protobuf.StringValue department = 18; map metadata = 19; + + // 删除操作标志位 + google.protobuf.BoolValue deleteable = 20; } message ConfigFile { diff --git a/api/v1/fault_tolerance/circuitbreaker.proto b/api/v1/fault_tolerance/circuitbreaker.proto index a47f2341..44a7b913 100644 --- a/api/v1/fault_tolerance/circuitbreaker.proto +++ b/api/v1/fault_tolerance/circuitbreaker.proto @@ -286,7 +286,10 @@ message CircuitBreakerRule { // priority rules priority uint32 priority = 30 [ json_name = "priority" ]; // 熔断规则标签数据 - map metadata = 50; + map metadata = 31 [ json_name = "metadata" ]; + // 操作标志位 + bool editable = 40 [ json_name = "editable" ]; + bool deleteable = 41 [ json_name = "deleteable" ]; } // the condition to judge an input invocation as an error @@ -327,6 +330,17 @@ message FaultDetectConfig { bool enable = 1; } +// blocking strategy +message BlockConfig { + string name = 1 [ json_name = "name" ]; + // blocking target api + API api = 2 [ json_name = "api" ]; + // conditions to judge an invocation as an error + repeated ErrorCondition error_conditions = 3 [ json_name = "error_conditions" ]; + // trigger condition to trigger circuitbreaking + repeated TriggerCondition trigger_conditions = 4 [ json_name = "trigger_conditions" ]; +} + // fallback config message FallbackConfig { bool enable = 1; @@ -342,15 +356,4 @@ message FallbackResponse { } repeated MessageHeader headers = 2; string body = 3; -} - -// blocking strategy -message BlockConfig { - string name = 1 [ json_name = "name" ]; - // blocking target api - API api = 2 [ json_name = "api" ]; - // conditions to judge an invocation as an error - repeated ErrorCondition error_conditions = 3 [ json_name = "error_conditions" ]; - // trigger condition to trigger circuitbreaking - repeated TriggerCondition trigger_conditions = 4 [ json_name = "trigger_conditions" ]; } \ No newline at end of file diff --git a/api/v1/fault_tolerance/fault_detector.proto b/api/v1/fault_tolerance/fault_detector.proto index 217669be..9645489a 100644 --- a/api/v1/fault_tolerance/fault_detector.proto +++ b/api/v1/fault_tolerance/fault_detector.proto @@ -65,7 +65,12 @@ message FaultDetectRule { // priority rules priority uint32 priority = 29 [ json_name = "priority" ]; // 探测规则标签数据 - map metadata = 50; + map metadata = 30 [ json_name = "metadata" ]; + // extend info, put some custom info to display in console + map extendInfo = 31 [ json_name = "extend_info" ]; + // 操作标志位 + bool editable = 40 [ json_name = "editable" ]; + bool deleteable = 41 [ json_name = "deleteable" ]; } message HttpProtocolConfig { diff --git a/api/v1/model/code.proto b/api/v1/model/code.proto index baad235d..8c7df6fb 100644 --- a/api/v1/model/code.proto +++ b/api/v1/model/code.proto @@ -159,7 +159,8 @@ enum Code { NotFoundResourceConfigFile = 400807; InvalidConfigFileTemplateName = 400808; EncryptConfigFileException = 400809; - DecryptConfigFileException = 400810; + GroupExistActiveRelease = 400810; + DecryptConfigFileException = 400811; // auth codes InvalidUserOwners = 400410; diff --git a/api/v1/model/namespace.proto b/api/v1/model/namespace.proto index a23850d8..63c99c51 100644 --- a/api/v1/model/namespace.proto +++ b/api/v1/model/namespace.proto @@ -32,4 +32,7 @@ message Namespace { google.protobuf.BoolValue editable = 15; repeated google.protobuf.StringValue service_export_to = 16 [ json_name = "service_export_to" ]; + + map metadata = 17; + google.protobuf.BoolValue deleteable = 18; } \ No newline at end of file diff --git a/api/v1/security/block_allow_list.proto b/api/v1/security/block_allow_list.proto new file mode 100644 index 00000000..f21c50a9 --- /dev/null +++ b/api/v1/security/block_allow_list.proto @@ -0,0 +1,90 @@ +syntax = "proto3"; + +package v1; + +import "google/protobuf/wrappers.proto"; +import "model.proto"; + +option go_package = "github.com/polarismesh/specification/source/go/api/v1/security"; +option java_package = "com.tencent.polaris.specification.api.v1.security"; +option java_outer_classname = "BlockAllowListProto"; + +message BlockAllowListRule { + + // unique rule id + string id = 1 [ json_name = "id" ]; + + // unique rule name + string name = 2 [ json_name = "name" ]; + + // metadata for block allow list rules + map metadata = 3 [ json_name = "metadata" ]; + + // service namespace + string namespace = 4 [ json_name = "namespace" ]; + + // service name + string service = 5 [ json_name = "service" ]; + + // rule description + string description = 6 [ json_name = "description" ]; + + // rule priority + uint32 priority = 7 [ json_name = "priority" ]; + + // rule enable + bool enable = 8 [ json_name = "enable" ]; + + // ctime create time of the rules + string ctime = 9 [ json_name = "ctime" ]; + + // mtime modify time of the rules + string mtime = 10 [ json_name = "mtime" ]; + + // etime enable time of the rules + string etime = 11 [ json_name = "etime" ]; + + // block or allow configuration + repeated BlockAllowConfig blockAllowConfig = 12 [ json_name = "block_allow_config" ]; + +} + +message BlockAllowConfig { + // blocking target api + API api = 1 [ json_name = "api" ]; + + message MatchArgument { + // label type for gateway request + enum Type { + // custom arguments + CUSTOM = 0; + // header, match the http header, dubbo attachment, grpc header + HEADER = 1; + // query, match the http query, dubbo argument + QUERY = 2; + // caller service + CALLER_SERVICE = 3; + // caller host ip + CALLER_IP = 4; + // caller instance metadata + CALLER_METADATA = 5; + // caller instance metadata + CALLEE_METADATA = 6; + } + Type type = 1 [ json_name = "type" ]; + // header key or query key + string key = 2 [ json_name = "key" ]; + // header value or query value + MatchString value = 3 [ json_name = "value" ]; + } + // arguments to match this config + repeated MatchArgument arguments = 2 [ json_name = "arguments" ]; + + enum BlockAllowPolicy { + ALLOW_LIST = 0; + BLOCK_LIST = 1; + } + // block or allow as policy + BlockAllowPolicy blockAllowPolicy = 3 [ json_name = "block_allow_policy" ]; +} + diff --git a/api/v1/service_manage/contract.proto b/api/v1/service_manage/contract.proto index c69f6ada..4261e9f5 100644 --- a/api/v1/service_manage/contract.proto +++ b/api/v1/service_manage/contract.proto @@ -34,6 +34,8 @@ message ServiceContract { string status = 12; // 类型 string type = 14; + // 标签 + map metadata = 15; } message InterfaceDescriptor { diff --git a/api/v1/service_manage/request.proto b/api/v1/service_manage/request.proto index 49f98b43..dc059df0 100644 --- a/api/v1/service_manage/request.proto +++ b/api/v1/service_manage/request.proto @@ -3,7 +3,6 @@ syntax = "proto3"; package v1; import "service.proto"; -import "contract.proto"; option go_package = "github.com/polarismesh/specification/source/go/api/v1/service_manage"; option java_package = "com.tencent.polaris.specification.api.v1.service.manage"; @@ -31,6 +30,10 @@ message DiscoverRequest { CUSTOM_ROUTE_RULE = 101; // 就近路由规则 NEARBY_ROUTE_RULE = 102; + // 无损上下线规则 + LOSSLESS = 103; + // 服务黑白名单规则 + BLOCK_ALLOW_RULE = 104; } DiscoverRequestType type = 1; diff --git a/api/v1/service_manage/response.proto b/api/v1/service_manage/response.proto index d04f56e6..70dc6bea 100644 --- a/api/v1/service_manage/response.proto +++ b/api/v1/service_manage/response.proto @@ -16,6 +16,8 @@ import "fault_detector.proto"; import "auth.proto"; import "contract.proto"; import "lane.proto"; +import "lossless.proto"; +import "block_allow_list.proto"; option go_package = "github.com/polarismesh/specification/source/go/api/v1/service_manage"; option java_package = "com.tencent.polaris.specification.api.v1.service.manage"; @@ -101,6 +103,10 @@ message DiscoverResponse { CUSTOM_ROUTE_RULE = 101; // 就近路由规则 NEARBY_ROUTE_RULE = 102; + // 无损上下线规则 + LOSSLESS = 103; + // 服务黑白名单规则 + BLOCK_ALLOW_RULE = 104; } DiscoverResponseType type = 3; @@ -119,8 +125,17 @@ message DiscoverResponse { repeated RouteRule customRouteRules = 23; // 就近路由规则内容 repeated RouteRule nearbyRouteRules = 24; + // 无损上下线规则内容 + repeated LosslessRule losslessRules = 25; + // 服务黑白名单鉴权规则 + repeated BlockAllowListRule blockAllowListRule = 26; } message OptionSwitch { map options = 1; } -message InstanceLabels { map labels = 1; } +message InstanceLabels { + map labels = 1; + string namespace = 2; + string service = 3; + string service_id = 4; +} diff --git a/api/v1/service_manage/service.proto b/api/v1/service_manage/service.proto index 98338052..406e822d 100644 --- a/api/v1/service_manage/service.proto +++ b/api/v1/service_manage/service.proto @@ -42,6 +42,7 @@ message Service { google.protobuf.StringValue id = 21; google.protobuf.BoolValue editable = 24; repeated google.protobuf.StringValue export_to = 25 [ json_name = "export_to" ]; + google.protobuf.BoolValue deleteable = 26; } enum AliasType { @@ -64,6 +65,7 @@ message ServiceAlias { google.protobuf.StringValue id = 11; google.protobuf.BoolValue editable = 12; + google.protobuf.BoolValue deleteable = 13; } message Instance { diff --git a/api/v1/traffic_manage/lane.proto b/api/v1/traffic_manage/lane.proto index 9eb00f25..842c30f1 100644 --- a/api/v1/traffic_manage/lane.proto +++ b/api/v1/traffic_manage/lane.proto @@ -57,7 +57,19 @@ message LaneGroup { // 泳道组内的流量入口信息 repeated LaneRule rules = 11; // 泳道组标签信息 - map metadata = 20; + map metadata = 12; + // 基线实例的过滤策略,默认为不带有标签KEY的实例属于该泳道 + enum BaselineFilterStrategy { + // 带有标签KEY的实例属于该泳道 + NOT_MATCH_KEY = 0; + // 匹配上KEY和VALUE的实例才属于该泳道 + NOT_MATCH_KEY_VALUES = 1; + } + BaselineFilterStrategy baselineFilterStrategy = 13 [ json_name = "baseline_filter_strategy" ]; + + // 操作标志位 + bool editable = 20 [ json_name = "editable" ]; + bool deleteable = 21 [ json_name = "deleteable" ]; } // TrafficMatchRule 流量匹配规则 @@ -105,4 +117,9 @@ message LaneRule { uint32 priority = 12; // description simple description rules string description = 13; + // 属于该泳道的实例标签值,只要匹配上其中一个标签,就代表这个实例属于这个泳道 + // 如果为空,则使用default_label_value + repeated string label_values = 14; + // 属于该泳道的实例标签KEY,默认为lane + string label_key = 15; } \ No newline at end of file diff --git a/api/v1/traffic_manage/lossless.proto b/api/v1/traffic_manage/lossless.proto new file mode 100644 index 00000000..c885e5cc --- /dev/null +++ b/api/v1/traffic_manage/lossless.proto @@ -0,0 +1,87 @@ +syntax = "proto3"; + +package v1; + +option go_package = "github.com/polarismesh/specification/source/go/api/v1/traffic_manage"; +option java_package = "com.tencent.polaris.specification.api.v1.traffic.manage"; +option java_outer_classname = "LosslessProto"; + +// 优雅上下线规则的模型 +message LosslessRule { + // rule id + string id = 1 [ json_name = "id" ]; + // service for rule belongs to + string service = 2 [ json_name = "service" ]; + // namespace for rule belongs to + string namespace = 3 [ json_name = "namespace" ]; + // revision routing version + string revision = 4 [ json_name = "revision" ]; + // ctime create time of the rules + string ctime = 5 [ json_name = "ctime" ]; + // mtime modify time of the rules + string mtime = 6 [ json_name = "mtime" ]; + // configuration for lossless online + LosslessOnline losslessOnline = 7 [ json_name = "lossless_online" ]; + // configuration for lossless offline + LosslessOffline losslessOffline = 8 [ json_name = "lossless_offline" ]; + // rule labels + map metadata = 9 [ json_name = "metadata" ]; + // 操作标志位 + bool editable = 30 [ json_name = "editable" ]; + bool deleteable = 31 [ json_name = "deleteable" ]; +} + +message LosslessOnline { + // configuration for delayRegister + DelayRegister delayRegister = 1 [ json_name = "delay_register" ]; + // configuration for warmup + Warmup warmup = 2 [ json_name = "warmup" ]; + // configuration for readiness probe + Readiness readiness = 3 [ json_name = "readiness" ]; +} + +message DelayRegister { + // enable delay registry + bool enable = 1 [ json_name = "enable" ]; + enum DelayStrategy { + // register instance after delay specific time + DELAY_BY_TIME = 0; + // register instance until health check successfully + DELAY_BY_HEALTH_CHECK = 1; + } + // delay register strategy + DelayStrategy strategy = 2 [ json_name = "strategy" ]; + // delay register time by second, active when strategy == DELAY_BY_TIME + int32 intervalSecond = 3 [ json_name = "interval_second" ]; + // protocol to do health check, default http, active when strategy == DELAY_BY_HEALTH_CHECK + string healthCheckProtocol = 4 [ json_name = "health_check_protocol" ]; + // method to do health check, default GET, active when strategy == DELAY_BY_HEALTH_CHECK + string healthCheckMethod = 5 [ json_name = "health_check_method" ]; + // path to do health check, no default value, active when strategy == DELAY_BY_HEALTH_CHECK + string healthCheckPath = 6 [ json_name = "health_check_path" ]; + // health check interval second, default is 30, active when strategy == DELAY_BY_HEALTH_CHECK + string healthCheckIntervalSecond = 7 [ json_name = "health_check_interval_second" ]; +} + +message Warmup { + // enable warmup + bool enable = 1 [ json_name = "enable" ]; + // total warmup interval by second + int32 intervalSecond = 2 [ json_name = "interval_second" ]; + // warmup stop when most of the instances in service are in warmup status + bool enableOverloadProtection = 3 [ json_name = "enable_overload_protection" ]; + // the threshold to active overload protection, default is 50, threshld = sum(WarmupInstances)/sum(AllInstances)*100 + int32 overloadProtectionThreshold = 4 [ json_name = "overload_protection_threshold" ]; + // curvature for warmup register, default is 1 + int32 curvature = 5 [ json_name = "curvature" ]; +} + +message Readiness { + // enable /readiness expose + bool enable = 1 [ json_name = "enable" ]; +} + +message LosslessOffline { + // enable /offline expose + bool enable = 1 [ json_name = "enable" ]; +} diff --git a/api/v1/traffic_manage/ratelimit.proto b/api/v1/traffic_manage/ratelimit.proto index a12d17f5..a77743b9 100644 --- a/api/v1/traffic_manage/ratelimit.proto +++ b/api/v1/traffic_manage/ratelimit.proto @@ -51,7 +51,7 @@ message Rule { // 可以有多个粒度的配置(比如同时针对秒级,分钟级,天级),匹配一个则进行限流 // 全局限流模式下,该值为服务配额总量;单机限流模式下,该值为单个节点能处理的配额量 repeated Amount amounts = 9; - // 限流动作,对应着客户端的插件名字 + // 限流动作,和 resource 配合决定插件名称 google.protobuf.StringValue action = 10; // 是否停用该限流规则,默认启用 google.protobuf.BoolValue disable = 11; @@ -94,8 +94,15 @@ message Rule { google.protobuf.StringValue etime = 25; // 最大排队时长,单位秒 google.protobuf.UInt32Value max_queue_delay = 26 [json_name = "max_queue_delay"]; + // amount for concurrency rate-limit + ConcurrencyAmount concurrencyAmount = 27 [ json_name = "concurrency_amount" ]; + // fallback configuration + CustomResponse customResponse = 28 [ json_name = "custom_response" ]; // 限流规则标签数据 - map metadata = 50; + map metadata = 29 [ json_name = "metadata" ]; + // 操作标志位 + bool editable = 30 [ json_name = "editable" ]; + bool deleteable = 31 [ json_name = "deleteable" ]; } message MatchArgument { @@ -113,6 +120,8 @@ message MatchArgument { CALLER_SERVICE = 4; // caller host ip CALLER_IP =5; + // caller instance metadata + CALLER_METADATA = 6; } Type type = 1; // header key or query key @@ -121,6 +130,16 @@ message MatchArgument { MatchString value = 3; } +// concurrency rate-limit amount config +message ConcurrencyAmount { + uint32 maxAmount = 1 [ json_name = "max_amount" ]; +} + +// custom response text when limited +message CustomResponse { + string body = 3 [ json_name = "body" ]; +} + // 分布式限流服务集群 message RateLimitCluster { google.protobuf.StringValue service = 1; diff --git a/api/v1/traffic_manage/routing.proto b/api/v1/traffic_manage/routing.proto index 062870af..c8bf5ae4 100644 --- a/api/v1/traffic_manage/routing.proto +++ b/api/v1/traffic_manage/routing.proto @@ -127,7 +127,10 @@ message RouteRule { // deprecated_filed only for compatible to the old version server map extendInfo = 20; // 路由规则标签数据 - map metadata = 50; + map metadata = 21; + // 操作标志位 + bool editable = 30 [ json_name = "editable" ]; + bool deleteable = 31 [ json_name = "deleteable" ]; } message MetadataFailover { diff --git a/source/go/api/v1/config_manage/config_file.pb.go b/source/go/api/v1/config_manage/config_file.pb.go index e6ca41f3..deabded4 100644 --- a/source/go/api/v1/config_manage/config_file.pb.go +++ b/source/go/api/v1/config_manage/config_file.pb.go @@ -1,24 +1,26 @@ // Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.33.0 +// protoc v5.27.3 // source: config_file.proto -package config_manage // import "github.com/polarismesh/specification/source/go/api/v1/config_manage" +package config_manage -import proto "github.com/golang/protobuf/proto" -import fmt "fmt" -import math "math" -import model "github.com/polarismesh/specification/source/go/api/v1/model" -import wrapperspb "google.golang.org/protobuf/types/known/wrapperspb" - -// Reference imports to suppress errors if they are not otherwise used. -var _ = proto.Marshal -var _ = fmt.Errorf -var _ = math.Inf +import ( + model "github.com/polarismesh/specification/source/go/api/v1/model" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + wrapperspb "google.golang.org/protobuf/types/known/wrapperspb" + reflect "reflect" + sync "sync" +) -// This is a compile-time assertion to ensure that this generated file -// is compatible with the proto package it is being compiled against. -// A compilation error at this line likely means your copy of the -// proto package needs to be updated. -const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) type ConfigDiscoverRequest_ConfigDiscoverRequestType int32 @@ -29,24 +31,47 @@ const ( ConfigDiscoverRequest_CONFIG_FILE_GROUPS ConfigDiscoverRequest_ConfigDiscoverRequestType = 3 ) -var ConfigDiscoverRequest_ConfigDiscoverRequestType_name = map[int32]string{ - 0: "UNKNOWN", - 1: "CONFIG_FILE", - 2: "CONFIG_FILE_Names", - 3: "CONFIG_FILE_GROUPS", -} -var ConfigDiscoverRequest_ConfigDiscoverRequestType_value = map[string]int32{ - "UNKNOWN": 0, - "CONFIG_FILE": 1, - "CONFIG_FILE_Names": 2, - "CONFIG_FILE_GROUPS": 3, +// Enum value maps for ConfigDiscoverRequest_ConfigDiscoverRequestType. +var ( + ConfigDiscoverRequest_ConfigDiscoverRequestType_name = map[int32]string{ + 0: "UNKNOWN", + 1: "CONFIG_FILE", + 2: "CONFIG_FILE_Names", + 3: "CONFIG_FILE_GROUPS", + } + ConfigDiscoverRequest_ConfigDiscoverRequestType_value = map[string]int32{ + "UNKNOWN": 0, + "CONFIG_FILE": 1, + "CONFIG_FILE_Names": 2, + "CONFIG_FILE_GROUPS": 3, + } +) + +func (x ConfigDiscoverRequest_ConfigDiscoverRequestType) Enum() *ConfigDiscoverRequest_ConfigDiscoverRequestType { + p := new(ConfigDiscoverRequest_ConfigDiscoverRequestType) + *p = x + return p } func (x ConfigDiscoverRequest_ConfigDiscoverRequestType) String() string { - return proto.EnumName(ConfigDiscoverRequest_ConfigDiscoverRequestType_name, int32(x)) + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } + +func (ConfigDiscoverRequest_ConfigDiscoverRequestType) Descriptor() protoreflect.EnumDescriptor { + return file_config_file_proto_enumTypes[0].Descriptor() +} + +func (ConfigDiscoverRequest_ConfigDiscoverRequestType) Type() protoreflect.EnumType { + return &file_config_file_proto_enumTypes[0] +} + +func (x ConfigDiscoverRequest_ConfigDiscoverRequestType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use ConfigDiscoverRequest_ConfigDiscoverRequestType.Descriptor instead. func (ConfigDiscoverRequest_ConfigDiscoverRequestType) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_config_file_2338e76a90daaaa9, []int{11, 0} + return file_config_file_proto_rawDescGZIP(), []int{11, 0} } type ConfigDiscoverResponse_ConfigDiscoverResponseType int32 @@ -58,201 +83,246 @@ const ( ConfigDiscoverResponse_CONFIG_FILE_GROUPS ConfigDiscoverResponse_ConfigDiscoverResponseType = 3 ) -var ConfigDiscoverResponse_ConfigDiscoverResponseType_name = map[int32]string{ - 0: "UNKNOWN", - 1: "CONFIG_FILE", - 2: "CONFIG_FILE_Names", - 3: "CONFIG_FILE_GROUPS", -} -var ConfigDiscoverResponse_ConfigDiscoverResponseType_value = map[string]int32{ - "UNKNOWN": 0, - "CONFIG_FILE": 1, - "CONFIG_FILE_Names": 2, - "CONFIG_FILE_GROUPS": 3, +// Enum value maps for ConfigDiscoverResponse_ConfigDiscoverResponseType. +var ( + ConfigDiscoverResponse_ConfigDiscoverResponseType_name = map[int32]string{ + 0: "UNKNOWN", + 1: "CONFIG_FILE", + 2: "CONFIG_FILE_Names", + 3: "CONFIG_FILE_GROUPS", + } + ConfigDiscoverResponse_ConfigDiscoverResponseType_value = map[string]int32{ + "UNKNOWN": 0, + "CONFIG_FILE": 1, + "CONFIG_FILE_Names": 2, + "CONFIG_FILE_GROUPS": 3, + } +) + +func (x ConfigDiscoverResponse_ConfigDiscoverResponseType) Enum() *ConfigDiscoverResponse_ConfigDiscoverResponseType { + p := new(ConfigDiscoverResponse_ConfigDiscoverResponseType) + *p = x + return p } func (x ConfigDiscoverResponse_ConfigDiscoverResponseType) String() string { - return proto.EnumName(ConfigDiscoverResponse_ConfigDiscoverResponseType_name, int32(x)) -} -func (ConfigDiscoverResponse_ConfigDiscoverResponseType) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_config_file_2338e76a90daaaa9, []int{12, 0} + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } -type ConfigFileGroup struct { - Id *wrapperspb.UInt64Value `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - Name *wrapperspb.StringValue `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` - Namespace *wrapperspb.StringValue `protobuf:"bytes,3,opt,name=namespace,proto3" json:"namespace,omitempty"` - Comment *wrapperspb.StringValue `protobuf:"bytes,4,opt,name=comment,proto3" json:"comment,omitempty"` - CreateTime *wrapperspb.StringValue `protobuf:"bytes,5,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` - CreateBy *wrapperspb.StringValue `protobuf:"bytes,6,opt,name=create_by,json=createBy,proto3" json:"create_by,omitempty"` - ModifyTime *wrapperspb.StringValue `protobuf:"bytes,7,opt,name=modify_time,json=modifyTime,proto3" json:"modify_time,omitempty"` - ModifyBy *wrapperspb.StringValue `protobuf:"bytes,8,opt,name=modify_by,json=modifyBy,proto3" json:"modify_by,omitempty"` - FileCount *wrapperspb.UInt64Value `protobuf:"bytes,9,opt,name=fileCount,proto3" json:"fileCount,omitempty"` - UserIds []*wrapperspb.StringValue `protobuf:"bytes,10,rep,name=user_ids,proto3" json:"user_ids,omitempty"` - GroupIds []*wrapperspb.StringValue `protobuf:"bytes,11,rep,name=group_ids,proto3" json:"group_ids,omitempty"` - RemoveUserIds []*wrapperspb.StringValue `protobuf:"bytes,13,rep,name=remove_user_ids,proto3" json:"remove_user_ids,omitempty"` - RemoveGroupIds []*wrapperspb.StringValue `protobuf:"bytes,14,rep,name=remove_group_ids,proto3" json:"remove_group_ids,omitempty"` - Editable *wrapperspb.BoolValue `protobuf:"bytes,15,opt,name=editable,proto3" json:"editable,omitempty"` - Owner *wrapperspb.StringValue `protobuf:"bytes,16,opt,name=owner,proto3" json:"owner,omitempty"` - Business *wrapperspb.StringValue `protobuf:"bytes,17,opt,name=business,proto3" json:"business,omitempty"` - Department *wrapperspb.StringValue `protobuf:"bytes,18,opt,name=department,proto3" json:"department,omitempty"` - Metadata map[string]string `protobuf:"bytes,19,rep,name=metadata,proto3" json:"metadata,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *ConfigFileGroup) Reset() { *m = ConfigFileGroup{} } -func (m *ConfigFileGroup) String() string { return proto.CompactTextString(m) } -func (*ConfigFileGroup) ProtoMessage() {} -func (*ConfigFileGroup) Descriptor() ([]byte, []int) { - return fileDescriptor_config_file_2338e76a90daaaa9, []int{0} -} -func (m *ConfigFileGroup) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_ConfigFileGroup.Unmarshal(m, b) +func (ConfigDiscoverResponse_ConfigDiscoverResponseType) Descriptor() protoreflect.EnumDescriptor { + return file_config_file_proto_enumTypes[1].Descriptor() } -func (m *ConfigFileGroup) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_ConfigFileGroup.Marshal(b, m, deterministic) + +func (ConfigDiscoverResponse_ConfigDiscoverResponseType) Type() protoreflect.EnumType { + return &file_config_file_proto_enumTypes[1] } -func (dst *ConfigFileGroup) XXX_Merge(src proto.Message) { - xxx_messageInfo_ConfigFileGroup.Merge(dst, src) + +func (x ConfigDiscoverResponse_ConfigDiscoverResponseType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) } -func (m *ConfigFileGroup) XXX_Size() int { - return xxx_messageInfo_ConfigFileGroup.Size(m) + +// Deprecated: Use ConfigDiscoverResponse_ConfigDiscoverResponseType.Descriptor instead. +func (ConfigDiscoverResponse_ConfigDiscoverResponseType) EnumDescriptor() ([]byte, []int) { + return file_config_file_proto_rawDescGZIP(), []int{12, 0} } -func (m *ConfigFileGroup) XXX_DiscardUnknown() { - xxx_messageInfo_ConfigFileGroup.DiscardUnknown(m) + +type ConfigFileGroup struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id *wrapperspb.UInt64Value `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Name *wrapperspb.StringValue `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + Namespace *wrapperspb.StringValue `protobuf:"bytes,3,opt,name=namespace,proto3" json:"namespace,omitempty"` + Comment *wrapperspb.StringValue `protobuf:"bytes,4,opt,name=comment,proto3" json:"comment,omitempty"` + CreateTime *wrapperspb.StringValue `protobuf:"bytes,5,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` + CreateBy *wrapperspb.StringValue `protobuf:"bytes,6,opt,name=create_by,json=createBy,proto3" json:"create_by,omitempty"` + ModifyTime *wrapperspb.StringValue `protobuf:"bytes,7,opt,name=modify_time,json=modifyTime,proto3" json:"modify_time,omitempty"` + ModifyBy *wrapperspb.StringValue `protobuf:"bytes,8,opt,name=modify_by,json=modifyBy,proto3" json:"modify_by,omitempty"` + FileCount *wrapperspb.UInt64Value `protobuf:"bytes,9,opt,name=fileCount,proto3" json:"fileCount,omitempty"` + UserIds []*wrapperspb.StringValue `protobuf:"bytes,10,rep,name=user_ids,proto3" json:"user_ids,omitempty"` + GroupIds []*wrapperspb.StringValue `protobuf:"bytes,11,rep,name=group_ids,proto3" json:"group_ids,omitempty"` + RemoveUserIds []*wrapperspb.StringValue `protobuf:"bytes,13,rep,name=remove_user_ids,proto3" json:"remove_user_ids,omitempty"` + RemoveGroupIds []*wrapperspb.StringValue `protobuf:"bytes,14,rep,name=remove_group_ids,proto3" json:"remove_group_ids,omitempty"` + Editable *wrapperspb.BoolValue `protobuf:"bytes,15,opt,name=editable,proto3" json:"editable,omitempty"` + Owner *wrapperspb.StringValue `protobuf:"bytes,16,opt,name=owner,proto3" json:"owner,omitempty"` + Business *wrapperspb.StringValue `protobuf:"bytes,17,opt,name=business,proto3" json:"business,omitempty"` + Department *wrapperspb.StringValue `protobuf:"bytes,18,opt,name=department,proto3" json:"department,omitempty"` + Metadata map[string]string `protobuf:"bytes,19,rep,name=metadata,proto3" json:"metadata,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // 删除操作标志位 + Deleteable *wrapperspb.BoolValue `protobuf:"bytes,20,opt,name=deleteable,proto3" json:"deleteable,omitempty"` +} + +func (x *ConfigFileGroup) Reset() { + *x = ConfigFileGroup{} + if protoimpl.UnsafeEnabled { + mi := &file_config_file_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ConfigFileGroup) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ConfigFileGroup) ProtoMessage() {} + +func (x *ConfigFileGroup) ProtoReflect() protoreflect.Message { + mi := &file_config_file_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ConfigFileGroup.ProtoReflect.Descriptor instead. +func (*ConfigFileGroup) Descriptor() ([]byte, []int) { + return file_config_file_proto_rawDescGZIP(), []int{0} } -var xxx_messageInfo_ConfigFileGroup proto.InternalMessageInfo +func (x *ConfigFileGroup) GetId() *wrapperspb.UInt64Value { + if x != nil { + return x.Id + } + return nil +} -func (m *ConfigFileGroup) GetId() *wrapperspb.UInt64Value { - if m != nil { - return m.Id +func (x *ConfigFileGroup) GetName() *wrapperspb.StringValue { + if x != nil { + return x.Name } return nil } -func (m *ConfigFileGroup) GetName() *wrapperspb.StringValue { - if m != nil { - return m.Name +func (x *ConfigFileGroup) GetNamespace() *wrapperspb.StringValue { + if x != nil { + return x.Namespace } return nil } -func (m *ConfigFileGroup) GetNamespace() *wrapperspb.StringValue { - if m != nil { - return m.Namespace +func (x *ConfigFileGroup) GetComment() *wrapperspb.StringValue { + if x != nil { + return x.Comment } return nil } -func (m *ConfigFileGroup) GetComment() *wrapperspb.StringValue { - if m != nil { - return m.Comment +func (x *ConfigFileGroup) GetCreateTime() *wrapperspb.StringValue { + if x != nil { + return x.CreateTime } return nil } -func (m *ConfigFileGroup) GetCreateTime() *wrapperspb.StringValue { - if m != nil { - return m.CreateTime +func (x *ConfigFileGroup) GetCreateBy() *wrapperspb.StringValue { + if x != nil { + return x.CreateBy } return nil } -func (m *ConfigFileGroup) GetCreateBy() *wrapperspb.StringValue { - if m != nil { - return m.CreateBy +func (x *ConfigFileGroup) GetModifyTime() *wrapperspb.StringValue { + if x != nil { + return x.ModifyTime } return nil } -func (m *ConfigFileGroup) GetModifyTime() *wrapperspb.StringValue { - if m != nil { - return m.ModifyTime +func (x *ConfigFileGroup) GetModifyBy() *wrapperspb.StringValue { + if x != nil { + return x.ModifyBy } return nil } -func (m *ConfigFileGroup) GetModifyBy() *wrapperspb.StringValue { - if m != nil { - return m.ModifyBy +func (x *ConfigFileGroup) GetFileCount() *wrapperspb.UInt64Value { + if x != nil { + return x.FileCount } return nil } -func (m *ConfigFileGroup) GetFileCount() *wrapperspb.UInt64Value { - if m != nil { - return m.FileCount +func (x *ConfigFileGroup) GetUserIds() []*wrapperspb.StringValue { + if x != nil { + return x.UserIds } return nil } -func (m *ConfigFileGroup) GetUserIds() []*wrapperspb.StringValue { - if m != nil { - return m.UserIds +func (x *ConfigFileGroup) GetGroupIds() []*wrapperspb.StringValue { + if x != nil { + return x.GroupIds } return nil } -func (m *ConfigFileGroup) GetGroupIds() []*wrapperspb.StringValue { - if m != nil { - return m.GroupIds +func (x *ConfigFileGroup) GetRemoveUserIds() []*wrapperspb.StringValue { + if x != nil { + return x.RemoveUserIds } return nil } -func (m *ConfigFileGroup) GetRemoveUserIds() []*wrapperspb.StringValue { - if m != nil { - return m.RemoveUserIds +func (x *ConfigFileGroup) GetRemoveGroupIds() []*wrapperspb.StringValue { + if x != nil { + return x.RemoveGroupIds } return nil } -func (m *ConfigFileGroup) GetRemoveGroupIds() []*wrapperspb.StringValue { - if m != nil { - return m.RemoveGroupIds +func (x *ConfigFileGroup) GetEditable() *wrapperspb.BoolValue { + if x != nil { + return x.Editable } return nil } -func (m *ConfigFileGroup) GetEditable() *wrapperspb.BoolValue { - if m != nil { - return m.Editable +func (x *ConfigFileGroup) GetOwner() *wrapperspb.StringValue { + if x != nil { + return x.Owner } return nil } -func (m *ConfigFileGroup) GetOwner() *wrapperspb.StringValue { - if m != nil { - return m.Owner +func (x *ConfigFileGroup) GetBusiness() *wrapperspb.StringValue { + if x != nil { + return x.Business } return nil } -func (m *ConfigFileGroup) GetBusiness() *wrapperspb.StringValue { - if m != nil { - return m.Business +func (x *ConfigFileGroup) GetDepartment() *wrapperspb.StringValue { + if x != nil { + return x.Department } return nil } -func (m *ConfigFileGroup) GetDepartment() *wrapperspb.StringValue { - if m != nil { - return m.Department +func (x *ConfigFileGroup) GetMetadata() map[string]string { + if x != nil { + return x.Metadata } return nil } -func (m *ConfigFileGroup) GetMetadata() map[string]string { - if m != nil { - return m.Metadata +func (x *ConfigFileGroup) GetDeleteable() *wrapperspb.BoolValue { + if x != nil { + return x.Deleteable } return nil } type ConfigFile struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + Id *wrapperspb.UInt64Value `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` Name *wrapperspb.StringValue `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` Namespace *wrapperspb.StringValue `protobuf:"bytes,3,opt,name=namespace,proto3" json:"namespace,omitempty"` @@ -271,202 +341,220 @@ type ConfigFile struct { // 是否为加密配置文件 Encrypted *wrapperspb.BoolValue `protobuf:"bytes,16,opt,name=encrypted,proto3" json:"encrypted,omitempty"` // 加密算法 - EncryptAlgo *wrapperspb.StringValue `protobuf:"bytes,17,opt,name=encrypt_algo,json=encryptAlgo,proto3" json:"encrypt_algo,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + EncryptAlgo *wrapperspb.StringValue `protobuf:"bytes,17,opt,name=encrypt_algo,json=encryptAlgo,proto3" json:"encrypt_algo,omitempty"` } -func (m *ConfigFile) Reset() { *m = ConfigFile{} } -func (m *ConfigFile) String() string { return proto.CompactTextString(m) } -func (*ConfigFile) ProtoMessage() {} -func (*ConfigFile) Descriptor() ([]byte, []int) { - return fileDescriptor_config_file_2338e76a90daaaa9, []int{1} -} -func (m *ConfigFile) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_ConfigFile.Unmarshal(m, b) -} -func (m *ConfigFile) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_ConfigFile.Marshal(b, m, deterministic) -} -func (dst *ConfigFile) XXX_Merge(src proto.Message) { - xxx_messageInfo_ConfigFile.Merge(dst, src) +func (x *ConfigFile) Reset() { + *x = ConfigFile{} + if protoimpl.UnsafeEnabled { + mi := &file_config_file_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (m *ConfigFile) XXX_Size() int { - return xxx_messageInfo_ConfigFile.Size(m) + +func (x *ConfigFile) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *ConfigFile) XXX_DiscardUnknown() { - xxx_messageInfo_ConfigFile.DiscardUnknown(m) + +func (*ConfigFile) ProtoMessage() {} + +func (x *ConfigFile) ProtoReflect() protoreflect.Message { + mi := &file_config_file_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) } -var xxx_messageInfo_ConfigFile proto.InternalMessageInfo +// Deprecated: Use ConfigFile.ProtoReflect.Descriptor instead. +func (*ConfigFile) Descriptor() ([]byte, []int) { + return file_config_file_proto_rawDescGZIP(), []int{1} +} -func (m *ConfigFile) GetId() *wrapperspb.UInt64Value { - if m != nil { - return m.Id +func (x *ConfigFile) GetId() *wrapperspb.UInt64Value { + if x != nil { + return x.Id } return nil } -func (m *ConfigFile) GetName() *wrapperspb.StringValue { - if m != nil { - return m.Name +func (x *ConfigFile) GetName() *wrapperspb.StringValue { + if x != nil { + return x.Name } return nil } -func (m *ConfigFile) GetNamespace() *wrapperspb.StringValue { - if m != nil { - return m.Namespace +func (x *ConfigFile) GetNamespace() *wrapperspb.StringValue { + if x != nil { + return x.Namespace } return nil } -func (m *ConfigFile) GetGroup() *wrapperspb.StringValue { - if m != nil { - return m.Group +func (x *ConfigFile) GetGroup() *wrapperspb.StringValue { + if x != nil { + return x.Group } return nil } -func (m *ConfigFile) GetContent() *wrapperspb.StringValue { - if m != nil { - return m.Content +func (x *ConfigFile) GetContent() *wrapperspb.StringValue { + if x != nil { + return x.Content } return nil } -func (m *ConfigFile) GetFormat() *wrapperspb.StringValue { - if m != nil { - return m.Format +func (x *ConfigFile) GetFormat() *wrapperspb.StringValue { + if x != nil { + return x.Format } return nil } -func (m *ConfigFile) GetComment() *wrapperspb.StringValue { - if m != nil { - return m.Comment +func (x *ConfigFile) GetComment() *wrapperspb.StringValue { + if x != nil { + return x.Comment } return nil } -func (m *ConfigFile) GetStatus() *wrapperspb.StringValue { - if m != nil { - return m.Status +func (x *ConfigFile) GetStatus() *wrapperspb.StringValue { + if x != nil { + return x.Status } return nil } -func (m *ConfigFile) GetTags() []*ConfigFileTag { - if m != nil { - return m.Tags +func (x *ConfigFile) GetTags() []*ConfigFileTag { + if x != nil { + return x.Tags } return nil } -func (m *ConfigFile) GetCreateTime() *wrapperspb.StringValue { - if m != nil { - return m.CreateTime +func (x *ConfigFile) GetCreateTime() *wrapperspb.StringValue { + if x != nil { + return x.CreateTime } return nil } -func (m *ConfigFile) GetCreateBy() *wrapperspb.StringValue { - if m != nil { - return m.CreateBy +func (x *ConfigFile) GetCreateBy() *wrapperspb.StringValue { + if x != nil { + return x.CreateBy } return nil } -func (m *ConfigFile) GetModifyTime() *wrapperspb.StringValue { - if m != nil { - return m.ModifyTime +func (x *ConfigFile) GetModifyTime() *wrapperspb.StringValue { + if x != nil { + return x.ModifyTime } return nil } -func (m *ConfigFile) GetModifyBy() *wrapperspb.StringValue { - if m != nil { - return m.ModifyBy +func (x *ConfigFile) GetModifyBy() *wrapperspb.StringValue { + if x != nil { + return x.ModifyBy } return nil } -func (m *ConfigFile) GetReleaseTime() *wrapperspb.StringValue { - if m != nil { - return m.ReleaseTime +func (x *ConfigFile) GetReleaseTime() *wrapperspb.StringValue { + if x != nil { + return x.ReleaseTime } return nil } -func (m *ConfigFile) GetReleaseBy() *wrapperspb.StringValue { - if m != nil { - return m.ReleaseBy +func (x *ConfigFile) GetReleaseBy() *wrapperspb.StringValue { + if x != nil { + return x.ReleaseBy } return nil } -func (m *ConfigFile) GetEncrypted() *wrapperspb.BoolValue { - if m != nil { - return m.Encrypted +func (x *ConfigFile) GetEncrypted() *wrapperspb.BoolValue { + if x != nil { + return x.Encrypted } return nil } -func (m *ConfigFile) GetEncryptAlgo() *wrapperspb.StringValue { - if m != nil { - return m.EncryptAlgo +func (x *ConfigFile) GetEncryptAlgo() *wrapperspb.StringValue { + if x != nil { + return x.EncryptAlgo } return nil } type ConfigFileTag struct { - Key *wrapperspb.StringValue `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` - Value *wrapperspb.StringValue `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields -func (m *ConfigFileTag) Reset() { *m = ConfigFileTag{} } -func (m *ConfigFileTag) String() string { return proto.CompactTextString(m) } -func (*ConfigFileTag) ProtoMessage() {} -func (*ConfigFileTag) Descriptor() ([]byte, []int) { - return fileDescriptor_config_file_2338e76a90daaaa9, []int{2} -} -func (m *ConfigFileTag) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_ConfigFileTag.Unmarshal(m, b) -} -func (m *ConfigFileTag) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_ConfigFileTag.Marshal(b, m, deterministic) + Key *wrapperspb.StringValue `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` + Value *wrapperspb.StringValue `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` } -func (dst *ConfigFileTag) XXX_Merge(src proto.Message) { - xxx_messageInfo_ConfigFileTag.Merge(dst, src) + +func (x *ConfigFileTag) Reset() { + *x = ConfigFileTag{} + if protoimpl.UnsafeEnabled { + mi := &file_config_file_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (m *ConfigFileTag) XXX_Size() int { - return xxx_messageInfo_ConfigFileTag.Size(m) + +func (x *ConfigFileTag) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *ConfigFileTag) XXX_DiscardUnknown() { - xxx_messageInfo_ConfigFileTag.DiscardUnknown(m) + +func (*ConfigFileTag) ProtoMessage() {} + +func (x *ConfigFileTag) ProtoReflect() protoreflect.Message { + mi := &file_config_file_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) } -var xxx_messageInfo_ConfigFileTag proto.InternalMessageInfo +// Deprecated: Use ConfigFileTag.ProtoReflect.Descriptor instead. +func (*ConfigFileTag) Descriptor() ([]byte, []int) { + return file_config_file_proto_rawDescGZIP(), []int{2} +} -func (m *ConfigFileTag) GetKey() *wrapperspb.StringValue { - if m != nil { - return m.Key +func (x *ConfigFileTag) GetKey() *wrapperspb.StringValue { + if x != nil { + return x.Key } return nil } -func (m *ConfigFileTag) GetValue() *wrapperspb.StringValue { - if m != nil { - return m.Value +func (x *ConfigFileTag) GetValue() *wrapperspb.StringValue { + if x != nil { + return x.Value } return nil } type ConfigFileRelease struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + Id *wrapperspb.UInt64Value `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` Name *wrapperspb.StringValue `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` Namespace *wrapperspb.StringValue `protobuf:"bytes,3,opt,name=namespace,proto3" json:"namespace,omitempty"` @@ -487,170 +575,179 @@ type ConfigFileRelease struct { ReleaseDescription *wrapperspb.StringValue `protobuf:"bytes,17,opt,name=release_description,json=releaseDescription,proto3" json:"release_description,omitempty"` ReleaseType *wrapperspb.StringValue `protobuf:"bytes,18,opt,name=release_type,json=releaseType,proto3" json:"release_type,omitempty"` // 配置灰度发布时需要匹配的客户端标签信息 - BetaLabels []*model.ClientLabel `protobuf:"bytes,19,rep,name=beta_labels,json=betaLabels,proto3" json:"beta_labels,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + BetaLabels []*model.ClientLabel `protobuf:"bytes,19,rep,name=beta_labels,json=betaLabels,proto3" json:"beta_labels,omitempty"` } -func (m *ConfigFileRelease) Reset() { *m = ConfigFileRelease{} } -func (m *ConfigFileRelease) String() string { return proto.CompactTextString(m) } -func (*ConfigFileRelease) ProtoMessage() {} -func (*ConfigFileRelease) Descriptor() ([]byte, []int) { - return fileDescriptor_config_file_2338e76a90daaaa9, []int{3} -} -func (m *ConfigFileRelease) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_ConfigFileRelease.Unmarshal(m, b) -} -func (m *ConfigFileRelease) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_ConfigFileRelease.Marshal(b, m, deterministic) -} -func (dst *ConfigFileRelease) XXX_Merge(src proto.Message) { - xxx_messageInfo_ConfigFileRelease.Merge(dst, src) +func (x *ConfigFileRelease) Reset() { + *x = ConfigFileRelease{} + if protoimpl.UnsafeEnabled { + mi := &file_config_file_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (m *ConfigFileRelease) XXX_Size() int { - return xxx_messageInfo_ConfigFileRelease.Size(m) + +func (x *ConfigFileRelease) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *ConfigFileRelease) XXX_DiscardUnknown() { - xxx_messageInfo_ConfigFileRelease.DiscardUnknown(m) + +func (*ConfigFileRelease) ProtoMessage() {} + +func (x *ConfigFileRelease) ProtoReflect() protoreflect.Message { + mi := &file_config_file_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) } -var xxx_messageInfo_ConfigFileRelease proto.InternalMessageInfo +// Deprecated: Use ConfigFileRelease.ProtoReflect.Descriptor instead. +func (*ConfigFileRelease) Descriptor() ([]byte, []int) { + return file_config_file_proto_rawDescGZIP(), []int{3} +} -func (m *ConfigFileRelease) GetId() *wrapperspb.UInt64Value { - if m != nil { - return m.Id +func (x *ConfigFileRelease) GetId() *wrapperspb.UInt64Value { + if x != nil { + return x.Id } return nil } -func (m *ConfigFileRelease) GetName() *wrapperspb.StringValue { - if m != nil { - return m.Name +func (x *ConfigFileRelease) GetName() *wrapperspb.StringValue { + if x != nil { + return x.Name } return nil } -func (m *ConfigFileRelease) GetNamespace() *wrapperspb.StringValue { - if m != nil { - return m.Namespace +func (x *ConfigFileRelease) GetNamespace() *wrapperspb.StringValue { + if x != nil { + return x.Namespace } return nil } -func (m *ConfigFileRelease) GetGroup() *wrapperspb.StringValue { - if m != nil { - return m.Group +func (x *ConfigFileRelease) GetGroup() *wrapperspb.StringValue { + if x != nil { + return x.Group } return nil } -func (m *ConfigFileRelease) GetFileName() *wrapperspb.StringValue { - if m != nil { - return m.FileName +func (x *ConfigFileRelease) GetFileName() *wrapperspb.StringValue { + if x != nil { + return x.FileName } return nil } -func (m *ConfigFileRelease) GetContent() *wrapperspb.StringValue { - if m != nil { - return m.Content +func (x *ConfigFileRelease) GetContent() *wrapperspb.StringValue { + if x != nil { + return x.Content } return nil } -func (m *ConfigFileRelease) GetComment() *wrapperspb.StringValue { - if m != nil { - return m.Comment +func (x *ConfigFileRelease) GetComment() *wrapperspb.StringValue { + if x != nil { + return x.Comment } return nil } -func (m *ConfigFileRelease) GetMd5() *wrapperspb.StringValue { - if m != nil { - return m.Md5 +func (x *ConfigFileRelease) GetMd5() *wrapperspb.StringValue { + if x != nil { + return x.Md5 } return nil } -func (m *ConfigFileRelease) GetVersion() *wrapperspb.UInt64Value { - if m != nil { - return m.Version +func (x *ConfigFileRelease) GetVersion() *wrapperspb.UInt64Value { + if x != nil { + return x.Version } return nil } -func (m *ConfigFileRelease) GetCreateTime() *wrapperspb.StringValue { - if m != nil { - return m.CreateTime +func (x *ConfigFileRelease) GetCreateTime() *wrapperspb.StringValue { + if x != nil { + return x.CreateTime } return nil } -func (m *ConfigFileRelease) GetCreateBy() *wrapperspb.StringValue { - if m != nil { - return m.CreateBy +func (x *ConfigFileRelease) GetCreateBy() *wrapperspb.StringValue { + if x != nil { + return x.CreateBy } return nil } -func (m *ConfigFileRelease) GetModifyTime() *wrapperspb.StringValue { - if m != nil { - return m.ModifyTime +func (x *ConfigFileRelease) GetModifyTime() *wrapperspb.StringValue { + if x != nil { + return x.ModifyTime } return nil } -func (m *ConfigFileRelease) GetModifyBy() *wrapperspb.StringValue { - if m != nil { - return m.ModifyBy +func (x *ConfigFileRelease) GetModifyBy() *wrapperspb.StringValue { + if x != nil { + return x.ModifyBy } return nil } -func (m *ConfigFileRelease) GetTags() []*ConfigFileTag { - if m != nil { - return m.Tags +func (x *ConfigFileRelease) GetTags() []*ConfigFileTag { + if x != nil { + return x.Tags } return nil } -func (m *ConfigFileRelease) GetActive() *wrapperspb.BoolValue { - if m != nil { - return m.Active +func (x *ConfigFileRelease) GetActive() *wrapperspb.BoolValue { + if x != nil { + return x.Active } return nil } -func (m *ConfigFileRelease) GetFormat() *wrapperspb.StringValue { - if m != nil { - return m.Format +func (x *ConfigFileRelease) GetFormat() *wrapperspb.StringValue { + if x != nil { + return x.Format } return nil } -func (m *ConfigFileRelease) GetReleaseDescription() *wrapperspb.StringValue { - if m != nil { - return m.ReleaseDescription +func (x *ConfigFileRelease) GetReleaseDescription() *wrapperspb.StringValue { + if x != nil { + return x.ReleaseDescription } return nil } -func (m *ConfigFileRelease) GetReleaseType() *wrapperspb.StringValue { - if m != nil { - return m.ReleaseType +func (x *ConfigFileRelease) GetReleaseType() *wrapperspb.StringValue { + if x != nil { + return x.ReleaseType } return nil } -func (m *ConfigFileRelease) GetBetaLabels() []*model.ClientLabel { - if m != nil { - return m.BetaLabels +func (x *ConfigFileRelease) GetBetaLabels() []*model.ClientLabel { + if x != nil { + return x.BetaLabels } return nil } type ConfigFileReleaseHistory struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + Id *wrapperspb.UInt64Value `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` Name *wrapperspb.StringValue `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` Namespace *wrapperspb.StringValue `protobuf:"bytes,3,opt,name=namespace,proto3" json:"namespace,omitempty"` @@ -668,266 +765,284 @@ type ConfigFileReleaseHistory struct { ModifyTime *wrapperspb.StringValue `protobuf:"bytes,15,opt,name=modify_time,json=modifyTime,proto3" json:"modify_time,omitempty"` ModifyBy *wrapperspb.StringValue `protobuf:"bytes,16,opt,name=modify_by,json=modifyBy,proto3" json:"modify_by,omitempty"` // 配置发布失败的原因 - Reason *wrapperspb.StringValue `protobuf:"bytes,17,opt,name=reason,proto3" json:"reason,omitempty"` - ReleaseDescription *wrapperspb.StringValue `protobuf:"bytes,18,opt,name=release_description,json=releaseDescription,proto3" json:"release_description,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + Reason *wrapperspb.StringValue `protobuf:"bytes,17,opt,name=reason,proto3" json:"reason,omitempty"` + ReleaseDescription *wrapperspb.StringValue `protobuf:"bytes,18,opt,name=release_description,json=releaseDescription,proto3" json:"release_description,omitempty"` } -func (m *ConfigFileReleaseHistory) Reset() { *m = ConfigFileReleaseHistory{} } -func (m *ConfigFileReleaseHistory) String() string { return proto.CompactTextString(m) } -func (*ConfigFileReleaseHistory) ProtoMessage() {} -func (*ConfigFileReleaseHistory) Descriptor() ([]byte, []int) { - return fileDescriptor_config_file_2338e76a90daaaa9, []int{4} -} -func (m *ConfigFileReleaseHistory) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_ConfigFileReleaseHistory.Unmarshal(m, b) -} -func (m *ConfigFileReleaseHistory) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_ConfigFileReleaseHistory.Marshal(b, m, deterministic) -} -func (dst *ConfigFileReleaseHistory) XXX_Merge(src proto.Message) { - xxx_messageInfo_ConfigFileReleaseHistory.Merge(dst, src) +func (x *ConfigFileReleaseHistory) Reset() { + *x = ConfigFileReleaseHistory{} + if protoimpl.UnsafeEnabled { + mi := &file_config_file_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (m *ConfigFileReleaseHistory) XXX_Size() int { - return xxx_messageInfo_ConfigFileReleaseHistory.Size(m) + +func (x *ConfigFileReleaseHistory) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *ConfigFileReleaseHistory) XXX_DiscardUnknown() { - xxx_messageInfo_ConfigFileReleaseHistory.DiscardUnknown(m) + +func (*ConfigFileReleaseHistory) ProtoMessage() {} + +func (x *ConfigFileReleaseHistory) ProtoReflect() protoreflect.Message { + mi := &file_config_file_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) } -var xxx_messageInfo_ConfigFileReleaseHistory proto.InternalMessageInfo +// Deprecated: Use ConfigFileReleaseHistory.ProtoReflect.Descriptor instead. +func (*ConfigFileReleaseHistory) Descriptor() ([]byte, []int) { + return file_config_file_proto_rawDescGZIP(), []int{4} +} -func (m *ConfigFileReleaseHistory) GetId() *wrapperspb.UInt64Value { - if m != nil { - return m.Id +func (x *ConfigFileReleaseHistory) GetId() *wrapperspb.UInt64Value { + if x != nil { + return x.Id } return nil } -func (m *ConfigFileReleaseHistory) GetName() *wrapperspb.StringValue { - if m != nil { - return m.Name +func (x *ConfigFileReleaseHistory) GetName() *wrapperspb.StringValue { + if x != nil { + return x.Name } return nil } -func (m *ConfigFileReleaseHistory) GetNamespace() *wrapperspb.StringValue { - if m != nil { - return m.Namespace +func (x *ConfigFileReleaseHistory) GetNamespace() *wrapperspb.StringValue { + if x != nil { + return x.Namespace } return nil } -func (m *ConfigFileReleaseHistory) GetGroup() *wrapperspb.StringValue { - if m != nil { - return m.Group +func (x *ConfigFileReleaseHistory) GetGroup() *wrapperspb.StringValue { + if x != nil { + return x.Group } return nil } -func (m *ConfigFileReleaseHistory) GetFileName() *wrapperspb.StringValue { - if m != nil { - return m.FileName +func (x *ConfigFileReleaseHistory) GetFileName() *wrapperspb.StringValue { + if x != nil { + return x.FileName } return nil } -func (m *ConfigFileReleaseHistory) GetContent() *wrapperspb.StringValue { - if m != nil { - return m.Content +func (x *ConfigFileReleaseHistory) GetContent() *wrapperspb.StringValue { + if x != nil { + return x.Content } return nil } -func (m *ConfigFileReleaseHistory) GetFormat() *wrapperspb.StringValue { - if m != nil { - return m.Format +func (x *ConfigFileReleaseHistory) GetFormat() *wrapperspb.StringValue { + if x != nil { + return x.Format } return nil } -func (m *ConfigFileReleaseHistory) GetComment() *wrapperspb.StringValue { - if m != nil { - return m.Comment +func (x *ConfigFileReleaseHistory) GetComment() *wrapperspb.StringValue { + if x != nil { + return x.Comment } return nil } -func (m *ConfigFileReleaseHistory) GetMd5() *wrapperspb.StringValue { - if m != nil { - return m.Md5 +func (x *ConfigFileReleaseHistory) GetMd5() *wrapperspb.StringValue { + if x != nil { + return x.Md5 } return nil } -func (m *ConfigFileReleaseHistory) GetType() *wrapperspb.StringValue { - if m != nil { - return m.Type +func (x *ConfigFileReleaseHistory) GetType() *wrapperspb.StringValue { + if x != nil { + return x.Type } return nil } -func (m *ConfigFileReleaseHistory) GetStatus() *wrapperspb.StringValue { - if m != nil { - return m.Status +func (x *ConfigFileReleaseHistory) GetStatus() *wrapperspb.StringValue { + if x != nil { + return x.Status } return nil } -func (m *ConfigFileReleaseHistory) GetTags() []*ConfigFileTag { - if m != nil { - return m.Tags +func (x *ConfigFileReleaseHistory) GetTags() []*ConfigFileTag { + if x != nil { + return x.Tags } return nil } -func (m *ConfigFileReleaseHistory) GetCreateTime() *wrapperspb.StringValue { - if m != nil { - return m.CreateTime +func (x *ConfigFileReleaseHistory) GetCreateTime() *wrapperspb.StringValue { + if x != nil { + return x.CreateTime } return nil } -func (m *ConfigFileReleaseHistory) GetCreateBy() *wrapperspb.StringValue { - if m != nil { - return m.CreateBy +func (x *ConfigFileReleaseHistory) GetCreateBy() *wrapperspb.StringValue { + if x != nil { + return x.CreateBy } return nil } -func (m *ConfigFileReleaseHistory) GetModifyTime() *wrapperspb.StringValue { - if m != nil { - return m.ModifyTime +func (x *ConfigFileReleaseHistory) GetModifyTime() *wrapperspb.StringValue { + if x != nil { + return x.ModifyTime } return nil } -func (m *ConfigFileReleaseHistory) GetModifyBy() *wrapperspb.StringValue { - if m != nil { - return m.ModifyBy +func (x *ConfigFileReleaseHistory) GetModifyBy() *wrapperspb.StringValue { + if x != nil { + return x.ModifyBy } return nil } -func (m *ConfigFileReleaseHistory) GetReason() *wrapperspb.StringValue { - if m != nil { - return m.Reason +func (x *ConfigFileReleaseHistory) GetReason() *wrapperspb.StringValue { + if x != nil { + return x.Reason } return nil } -func (m *ConfigFileReleaseHistory) GetReleaseDescription() *wrapperspb.StringValue { - if m != nil { - return m.ReleaseDescription +func (x *ConfigFileReleaseHistory) GetReleaseDescription() *wrapperspb.StringValue { + if x != nil { + return x.ReleaseDescription } return nil } type ConfigFileTemplate struct { - Id *wrapperspb.UInt64Value `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - Name *wrapperspb.StringValue `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` - Content *wrapperspb.StringValue `protobuf:"bytes,3,opt,name=content,proto3" json:"content,omitempty"` - Format *wrapperspb.StringValue `protobuf:"bytes,4,opt,name=format,proto3" json:"format,omitempty"` - Comment *wrapperspb.StringValue `protobuf:"bytes,5,opt,name=comment,proto3" json:"comment,omitempty"` - CreateTime *wrapperspb.StringValue `protobuf:"bytes,6,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` - CreateBy *wrapperspb.StringValue `protobuf:"bytes,7,opt,name=create_by,json=createBy,proto3" json:"create_by,omitempty"` - ModifyTime *wrapperspb.StringValue `protobuf:"bytes,8,opt,name=modify_time,json=modifyTime,proto3" json:"modify_time,omitempty"` - ModifyBy *wrapperspb.StringValue `protobuf:"bytes,9,opt,name=modify_by,json=modifyBy,proto3" json:"modify_by,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *ConfigFileTemplate) Reset() { *m = ConfigFileTemplate{} } -func (m *ConfigFileTemplate) String() string { return proto.CompactTextString(m) } -func (*ConfigFileTemplate) ProtoMessage() {} -func (*ConfigFileTemplate) Descriptor() ([]byte, []int) { - return fileDescriptor_config_file_2338e76a90daaaa9, []int{5} -} -func (m *ConfigFileTemplate) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_ConfigFileTemplate.Unmarshal(m, b) -} -func (m *ConfigFileTemplate) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_ConfigFileTemplate.Marshal(b, m, deterministic) + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id *wrapperspb.UInt64Value `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Name *wrapperspb.StringValue `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + Content *wrapperspb.StringValue `protobuf:"bytes,3,opt,name=content,proto3" json:"content,omitempty"` + Format *wrapperspb.StringValue `protobuf:"bytes,4,opt,name=format,proto3" json:"format,omitempty"` + Comment *wrapperspb.StringValue `protobuf:"bytes,5,opt,name=comment,proto3" json:"comment,omitempty"` + CreateTime *wrapperspb.StringValue `protobuf:"bytes,6,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` + CreateBy *wrapperspb.StringValue `protobuf:"bytes,7,opt,name=create_by,json=createBy,proto3" json:"create_by,omitempty"` + ModifyTime *wrapperspb.StringValue `protobuf:"bytes,8,opt,name=modify_time,json=modifyTime,proto3" json:"modify_time,omitempty"` + ModifyBy *wrapperspb.StringValue `protobuf:"bytes,9,opt,name=modify_by,json=modifyBy,proto3" json:"modify_by,omitempty"` } -func (dst *ConfigFileTemplate) XXX_Merge(src proto.Message) { - xxx_messageInfo_ConfigFileTemplate.Merge(dst, src) + +func (x *ConfigFileTemplate) Reset() { + *x = ConfigFileTemplate{} + if protoimpl.UnsafeEnabled { + mi := &file_config_file_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (m *ConfigFileTemplate) XXX_Size() int { - return xxx_messageInfo_ConfigFileTemplate.Size(m) + +func (x *ConfigFileTemplate) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *ConfigFileTemplate) XXX_DiscardUnknown() { - xxx_messageInfo_ConfigFileTemplate.DiscardUnknown(m) + +func (*ConfigFileTemplate) ProtoMessage() {} + +func (x *ConfigFileTemplate) ProtoReflect() protoreflect.Message { + mi := &file_config_file_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) } -var xxx_messageInfo_ConfigFileTemplate proto.InternalMessageInfo +// Deprecated: Use ConfigFileTemplate.ProtoReflect.Descriptor instead. +func (*ConfigFileTemplate) Descriptor() ([]byte, []int) { + return file_config_file_proto_rawDescGZIP(), []int{5} +} -func (m *ConfigFileTemplate) GetId() *wrapperspb.UInt64Value { - if m != nil { - return m.Id +func (x *ConfigFileTemplate) GetId() *wrapperspb.UInt64Value { + if x != nil { + return x.Id } return nil } -func (m *ConfigFileTemplate) GetName() *wrapperspb.StringValue { - if m != nil { - return m.Name +func (x *ConfigFileTemplate) GetName() *wrapperspb.StringValue { + if x != nil { + return x.Name } return nil } -func (m *ConfigFileTemplate) GetContent() *wrapperspb.StringValue { - if m != nil { - return m.Content +func (x *ConfigFileTemplate) GetContent() *wrapperspb.StringValue { + if x != nil { + return x.Content } return nil } -func (m *ConfigFileTemplate) GetFormat() *wrapperspb.StringValue { - if m != nil { - return m.Format +func (x *ConfigFileTemplate) GetFormat() *wrapperspb.StringValue { + if x != nil { + return x.Format } return nil } -func (m *ConfigFileTemplate) GetComment() *wrapperspb.StringValue { - if m != nil { - return m.Comment +func (x *ConfigFileTemplate) GetComment() *wrapperspb.StringValue { + if x != nil { + return x.Comment } return nil } -func (m *ConfigFileTemplate) GetCreateTime() *wrapperspb.StringValue { - if m != nil { - return m.CreateTime +func (x *ConfigFileTemplate) GetCreateTime() *wrapperspb.StringValue { + if x != nil { + return x.CreateTime } return nil } -func (m *ConfigFileTemplate) GetCreateBy() *wrapperspb.StringValue { - if m != nil { - return m.CreateBy +func (x *ConfigFileTemplate) GetCreateBy() *wrapperspb.StringValue { + if x != nil { + return x.CreateBy } return nil } -func (m *ConfigFileTemplate) GetModifyTime() *wrapperspb.StringValue { - if m != nil { - return m.ModifyTime +func (x *ConfigFileTemplate) GetModifyTime() *wrapperspb.StringValue { + if x != nil { + return x.ModifyTime } return nil } -func (m *ConfigFileTemplate) GetModifyBy() *wrapperspb.StringValue { - if m != nil { - return m.ModifyBy +func (x *ConfigFileTemplate) GetModifyBy() *wrapperspb.StringValue { + if x != nil { + return x.ModifyBy } return nil } type ClientConfigFileInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + Namespace *wrapperspb.StringValue `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` Group *wrapperspb.StringValue `protobuf:"bytes,2,opt,name=group,proto3" json:"group,omitempty"` FileName *wrapperspb.StringValue `protobuf:"bytes,3,opt,name=file_name,json=fileName,proto3" json:"file_name,omitempty"` @@ -942,222 +1057,249 @@ type ClientConfigFileInfo struct { // 配置文件版本名称 Name *wrapperspb.StringValue `protobuf:"bytes,10,opt,name=name,proto3" json:"name,omitempty"` // 配置文件的发布时间 - ReleaseTime *wrapperspb.StringValue `protobuf:"bytes,11,opt,name=release_time,proto3" json:"release_time,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + ReleaseTime *wrapperspb.StringValue `protobuf:"bytes,11,opt,name=release_time,proto3" json:"release_time,omitempty"` } -func (m *ClientConfigFileInfo) Reset() { *m = ClientConfigFileInfo{} } -func (m *ClientConfigFileInfo) String() string { return proto.CompactTextString(m) } -func (*ClientConfigFileInfo) ProtoMessage() {} -func (*ClientConfigFileInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_config_file_2338e76a90daaaa9, []int{6} -} -func (m *ClientConfigFileInfo) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_ClientConfigFileInfo.Unmarshal(m, b) -} -func (m *ClientConfigFileInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_ClientConfigFileInfo.Marshal(b, m, deterministic) -} -func (dst *ClientConfigFileInfo) XXX_Merge(src proto.Message) { - xxx_messageInfo_ClientConfigFileInfo.Merge(dst, src) +func (x *ClientConfigFileInfo) Reset() { + *x = ClientConfigFileInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_config_file_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (m *ClientConfigFileInfo) XXX_Size() int { - return xxx_messageInfo_ClientConfigFileInfo.Size(m) + +func (x *ClientConfigFileInfo) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *ClientConfigFileInfo) XXX_DiscardUnknown() { - xxx_messageInfo_ClientConfigFileInfo.DiscardUnknown(m) + +func (*ClientConfigFileInfo) ProtoMessage() {} + +func (x *ClientConfigFileInfo) ProtoReflect() protoreflect.Message { + mi := &file_config_file_proto_msgTypes[6] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) } -var xxx_messageInfo_ClientConfigFileInfo proto.InternalMessageInfo +// Deprecated: Use ClientConfigFileInfo.ProtoReflect.Descriptor instead. +func (*ClientConfigFileInfo) Descriptor() ([]byte, []int) { + return file_config_file_proto_rawDescGZIP(), []int{6} +} -func (m *ClientConfigFileInfo) GetNamespace() *wrapperspb.StringValue { - if m != nil { - return m.Namespace +func (x *ClientConfigFileInfo) GetNamespace() *wrapperspb.StringValue { + if x != nil { + return x.Namespace } return nil } -func (m *ClientConfigFileInfo) GetGroup() *wrapperspb.StringValue { - if m != nil { - return m.Group +func (x *ClientConfigFileInfo) GetGroup() *wrapperspb.StringValue { + if x != nil { + return x.Group } return nil } -func (m *ClientConfigFileInfo) GetFileName() *wrapperspb.StringValue { - if m != nil { - return m.FileName +func (x *ClientConfigFileInfo) GetFileName() *wrapperspb.StringValue { + if x != nil { + return x.FileName } return nil } -func (m *ClientConfigFileInfo) GetContent() *wrapperspb.StringValue { - if m != nil { - return m.Content +func (x *ClientConfigFileInfo) GetContent() *wrapperspb.StringValue { + if x != nil { + return x.Content } return nil } -func (m *ClientConfigFileInfo) GetVersion() *wrapperspb.UInt64Value { - if m != nil { - return m.Version +func (x *ClientConfigFileInfo) GetVersion() *wrapperspb.UInt64Value { + if x != nil { + return x.Version } return nil } -func (m *ClientConfigFileInfo) GetMd5() *wrapperspb.StringValue { - if m != nil { - return m.Md5 +func (x *ClientConfigFileInfo) GetMd5() *wrapperspb.StringValue { + if x != nil { + return x.Md5 } return nil } -func (m *ClientConfigFileInfo) GetTags() []*ConfigFileTag { - if m != nil { - return m.Tags +func (x *ClientConfigFileInfo) GetTags() []*ConfigFileTag { + if x != nil { + return x.Tags } return nil } -func (m *ClientConfigFileInfo) GetEncrypted() *wrapperspb.BoolValue { - if m != nil { - return m.Encrypted +func (x *ClientConfigFileInfo) GetEncrypted() *wrapperspb.BoolValue { + if x != nil { + return x.Encrypted } return nil } -func (m *ClientConfigFileInfo) GetPublicKey() *wrapperspb.StringValue { - if m != nil { - return m.PublicKey +func (x *ClientConfigFileInfo) GetPublicKey() *wrapperspb.StringValue { + if x != nil { + return x.PublicKey } return nil } -func (m *ClientConfigFileInfo) GetName() *wrapperspb.StringValue { - if m != nil { - return m.Name +func (x *ClientConfigFileInfo) GetName() *wrapperspb.StringValue { + if x != nil { + return x.Name } return nil } -func (m *ClientConfigFileInfo) GetReleaseTime() *wrapperspb.StringValue { - if m != nil { - return m.ReleaseTime +func (x *ClientConfigFileInfo) GetReleaseTime() *wrapperspb.StringValue { + if x != nil { + return x.ReleaseTime } return nil } type ClientWatchConfigFileRequest struct { - ClientIp *wrapperspb.StringValue `protobuf:"bytes,1,opt,name=client_ip,json=clientIp,proto3" json:"client_ip,omitempty"` - ServiceName *wrapperspb.StringValue `protobuf:"bytes,2,opt,name=service_name,json=serviceName,proto3" json:"service_name,omitempty"` - WatchFiles []*ClientConfigFileInfo `protobuf:"bytes,3,rep,name=watch_files,json=watchFiles,proto3" json:"watch_files,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields -func (m *ClientWatchConfigFileRequest) Reset() { *m = ClientWatchConfigFileRequest{} } -func (m *ClientWatchConfigFileRequest) String() string { return proto.CompactTextString(m) } -func (*ClientWatchConfigFileRequest) ProtoMessage() {} -func (*ClientWatchConfigFileRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_config_file_2338e76a90daaaa9, []int{7} -} -func (m *ClientWatchConfigFileRequest) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_ClientWatchConfigFileRequest.Unmarshal(m, b) + ClientIp *wrapperspb.StringValue `protobuf:"bytes,1,opt,name=client_ip,json=clientIp,proto3" json:"client_ip,omitempty"` + ServiceName *wrapperspb.StringValue `protobuf:"bytes,2,opt,name=service_name,json=serviceName,proto3" json:"service_name,omitempty"` + WatchFiles []*ClientConfigFileInfo `protobuf:"bytes,3,rep,name=watch_files,json=watchFiles,proto3" json:"watch_files,omitempty"` } -func (m *ClientWatchConfigFileRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_ClientWatchConfigFileRequest.Marshal(b, m, deterministic) -} -func (dst *ClientWatchConfigFileRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_ClientWatchConfigFileRequest.Merge(dst, src) + +func (x *ClientWatchConfigFileRequest) Reset() { + *x = ClientWatchConfigFileRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_config_file_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (m *ClientWatchConfigFileRequest) XXX_Size() int { - return xxx_messageInfo_ClientWatchConfigFileRequest.Size(m) + +func (x *ClientWatchConfigFileRequest) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *ClientWatchConfigFileRequest) XXX_DiscardUnknown() { - xxx_messageInfo_ClientWatchConfigFileRequest.DiscardUnknown(m) + +func (*ClientWatchConfigFileRequest) ProtoMessage() {} + +func (x *ClientWatchConfigFileRequest) ProtoReflect() protoreflect.Message { + mi := &file_config_file_proto_msgTypes[7] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) } -var xxx_messageInfo_ClientWatchConfigFileRequest proto.InternalMessageInfo +// Deprecated: Use ClientWatchConfigFileRequest.ProtoReflect.Descriptor instead. +func (*ClientWatchConfigFileRequest) Descriptor() ([]byte, []int) { + return file_config_file_proto_rawDescGZIP(), []int{7} +} -func (m *ClientWatchConfigFileRequest) GetClientIp() *wrapperspb.StringValue { - if m != nil { - return m.ClientIp +func (x *ClientWatchConfigFileRequest) GetClientIp() *wrapperspb.StringValue { + if x != nil { + return x.ClientIp } return nil } -func (m *ClientWatchConfigFileRequest) GetServiceName() *wrapperspb.StringValue { - if m != nil { - return m.ServiceName +func (x *ClientWatchConfigFileRequest) GetServiceName() *wrapperspb.StringValue { + if x != nil { + return x.ServiceName } return nil } -func (m *ClientWatchConfigFileRequest) GetWatchFiles() []*ClientConfigFileInfo { - if m != nil { - return m.WatchFiles +func (x *ClientWatchConfigFileRequest) GetWatchFiles() []*ClientConfigFileInfo { + if x != nil { + return x.WatchFiles } return nil } type ConfigFileExportRequest struct { - Namespace *wrapperspb.StringValue `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` - Groups []*wrapperspb.StringValue `protobuf:"bytes,2,rep,name=groups,proto3" json:"groups,omitempty"` - Names []*wrapperspb.StringValue `protobuf:"bytes,3,rep,name=names,proto3" json:"names,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields -func (m *ConfigFileExportRequest) Reset() { *m = ConfigFileExportRequest{} } -func (m *ConfigFileExportRequest) String() string { return proto.CompactTextString(m) } -func (*ConfigFileExportRequest) ProtoMessage() {} -func (*ConfigFileExportRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_config_file_2338e76a90daaaa9, []int{8} + Namespace *wrapperspb.StringValue `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` + Groups []*wrapperspb.StringValue `protobuf:"bytes,2,rep,name=groups,proto3" json:"groups,omitempty"` + Names []*wrapperspb.StringValue `protobuf:"bytes,3,rep,name=names,proto3" json:"names,omitempty"` } -func (m *ConfigFileExportRequest) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_ConfigFileExportRequest.Unmarshal(m, b) -} -func (m *ConfigFileExportRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_ConfigFileExportRequest.Marshal(b, m, deterministic) -} -func (dst *ConfigFileExportRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_ConfigFileExportRequest.Merge(dst, src) + +func (x *ConfigFileExportRequest) Reset() { + *x = ConfigFileExportRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_config_file_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (m *ConfigFileExportRequest) XXX_Size() int { - return xxx_messageInfo_ConfigFileExportRequest.Size(m) + +func (x *ConfigFileExportRequest) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *ConfigFileExportRequest) XXX_DiscardUnknown() { - xxx_messageInfo_ConfigFileExportRequest.DiscardUnknown(m) + +func (*ConfigFileExportRequest) ProtoMessage() {} + +func (x *ConfigFileExportRequest) ProtoReflect() protoreflect.Message { + mi := &file_config_file_proto_msgTypes[8] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) } -var xxx_messageInfo_ConfigFileExportRequest proto.InternalMessageInfo +// Deprecated: Use ConfigFileExportRequest.ProtoReflect.Descriptor instead. +func (*ConfigFileExportRequest) Descriptor() ([]byte, []int) { + return file_config_file_proto_rawDescGZIP(), []int{8} +} -func (m *ConfigFileExportRequest) GetNamespace() *wrapperspb.StringValue { - if m != nil { - return m.Namespace +func (x *ConfigFileExportRequest) GetNamespace() *wrapperspb.StringValue { + if x != nil { + return x.Namespace } return nil } -func (m *ConfigFileExportRequest) GetGroups() []*wrapperspb.StringValue { - if m != nil { - return m.Groups +func (x *ConfigFileExportRequest) GetGroups() []*wrapperspb.StringValue { + if x != nil { + return x.Groups } return nil } -func (m *ConfigFileExportRequest) GetNames() []*wrapperspb.StringValue { - if m != nil { - return m.Names +func (x *ConfigFileExportRequest) GetNames() []*wrapperspb.StringValue { + if x != nil { + return x.Names } return nil } type ConfigFilePublishInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + ReleaseName *wrapperspb.StringValue `protobuf:"bytes,1,opt,name=release_name,proto3" json:"release_name,omitempty"` Namespace *wrapperspb.StringValue `protobuf:"bytes,2,opt,name=namespace,proto3" json:"namespace,omitempty"` Group *wrapperspb.StringValue `protobuf:"bytes,3,opt,name=group,proto3" json:"group,omitempty"` @@ -1173,450 +1315,1223 @@ type ConfigFilePublishInfo struct { // 是否为加密配置文件 Encrypted *wrapperspb.BoolValue `protobuf:"bytes,16,opt,name=encrypted,proto3" json:"encrypted,omitempty"` // 加密算法 - EncryptAlgo *wrapperspb.StringValue `protobuf:"bytes,17,opt,name=encrypt_algo,json=encryptAlgo,proto3" json:"encrypt_algo,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + EncryptAlgo *wrapperspb.StringValue `protobuf:"bytes,17,opt,name=encrypt_algo,json=encryptAlgo,proto3" json:"encrypt_algo,omitempty"` } -func (m *ConfigFilePublishInfo) Reset() { *m = ConfigFilePublishInfo{} } -func (m *ConfigFilePublishInfo) String() string { return proto.CompactTextString(m) } -func (*ConfigFilePublishInfo) ProtoMessage() {} -func (*ConfigFilePublishInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_config_file_2338e76a90daaaa9, []int{9} -} -func (m *ConfigFilePublishInfo) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_ConfigFilePublishInfo.Unmarshal(m, b) -} -func (m *ConfigFilePublishInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_ConfigFilePublishInfo.Marshal(b, m, deterministic) -} -func (dst *ConfigFilePublishInfo) XXX_Merge(src proto.Message) { - xxx_messageInfo_ConfigFilePublishInfo.Merge(dst, src) +func (x *ConfigFilePublishInfo) Reset() { + *x = ConfigFilePublishInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_config_file_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (m *ConfigFilePublishInfo) XXX_Size() int { - return xxx_messageInfo_ConfigFilePublishInfo.Size(m) + +func (x *ConfigFilePublishInfo) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *ConfigFilePublishInfo) XXX_DiscardUnknown() { - xxx_messageInfo_ConfigFilePublishInfo.DiscardUnknown(m) + +func (*ConfigFilePublishInfo) ProtoMessage() {} + +func (x *ConfigFilePublishInfo) ProtoReflect() protoreflect.Message { + mi := &file_config_file_proto_msgTypes[9] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) } -var xxx_messageInfo_ConfigFilePublishInfo proto.InternalMessageInfo +// Deprecated: Use ConfigFilePublishInfo.ProtoReflect.Descriptor instead. +func (*ConfigFilePublishInfo) Descriptor() ([]byte, []int) { + return file_config_file_proto_rawDescGZIP(), []int{9} +} -func (m *ConfigFilePublishInfo) GetReleaseName() *wrapperspb.StringValue { - if m != nil { - return m.ReleaseName +func (x *ConfigFilePublishInfo) GetReleaseName() *wrapperspb.StringValue { + if x != nil { + return x.ReleaseName } return nil } -func (m *ConfigFilePublishInfo) GetNamespace() *wrapperspb.StringValue { - if m != nil { - return m.Namespace +func (x *ConfigFilePublishInfo) GetNamespace() *wrapperspb.StringValue { + if x != nil { + return x.Namespace } return nil } -func (m *ConfigFilePublishInfo) GetGroup() *wrapperspb.StringValue { - if m != nil { - return m.Group +func (x *ConfigFilePublishInfo) GetGroup() *wrapperspb.StringValue { + if x != nil { + return x.Group } return nil } -func (m *ConfigFilePublishInfo) GetFileName() *wrapperspb.StringValue { - if m != nil { - return m.FileName +func (x *ConfigFilePublishInfo) GetFileName() *wrapperspb.StringValue { + if x != nil { + return x.FileName } return nil } -func (m *ConfigFilePublishInfo) GetContent() *wrapperspb.StringValue { - if m != nil { - return m.Content +func (x *ConfigFilePublishInfo) GetContent() *wrapperspb.StringValue { + if x != nil { + return x.Content } return nil } -func (m *ConfigFilePublishInfo) GetComment() *wrapperspb.StringValue { - if m != nil { - return m.Comment +func (x *ConfigFilePublishInfo) GetComment() *wrapperspb.StringValue { + if x != nil { + return x.Comment } return nil } -func (m *ConfigFilePublishInfo) GetFormat() *wrapperspb.StringValue { - if m != nil { - return m.Format +func (x *ConfigFilePublishInfo) GetFormat() *wrapperspb.StringValue { + if x != nil { + return x.Format } return nil } -func (m *ConfigFilePublishInfo) GetReleaseDescription() *wrapperspb.StringValue { - if m != nil { - return m.ReleaseDescription +func (x *ConfigFilePublishInfo) GetReleaseDescription() *wrapperspb.StringValue { + if x != nil { + return x.ReleaseDescription } return nil } -func (m *ConfigFilePublishInfo) GetCreateBy() *wrapperspb.StringValue { - if m != nil { - return m.CreateBy +func (x *ConfigFilePublishInfo) GetCreateBy() *wrapperspb.StringValue { + if x != nil { + return x.CreateBy } return nil } -func (m *ConfigFilePublishInfo) GetModifyBy() *wrapperspb.StringValue { - if m != nil { - return m.ModifyBy +func (x *ConfigFilePublishInfo) GetModifyBy() *wrapperspb.StringValue { + if x != nil { + return x.ModifyBy } return nil } -func (m *ConfigFilePublishInfo) GetTags() []*ConfigFileTag { - if m != nil { - return m.Tags +func (x *ConfigFilePublishInfo) GetTags() []*ConfigFileTag { + if x != nil { + return x.Tags } return nil } -func (m *ConfigFilePublishInfo) GetMd5() *wrapperspb.StringValue { - if m != nil { - return m.Md5 +func (x *ConfigFilePublishInfo) GetMd5() *wrapperspb.StringValue { + if x != nil { + return x.Md5 } return nil } -func (m *ConfigFilePublishInfo) GetEncrypted() *wrapperspb.BoolValue { - if m != nil { - return m.Encrypted +func (x *ConfigFilePublishInfo) GetEncrypted() *wrapperspb.BoolValue { + if x != nil { + return x.Encrypted } return nil } -func (m *ConfigFilePublishInfo) GetEncryptAlgo() *wrapperspb.StringValue { - if m != nil { - return m.EncryptAlgo +func (x *ConfigFilePublishInfo) GetEncryptAlgo() *wrapperspb.StringValue { + if x != nil { + return x.EncryptAlgo } return nil } type ConfigFileGroupRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + Revision *wrapperspb.StringValue `protobuf:"bytes,1,opt,name=revision,proto3" json:"revision,omitempty"` ConfigFileGroup *ConfigFileGroup `protobuf:"bytes,2,opt,name=config_file_group,proto3" json:"config_file_group,omitempty"` // 配置标签 - ClientLabels map[string]string `protobuf:"bytes,12,rep,name=client_labels,proto3" json:"client_labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + ClientLabels map[string]string `protobuf:"bytes,12,rep,name=client_labels,proto3" json:"client_labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } -func (m *ConfigFileGroupRequest) Reset() { *m = ConfigFileGroupRequest{} } -func (m *ConfigFileGroupRequest) String() string { return proto.CompactTextString(m) } -func (*ConfigFileGroupRequest) ProtoMessage() {} -func (*ConfigFileGroupRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_config_file_2338e76a90daaaa9, []int{10} -} -func (m *ConfigFileGroupRequest) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_ConfigFileGroupRequest.Unmarshal(m, b) -} -func (m *ConfigFileGroupRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_ConfigFileGroupRequest.Marshal(b, m, deterministic) -} -func (dst *ConfigFileGroupRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_ConfigFileGroupRequest.Merge(dst, src) +func (x *ConfigFileGroupRequest) Reset() { + *x = ConfigFileGroupRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_config_file_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (m *ConfigFileGroupRequest) XXX_Size() int { - return xxx_messageInfo_ConfigFileGroupRequest.Size(m) + +func (x *ConfigFileGroupRequest) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *ConfigFileGroupRequest) XXX_DiscardUnknown() { - xxx_messageInfo_ConfigFileGroupRequest.DiscardUnknown(m) + +func (*ConfigFileGroupRequest) ProtoMessage() {} + +func (x *ConfigFileGroupRequest) ProtoReflect() protoreflect.Message { + mi := &file_config_file_proto_msgTypes[10] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) } -var xxx_messageInfo_ConfigFileGroupRequest proto.InternalMessageInfo +// Deprecated: Use ConfigFileGroupRequest.ProtoReflect.Descriptor instead. +func (*ConfigFileGroupRequest) Descriptor() ([]byte, []int) { + return file_config_file_proto_rawDescGZIP(), []int{10} +} -func (m *ConfigFileGroupRequest) GetRevision() *wrapperspb.StringValue { - if m != nil { - return m.Revision +func (x *ConfigFileGroupRequest) GetRevision() *wrapperspb.StringValue { + if x != nil { + return x.Revision } return nil } -func (m *ConfigFileGroupRequest) GetConfigFileGroup() *ConfigFileGroup { - if m != nil { - return m.ConfigFileGroup +func (x *ConfigFileGroupRequest) GetConfigFileGroup() *ConfigFileGroup { + if x != nil { + return x.ConfigFileGroup } return nil } -func (m *ConfigFileGroupRequest) GetClientLabels() map[string]string { - if m != nil { - return m.ClientLabels +func (x *ConfigFileGroupRequest) GetClientLabels() map[string]string { + if x != nil { + return x.ClientLabels } return nil } type ConfigDiscoverRequest struct { - Type ConfigDiscoverRequest_ConfigDiscoverRequestType `protobuf:"varint,1,opt,name=type,proto3,enum=v1.ConfigDiscoverRequest_ConfigDiscoverRequestType" json:"type,omitempty"` - ConfigFile *ClientConfigFileInfo `protobuf:"bytes,2,opt,name=config_file,proto3" json:"config_file,omitempty"` - Revision string `protobuf:"bytes,3,opt,name=revision,proto3" json:"revision,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields -func (m *ConfigDiscoverRequest) Reset() { *m = ConfigDiscoverRequest{} } -func (m *ConfigDiscoverRequest) String() string { return proto.CompactTextString(m) } -func (*ConfigDiscoverRequest) ProtoMessage() {} -func (*ConfigDiscoverRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_config_file_2338e76a90daaaa9, []int{11} -} -func (m *ConfigDiscoverRequest) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_ConfigDiscoverRequest.Unmarshal(m, b) + Type ConfigDiscoverRequest_ConfigDiscoverRequestType `protobuf:"varint,1,opt,name=type,proto3,enum=v1.ConfigDiscoverRequest_ConfigDiscoverRequestType" json:"type,omitempty"` + ConfigFile *ClientConfigFileInfo `protobuf:"bytes,2,opt,name=config_file,proto3" json:"config_file,omitempty"` + Revision string `protobuf:"bytes,3,opt,name=revision,proto3" json:"revision,omitempty"` } -func (m *ConfigDiscoverRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_ConfigDiscoverRequest.Marshal(b, m, deterministic) -} -func (dst *ConfigDiscoverRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_ConfigDiscoverRequest.Merge(dst, src) + +func (x *ConfigDiscoverRequest) Reset() { + *x = ConfigDiscoverRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_config_file_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (m *ConfigDiscoverRequest) XXX_Size() int { - return xxx_messageInfo_ConfigDiscoverRequest.Size(m) + +func (x *ConfigDiscoverRequest) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *ConfigDiscoverRequest) XXX_DiscardUnknown() { - xxx_messageInfo_ConfigDiscoverRequest.DiscardUnknown(m) + +func (*ConfigDiscoverRequest) ProtoMessage() {} + +func (x *ConfigDiscoverRequest) ProtoReflect() protoreflect.Message { + mi := &file_config_file_proto_msgTypes[11] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) } -var xxx_messageInfo_ConfigDiscoverRequest proto.InternalMessageInfo +// Deprecated: Use ConfigDiscoverRequest.ProtoReflect.Descriptor instead. +func (*ConfigDiscoverRequest) Descriptor() ([]byte, []int) { + return file_config_file_proto_rawDescGZIP(), []int{11} +} -func (m *ConfigDiscoverRequest) GetType() ConfigDiscoverRequest_ConfigDiscoverRequestType { - if m != nil { - return m.Type +func (x *ConfigDiscoverRequest) GetType() ConfigDiscoverRequest_ConfigDiscoverRequestType { + if x != nil { + return x.Type } return ConfigDiscoverRequest_UNKNOWN } -func (m *ConfigDiscoverRequest) GetConfigFile() *ClientConfigFileInfo { - if m != nil { - return m.ConfigFile +func (x *ConfigDiscoverRequest) GetConfigFile() *ClientConfigFileInfo { + if x != nil { + return x.ConfigFile } return nil } -func (m *ConfigDiscoverRequest) GetRevision() string { - if m != nil { - return m.Revision +func (x *ConfigDiscoverRequest) GetRevision() string { + if x != nil { + return x.Revision } return "" } type ConfigDiscoverResponse struct { - Code uint32 `protobuf:"varint,1,opt,name=code,proto3" json:"code,omitempty"` - Info string `protobuf:"bytes,2,opt,name=info,proto3" json:"info,omitempty"` - Revision string `protobuf:"bytes,3,opt,name=revision,proto3" json:"revision,omitempty"` - Type ConfigDiscoverResponse_ConfigDiscoverResponseType `protobuf:"varint,4,opt,name=type,proto3,enum=v1.ConfigDiscoverResponse_ConfigDiscoverResponseType" json:"type,omitempty"` - ConfigFile *ClientConfigFileInfo `protobuf:"bytes,5,opt,name=config_file,proto3" json:"config_file,omitempty"` - ConfigFileNames []*ClientConfigFileInfo `protobuf:"bytes,6,rep,name=config_file_names,proto3" json:"config_file_names,omitempty"` - ConfigFileGroups []*ConfigFileGroup `protobuf:"bytes,7,rep,name=config_file_groups,proto3" json:"config_file_groups,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *ConfigDiscoverResponse) Reset() { *m = ConfigDiscoverResponse{} } -func (m *ConfigDiscoverResponse) String() string { return proto.CompactTextString(m) } -func (*ConfigDiscoverResponse) ProtoMessage() {} -func (*ConfigDiscoverResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_config_file_2338e76a90daaaa9, []int{12} -} -func (m *ConfigDiscoverResponse) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_ConfigDiscoverResponse.Unmarshal(m, b) -} -func (m *ConfigDiscoverResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_ConfigDiscoverResponse.Marshal(b, m, deterministic) + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Code uint32 `protobuf:"varint,1,opt,name=code,proto3" json:"code,omitempty"` + Info string `protobuf:"bytes,2,opt,name=info,proto3" json:"info,omitempty"` + Revision string `protobuf:"bytes,3,opt,name=revision,proto3" json:"revision,omitempty"` + Type ConfigDiscoverResponse_ConfigDiscoverResponseType `protobuf:"varint,4,opt,name=type,proto3,enum=v1.ConfigDiscoverResponse_ConfigDiscoverResponseType" json:"type,omitempty"` + ConfigFile *ClientConfigFileInfo `protobuf:"bytes,5,opt,name=config_file,proto3" json:"config_file,omitempty"` + ConfigFileNames []*ClientConfigFileInfo `protobuf:"bytes,6,rep,name=config_file_names,proto3" json:"config_file_names,omitempty"` + ConfigFileGroups []*ConfigFileGroup `protobuf:"bytes,7,rep,name=config_file_groups,proto3" json:"config_file_groups,omitempty"` } -func (dst *ConfigDiscoverResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_ConfigDiscoverResponse.Merge(dst, src) + +func (x *ConfigDiscoverResponse) Reset() { + *x = ConfigDiscoverResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_config_file_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (m *ConfigDiscoverResponse) XXX_Size() int { - return xxx_messageInfo_ConfigDiscoverResponse.Size(m) + +func (x *ConfigDiscoverResponse) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *ConfigDiscoverResponse) XXX_DiscardUnknown() { - xxx_messageInfo_ConfigDiscoverResponse.DiscardUnknown(m) + +func (*ConfigDiscoverResponse) ProtoMessage() {} + +func (x *ConfigDiscoverResponse) ProtoReflect() protoreflect.Message { + mi := &file_config_file_proto_msgTypes[12] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) } -var xxx_messageInfo_ConfigDiscoverResponse proto.InternalMessageInfo +// Deprecated: Use ConfigDiscoverResponse.ProtoReflect.Descriptor instead. +func (*ConfigDiscoverResponse) Descriptor() ([]byte, []int) { + return file_config_file_proto_rawDescGZIP(), []int{12} +} -func (m *ConfigDiscoverResponse) GetCode() uint32 { - if m != nil { - return m.Code +func (x *ConfigDiscoverResponse) GetCode() uint32 { + if x != nil { + return x.Code } return 0 } -func (m *ConfigDiscoverResponse) GetInfo() string { - if m != nil { - return m.Info +func (x *ConfigDiscoverResponse) GetInfo() string { + if x != nil { + return x.Info } return "" } -func (m *ConfigDiscoverResponse) GetRevision() string { - if m != nil { - return m.Revision +func (x *ConfigDiscoverResponse) GetRevision() string { + if x != nil { + return x.Revision } return "" } -func (m *ConfigDiscoverResponse) GetType() ConfigDiscoverResponse_ConfigDiscoverResponseType { - if m != nil { - return m.Type +func (x *ConfigDiscoverResponse) GetType() ConfigDiscoverResponse_ConfigDiscoverResponseType { + if x != nil { + return x.Type } return ConfigDiscoverResponse_UNKNOWN } -func (m *ConfigDiscoverResponse) GetConfigFile() *ClientConfigFileInfo { - if m != nil { - return m.ConfigFile - } - return nil -} - -func (m *ConfigDiscoverResponse) GetConfigFileNames() []*ClientConfigFileInfo { - if m != nil { - return m.ConfigFileNames - } - return nil -} - -func (m *ConfigDiscoverResponse) GetConfigFileGroups() []*ConfigFileGroup { - if m != nil { - return m.ConfigFileGroups - } - return nil -} - -func init() { - proto.RegisterType((*ConfigFileGroup)(nil), "v1.ConfigFileGroup") - proto.RegisterMapType((map[string]string)(nil), "v1.ConfigFileGroup.MetadataEntry") - proto.RegisterType((*ConfigFile)(nil), "v1.ConfigFile") - proto.RegisterType((*ConfigFileTag)(nil), "v1.ConfigFileTag") - proto.RegisterType((*ConfigFileRelease)(nil), "v1.ConfigFileRelease") - proto.RegisterType((*ConfigFileReleaseHistory)(nil), "v1.ConfigFileReleaseHistory") - proto.RegisterType((*ConfigFileTemplate)(nil), "v1.ConfigFileTemplate") - proto.RegisterType((*ClientConfigFileInfo)(nil), "v1.ClientConfigFileInfo") - proto.RegisterType((*ClientWatchConfigFileRequest)(nil), "v1.ClientWatchConfigFileRequest") - proto.RegisterType((*ConfigFileExportRequest)(nil), "v1.ConfigFileExportRequest") - proto.RegisterType((*ConfigFilePublishInfo)(nil), "v1.ConfigFilePublishInfo") - proto.RegisterType((*ConfigFileGroupRequest)(nil), "v1.ConfigFileGroupRequest") - proto.RegisterMapType((map[string]string)(nil), "v1.ConfigFileGroupRequest.ClientLabelsEntry") - proto.RegisterType((*ConfigDiscoverRequest)(nil), "v1.ConfigDiscoverRequest") - proto.RegisterType((*ConfigDiscoverResponse)(nil), "v1.ConfigDiscoverResponse") - proto.RegisterEnum("v1.ConfigDiscoverRequest_ConfigDiscoverRequestType", ConfigDiscoverRequest_ConfigDiscoverRequestType_name, ConfigDiscoverRequest_ConfigDiscoverRequestType_value) - proto.RegisterEnum("v1.ConfigDiscoverResponse_ConfigDiscoverResponseType", ConfigDiscoverResponse_ConfigDiscoverResponseType_name, ConfigDiscoverResponse_ConfigDiscoverResponseType_value) -} - -func init() { proto.RegisterFile("config_file.proto", fileDescriptor_config_file_2338e76a90daaaa9) } - -var fileDescriptor_config_file_2338e76a90daaaa9 = []byte{ - // 1572 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x99, 0xcd, 0x6e, 0x1b, 0xb7, - 0x16, 0xc7, 0xaf, 0xbe, 0xa5, 0xa3, 0xd8, 0x96, 0x99, 0x8f, 0x3b, 0xd7, 0x08, 0x2e, 0x72, 0x05, - 0x5c, 0xa0, 0x8b, 0x60, 0x94, 0x38, 0x8e, 0xe1, 0x38, 0x0d, 0xd2, 0xd8, 0x89, 0x1d, 0x23, 0x89, - 0x13, 0x28, 0x49, 0x03, 0x74, 0x23, 0x50, 0x23, 0x4a, 0x26, 0x3a, 0x33, 0x9c, 0x0e, 0x29, 0xa5, - 0x5a, 0x77, 0x9f, 0x87, 0xe8, 0xb2, 0xef, 0x50, 0x74, 0xd5, 0x5d, 0xb7, 0x5d, 0xf5, 0x31, 0xba, - 0x2e, 0x50, 0x90, 0xc3, 0xf1, 0x8c, 0x2c, 0xc9, 0xe6, 0x48, 0x2d, 0x5a, 0xb4, 0x5d, 0x59, 0xc3, - 0xf9, 0x1f, 0x1e, 0xce, 0xe1, 0xe1, 0x8f, 0x87, 0x34, 0xac, 0x3b, 0xcc, 0xef, 0xd3, 0x41, 0xa7, - 0x4f, 0x5d, 0x62, 0x07, 0x21, 0x13, 0x0c, 0xe5, 0x47, 0xb7, 0x37, 0xfe, 0x3b, 0x60, 0x6c, 0xe0, - 0x92, 0x96, 0x6a, 0xe9, 0x0e, 0xfb, 0xad, 0xf7, 0x21, 0x0e, 0x02, 0x12, 0xf2, 0x48, 0xb3, 0x51, - 0xf7, 0x58, 0x8f, 0xb8, 0xd1, 0x43, 0xf3, 0x97, 0x2a, 0xac, 0xed, 0xab, 0x6e, 0x0e, 0xa8, 0x4b, - 0x0e, 0x43, 0x36, 0x0c, 0xd0, 0x4d, 0xc8, 0xd3, 0x9e, 0x95, 0xbb, 0x91, 0xfb, 0xa8, 0xbe, 0x79, - 0xdd, 0x8e, 0x7a, 0xb3, 0xe3, 0xde, 0xec, 0xb7, 0x47, 0xbe, 0xd8, 0xde, 0xfa, 0x14, 0xbb, 0x43, - 0xd2, 0xce, 0xd3, 0x1e, 0xba, 0x05, 0x45, 0x1f, 0x7b, 0xc4, 0xca, 0xcf, 0xd1, 0xbf, 0x16, 0x21, - 0xf5, 0x07, 0x91, 0x5e, 0x29, 0xd1, 0x2e, 0xd4, 0xe4, 0x5f, 0x1e, 0x60, 0x87, 0x58, 0x05, 0x03, - 0xb3, 0x44, 0x8e, 0xb6, 0xa1, 0xe2, 0x30, 0xcf, 0x23, 0xbe, 0xb0, 0x8a, 0x06, 0x96, 0xb1, 0x18, - 0x3d, 0x80, 0xba, 0x13, 0x12, 0x2c, 0x48, 0x47, 0x50, 0x8f, 0x58, 0x25, 0x03, 0x5b, 0x88, 0x0c, - 0xde, 0x50, 0x8f, 0xa0, 0x7b, 0x50, 0xd3, 0xe6, 0xdd, 0xb1, 0x55, 0x36, 0x30, 0xae, 0x46, 0xf2, - 0xbd, 0xb1, 0xf4, 0xec, 0xb1, 0x1e, 0xed, 0x8f, 0x23, 0xcf, 0x15, 0x13, 0xcf, 0x91, 0x41, 0xec, - 0x59, 0x9b, 0x77, 0xc7, 0x56, 0xd5, 0xc4, 0x73, 0x24, 0xdf, 0x1b, 0xcb, 0x38, 0xcb, 0xd4, 0xd8, - 0x67, 0x43, 0x5f, 0x58, 0x35, 0x83, 0xe9, 0x4c, 0xe4, 0x68, 0x07, 0xaa, 0x43, 0x4e, 0xc2, 0x0e, - 0xed, 0x71, 0x0b, 0x6e, 0x14, 0x2e, 0xf6, 0x1a, 0xab, 0xa5, 0xd7, 0x81, 0x4c, 0x23, 0x65, 0x5a, - 0x37, 0x30, 0x4d, 0xe4, 0xe8, 0x00, 0xd6, 0x42, 0xe2, 0xb1, 0x11, 0xe9, 0x9c, 0x3a, 0x5f, 0x31, - 0xe8, 0xe1, 0xac, 0x11, 0x7a, 0x0a, 0x0d, 0xdd, 0x94, 0x0c, 0x65, 0xd5, 0xa0, 0xa3, 0x29, 0x2b, - 0xb4, 0x0d, 0x55, 0xd2, 0xa3, 0x02, 0x77, 0x5d, 0x62, 0xad, 0xa9, 0x10, 0x6e, 0x4c, 0xf5, 0xb0, - 0xc7, 0x98, 0xab, 0xa3, 0x10, 0x6b, 0xd1, 0x26, 0x94, 0xd8, 0x7b, 0x9f, 0x84, 0x56, 0xc3, 0x60, - 0xca, 0x22, 0xa9, 0x8c, 0x79, 0x77, 0xc8, 0xa9, 0x4f, 0x38, 0xb7, 0xd6, 0x4d, 0x66, 0x3a, 0x56, - 0xa3, 0x8f, 0x01, 0x7a, 0x24, 0xc0, 0xa1, 0x50, 0x0b, 0x03, 0x99, 0xa4, 0x58, 0xa2, 0x47, 0x0f, - 0xa0, 0xea, 0x11, 0x81, 0x7b, 0x58, 0x60, 0xeb, 0xb2, 0x8a, 0xd2, 0xff, 0xec, 0xd1, 0x6d, 0xfb, - 0x0c, 0x16, 0xec, 0x17, 0x5a, 0xf3, 0xc4, 0x17, 0xe1, 0xb8, 0x7d, 0x6a, 0xb2, 0x71, 0x1f, 0x56, - 0x26, 0x5e, 0xa1, 0x06, 0x14, 0x3e, 0x27, 0x63, 0x05, 0x90, 0x5a, 0x5b, 0xfe, 0x44, 0x57, 0xa0, - 0x34, 0x92, 0x6e, 0x15, 0x24, 0x6a, 0xed, 0xe8, 0x61, 0x37, 0xbf, 0x93, 0x6b, 0xfe, 0x50, 0x01, - 0x48, 0x1c, 0xfd, 0xa9, 0xd1, 0xb3, 0x09, 0x25, 0x95, 0x17, 0x46, 0xe0, 0x89, 0xa4, 0x11, 0xae, - 0x7c, 0x21, 0x67, 0xa5, 0x64, 0x86, 0x2b, 0x25, 0x46, 0x5b, 0x50, 0xee, 0xb3, 0xd0, 0xc3, 0xc2, - 0x08, 0x36, 0x5a, 0x9b, 0x86, 0x63, 0x25, 0x0b, 0x1c, 0xb7, 0xa0, 0xcc, 0x05, 0x16, 0x43, 0x6e, - 0x04, 0x18, 0xad, 0x45, 0xff, 0x87, 0xa2, 0xc0, 0x03, 0x6e, 0xd5, 0x54, 0xca, 0xac, 0x4f, 0xa6, - 0xcc, 0x1b, 0x3c, 0x68, 0xab, 0xd7, 0x67, 0xc9, 0x0b, 0xcb, 0x90, 0xb7, 0xbe, 0x0c, 0x79, 0x2f, - 0x2d, 0x43, 0xde, 0x95, 0x4c, 0xe4, 0x7d, 0x08, 0x97, 0x42, 0xe2, 0x12, 0xcc, 0xf5, 0x47, 0xaf, - 0x1a, 0x58, 0xd7, 0xb5, 0x85, 0xf2, 0x7d, 0x1f, 0x20, 0xee, 0xa0, 0x3b, 0xd6, 0xe0, 0xb9, 0x20, - 0x51, 0xb5, 0x7e, 0x6f, 0x8c, 0x76, 0xa0, 0x46, 0x7c, 0x27, 0x1c, 0x07, 0x82, 0xf4, 0x34, 0x7f, - 0xce, 0x83, 0x56, 0x22, 0x96, 0xe3, 0xd6, 0x0f, 0x1d, 0xec, 0x0e, 0x98, 0x11, 0x85, 0xea, 0xda, - 0xe2, 0x91, 0x3b, 0x60, 0x4d, 0x0e, 0x2b, 0x13, 0x39, 0x80, 0xec, 0x84, 0x05, 0x17, 0x75, 0xa4, - 0x48, 0xb1, 0x99, 0x26, 0xc5, 0x85, 0x8b, 0x4c, 0x49, 0x9b, 0xdf, 0x56, 0x61, 0x3d, 0xf1, 0xda, - 0x8e, 0xe2, 0xf0, 0x97, 0x43, 0xc9, 0xbd, 0x68, 0x37, 0xef, 0xa8, 0x61, 0x9a, 0xc0, 0xa4, 0x2a, - 0xe5, 0xc7, 0x72, 0xa8, 0x29, 0x0a, 0x95, 0xb3, 0x50, 0x68, 0x51, 0x9e, 0xd8, 0x50, 0xf0, 0x7a, - 0x77, 0x8d, 0x60, 0x22, 0x85, 0xd2, 0xcf, 0x88, 0x84, 0x9c, 0x32, 0xdf, 0xa8, 0x4c, 0x89, 0xc5, - 0x7f, 0x4b, 0xb4, 0xc4, 0xd4, 0x5d, 0x3d, 0x9f, 0xba, 0x9b, 0x50, 0xc6, 0x8e, 0xa0, 0x23, 0x93, - 0xaa, 0x45, 0x2b, 0x53, 0x9b, 0x4e, 0x23, 0xc3, 0xa6, 0xf3, 0x02, 0x2e, 0xc7, 0xa8, 0xea, 0x11, - 0xee, 0x84, 0x34, 0x10, 0x72, 0x22, 0x4d, 0xd0, 0x81, 0xb4, 0xe1, 0xe3, 0xc4, 0x6e, 0x02, 0x9d, - 0xe3, 0x80, 0x18, 0x15, 0x33, 0xa7, 0xe8, 0x1c, 0x07, 0x04, 0xdd, 0x82, 0x7a, 0x97, 0x08, 0xdc, - 0x71, 0x71, 0x97, 0xb8, 0x5c, 0x17, 0x34, 0x6b, 0x2a, 0x4e, 0x2e, 0x25, 0xbe, 0x78, 0x2e, 0xdb, - 0xdb, 0x20, 0x35, 0xea, 0x27, 0x6f, 0x7e, 0x55, 0x05, 0x6b, 0x8a, 0x1f, 0x4f, 0x29, 0x17, 0x2c, - 0x1c, 0xff, 0x83, 0x91, 0xe5, 0x31, 0x92, 0xe4, 0x55, 0x65, 0xb1, 0x62, 0xa6, 0xba, 0x00, 0x7c, - 0x6a, 0xa6, 0xf0, 0xb9, 0x05, 0x45, 0x95, 0x68, 0x26, 0xf4, 0x50, 0xca, 0x54, 0xb9, 0x54, 0x5f, - 0xa0, 0x5c, 0xba, 0x94, 0xa9, 0x5c, 0x5a, 0x59, 0x86, 0x69, 0xab, 0xcb, 0x30, 0x6d, 0x6d, 0x19, - 0xa6, 0x35, 0x32, 0x31, 0x6d, 0x0b, 0xca, 0x21, 0xc1, 0xdc, 0x90, 0x1a, 0x5a, 0x3b, 0x0f, 0x3c, - 0x68, 0x31, 0xf0, 0x34, 0x3f, 0x14, 0x01, 0xa5, 0x26, 0x84, 0x78, 0x81, 0x8b, 0xc5, 0xef, 0x5f, - 0x46, 0xa4, 0x16, 0x55, 0x61, 0xb1, 0x45, 0x55, 0x5c, 0x6c, 0x51, 0x95, 0x96, 0xb8, 0x3e, 0x29, - 0x2f, 0x93, 0x95, 0x95, 0x65, 0xb2, 0xb2, 0xba, 0x4c, 0x56, 0xd6, 0xb2, 0x64, 0x65, 0xf3, 0xe7, - 0x22, 0x5c, 0x89, 0xb6, 0x8c, 0x24, 0x2d, 0x8e, 0xfc, 0x3e, 0x9b, 0x44, 0x76, 0x6e, 0x41, 0x64, - 0xe7, 0x17, 0x44, 0x76, 0x61, 0x51, 0x64, 0x17, 0x33, 0x56, 0x7e, 0x71, 0x45, 0x56, 0xca, 0x52, - 0x91, 0x69, 0xf8, 0x96, 0x4d, 0xe1, 0x1b, 0x43, 0xb1, 0x72, 0x3e, 0x14, 0x27, 0x4e, 0x34, 0xd5, - 0x2c, 0x27, 0x9a, 0xfb, 0x00, 0xc1, 0xb0, 0xeb, 0x52, 0xa7, 0x23, 0x8f, 0x21, 0x26, 0x09, 0x50, - 0x8b, 0xf4, 0xcf, 0xc8, 0xf8, 0x74, 0x35, 0x83, 0xf1, 0x6a, 0xfe, 0xe4, 0xcc, 0xc1, 0xcf, 0x64, - 0x83, 0x98, 0xb0, 0x68, 0xfe, 0x98, 0x83, 0xeb, 0x51, 0xd6, 0xbd, 0xc3, 0xc2, 0x39, 0x49, 0xd7, - 0x25, 0x5f, 0x0c, 0x09, 0x17, 0x6a, 0x2d, 0xa9, 0xf7, 0x1d, 0x1a, 0x18, 0x65, 0x5f, 0x35, 0x92, - 0x1f, 0x05, 0xb2, 0xb6, 0xe2, 0x24, 0x1c, 0x51, 0x47, 0xe7, 0x92, 0x49, 0x0e, 0xd6, 0xb5, 0x85, - 0x4a, 0xa7, 0x7b, 0x50, 0x7f, 0x2f, 0x47, 0xa5, 0xae, 0x9c, 0xb9, 0x55, 0x50, 0xb3, 0x66, 0x25, - 0xb5, 0xd5, 0xe4, 0x42, 0x69, 0x83, 0x12, 0xcb, 0x47, 0xde, 0xfc, 0x2e, 0x07, 0xff, 0x4e, 0x5e, - 0x3f, 0xf9, 0x32, 0x60, 0xa1, 0x88, 0x3f, 0x69, 0x99, 0x05, 0xb5, 0x05, 0x65, 0xb5, 0x4a, 0xb8, - 0x95, 0x37, 0xb8, 0xe0, 0xd3, 0x5a, 0xb9, 0x0c, 0x55, 0x17, 0xfa, 0x13, 0x2e, 0x58, 0x86, 0x4a, - 0xda, 0xfc, 0xbe, 0x0c, 0x57, 0x93, 0x2f, 0x78, 0x25, 0xb3, 0x84, 0x9f, 0x28, 0x20, 0xa4, 0x66, - 0x5d, 0xc5, 0x35, 0x97, 0x65, 0xd6, 0xa7, 0xab, 0xc0, 0xfc, 0x82, 0x48, 0x29, 0x98, 0x23, 0x65, - 0x37, 0x8d, 0x14, 0x13, 0x32, 0x24, 0xf2, 0x85, 0xef, 0xb4, 0x52, 0x7b, 0x4f, 0x39, 0xe3, 0xed, - 0xd4, 0x02, 0xe5, 0xe3, 0xf1, 0xec, 0xea, 0xc0, 0x64, 0xff, 0x98, 0x65, 0x28, 0x23, 0x96, 0xed, - 0xb0, 0x98, 0xc8, 0xa5, 0x6d, 0xb6, 0xe3, 0x5e, 0x22, 0x37, 0x3d, 0xef, 0x69, 0xf0, 0xae, 0x99, - 0x82, 0xf7, 0x0f, 0xbc, 0x23, 0xfa, 0x26, 0x0f, 0xd7, 0xce, 0xdc, 0x2d, 0xc7, 0x20, 0xd8, 0x81, - 0x6a, 0x48, 0x46, 0x54, 0xed, 0x3b, 0x46, 0x68, 0x8b, 0xd5, 0xe8, 0xd1, 0xc4, 0x7f, 0xc3, 0x3a, - 0xe9, 0x3d, 0xf6, 0xf2, 0x8c, 0xcb, 0xec, 0xf6, 0xb4, 0x1a, 0xb5, 0x61, 0x45, 0x83, 0x55, 0x1f, - 0x1d, 0xa3, 0x4a, 0xfd, 0xe6, 0x2c, 0xf3, 0x68, 0xbc, 0xe9, 0x13, 0x25, 0x8f, 0xae, 0xc5, 0x27, - 0xbb, 0xd8, 0x78, 0x08, 0xeb, 0x53, 0x9a, 0x4c, 0xf7, 0xe3, 0x5f, 0xe7, 0x63, 0xe8, 0x3c, 0xa6, - 0xdc, 0x61, 0x23, 0x12, 0xc6, 0xb1, 0x3a, 0xd4, 0xe7, 0x16, 0xd9, 0xcd, 0xea, 0xe6, 0x9d, 0x64, - 0x94, 0x67, 0x84, 0xb3, 0x5b, 0xe5, 0x51, 0x59, 0x1f, 0x67, 0x76, 0xa1, 0x9e, 0x0a, 0x86, 0x0e, - 0xda, 0x7c, 0xa8, 0xa7, 0xc5, 0x68, 0x23, 0x35, 0x61, 0x05, 0x35, 0xf6, 0xd3, 0xe7, 0xe6, 0x09, - 0xfc, 0x67, 0xae, 0x6b, 0x54, 0x87, 0xca, 0xdb, 0xe3, 0x67, 0xc7, 0x2f, 0xdf, 0x1d, 0x37, 0xfe, - 0x85, 0xd6, 0xa0, 0xbe, 0xff, 0xf2, 0xf8, 0xe0, 0xe8, 0xb0, 0x73, 0x70, 0xf4, 0xfc, 0x49, 0x23, - 0x87, 0xae, 0xc2, 0x7a, 0xaa, 0xa1, 0x23, 0xf7, 0x1e, 0xde, 0xc8, 0xa3, 0x6b, 0x80, 0xd2, 0xcd, - 0x87, 0xed, 0x97, 0x6f, 0x5f, 0xbd, 0x6e, 0x14, 0x9a, 0x3f, 0x15, 0xe2, 0x8c, 0x4a, 0x5c, 0xf1, - 0x80, 0xf9, 0x9c, 0x20, 0x04, 0x45, 0x87, 0xf5, 0xa2, 0x28, 0xad, 0xb4, 0xd5, 0x6f, 0xd9, 0x46, - 0xfd, 0x3e, 0xd3, 0xc1, 0x56, 0xbf, 0xcf, 0xfb, 0x10, 0x74, 0xa4, 0x23, 0x5d, 0x54, 0x91, 0xbe, - 0x3b, 0x2b, 0xd2, 0x91, 0xb7, 0x39, 0xcd, 0xf3, 0x63, 0x5d, 0xca, 0x12, 0xeb, 0x83, 0xc9, 0x14, - 0x8f, 0xf6, 0xaf, 0xf2, 0x05, 0x5b, 0xf0, 0xb4, 0x09, 0xda, 0x07, 0x34, 0x95, 0xfc, 0x71, 0x05, - 0x36, 0x73, 0xad, 0xcc, 0x90, 0x37, 0x29, 0x6c, 0xcc, 0xff, 0xd8, 0xdf, 0x74, 0x76, 0xf7, 0x3e, - 0xe4, 0x60, 0xdb, 0x61, 0x9e, 0x2d, 0x88, 0xef, 0x10, 0x5f, 0xd8, 0x01, 0x73, 0x71, 0x48, 0xb9, - 0xcd, 0x03, 0xe2, 0xd0, 0x3e, 0x75, 0xb0, 0xe4, 0xb3, 0x8d, 0x03, 0x2a, 0xc7, 0x1e, 0x0d, 0xd5, - 0xf6, 0xb0, 0x8f, 0x07, 0x64, 0x2f, 0xf5, 0xaf, 0xed, 0x57, 0x92, 0x1f, 0x9f, 0xed, 0x0f, 0xa8, - 0x38, 0x19, 0x76, 0x6d, 0x87, 0x79, 0x2d, 0xdd, 0x8f, 0x47, 0xf8, 0x49, 0x6b, 0xa2, 0xaf, 0x16, - 0x67, 0xc3, 0xd0, 0x21, 0xad, 0x01, 0x6b, 0xe1, 0x80, 0xb6, 0x46, 0xb7, 0x5b, 0x3a, 0x00, 0x51, - 0xaf, 0xdd, 0xb2, 0x62, 0xd1, 0x9d, 0x5f, 0x03, 0x00, 0x00, 0xff, 0xff, 0xb1, 0x47, 0x7a, 0xe8, - 0x80, 0x1f, 0x00, 0x00, +func (x *ConfigDiscoverResponse) GetConfigFile() *ClientConfigFileInfo { + if x != nil { + return x.ConfigFile + } + return nil +} + +func (x *ConfigDiscoverResponse) GetConfigFileNames() []*ClientConfigFileInfo { + if x != nil { + return x.ConfigFileNames + } + return nil +} + +func (x *ConfigDiscoverResponse) GetConfigFileGroups() []*ConfigFileGroup { + if x != nil { + return x.ConfigFileGroups + } + return nil +} + +var File_config_file_proto protoreflect.FileDescriptor + +var file_config_file_proto_rawDesc = []byte{ + 0x0a, 0x11, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x12, 0x02, 0x76, 0x31, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, + 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0b, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xb9, 0x09, 0x0a, 0x0f, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x46, + 0x69, 0x6c, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x2c, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x52, 0x02, 0x69, 0x64, 0x12, 0x30, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x3a, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, + 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, + 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, + 0x70, 0x61, 0x63, 0x65, 0x12, 0x36, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x3d, 0x0a, 0x0b, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, + 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x39, 0x0a, 0x09, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x62, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x42, 0x79, 0x12, 0x3d, 0x0a, 0x0b, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x79, + 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, + 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0a, 0x6d, 0x6f, 0x64, 0x69, 0x66, + 0x79, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x39, 0x0a, 0x09, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x5f, + 0x62, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, + 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x42, 0x79, + 0x12, 0x3a, 0x0a, 0x09, 0x66, 0x69, 0x6c, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x09, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x52, 0x09, 0x66, 0x69, 0x6c, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x38, 0x0a, 0x08, + 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08, 0x75, 0x73, + 0x65, 0x72, 0x5f, 0x69, 0x64, 0x73, 0x12, 0x3a, 0x0a, 0x09, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, + 0x69, 0x64, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, + 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x09, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, + 0x64, 0x73, 0x12, 0x46, 0x0a, 0x0f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x75, 0x73, 0x65, + 0x72, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, + 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0f, 0x72, 0x65, 0x6d, 0x6f, 0x76, + 0x65, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x73, 0x12, 0x48, 0x0a, 0x10, 0x72, 0x65, + 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x0e, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x52, 0x10, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, + 0x5f, 0x69, 0x64, 0x73, 0x12, 0x36, 0x0a, 0x08, 0x65, 0x64, 0x69, 0x74, 0x61, 0x62, 0x6c, 0x65, + 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x52, 0x08, 0x65, 0x64, 0x69, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x32, 0x0a, 0x05, + 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, + 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, + 0x12, 0x38, 0x0a, 0x08, 0x62, 0x75, 0x73, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x18, 0x11, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x52, 0x08, 0x62, 0x75, 0x73, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x12, 0x3c, 0x0a, 0x0a, 0x64, 0x65, + 0x70, 0x61, 0x72, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0a, 0x64, 0x65, + 0x70, 0x61, 0x72, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x3d, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0x18, 0x13, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x76, 0x31, 0x2e, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x46, 0x69, 0x6c, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x2e, + 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x6d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x3a, 0x0a, 0x0a, 0x64, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, + 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0a, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x61, + 0x62, 0x6c, 0x65, 0x1a, 0x3b, 0x0a, 0x0d, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, + 0x22, 0xcc, 0x07, 0x0a, 0x0a, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x46, 0x69, 0x6c, 0x65, 0x12, + 0x2c, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, + 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x02, 0x69, 0x64, 0x12, 0x30, 0x0a, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, + 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, + 0x3a, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x32, 0x0a, 0x05, 0x67, + 0x72, 0x6f, 0x75, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, + 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x12, + 0x36, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x07, + 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x34, 0x0a, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, + 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, + 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x36, 0x0a, + 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x07, 0x63, 0x6f, + 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x34, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, + 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x25, 0x0a, 0x04, 0x74, + 0x61, 0x67, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x76, 0x31, 0x2e, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x46, 0x69, 0x6c, 0x65, 0x54, 0x61, 0x67, 0x52, 0x04, 0x74, 0x61, + 0x67, 0x73, 0x12, 0x3d, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, + 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, + 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, + 0x65, 0x12, 0x39, 0x0a, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x62, 0x79, 0x18, 0x0b, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x52, 0x08, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x79, 0x12, 0x3d, 0x0a, 0x0b, + 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, + 0x0a, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x39, 0x0a, 0x09, 0x6d, + 0x6f, 0x64, 0x69, 0x66, 0x79, 0x5f, 0x62, 0x79, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08, 0x6d, 0x6f, + 0x64, 0x69, 0x66, 0x79, 0x42, 0x79, 0x12, 0x3f, 0x0a, 0x0c, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, + 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, + 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0b, 0x72, 0x65, 0x6c, 0x65, + 0x61, 0x73, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3b, 0x0a, 0x0a, 0x72, 0x65, 0x6c, 0x65, 0x61, + 0x73, 0x65, 0x5f, 0x62, 0x79, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, + 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x09, 0x72, 0x65, 0x6c, 0x65, 0x61, + 0x73, 0x65, 0x42, 0x79, 0x12, 0x38, 0x0a, 0x09, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, + 0x64, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x52, 0x09, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, 0x12, 0x3f, + 0x0a, 0x0c, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x5f, 0x61, 0x6c, 0x67, 0x6f, 0x18, 0x11, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x52, 0x0b, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x41, 0x6c, 0x67, 0x6f, 0x22, + 0x73, 0x0a, 0x0d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x46, 0x69, 0x6c, 0x65, 0x54, 0x61, 0x67, + 0x12, 0x2e, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x03, 0x6b, 0x65, 0x79, + 0x12, 0x32, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x22, 0xbd, 0x08, 0x0a, 0x11, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x46, + 0x69, 0x6c, 0x65, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x12, 0x2c, 0x0a, 0x02, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x52, 0x02, 0x69, 0x64, 0x12, 0x30, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x3a, 0x0a, 0x09, 0x6e, 0x61, + 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x09, 0x6e, 0x61, 0x6d, + 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x32, 0x0a, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x52, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x39, 0x0a, 0x09, 0x66, 0x69, + 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08, 0x66, 0x69, 0x6c, + 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x36, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x36, 0x0a, + 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x07, 0x63, 0x6f, + 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x2e, 0x0a, 0x03, 0x6d, 0x64, 0x35, 0x18, 0x08, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x52, 0x03, 0x6d, 0x64, 0x35, 0x12, 0x36, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x3d, 0x0a, + 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x39, 0x0a, 0x09, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x62, 0x79, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x79, 0x12, 0x3d, 0x0a, 0x0b, 0x6d, 0x6f, 0x64, 0x69, 0x66, + 0x79, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, + 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0a, 0x6d, 0x6f, 0x64, 0x69, + 0x66, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x39, 0x0a, 0x09, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x79, + 0x5f, 0x62, 0x79, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, + 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x42, + 0x79, 0x12, 0x25, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x11, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x46, 0x69, 0x6c, 0x65, 0x54, + 0x61, 0x67, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x12, 0x32, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, + 0x76, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x12, 0x34, 0x0a, 0x06, + 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, + 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x06, 0x66, 0x6f, 0x72, 0x6d, + 0x61, 0x74, 0x12, 0x4d, 0x0a, 0x13, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x5f, 0x64, 0x65, + 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x12, 0x72, + 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x3f, 0x0a, 0x0c, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x5f, 0x74, 0x79, 0x70, + 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, + 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0b, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x54, 0x79, + 0x70, 0x65, 0x12, 0x30, 0x0a, 0x0b, 0x62, 0x65, 0x74, 0x61, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, + 0x73, 0x18, 0x13, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6c, 0x69, + 0x65, 0x6e, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x52, 0x0a, 0x62, 0x65, 0x74, 0x61, 0x4c, 0x61, + 0x62, 0x65, 0x6c, 0x73, 0x22, 0x83, 0x08, 0x0a, 0x18, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x46, + 0x69, 0x6c, 0x65, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, + 0x79, 0x12, 0x2c, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x02, 0x69, 0x64, 0x12, + 0x30, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x12, 0x3a, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x32, 0x0a, + 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, + 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x67, 0x72, 0x6f, 0x75, + 0x70, 0x12, 0x39, 0x0a, 0x09, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x36, 0x0a, 0x07, + 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x07, 0x63, 0x6f, 0x6e, + 0x74, 0x65, 0x6e, 0x74, 0x12, 0x34, 0x0a, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x07, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x52, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x36, 0x0a, 0x07, 0x63, 0x6f, + 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, + 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, + 0x6e, 0x74, 0x12, 0x2e, 0x0a, 0x03, 0x6d, 0x64, 0x35, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x03, 0x6d, + 0x64, 0x35, 0x12, 0x30, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x04, + 0x74, 0x79, 0x70, 0x65, 0x12, 0x34, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x0b, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x25, 0x0a, 0x04, 0x74, 0x61, + 0x67, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x46, 0x69, 0x6c, 0x65, 0x54, 0x61, 0x67, 0x52, 0x04, 0x74, 0x61, 0x67, + 0x73, 0x12, 0x3d, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, + 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, + 0x12, 0x39, 0x0a, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x62, 0x79, 0x18, 0x0e, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x52, 0x08, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x79, 0x12, 0x3d, 0x0a, 0x0b, 0x6d, + 0x6f, 0x64, 0x69, 0x66, 0x79, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0a, + 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x39, 0x0a, 0x09, 0x6d, 0x6f, + 0x64, 0x69, 0x66, 0x79, 0x5f, 0x62, 0x79, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08, 0x6d, 0x6f, 0x64, + 0x69, 0x66, 0x79, 0x42, 0x79, 0x12, 0x34, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, + 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x4d, 0x0a, 0x13, 0x72, + 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, + 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x12, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x44, + 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x8e, 0x04, 0x0a, 0x12, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x46, 0x69, 0x6c, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, + 0x65, 0x12, 0x2c, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x02, 0x69, 0x64, 0x12, + 0x30, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x12, 0x36, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x34, 0x0a, 0x06, 0x66, 0x6f, 0x72, + 0x6d, 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, + 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, + 0x36, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x07, + 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x3d, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, + 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x39, 0x0a, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x5f, 0x62, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, + 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, + 0x79, 0x12, 0x3d, 0x0a, 0x0b, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x5f, 0x74, 0x69, 0x6d, 0x65, + 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0a, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x54, 0x69, 0x6d, 0x65, + 0x12, 0x39, 0x0a, 0x09, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x5f, 0x62, 0x79, 0x18, 0x09, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x52, 0x08, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x42, 0x79, 0x22, 0xf3, 0x04, 0x0a, 0x14, + 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x46, 0x69, 0x6c, 0x65, + 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x3a, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, + 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, + 0x12, 0x32, 0x0a, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x67, + 0x72, 0x6f, 0x75, 0x70, 0x12, 0x39, 0x0a, 0x09, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, + 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, + 0x36, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x07, + 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x36, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, + 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, + 0x2e, 0x0a, 0x03, 0x6d, 0x64, 0x35, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, + 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x03, 0x6d, 0x64, 0x35, 0x12, + 0x25, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, + 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x46, 0x69, 0x6c, 0x65, 0x54, 0x61, 0x67, + 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x12, 0x38, 0x0a, 0x09, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, + 0x74, 0x65, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, + 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x09, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, + 0x12, 0x3b, 0x0a, 0x0a, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x09, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x52, 0x09, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x12, 0x30, 0x0a, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, + 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, + 0x40, 0x0a, 0x0c, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, + 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x52, 0x0c, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x5f, 0x74, 0x69, 0x6d, + 0x65, 0x22, 0xd5, 0x01, 0x0a, 0x1c, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x57, 0x61, 0x74, 0x63, + 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x39, 0x0a, 0x09, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x70, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x52, 0x08, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x70, 0x12, 0x3f, 0x0a, + 0x0c, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x39, + 0x0a, 0x0b, 0x77, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x18, 0x03, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x46, 0x69, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x77, + 0x61, 0x74, 0x63, 0x68, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x22, 0xbf, 0x01, 0x0a, 0x17, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x46, 0x69, 0x6c, 0x65, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3a, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, + 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, + 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, + 0x65, 0x12, 0x34, 0x0a, 0x06, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, + 0x06, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x12, 0x32, 0x0a, 0x05, 0x6e, 0x61, 0x6d, 0x65, 0x73, + 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x22, 0xc5, 0x06, 0x0a, 0x15, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x46, 0x69, 0x6c, 0x65, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, + 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x40, 0x0a, 0x0c, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, + 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, + 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0c, 0x72, 0x65, 0x6c, 0x65, 0x61, + 0x73, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x3a, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, + 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, + 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, + 0x61, 0x63, 0x65, 0x12, 0x32, 0x0a, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x52, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x3a, 0x0a, 0x09, 0x66, 0x69, 0x6c, 0x65, 0x5f, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, + 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x09, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x6e, + 0x61, 0x6d, 0x65, 0x12, 0x36, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x36, 0x0a, 0x07, 0x63, + 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, + 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, + 0x65, 0x6e, 0x74, 0x12, 0x34, 0x0a, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x07, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x52, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x4e, 0x0a, 0x13, 0x72, 0x65, 0x6c, + 0x65, 0x61, 0x73, 0x65, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x52, 0x13, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x5f, 0x64, 0x65, + 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3a, 0x0a, 0x09, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x5f, 0x62, 0x79, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, + 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x5f, 0x62, 0x79, 0x12, 0x3a, 0x0a, 0x09, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x5f, + 0x62, 0x79, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, + 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x09, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x5f, 0x62, + 0x79, 0x12, 0x25, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x11, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x46, 0x69, 0x6c, 0x65, 0x54, + 0x61, 0x67, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x12, 0x2e, 0x0a, 0x03, 0x6d, 0x64, 0x35, 0x18, + 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x52, 0x03, 0x6d, 0x64, 0x35, 0x12, 0x38, 0x0a, 0x09, 0x65, 0x6e, 0x63, 0x72, + 0x79, 0x70, 0x74, 0x65, 0x64, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, + 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x09, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, + 0x65, 0x64, 0x12, 0x3f, 0x0a, 0x0c, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x5f, 0x61, 0x6c, + 0x67, 0x6f, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, + 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0b, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x41, + 0x6c, 0x67, 0x6f, 0x22, 0xaa, 0x02, 0x0a, 0x16, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x46, 0x69, + 0x6c, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, + 0x0a, 0x08, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08, + 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x41, 0x0a, 0x11, 0x63, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x46, + 0x69, 0x6c, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x11, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x52, 0x0a, 0x0d, 0x63, + 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x0c, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x46, 0x69, + 0x6c, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x43, + 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x52, 0x0d, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x1a, + 0x3f, 0x0a, 0x11, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, + 0x22, 0xa2, 0x02, 0x0a, 0x15, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x69, 0x73, 0x63, 0x6f, + 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x47, 0x0a, 0x04, 0x74, 0x79, + 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x33, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, + 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, + 0x79, 0x70, 0x65, 0x12, 0x3a, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x66, 0x69, + 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6c, + 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x46, 0x69, 0x6c, 0x65, 0x49, 0x6e, + 0x66, 0x6f, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x12, + 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x08, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x68, 0x0a, 0x19, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, + 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x5f, + 0x46, 0x49, 0x4c, 0x45, 0x10, 0x01, 0x12, 0x15, 0x0a, 0x11, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, + 0x5f, 0x46, 0x49, 0x4c, 0x45, 0x5f, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x10, 0x02, 0x12, 0x16, 0x0a, + 0x12, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x5f, 0x46, 0x49, 0x4c, 0x45, 0x5f, 0x47, 0x52, 0x4f, + 0x55, 0x50, 0x53, 0x10, 0x03, 0x22, 0xdb, 0x03, 0x0a, 0x16, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, + 0x63, 0x6f, 0x64, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x76, 0x69, + 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x76, 0x69, + 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x49, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x35, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x69, + 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, + 0x3a, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x46, 0x69, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0b, + 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x46, 0x0a, 0x11, 0x63, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, + 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6c, 0x69, 0x65, + 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x46, 0x69, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, + 0x52, 0x11, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x6e, 0x61, + 0x6d, 0x65, 0x73, 0x12, 0x43, 0x0a, 0x12, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x66, 0x69, + 0x6c, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x13, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x46, 0x69, 0x6c, 0x65, 0x47, + 0x72, 0x6f, 0x75, 0x70, 0x52, 0x12, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x66, 0x69, 0x6c, + 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x22, 0x69, 0x0a, 0x1a, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, + 0x4e, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x5f, 0x46, 0x49, + 0x4c, 0x45, 0x10, 0x01, 0x12, 0x15, 0x0a, 0x11, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x5f, 0x46, + 0x49, 0x4c, 0x45, 0x5f, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x10, 0x02, 0x12, 0x16, 0x0a, 0x12, 0x43, + 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x5f, 0x46, 0x49, 0x4c, 0x45, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, + 0x53, 0x10, 0x03, 0x42, 0x8e, 0x01, 0x0a, 0x36, 0x63, 0x6f, 0x6d, 0x2e, 0x74, 0x65, 0x6e, 0x63, + 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x6f, 0x6c, 0x61, 0x72, 0x69, 0x73, 0x2e, 0x73, 0x70, 0x65, 0x63, + 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, + 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x42, 0x0f, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x46, 0x69, 0x6c, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x5a, + 0x43, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x70, 0x6f, 0x6c, 0x61, + 0x72, 0x69, 0x73, 0x6d, 0x65, 0x73, 0x68, 0x2f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2f, 0x67, 0x6f, 0x2f, + 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x6d, 0x61, + 0x6e, 0x61, 0x67, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_config_file_proto_rawDescOnce sync.Once + file_config_file_proto_rawDescData = file_config_file_proto_rawDesc +) + +func file_config_file_proto_rawDescGZIP() []byte { + file_config_file_proto_rawDescOnce.Do(func() { + file_config_file_proto_rawDescData = protoimpl.X.CompressGZIP(file_config_file_proto_rawDescData) + }) + return file_config_file_proto_rawDescData +} + +var file_config_file_proto_enumTypes = make([]protoimpl.EnumInfo, 2) +var file_config_file_proto_msgTypes = make([]protoimpl.MessageInfo, 15) +var file_config_file_proto_goTypes = []interface{}{ + (ConfigDiscoverRequest_ConfigDiscoverRequestType)(0), // 0: v1.ConfigDiscoverRequest.ConfigDiscoverRequestType + (ConfigDiscoverResponse_ConfigDiscoverResponseType)(0), // 1: v1.ConfigDiscoverResponse.ConfigDiscoverResponseType + (*ConfigFileGroup)(nil), // 2: v1.ConfigFileGroup + (*ConfigFile)(nil), // 3: v1.ConfigFile + (*ConfigFileTag)(nil), // 4: v1.ConfigFileTag + (*ConfigFileRelease)(nil), // 5: v1.ConfigFileRelease + (*ConfigFileReleaseHistory)(nil), // 6: v1.ConfigFileReleaseHistory + (*ConfigFileTemplate)(nil), // 7: v1.ConfigFileTemplate + (*ClientConfigFileInfo)(nil), // 8: v1.ClientConfigFileInfo + (*ClientWatchConfigFileRequest)(nil), // 9: v1.ClientWatchConfigFileRequest + (*ConfigFileExportRequest)(nil), // 10: v1.ConfigFileExportRequest + (*ConfigFilePublishInfo)(nil), // 11: v1.ConfigFilePublishInfo + (*ConfigFileGroupRequest)(nil), // 12: v1.ConfigFileGroupRequest + (*ConfigDiscoverRequest)(nil), // 13: v1.ConfigDiscoverRequest + (*ConfigDiscoverResponse)(nil), // 14: v1.ConfigDiscoverResponse + nil, // 15: v1.ConfigFileGroup.MetadataEntry + nil, // 16: v1.ConfigFileGroupRequest.ClientLabelsEntry + (*wrapperspb.UInt64Value)(nil), // 17: google.protobuf.UInt64Value + (*wrapperspb.StringValue)(nil), // 18: google.protobuf.StringValue + (*wrapperspb.BoolValue)(nil), // 19: google.protobuf.BoolValue + (*model.ClientLabel)(nil), // 20: v1.ClientLabel +} +var file_config_file_proto_depIdxs = []int32{ + 17, // 0: v1.ConfigFileGroup.id:type_name -> google.protobuf.UInt64Value + 18, // 1: v1.ConfigFileGroup.name:type_name -> google.protobuf.StringValue + 18, // 2: v1.ConfigFileGroup.namespace:type_name -> google.protobuf.StringValue + 18, // 3: v1.ConfigFileGroup.comment:type_name -> google.protobuf.StringValue + 18, // 4: v1.ConfigFileGroup.create_time:type_name -> google.protobuf.StringValue + 18, // 5: v1.ConfigFileGroup.create_by:type_name -> google.protobuf.StringValue + 18, // 6: v1.ConfigFileGroup.modify_time:type_name -> google.protobuf.StringValue + 18, // 7: v1.ConfigFileGroup.modify_by:type_name -> google.protobuf.StringValue + 17, // 8: v1.ConfigFileGroup.fileCount:type_name -> google.protobuf.UInt64Value + 18, // 9: v1.ConfigFileGroup.user_ids:type_name -> google.protobuf.StringValue + 18, // 10: v1.ConfigFileGroup.group_ids:type_name -> google.protobuf.StringValue + 18, // 11: v1.ConfigFileGroup.remove_user_ids:type_name -> google.protobuf.StringValue + 18, // 12: v1.ConfigFileGroup.remove_group_ids:type_name -> google.protobuf.StringValue + 19, // 13: v1.ConfigFileGroup.editable:type_name -> google.protobuf.BoolValue + 18, // 14: v1.ConfigFileGroup.owner:type_name -> google.protobuf.StringValue + 18, // 15: v1.ConfigFileGroup.business:type_name -> google.protobuf.StringValue + 18, // 16: v1.ConfigFileGroup.department:type_name -> google.protobuf.StringValue + 15, // 17: v1.ConfigFileGroup.metadata:type_name -> v1.ConfigFileGroup.MetadataEntry + 19, // 18: v1.ConfigFileGroup.deleteable:type_name -> google.protobuf.BoolValue + 17, // 19: v1.ConfigFile.id:type_name -> google.protobuf.UInt64Value + 18, // 20: v1.ConfigFile.name:type_name -> google.protobuf.StringValue + 18, // 21: v1.ConfigFile.namespace:type_name -> google.protobuf.StringValue + 18, // 22: v1.ConfigFile.group:type_name -> google.protobuf.StringValue + 18, // 23: v1.ConfigFile.content:type_name -> google.protobuf.StringValue + 18, // 24: v1.ConfigFile.format:type_name -> google.protobuf.StringValue + 18, // 25: v1.ConfigFile.comment:type_name -> google.protobuf.StringValue + 18, // 26: v1.ConfigFile.status:type_name -> google.protobuf.StringValue + 4, // 27: v1.ConfigFile.tags:type_name -> v1.ConfigFileTag + 18, // 28: v1.ConfigFile.create_time:type_name -> google.protobuf.StringValue + 18, // 29: v1.ConfigFile.create_by:type_name -> google.protobuf.StringValue + 18, // 30: v1.ConfigFile.modify_time:type_name -> google.protobuf.StringValue + 18, // 31: v1.ConfigFile.modify_by:type_name -> google.protobuf.StringValue + 18, // 32: v1.ConfigFile.release_time:type_name -> google.protobuf.StringValue + 18, // 33: v1.ConfigFile.release_by:type_name -> google.protobuf.StringValue + 19, // 34: v1.ConfigFile.encrypted:type_name -> google.protobuf.BoolValue + 18, // 35: v1.ConfigFile.encrypt_algo:type_name -> google.protobuf.StringValue + 18, // 36: v1.ConfigFileTag.key:type_name -> google.protobuf.StringValue + 18, // 37: v1.ConfigFileTag.value:type_name -> google.protobuf.StringValue + 17, // 38: v1.ConfigFileRelease.id:type_name -> google.protobuf.UInt64Value + 18, // 39: v1.ConfigFileRelease.name:type_name -> google.protobuf.StringValue + 18, // 40: v1.ConfigFileRelease.namespace:type_name -> google.protobuf.StringValue + 18, // 41: v1.ConfigFileRelease.group:type_name -> google.protobuf.StringValue + 18, // 42: v1.ConfigFileRelease.file_name:type_name -> google.protobuf.StringValue + 18, // 43: v1.ConfigFileRelease.content:type_name -> google.protobuf.StringValue + 18, // 44: v1.ConfigFileRelease.comment:type_name -> google.protobuf.StringValue + 18, // 45: v1.ConfigFileRelease.md5:type_name -> google.protobuf.StringValue + 17, // 46: v1.ConfigFileRelease.version:type_name -> google.protobuf.UInt64Value + 18, // 47: v1.ConfigFileRelease.create_time:type_name -> google.protobuf.StringValue + 18, // 48: v1.ConfigFileRelease.create_by:type_name -> google.protobuf.StringValue + 18, // 49: v1.ConfigFileRelease.modify_time:type_name -> google.protobuf.StringValue + 18, // 50: v1.ConfigFileRelease.modify_by:type_name -> google.protobuf.StringValue + 4, // 51: v1.ConfigFileRelease.tags:type_name -> v1.ConfigFileTag + 19, // 52: v1.ConfigFileRelease.active:type_name -> google.protobuf.BoolValue + 18, // 53: v1.ConfigFileRelease.format:type_name -> google.protobuf.StringValue + 18, // 54: v1.ConfigFileRelease.release_description:type_name -> google.protobuf.StringValue + 18, // 55: v1.ConfigFileRelease.release_type:type_name -> google.protobuf.StringValue + 20, // 56: v1.ConfigFileRelease.beta_labels:type_name -> v1.ClientLabel + 17, // 57: v1.ConfigFileReleaseHistory.id:type_name -> google.protobuf.UInt64Value + 18, // 58: v1.ConfigFileReleaseHistory.name:type_name -> google.protobuf.StringValue + 18, // 59: v1.ConfigFileReleaseHistory.namespace:type_name -> google.protobuf.StringValue + 18, // 60: v1.ConfigFileReleaseHistory.group:type_name -> google.protobuf.StringValue + 18, // 61: v1.ConfigFileReleaseHistory.file_name:type_name -> google.protobuf.StringValue + 18, // 62: v1.ConfigFileReleaseHistory.content:type_name -> google.protobuf.StringValue + 18, // 63: v1.ConfigFileReleaseHistory.format:type_name -> google.protobuf.StringValue + 18, // 64: v1.ConfigFileReleaseHistory.comment:type_name -> google.protobuf.StringValue + 18, // 65: v1.ConfigFileReleaseHistory.md5:type_name -> google.protobuf.StringValue + 18, // 66: v1.ConfigFileReleaseHistory.type:type_name -> google.protobuf.StringValue + 18, // 67: v1.ConfigFileReleaseHistory.status:type_name -> google.protobuf.StringValue + 4, // 68: v1.ConfigFileReleaseHistory.tags:type_name -> v1.ConfigFileTag + 18, // 69: v1.ConfigFileReleaseHistory.create_time:type_name -> google.protobuf.StringValue + 18, // 70: v1.ConfigFileReleaseHistory.create_by:type_name -> google.protobuf.StringValue + 18, // 71: v1.ConfigFileReleaseHistory.modify_time:type_name -> google.protobuf.StringValue + 18, // 72: v1.ConfigFileReleaseHistory.modify_by:type_name -> google.protobuf.StringValue + 18, // 73: v1.ConfigFileReleaseHistory.reason:type_name -> google.protobuf.StringValue + 18, // 74: v1.ConfigFileReleaseHistory.release_description:type_name -> google.protobuf.StringValue + 17, // 75: v1.ConfigFileTemplate.id:type_name -> google.protobuf.UInt64Value + 18, // 76: v1.ConfigFileTemplate.name:type_name -> google.protobuf.StringValue + 18, // 77: v1.ConfigFileTemplate.content:type_name -> google.protobuf.StringValue + 18, // 78: v1.ConfigFileTemplate.format:type_name -> google.protobuf.StringValue + 18, // 79: v1.ConfigFileTemplate.comment:type_name -> google.protobuf.StringValue + 18, // 80: v1.ConfigFileTemplate.create_time:type_name -> google.protobuf.StringValue + 18, // 81: v1.ConfigFileTemplate.create_by:type_name -> google.protobuf.StringValue + 18, // 82: v1.ConfigFileTemplate.modify_time:type_name -> google.protobuf.StringValue + 18, // 83: v1.ConfigFileTemplate.modify_by:type_name -> google.protobuf.StringValue + 18, // 84: v1.ClientConfigFileInfo.namespace:type_name -> google.protobuf.StringValue + 18, // 85: v1.ClientConfigFileInfo.group:type_name -> google.protobuf.StringValue + 18, // 86: v1.ClientConfigFileInfo.file_name:type_name -> google.protobuf.StringValue + 18, // 87: v1.ClientConfigFileInfo.content:type_name -> google.protobuf.StringValue + 17, // 88: v1.ClientConfigFileInfo.version:type_name -> google.protobuf.UInt64Value + 18, // 89: v1.ClientConfigFileInfo.md5:type_name -> google.protobuf.StringValue + 4, // 90: v1.ClientConfigFileInfo.tags:type_name -> v1.ConfigFileTag + 19, // 91: v1.ClientConfigFileInfo.encrypted:type_name -> google.protobuf.BoolValue + 18, // 92: v1.ClientConfigFileInfo.public_key:type_name -> google.protobuf.StringValue + 18, // 93: v1.ClientConfigFileInfo.name:type_name -> google.protobuf.StringValue + 18, // 94: v1.ClientConfigFileInfo.release_time:type_name -> google.protobuf.StringValue + 18, // 95: v1.ClientWatchConfigFileRequest.client_ip:type_name -> google.protobuf.StringValue + 18, // 96: v1.ClientWatchConfigFileRequest.service_name:type_name -> google.protobuf.StringValue + 8, // 97: v1.ClientWatchConfigFileRequest.watch_files:type_name -> v1.ClientConfigFileInfo + 18, // 98: v1.ConfigFileExportRequest.namespace:type_name -> google.protobuf.StringValue + 18, // 99: v1.ConfigFileExportRequest.groups:type_name -> google.protobuf.StringValue + 18, // 100: v1.ConfigFileExportRequest.names:type_name -> google.protobuf.StringValue + 18, // 101: v1.ConfigFilePublishInfo.release_name:type_name -> google.protobuf.StringValue + 18, // 102: v1.ConfigFilePublishInfo.namespace:type_name -> google.protobuf.StringValue + 18, // 103: v1.ConfigFilePublishInfo.group:type_name -> google.protobuf.StringValue + 18, // 104: v1.ConfigFilePublishInfo.file_name:type_name -> google.protobuf.StringValue + 18, // 105: v1.ConfigFilePublishInfo.content:type_name -> google.protobuf.StringValue + 18, // 106: v1.ConfigFilePublishInfo.comment:type_name -> google.protobuf.StringValue + 18, // 107: v1.ConfigFilePublishInfo.format:type_name -> google.protobuf.StringValue + 18, // 108: v1.ConfigFilePublishInfo.release_description:type_name -> google.protobuf.StringValue + 18, // 109: v1.ConfigFilePublishInfo.create_by:type_name -> google.protobuf.StringValue + 18, // 110: v1.ConfigFilePublishInfo.modify_by:type_name -> google.protobuf.StringValue + 4, // 111: v1.ConfigFilePublishInfo.tags:type_name -> v1.ConfigFileTag + 18, // 112: v1.ConfigFilePublishInfo.md5:type_name -> google.protobuf.StringValue + 19, // 113: v1.ConfigFilePublishInfo.encrypted:type_name -> google.protobuf.BoolValue + 18, // 114: v1.ConfigFilePublishInfo.encrypt_algo:type_name -> google.protobuf.StringValue + 18, // 115: v1.ConfigFileGroupRequest.revision:type_name -> google.protobuf.StringValue + 2, // 116: v1.ConfigFileGroupRequest.config_file_group:type_name -> v1.ConfigFileGroup + 16, // 117: v1.ConfigFileGroupRequest.client_labels:type_name -> v1.ConfigFileGroupRequest.ClientLabelsEntry + 0, // 118: v1.ConfigDiscoverRequest.type:type_name -> v1.ConfigDiscoverRequest.ConfigDiscoverRequestType + 8, // 119: v1.ConfigDiscoverRequest.config_file:type_name -> v1.ClientConfigFileInfo + 1, // 120: v1.ConfigDiscoverResponse.type:type_name -> v1.ConfigDiscoverResponse.ConfigDiscoverResponseType + 8, // 121: v1.ConfigDiscoverResponse.config_file:type_name -> v1.ClientConfigFileInfo + 8, // 122: v1.ConfigDiscoverResponse.config_file_names:type_name -> v1.ClientConfigFileInfo + 2, // 123: v1.ConfigDiscoverResponse.config_file_groups:type_name -> v1.ConfigFileGroup + 124, // [124:124] is the sub-list for method output_type + 124, // [124:124] is the sub-list for method input_type + 124, // [124:124] is the sub-list for extension type_name + 124, // [124:124] is the sub-list for extension extendee + 0, // [0:124] is the sub-list for field type_name +} + +func init() { file_config_file_proto_init() } +func file_config_file_proto_init() { + if File_config_file_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_config_file_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ConfigFileGroup); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_config_file_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ConfigFile); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_config_file_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ConfigFileTag); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_config_file_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ConfigFileRelease); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_config_file_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ConfigFileReleaseHistory); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_config_file_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ConfigFileTemplate); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_config_file_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ClientConfigFileInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_config_file_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ClientWatchConfigFileRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_config_file_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ConfigFileExportRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_config_file_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ConfigFilePublishInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_config_file_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ConfigFileGroupRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_config_file_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ConfigDiscoverRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_config_file_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ConfigDiscoverResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_config_file_proto_rawDesc, + NumEnums: 2, + NumMessages: 15, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_config_file_proto_goTypes, + DependencyIndexes: file_config_file_proto_depIdxs, + EnumInfos: file_config_file_proto_enumTypes, + MessageInfos: file_config_file_proto_msgTypes, + }.Build() + File_config_file_proto = out.File + file_config_file_proto_rawDesc = nil + file_config_file_proto_goTypes = nil + file_config_file_proto_depIdxs = nil } diff --git a/source/go/api/v1/config_manage/config_file_response.pb.go b/source/go/api/v1/config_manage/config_file_response.pb.go index dfe0c19b..49da789d 100644 --- a/source/go/api/v1/config_manage/config_file_response.pb.go +++ b/source/go/api/v1/config_manage/config_file_response.pb.go @@ -1,71 +1,86 @@ // Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.33.0 +// protoc v5.27.3 // source: config_file_response.proto -package config_manage // import "github.com/polarismesh/specification/source/go/api/v1/config_manage" +package config_manage -import proto "github.com/golang/protobuf/proto" -import fmt "fmt" -import math "math" -import wrapperspb "google.golang.org/protobuf/types/known/wrapperspb" +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + wrapperspb "google.golang.org/protobuf/types/known/wrapperspb" + reflect "reflect" + sync "sync" +) -// Reference imports to suppress errors if they are not otherwise used. -var _ = proto.Marshal -var _ = fmt.Errorf -var _ = math.Inf - -// This is a compile-time assertion to ensure that this generated file -// is compatible with the proto package it is being compiled against. -// A compilation error at this line likely means your copy of the -// proto package needs to be updated. -const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) type ConfigSimpleResponse struct { - Code *wrapperspb.UInt32Value `protobuf:"bytes,1,opt,name=code,proto3" json:"code,omitempty"` - Info *wrapperspb.StringValue `protobuf:"bytes,2,opt,name=info,proto3" json:"info,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields -func (m *ConfigSimpleResponse) Reset() { *m = ConfigSimpleResponse{} } -func (m *ConfigSimpleResponse) String() string { return proto.CompactTextString(m) } -func (*ConfigSimpleResponse) ProtoMessage() {} -func (*ConfigSimpleResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_config_file_response_a272e4c1ee7899cd, []int{0} -} -func (m *ConfigSimpleResponse) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_ConfigSimpleResponse.Unmarshal(m, b) + Code *wrapperspb.UInt32Value `protobuf:"bytes,1,opt,name=code,proto3" json:"code,omitempty"` + Info *wrapperspb.StringValue `protobuf:"bytes,2,opt,name=info,proto3" json:"info,omitempty"` } -func (m *ConfigSimpleResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_ConfigSimpleResponse.Marshal(b, m, deterministic) -} -func (dst *ConfigSimpleResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_ConfigSimpleResponse.Merge(dst, src) + +func (x *ConfigSimpleResponse) Reset() { + *x = ConfigSimpleResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_config_file_response_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (m *ConfigSimpleResponse) XXX_Size() int { - return xxx_messageInfo_ConfigSimpleResponse.Size(m) + +func (x *ConfigSimpleResponse) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *ConfigSimpleResponse) XXX_DiscardUnknown() { - xxx_messageInfo_ConfigSimpleResponse.DiscardUnknown(m) + +func (*ConfigSimpleResponse) ProtoMessage() {} + +func (x *ConfigSimpleResponse) ProtoReflect() protoreflect.Message { + mi := &file_config_file_response_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) } -var xxx_messageInfo_ConfigSimpleResponse proto.InternalMessageInfo +// Deprecated: Use ConfigSimpleResponse.ProtoReflect.Descriptor instead. +func (*ConfigSimpleResponse) Descriptor() ([]byte, []int) { + return file_config_file_response_proto_rawDescGZIP(), []int{0} +} -func (m *ConfigSimpleResponse) GetCode() *wrapperspb.UInt32Value { - if m != nil { - return m.Code +func (x *ConfigSimpleResponse) GetCode() *wrapperspb.UInt32Value { + if x != nil { + return x.Code } return nil } -func (m *ConfigSimpleResponse) GetInfo() *wrapperspb.StringValue { - if m != nil { - return m.Info +func (x *ConfigSimpleResponse) GetInfo() *wrapperspb.StringValue { + if x != nil { + return x.Info } return nil } type ConfigResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + Code *wrapperspb.UInt32Value `protobuf:"bytes,1,opt,name=code,proto3" json:"code,omitempty"` Info *wrapperspb.StringValue `protobuf:"bytes,2,opt,name=info,proto3" json:"info,omitempty"` ConfigFileGroup *ConfigFileGroup `protobuf:"bytes,3,opt,name=configFileGroup,proto3" json:"configFileGroup,omitempty"` @@ -73,147 +88,165 @@ type ConfigResponse struct { ConfigFileRelease *ConfigFileRelease `protobuf:"bytes,5,opt,name=configFileRelease,proto3" json:"configFileRelease,omitempty"` ConfigFileReleaseHistory *ConfigFileReleaseHistory `protobuf:"bytes,6,opt,name=configFileReleaseHistory,proto3" json:"configFileReleaseHistory,omitempty"` ConfigFileTemplate *ConfigFileTemplate `protobuf:"bytes,7,opt,name=configFileTemplate,proto3" json:"configFileTemplate,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` } -func (m *ConfigResponse) Reset() { *m = ConfigResponse{} } -func (m *ConfigResponse) String() string { return proto.CompactTextString(m) } -func (*ConfigResponse) ProtoMessage() {} -func (*ConfigResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_config_file_response_a272e4c1ee7899cd, []int{1} -} -func (m *ConfigResponse) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_ConfigResponse.Unmarshal(m, b) -} -func (m *ConfigResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_ConfigResponse.Marshal(b, m, deterministic) -} -func (dst *ConfigResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_ConfigResponse.Merge(dst, src) +func (x *ConfigResponse) Reset() { + *x = ConfigResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_config_file_response_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (m *ConfigResponse) XXX_Size() int { - return xxx_messageInfo_ConfigResponse.Size(m) + +func (x *ConfigResponse) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *ConfigResponse) XXX_DiscardUnknown() { - xxx_messageInfo_ConfigResponse.DiscardUnknown(m) + +func (*ConfigResponse) ProtoMessage() {} + +func (x *ConfigResponse) ProtoReflect() protoreflect.Message { + mi := &file_config_file_response_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) } -var xxx_messageInfo_ConfigResponse proto.InternalMessageInfo +// Deprecated: Use ConfigResponse.ProtoReflect.Descriptor instead. +func (*ConfigResponse) Descriptor() ([]byte, []int) { + return file_config_file_response_proto_rawDescGZIP(), []int{1} +} -func (m *ConfigResponse) GetCode() *wrapperspb.UInt32Value { - if m != nil { - return m.Code +func (x *ConfigResponse) GetCode() *wrapperspb.UInt32Value { + if x != nil { + return x.Code } return nil } -func (m *ConfigResponse) GetInfo() *wrapperspb.StringValue { - if m != nil { - return m.Info +func (x *ConfigResponse) GetInfo() *wrapperspb.StringValue { + if x != nil { + return x.Info } return nil } -func (m *ConfigResponse) GetConfigFileGroup() *ConfigFileGroup { - if m != nil { - return m.ConfigFileGroup +func (x *ConfigResponse) GetConfigFileGroup() *ConfigFileGroup { + if x != nil { + return x.ConfigFileGroup } return nil } -func (m *ConfigResponse) GetConfigFile() *ConfigFile { - if m != nil { - return m.ConfigFile +func (x *ConfigResponse) GetConfigFile() *ConfigFile { + if x != nil { + return x.ConfigFile } return nil } -func (m *ConfigResponse) GetConfigFileRelease() *ConfigFileRelease { - if m != nil { - return m.ConfigFileRelease +func (x *ConfigResponse) GetConfigFileRelease() *ConfigFileRelease { + if x != nil { + return x.ConfigFileRelease } return nil } -func (m *ConfigResponse) GetConfigFileReleaseHistory() *ConfigFileReleaseHistory { - if m != nil { - return m.ConfigFileReleaseHistory +func (x *ConfigResponse) GetConfigFileReleaseHistory() *ConfigFileReleaseHistory { + if x != nil { + return x.ConfigFileReleaseHistory } return nil } -func (m *ConfigResponse) GetConfigFileTemplate() *ConfigFileTemplate { - if m != nil { - return m.ConfigFileTemplate +func (x *ConfigResponse) GetConfigFileTemplate() *ConfigFileTemplate { + if x != nil { + return x.ConfigFileTemplate } return nil } type ConfigBatchWriteResponse struct { - Code *wrapperspb.UInt32Value `protobuf:"bytes,1,opt,name=code,proto3" json:"code,omitempty"` - Info *wrapperspb.StringValue `protobuf:"bytes,2,opt,name=info,proto3" json:"info,omitempty"` - Total *wrapperspb.UInt32Value `protobuf:"bytes,3,opt,name=total,proto3" json:"total,omitempty"` - Responses []*ConfigResponse `protobuf:"bytes,4,rep,name=responses,proto3" json:"responses,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Code *wrapperspb.UInt32Value `protobuf:"bytes,1,opt,name=code,proto3" json:"code,omitempty"` + Info *wrapperspb.StringValue `protobuf:"bytes,2,opt,name=info,proto3" json:"info,omitempty"` + Total *wrapperspb.UInt32Value `protobuf:"bytes,3,opt,name=total,proto3" json:"total,omitempty"` + Responses []*ConfigResponse `protobuf:"bytes,4,rep,name=responses,proto3" json:"responses,omitempty"` +} + +func (x *ConfigBatchWriteResponse) Reset() { + *x = ConfigBatchWriteResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_config_file_response_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (m *ConfigBatchWriteResponse) Reset() { *m = ConfigBatchWriteResponse{} } -func (m *ConfigBatchWriteResponse) String() string { return proto.CompactTextString(m) } -func (*ConfigBatchWriteResponse) ProtoMessage() {} -func (*ConfigBatchWriteResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_config_file_response_a272e4c1ee7899cd, []int{2} +func (x *ConfigBatchWriteResponse) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *ConfigBatchWriteResponse) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_ConfigBatchWriteResponse.Unmarshal(m, b) -} -func (m *ConfigBatchWriteResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_ConfigBatchWriteResponse.Marshal(b, m, deterministic) -} -func (dst *ConfigBatchWriteResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_ConfigBatchWriteResponse.Merge(dst, src) -} -func (m *ConfigBatchWriteResponse) XXX_Size() int { - return xxx_messageInfo_ConfigBatchWriteResponse.Size(m) -} -func (m *ConfigBatchWriteResponse) XXX_DiscardUnknown() { - xxx_messageInfo_ConfigBatchWriteResponse.DiscardUnknown(m) + +func (*ConfigBatchWriteResponse) ProtoMessage() {} + +func (x *ConfigBatchWriteResponse) ProtoReflect() protoreflect.Message { + mi := &file_config_file_response_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) } -var xxx_messageInfo_ConfigBatchWriteResponse proto.InternalMessageInfo +// Deprecated: Use ConfigBatchWriteResponse.ProtoReflect.Descriptor instead. +func (*ConfigBatchWriteResponse) Descriptor() ([]byte, []int) { + return file_config_file_response_proto_rawDescGZIP(), []int{2} +} -func (m *ConfigBatchWriteResponse) GetCode() *wrapperspb.UInt32Value { - if m != nil { - return m.Code +func (x *ConfigBatchWriteResponse) GetCode() *wrapperspb.UInt32Value { + if x != nil { + return x.Code } return nil } -func (m *ConfigBatchWriteResponse) GetInfo() *wrapperspb.StringValue { - if m != nil { - return m.Info +func (x *ConfigBatchWriteResponse) GetInfo() *wrapperspb.StringValue { + if x != nil { + return x.Info } return nil } -func (m *ConfigBatchWriteResponse) GetTotal() *wrapperspb.UInt32Value { - if m != nil { - return m.Total +func (x *ConfigBatchWriteResponse) GetTotal() *wrapperspb.UInt32Value { + if x != nil { + return x.Total } return nil } -func (m *ConfigBatchWriteResponse) GetResponses() []*ConfigResponse { - if m != nil { - return m.Responses +func (x *ConfigBatchWriteResponse) GetResponses() []*ConfigResponse { + if x != nil { + return x.Responses } return nil } type ConfigBatchQueryResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + Code *wrapperspb.UInt32Value `protobuf:"bytes,1,opt,name=code,proto3" json:"code,omitempty"` Info *wrapperspb.StringValue `protobuf:"bytes,2,opt,name=info,proto3" json:"info,omitempty"` Total *wrapperspb.UInt32Value `protobuf:"bytes,3,opt,name=total,proto3" json:"total,omitempty"` @@ -222,463 +255,842 @@ type ConfigBatchQueryResponse struct { ConfigFileReleases []*ConfigFileRelease `protobuf:"bytes,6,rep,name=configFileReleases,proto3" json:"configFileReleases,omitempty"` ConfigFileReleaseHistories []*ConfigFileReleaseHistory `protobuf:"bytes,7,rep,name=configFileReleaseHistories,proto3" json:"configFileReleaseHistories,omitempty"` ConfigFileTemplates []*ConfigFileTemplate `protobuf:"bytes,8,rep,name=configFileTemplates,proto3" json:"configFileTemplates,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` } -func (m *ConfigBatchQueryResponse) Reset() { *m = ConfigBatchQueryResponse{} } -func (m *ConfigBatchQueryResponse) String() string { return proto.CompactTextString(m) } -func (*ConfigBatchQueryResponse) ProtoMessage() {} -func (*ConfigBatchQueryResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_config_file_response_a272e4c1ee7899cd, []int{3} -} -func (m *ConfigBatchQueryResponse) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_ConfigBatchQueryResponse.Unmarshal(m, b) -} -func (m *ConfigBatchQueryResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_ConfigBatchQueryResponse.Marshal(b, m, deterministic) -} -func (dst *ConfigBatchQueryResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_ConfigBatchQueryResponse.Merge(dst, src) +func (x *ConfigBatchQueryResponse) Reset() { + *x = ConfigBatchQueryResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_config_file_response_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (m *ConfigBatchQueryResponse) XXX_Size() int { - return xxx_messageInfo_ConfigBatchQueryResponse.Size(m) + +func (x *ConfigBatchQueryResponse) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *ConfigBatchQueryResponse) XXX_DiscardUnknown() { - xxx_messageInfo_ConfigBatchQueryResponse.DiscardUnknown(m) + +func (*ConfigBatchQueryResponse) ProtoMessage() {} + +func (x *ConfigBatchQueryResponse) ProtoReflect() protoreflect.Message { + mi := &file_config_file_response_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) } -var xxx_messageInfo_ConfigBatchQueryResponse proto.InternalMessageInfo +// Deprecated: Use ConfigBatchQueryResponse.ProtoReflect.Descriptor instead. +func (*ConfigBatchQueryResponse) Descriptor() ([]byte, []int) { + return file_config_file_response_proto_rawDescGZIP(), []int{3} +} -func (m *ConfigBatchQueryResponse) GetCode() *wrapperspb.UInt32Value { - if m != nil { - return m.Code +func (x *ConfigBatchQueryResponse) GetCode() *wrapperspb.UInt32Value { + if x != nil { + return x.Code } return nil } -func (m *ConfigBatchQueryResponse) GetInfo() *wrapperspb.StringValue { - if m != nil { - return m.Info +func (x *ConfigBatchQueryResponse) GetInfo() *wrapperspb.StringValue { + if x != nil { + return x.Info } return nil } -func (m *ConfigBatchQueryResponse) GetTotal() *wrapperspb.UInt32Value { - if m != nil { - return m.Total +func (x *ConfigBatchQueryResponse) GetTotal() *wrapperspb.UInt32Value { + if x != nil { + return x.Total } return nil } -func (m *ConfigBatchQueryResponse) GetConfigFileGroups() []*ConfigFileGroup { - if m != nil { - return m.ConfigFileGroups +func (x *ConfigBatchQueryResponse) GetConfigFileGroups() []*ConfigFileGroup { + if x != nil { + return x.ConfigFileGroups } return nil } -func (m *ConfigBatchQueryResponse) GetConfigFiles() []*ConfigFile { - if m != nil { - return m.ConfigFiles +func (x *ConfigBatchQueryResponse) GetConfigFiles() []*ConfigFile { + if x != nil { + return x.ConfigFiles } return nil } -func (m *ConfigBatchQueryResponse) GetConfigFileReleases() []*ConfigFileRelease { - if m != nil { - return m.ConfigFileReleases +func (x *ConfigBatchQueryResponse) GetConfigFileReleases() []*ConfigFileRelease { + if x != nil { + return x.ConfigFileReleases } return nil } -func (m *ConfigBatchQueryResponse) GetConfigFileReleaseHistories() []*ConfigFileReleaseHistory { - if m != nil { - return m.ConfigFileReleaseHistories +func (x *ConfigBatchQueryResponse) GetConfigFileReleaseHistories() []*ConfigFileReleaseHistory { + if x != nil { + return x.ConfigFileReleaseHistories } return nil } -func (m *ConfigBatchQueryResponse) GetConfigFileTemplates() []*ConfigFileTemplate { - if m != nil { - return m.ConfigFileTemplates +func (x *ConfigBatchQueryResponse) GetConfigFileTemplates() []*ConfigFileTemplate { + if x != nil { + return x.ConfigFileTemplates } return nil } type ConfigClientResponse struct { - Code *wrapperspb.UInt32Value `protobuf:"bytes,1,opt,name=code,proto3" json:"code,omitempty"` - Info *wrapperspb.StringValue `protobuf:"bytes,2,opt,name=info,proto3" json:"info,omitempty"` - ConfigFile *ClientConfigFileInfo `protobuf:"bytes,3,opt,name=configFile,proto3" json:"configFile,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields -func (m *ConfigClientResponse) Reset() { *m = ConfigClientResponse{} } -func (m *ConfigClientResponse) String() string { return proto.CompactTextString(m) } -func (*ConfigClientResponse) ProtoMessage() {} -func (*ConfigClientResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_config_file_response_a272e4c1ee7899cd, []int{4} -} -func (m *ConfigClientResponse) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_ConfigClientResponse.Unmarshal(m, b) + Code *wrapperspb.UInt32Value `protobuf:"bytes,1,opt,name=code,proto3" json:"code,omitempty"` + Info *wrapperspb.StringValue `protobuf:"bytes,2,opt,name=info,proto3" json:"info,omitempty"` + ConfigFile *ClientConfigFileInfo `protobuf:"bytes,3,opt,name=configFile,proto3" json:"configFile,omitempty"` } -func (m *ConfigClientResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_ConfigClientResponse.Marshal(b, m, deterministic) -} -func (dst *ConfigClientResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_ConfigClientResponse.Merge(dst, src) + +func (x *ConfigClientResponse) Reset() { + *x = ConfigClientResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_config_file_response_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (m *ConfigClientResponse) XXX_Size() int { - return xxx_messageInfo_ConfigClientResponse.Size(m) + +func (x *ConfigClientResponse) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *ConfigClientResponse) XXX_DiscardUnknown() { - xxx_messageInfo_ConfigClientResponse.DiscardUnknown(m) + +func (*ConfigClientResponse) ProtoMessage() {} + +func (x *ConfigClientResponse) ProtoReflect() protoreflect.Message { + mi := &file_config_file_response_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) } -var xxx_messageInfo_ConfigClientResponse proto.InternalMessageInfo +// Deprecated: Use ConfigClientResponse.ProtoReflect.Descriptor instead. +func (*ConfigClientResponse) Descriptor() ([]byte, []int) { + return file_config_file_response_proto_rawDescGZIP(), []int{4} +} -func (m *ConfigClientResponse) GetCode() *wrapperspb.UInt32Value { - if m != nil { - return m.Code +func (x *ConfigClientResponse) GetCode() *wrapperspb.UInt32Value { + if x != nil { + return x.Code } return nil } -func (m *ConfigClientResponse) GetInfo() *wrapperspb.StringValue { - if m != nil { - return m.Info +func (x *ConfigClientResponse) GetInfo() *wrapperspb.StringValue { + if x != nil { + return x.Info } return nil } -func (m *ConfigClientResponse) GetConfigFile() *ClientConfigFileInfo { - if m != nil { - return m.ConfigFile +func (x *ConfigClientResponse) GetConfigFile() *ClientConfigFileInfo { + if x != nil { + return x.ConfigFile } return nil } type ConfigImportResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + Code *wrapperspb.UInt32Value `protobuf:"bytes,1,opt,name=code,proto3" json:"code,omitempty"` Info *wrapperspb.StringValue `protobuf:"bytes,2,opt,name=info,proto3" json:"info,omitempty"` CreateConfigFiles []*ConfigFile `protobuf:"bytes,3,rep,name=createConfigFiles,proto3" json:"createConfigFiles,omitempty"` SkipConfigFiles []*ConfigFile `protobuf:"bytes,4,rep,name=skipConfigFiles,proto3" json:"skipConfigFiles,omitempty"` OverwriteConfigFiles []*ConfigFile `protobuf:"bytes,5,rep,name=overwriteConfigFiles,proto3" json:"overwriteConfigFiles,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` } -func (m *ConfigImportResponse) Reset() { *m = ConfigImportResponse{} } -func (m *ConfigImportResponse) String() string { return proto.CompactTextString(m) } -func (*ConfigImportResponse) ProtoMessage() {} -func (*ConfigImportResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_config_file_response_a272e4c1ee7899cd, []int{5} -} -func (m *ConfigImportResponse) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_ConfigImportResponse.Unmarshal(m, b) -} -func (m *ConfigImportResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_ConfigImportResponse.Marshal(b, m, deterministic) -} -func (dst *ConfigImportResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_ConfigImportResponse.Merge(dst, src) +func (x *ConfigImportResponse) Reset() { + *x = ConfigImportResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_config_file_response_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (m *ConfigImportResponse) XXX_Size() int { - return xxx_messageInfo_ConfigImportResponse.Size(m) + +func (x *ConfigImportResponse) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *ConfigImportResponse) XXX_DiscardUnknown() { - xxx_messageInfo_ConfigImportResponse.DiscardUnknown(m) + +func (*ConfigImportResponse) ProtoMessage() {} + +func (x *ConfigImportResponse) ProtoReflect() protoreflect.Message { + mi := &file_config_file_response_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) } -var xxx_messageInfo_ConfigImportResponse proto.InternalMessageInfo +// Deprecated: Use ConfigImportResponse.ProtoReflect.Descriptor instead. +func (*ConfigImportResponse) Descriptor() ([]byte, []int) { + return file_config_file_response_proto_rawDescGZIP(), []int{5} +} -func (m *ConfigImportResponse) GetCode() *wrapperspb.UInt32Value { - if m != nil { - return m.Code +func (x *ConfigImportResponse) GetCode() *wrapperspb.UInt32Value { + if x != nil { + return x.Code } return nil } -func (m *ConfigImportResponse) GetInfo() *wrapperspb.StringValue { - if m != nil { - return m.Info +func (x *ConfigImportResponse) GetInfo() *wrapperspb.StringValue { + if x != nil { + return x.Info } return nil } -func (m *ConfigImportResponse) GetCreateConfigFiles() []*ConfigFile { - if m != nil { - return m.CreateConfigFiles +func (x *ConfigImportResponse) GetCreateConfigFiles() []*ConfigFile { + if x != nil { + return x.CreateConfigFiles } return nil } -func (m *ConfigImportResponse) GetSkipConfigFiles() []*ConfigFile { - if m != nil { - return m.SkipConfigFiles +func (x *ConfigImportResponse) GetSkipConfigFiles() []*ConfigFile { + if x != nil { + return x.SkipConfigFiles } return nil } -func (m *ConfigImportResponse) GetOverwriteConfigFiles() []*ConfigFile { - if m != nil { - return m.OverwriteConfigFiles +func (x *ConfigImportResponse) GetOverwriteConfigFiles() []*ConfigFile { + if x != nil { + return x.OverwriteConfigFiles } return nil } type ConfigExportResponse struct { - Code *wrapperspb.UInt32Value `protobuf:"bytes,1,opt,name=code,proto3" json:"code,omitempty"` - Info *wrapperspb.StringValue `protobuf:"bytes,2,opt,name=info,proto3" json:"info,omitempty"` - Data *wrapperspb.BytesValue `protobuf:"bytes,3,opt,name=data,proto3" json:"data,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields -func (m *ConfigExportResponse) Reset() { *m = ConfigExportResponse{} } -func (m *ConfigExportResponse) String() string { return proto.CompactTextString(m) } -func (*ConfigExportResponse) ProtoMessage() {} -func (*ConfigExportResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_config_file_response_a272e4c1ee7899cd, []int{6} + Code *wrapperspb.UInt32Value `protobuf:"bytes,1,opt,name=code,proto3" json:"code,omitempty"` + Info *wrapperspb.StringValue `protobuf:"bytes,2,opt,name=info,proto3" json:"info,omitempty"` + Data *wrapperspb.BytesValue `protobuf:"bytes,3,opt,name=data,proto3" json:"data,omitempty"` } -func (m *ConfigExportResponse) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_ConfigExportResponse.Unmarshal(m, b) -} -func (m *ConfigExportResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_ConfigExportResponse.Marshal(b, m, deterministic) -} -func (dst *ConfigExportResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_ConfigExportResponse.Merge(dst, src) + +func (x *ConfigExportResponse) Reset() { + *x = ConfigExportResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_config_file_response_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (m *ConfigExportResponse) XXX_Size() int { - return xxx_messageInfo_ConfigExportResponse.Size(m) + +func (x *ConfigExportResponse) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *ConfigExportResponse) XXX_DiscardUnknown() { - xxx_messageInfo_ConfigExportResponse.DiscardUnknown(m) + +func (*ConfigExportResponse) ProtoMessage() {} + +func (x *ConfigExportResponse) ProtoReflect() protoreflect.Message { + mi := &file_config_file_response_proto_msgTypes[6] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) } -var xxx_messageInfo_ConfigExportResponse proto.InternalMessageInfo +// Deprecated: Use ConfigExportResponse.ProtoReflect.Descriptor instead. +func (*ConfigExportResponse) Descriptor() ([]byte, []int) { + return file_config_file_response_proto_rawDescGZIP(), []int{6} +} -func (m *ConfigExportResponse) GetCode() *wrapperspb.UInt32Value { - if m != nil { - return m.Code +func (x *ConfigExportResponse) GetCode() *wrapperspb.UInt32Value { + if x != nil { + return x.Code } return nil } -func (m *ConfigExportResponse) GetInfo() *wrapperspb.StringValue { - if m != nil { - return m.Info +func (x *ConfigExportResponse) GetInfo() *wrapperspb.StringValue { + if x != nil { + return x.Info } return nil } -func (m *ConfigExportResponse) GetData() *wrapperspb.BytesValue { - if m != nil { - return m.Data +func (x *ConfigExportResponse) GetData() *wrapperspb.BytesValue { + if x != nil { + return x.Data } return nil } type ConfigEncryptAlgorithmResponse struct { - Code *wrapperspb.UInt32Value `protobuf:"bytes,1,opt,name=code,proto3" json:"code,omitempty"` - Info *wrapperspb.StringValue `protobuf:"bytes,2,opt,name=info,proto3" json:"info,omitempty"` - Algorithms []*wrapperspb.StringValue `protobuf:"bytes,3,rep,name=algorithms,proto3" json:"algorithms,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields -func (m *ConfigEncryptAlgorithmResponse) Reset() { *m = ConfigEncryptAlgorithmResponse{} } -func (m *ConfigEncryptAlgorithmResponse) String() string { return proto.CompactTextString(m) } -func (*ConfigEncryptAlgorithmResponse) ProtoMessage() {} -func (*ConfigEncryptAlgorithmResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_config_file_response_a272e4c1ee7899cd, []int{7} -} -func (m *ConfigEncryptAlgorithmResponse) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_ConfigEncryptAlgorithmResponse.Unmarshal(m, b) + Code *wrapperspb.UInt32Value `protobuf:"bytes,1,opt,name=code,proto3" json:"code,omitempty"` + Info *wrapperspb.StringValue `protobuf:"bytes,2,opt,name=info,proto3" json:"info,omitempty"` + Algorithms []*wrapperspb.StringValue `protobuf:"bytes,3,rep,name=algorithms,proto3" json:"algorithms,omitempty"` } -func (m *ConfigEncryptAlgorithmResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_ConfigEncryptAlgorithmResponse.Marshal(b, m, deterministic) -} -func (dst *ConfigEncryptAlgorithmResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_ConfigEncryptAlgorithmResponse.Merge(dst, src) + +func (x *ConfigEncryptAlgorithmResponse) Reset() { + *x = ConfigEncryptAlgorithmResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_config_file_response_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (m *ConfigEncryptAlgorithmResponse) XXX_Size() int { - return xxx_messageInfo_ConfigEncryptAlgorithmResponse.Size(m) + +func (x *ConfigEncryptAlgorithmResponse) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *ConfigEncryptAlgorithmResponse) XXX_DiscardUnknown() { - xxx_messageInfo_ConfigEncryptAlgorithmResponse.DiscardUnknown(m) + +func (*ConfigEncryptAlgorithmResponse) ProtoMessage() {} + +func (x *ConfigEncryptAlgorithmResponse) ProtoReflect() protoreflect.Message { + mi := &file_config_file_response_proto_msgTypes[7] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) } -var xxx_messageInfo_ConfigEncryptAlgorithmResponse proto.InternalMessageInfo +// Deprecated: Use ConfigEncryptAlgorithmResponse.ProtoReflect.Descriptor instead. +func (*ConfigEncryptAlgorithmResponse) Descriptor() ([]byte, []int) { + return file_config_file_response_proto_rawDescGZIP(), []int{7} +} -func (m *ConfigEncryptAlgorithmResponse) GetCode() *wrapperspb.UInt32Value { - if m != nil { - return m.Code +func (x *ConfigEncryptAlgorithmResponse) GetCode() *wrapperspb.UInt32Value { + if x != nil { + return x.Code } return nil } -func (m *ConfigEncryptAlgorithmResponse) GetInfo() *wrapperspb.StringValue { - if m != nil { - return m.Info +func (x *ConfigEncryptAlgorithmResponse) GetInfo() *wrapperspb.StringValue { + if x != nil { + return x.Info } return nil } -func (m *ConfigEncryptAlgorithmResponse) GetAlgorithms() []*wrapperspb.StringValue { - if m != nil { - return m.Algorithms +func (x *ConfigEncryptAlgorithmResponse) GetAlgorithms() []*wrapperspb.StringValue { + if x != nil { + return x.Algorithms } return nil } type ConfigClientListResponse struct { - Code *wrapperspb.UInt32Value `protobuf:"bytes,1,opt,name=code,proto3" json:"code,omitempty"` - Info *wrapperspb.StringValue `protobuf:"bytes,2,opt,name=info,proto3" json:"info,omitempty"` - Revision *wrapperspb.StringValue `protobuf:"bytes,3,opt,name=revision,proto3" json:"revision,omitempty"` - Namespace string `protobuf:"bytes,4,opt,name=namespace,proto3" json:"namespace,omitempty"` - Group string `protobuf:"bytes,5,opt,name=group,proto3" json:"group,omitempty"` - ConfigFileInfos []*ClientConfigFileInfo `protobuf:"bytes,6,rep,name=config_file_infos,proto3" json:"config_file_infos,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *ConfigClientListResponse) Reset() { *m = ConfigClientListResponse{} } -func (m *ConfigClientListResponse) String() string { return proto.CompactTextString(m) } -func (*ConfigClientListResponse) ProtoMessage() {} -func (*ConfigClientListResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_config_file_response_a272e4c1ee7899cd, []int{8} -} -func (m *ConfigClientListResponse) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_ConfigClientListResponse.Unmarshal(m, b) -} -func (m *ConfigClientListResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_ConfigClientListResponse.Marshal(b, m, deterministic) -} -func (dst *ConfigClientListResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_ConfigClientListResponse.Merge(dst, src) + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Code *wrapperspb.UInt32Value `protobuf:"bytes,1,opt,name=code,proto3" json:"code,omitempty"` + Info *wrapperspb.StringValue `protobuf:"bytes,2,opt,name=info,proto3" json:"info,omitempty"` + Revision *wrapperspb.StringValue `protobuf:"bytes,3,opt,name=revision,proto3" json:"revision,omitempty"` + Namespace string `protobuf:"bytes,4,opt,name=namespace,proto3" json:"namespace,omitempty"` + Group string `protobuf:"bytes,5,opt,name=group,proto3" json:"group,omitempty"` + ConfigFileInfos []*ClientConfigFileInfo `protobuf:"bytes,6,rep,name=config_file_infos,proto3" json:"config_file_infos,omitempty"` +} + +func (x *ConfigClientListResponse) Reset() { + *x = ConfigClientListResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_config_file_response_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (m *ConfigClientListResponse) XXX_Size() int { - return xxx_messageInfo_ConfigClientListResponse.Size(m) + +func (x *ConfigClientListResponse) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *ConfigClientListResponse) XXX_DiscardUnknown() { - xxx_messageInfo_ConfigClientListResponse.DiscardUnknown(m) + +func (*ConfigClientListResponse) ProtoMessage() {} + +func (x *ConfigClientListResponse) ProtoReflect() protoreflect.Message { + mi := &file_config_file_response_proto_msgTypes[8] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) } -var xxx_messageInfo_ConfigClientListResponse proto.InternalMessageInfo +// Deprecated: Use ConfigClientListResponse.ProtoReflect.Descriptor instead. +func (*ConfigClientListResponse) Descriptor() ([]byte, []int) { + return file_config_file_response_proto_rawDescGZIP(), []int{8} +} -func (m *ConfigClientListResponse) GetCode() *wrapperspb.UInt32Value { - if m != nil { - return m.Code +func (x *ConfigClientListResponse) GetCode() *wrapperspb.UInt32Value { + if x != nil { + return x.Code } return nil } -func (m *ConfigClientListResponse) GetInfo() *wrapperspb.StringValue { - if m != nil { - return m.Info +func (x *ConfigClientListResponse) GetInfo() *wrapperspb.StringValue { + if x != nil { + return x.Info } return nil } -func (m *ConfigClientListResponse) GetRevision() *wrapperspb.StringValue { - if m != nil { - return m.Revision +func (x *ConfigClientListResponse) GetRevision() *wrapperspb.StringValue { + if x != nil { + return x.Revision } return nil } -func (m *ConfigClientListResponse) GetNamespace() string { - if m != nil { - return m.Namespace +func (x *ConfigClientListResponse) GetNamespace() string { + if x != nil { + return x.Namespace } return "" } -func (m *ConfigClientListResponse) GetGroup() string { - if m != nil { - return m.Group +func (x *ConfigClientListResponse) GetGroup() string { + if x != nil { + return x.Group } return "" } -func (m *ConfigClientListResponse) GetConfigFileInfos() []*ClientConfigFileInfo { - if m != nil { - return m.ConfigFileInfos - } - return nil -} - -func init() { - proto.RegisterType((*ConfigSimpleResponse)(nil), "v1.ConfigSimpleResponse") - proto.RegisterType((*ConfigResponse)(nil), "v1.ConfigResponse") - proto.RegisterType((*ConfigBatchWriteResponse)(nil), "v1.ConfigBatchWriteResponse") - proto.RegisterType((*ConfigBatchQueryResponse)(nil), "v1.ConfigBatchQueryResponse") - proto.RegisterType((*ConfigClientResponse)(nil), "v1.ConfigClientResponse") - proto.RegisterType((*ConfigImportResponse)(nil), "v1.ConfigImportResponse") - proto.RegisterType((*ConfigExportResponse)(nil), "v1.ConfigExportResponse") - proto.RegisterType((*ConfigEncryptAlgorithmResponse)(nil), "v1.ConfigEncryptAlgorithmResponse") - proto.RegisterType((*ConfigClientListResponse)(nil), "v1.ConfigClientListResponse") -} - -func init() { - proto.RegisterFile("config_file_response.proto", fileDescriptor_config_file_response_a272e4c1ee7899cd) -} - -var fileDescriptor_config_file_response_a272e4c1ee7899cd = []byte{ - // 733 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x96, 0xcd, 0x4e, 0xdc, 0x3a, - 0x14, 0xc7, 0x35, 0x5f, 0x7c, 0x18, 0x09, 0x2e, 0x86, 0x7b, 0xaf, 0x45, 0x11, 0x42, 0x59, 0xb1, - 0x4a, 0x60, 0x90, 0x2a, 0x16, 0xad, 0xaa, 0xce, 0x08, 0x0a, 0x52, 0x17, 0x6d, 0xe8, 0x97, 0xaa, - 0x4a, 0xc8, 0x84, 0x33, 0x19, 0xab, 0x49, 0x6c, 0xd9, 0x9e, 0xa1, 0xd3, 0xe7, 0xa8, 0xfa, 0x12, - 0xdd, 0xa2, 0x3e, 0x40, 0x97, 0x7d, 0x8e, 0x3e, 0x48, 0x35, 0x76, 0x42, 0x32, 0x93, 0xcc, 0x74, - 0x37, 0xea, 0x32, 0xc7, 0xff, 0xdf, 0xf1, 0x39, 0xf6, 0x3f, 0x47, 0x46, 0x3b, 0x01, 0x4f, 0x7a, - 0x2c, 0xbc, 0xea, 0xb1, 0x08, 0xae, 0x24, 0x28, 0xc1, 0x13, 0x05, 0xae, 0x90, 0x5c, 0x73, 0x5c, - 0x1f, 0x1e, 0xed, 0xec, 0x85, 0x9c, 0x87, 0x11, 0x78, 0x26, 0x72, 0x3d, 0xe8, 0x79, 0xb7, 0x92, - 0x0a, 0x01, 0x52, 0x59, 0xcd, 0xce, 0x66, 0x81, 0xb7, 0x21, 0xe7, 0x33, 0xda, 0xee, 0x9a, 0xe0, - 0x25, 0x8b, 0x45, 0x04, 0x7e, 0x9a, 0x14, 0x1f, 0xa2, 0x66, 0xc0, 0x6f, 0x80, 0xd4, 0xf6, 0x6b, - 0x07, 0x6b, 0xed, 0x5d, 0xd7, 0x66, 0x76, 0xb3, 0xcc, 0xee, 0xeb, 0x8b, 0x44, 0x1f, 0xb7, 0xdf, - 0xd0, 0x68, 0x00, 0xbe, 0x51, 0x8e, 0x09, 0x96, 0xf4, 0x38, 0xa9, 0xcf, 0x20, 0x2e, 0xb5, 0x64, - 0x49, 0x98, 0x12, 0x63, 0xa5, 0xf3, 0xb3, 0x81, 0xd6, 0xed, 0xe6, 0x8b, 0xdc, 0x16, 0x3f, 0x46, - 0x1b, 0xf6, 0x1c, 0xce, 0x58, 0x04, 0xcf, 0x24, 0x1f, 0x08, 0xd2, 0x30, 0xf0, 0x96, 0x3b, 0x3c, - 0x72, 0xbb, 0x93, 0x4b, 0xfe, 0xb4, 0x16, 0xbb, 0x08, 0xe5, 0x21, 0xd2, 0x34, 0xe4, 0xfa, 0x24, - 0xe9, 0x17, 0x14, 0xb8, 0x8b, 0x36, 0xf3, 0x2f, 0x1f, 0x22, 0xa0, 0x0a, 0x48, 0xcb, 0x60, 0xff, - 0x4e, 0x61, 0x76, 0xd1, 0x2f, 0xeb, 0xf1, 0x3b, 0x44, 0x4a, 0xc1, 0x73, 0xa6, 0x34, 0x97, 0x23, - 0xb2, 0x94, 0x76, 0x5e, 0x95, 0x2b, 0xd5, 0xf8, 0x33, 0x69, 0x7c, 0x86, 0x70, 0xbe, 0xf6, 0x0a, - 0x62, 0x11, 0x51, 0x0d, 0x64, 0xd9, 0xe4, 0xfc, 0x6f, 0x32, 0x67, 0xb6, 0xea, 0x57, 0x10, 0xce, - 0xaf, 0x1a, 0x22, 0x56, 0xda, 0xa1, 0x3a, 0xe8, 0xbf, 0x95, 0x4c, 0x2f, 0xd4, 0x4d, 0xb8, 0x8d, - 0x5a, 0x9a, 0x6b, 0x1a, 0xa5, 0x97, 0x39, 0x7f, 0x13, 0x2b, 0xc5, 0x87, 0x68, 0x35, 0xfb, 0x8d, - 0x14, 0x69, 0xee, 0x37, 0x0e, 0xd6, 0xda, 0x38, 0xef, 0x39, 0x2b, 0xdf, 0xcf, 0x45, 0xce, 0x97, - 0xe6, 0x44, 0x9b, 0x2f, 0x07, 0x20, 0x47, 0x7f, 0x7d, 0x9b, 0x4f, 0xd0, 0x3f, 0x53, 0x2e, 0xce, - 0xba, 0xad, 0xb4, 0x7c, 0x49, 0x8c, 0x0f, 0xd1, 0x5a, 0x1e, 0x53, 0xa4, 0x65, 0xd8, 0x69, 0xd3, - 0x17, 0x25, 0xf8, 0xb4, 0x68, 0xab, 0xd4, 0x72, 0x8a, 0x2c, 0x19, 0x70, 0x86, 0xed, 0x2b, 0x00, - 0xfc, 0x21, 0x9b, 0x79, 0x25, 0xe7, 0x32, 0x50, 0x64, 0xd9, 0xa4, 0x9b, 0xef, 0xfc, 0x39, 0x3c, - 0x3e, 0x47, 0x5b, 0x65, 0x27, 0x2b, 0xb2, 0x62, 0xd2, 0xce, 0x32, 0x7f, 0x15, 0xe2, 0xdc, 0xd5, - 0xb2, 0x39, 0xda, 0x8d, 0x18, 0x24, 0x7a, 0xa1, 0x96, 0x38, 0x99, 0x98, 0x48, 0xd6, 0x17, 0xc4, - 0x54, 0x6f, 0x6a, 0xc9, 0x7b, 0xb8, 0x48, 0x7a, 0xbc, 0x38, 0x9b, 0x9c, 0xef, 0xf5, 0xac, 0xec, - 0x8b, 0x58, 0x70, 0xb9, 0xd8, 0xb2, 0x1f, 0xa1, 0xcd, 0x40, 0x02, 0xd5, 0xd0, 0x2d, 0x58, 0xab, - 0x51, 0x69, 0xad, 0xb2, 0x10, 0x9f, 0xa0, 0x0d, 0xf5, 0x91, 0x89, 0x22, 0xdb, 0xac, 0x64, 0xa7, - 0x65, 0xb8, 0x83, 0xb6, 0xf9, 0x10, 0xe4, 0xed, 0x78, 0x42, 0x75, 0xff, 0xe8, 0xea, 0x4a, 0xad, - 0xf3, 0xed, 0xfe, 0xbe, 0x4f, 0x3f, 0x2d, 0xfc, 0xe0, 0x3c, 0xd4, 0xbc, 0xa1, 0x9a, 0xa6, 0x37, - 0xfd, 0xa0, 0x44, 0x74, 0x46, 0x1a, 0x54, 0x0a, 0x8c, 0x85, 0xce, 0x8f, 0x1a, 0xda, 0x4b, 0xab, - 0x4d, 0x02, 0x39, 0x12, 0xfa, 0x69, 0x14, 0x72, 0xc9, 0x74, 0x3f, 0x5e, 0xf0, 0x85, 0x23, 0x9a, - 0x6d, 0x9c, 0xdd, 0xf4, 0x7c, 0xae, 0xa0, 0x77, 0xee, 0xea, 0xd9, 0xe4, 0xb5, 0xb6, 0x7e, 0xce, - 0xd4, 0xa2, 0x7f, 0xb3, 0x15, 0x09, 0x43, 0xa6, 0x18, 0x4f, 0x66, 0x0e, 0xdf, 0x22, 0x75, 0xaf, - 0xc6, 0xbb, 0x68, 0x35, 0xa1, 0x31, 0x28, 0x41, 0x03, 0xfb, 0x62, 0x58, 0xf5, 0xf3, 0x00, 0xde, - 0x46, 0xad, 0xd0, 0xbc, 0x42, 0x5a, 0x66, 0xc5, 0x7e, 0xe0, 0x33, 0x54, 0x7c, 0xad, 0x5d, 0x8d, - 0x2b, 0xc8, 0xe6, 0xe7, 0xec, 0x7f, 0xbb, 0x8c, 0x74, 0xbe, 0xd6, 0xd0, 0xc3, 0x80, 0xc7, 0xae, - 0x86, 0x24, 0x80, 0x44, 0xbb, 0x82, 0x47, 0x54, 0x32, 0xe5, 0x2a, 0x01, 0x01, 0xeb, 0xb1, 0x80, - 0x6a, 0xc6, 0x13, 0x97, 0x0a, 0x36, 0x4e, 0x6a, 0x71, 0x37, 0xa6, 0x09, 0x0d, 0xa1, 0xf3, 0x7f, - 0x71, 0xa8, 0xda, 0x83, 0x7e, 0x31, 0x6e, 0xf4, 0x7d, 0x37, 0x64, 0xba, 0x3f, 0xb8, 0x76, 0x03, - 0x1e, 0x7b, 0x69, 0xbe, 0x18, 0x54, 0xdf, 0x9b, 0xc8, 0xe9, 0x29, 0x3e, 0x90, 0x01, 0x78, 0x21, - 0xf7, 0xa8, 0x60, 0xde, 0xf0, 0xc8, 0x4b, 0x8b, 0xb3, 0xd9, 0xaf, 0x97, 0xcc, 0xa1, 0x1d, 0xff, - 0x0e, 0x00, 0x00, 0xff, 0xff, 0x74, 0x51, 0xea, 0xef, 0xd5, 0x0a, 0x00, 0x00, +func (x *ConfigClientListResponse) GetConfigFileInfos() []*ClientConfigFileInfo { + if x != nil { + return x.ConfigFileInfos + } + return nil +} + +var File_config_file_response_proto protoreflect.FileDescriptor + +var file_config_file_response_proto_rawDesc = []byte{ + 0x0a, 0x1a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x72, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x02, 0x76, 0x31, + 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x1a, 0x11, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x22, 0x7a, 0x0a, 0x14, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x69, 0x6d, + 0x70, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x30, 0x0a, 0x04, 0x63, + 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, + 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x30, 0x0a, + 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, + 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x22, + 0xca, 0x03, 0x0a, 0x0e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x30, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x04, + 0x63, 0x6f, 0x64, 0x65, 0x12, 0x30, 0x0a, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x52, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0x3d, 0x0a, 0x0f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x46, 0x69, 0x6c, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x13, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x46, 0x69, 0x6c, 0x65, 0x47, + 0x72, 0x6f, 0x75, 0x70, 0x52, 0x0f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x46, 0x69, 0x6c, 0x65, + 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x2e, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x46, + 0x69, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x76, 0x31, 0x2e, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x43, 0x0a, 0x11, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x46, + 0x69, 0x6c, 0x65, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x15, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x46, 0x69, 0x6c, 0x65, + 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x52, 0x11, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x46, + 0x69, 0x6c, 0x65, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x12, 0x58, 0x0a, 0x18, 0x63, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x48, + 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x76, + 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x6c, 0x65, + 0x61, 0x73, 0x65, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x18, 0x63, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x48, 0x69, 0x73, + 0x74, 0x6f, 0x72, 0x79, 0x12, 0x46, 0x0a, 0x12, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x46, 0x69, + 0x6c, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x16, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x46, 0x69, 0x6c, 0x65, + 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x12, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x46, 0x69, 0x6c, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x22, 0xe4, 0x01, 0x0a, + 0x18, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x61, 0x74, 0x63, 0x68, 0x57, 0x72, 0x69, 0x74, + 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x30, 0x0a, 0x04, 0x63, 0x6f, 0x64, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, + 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x30, 0x0a, 0x04, 0x69, + 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, + 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0x32, 0x0a, + 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, + 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, + 0x6c, 0x12, 0x30, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x18, 0x04, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x09, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x73, 0x22, 0x94, 0x04, 0x0a, 0x18, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x61, + 0x74, 0x63, 0x68, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x30, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x04, 0x63, 0x6f, + 0x64, 0x65, 0x12, 0x30, 0x0a, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x04, + 0x69, 0x6e, 0x66, 0x6f, 0x12, 0x32, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x3f, 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x46, 0x69, 0x6c, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x18, 0x04, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x46, 0x69, + 0x6c, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x10, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x46, + 0x69, 0x6c, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x12, 0x30, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, + 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x0b, + 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x12, 0x45, 0x0a, 0x12, 0x63, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, + 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x52, 0x12, + 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, + 0x65, 0x73, 0x12, 0x5c, 0x0a, 0x1a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x46, 0x69, 0x6c, 0x65, + 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x69, 0x65, 0x73, + 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x48, 0x69, 0x73, + 0x74, 0x6f, 0x72, 0x79, 0x52, 0x1a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x46, 0x69, 0x6c, 0x65, + 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x69, 0x65, 0x73, + 0x12, 0x48, 0x0a, 0x13, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x46, 0x69, 0x6c, 0x65, 0x54, 0x65, + 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, + 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x46, 0x69, 0x6c, 0x65, 0x54, 0x65, 0x6d, + 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x13, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x46, 0x69, 0x6c, + 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x22, 0xb4, 0x01, 0x0a, 0x14, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x30, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, + 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x30, 0x0a, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x52, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0x38, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x46, 0x69, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x76, 0x31, + 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x46, 0x69, 0x6c, + 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x46, 0x69, 0x6c, + 0x65, 0x22, 0xb6, 0x02, 0x0a, 0x14, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x49, 0x6d, 0x70, 0x6f, + 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x30, 0x0a, 0x04, 0x63, 0x6f, + 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, + 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x30, 0x0a, 0x04, + 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, + 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0x3c, + 0x0a, 0x11, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x46, 0x69, + 0x6c, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x76, 0x31, 0x2e, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x11, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x12, 0x38, 0x0a, 0x0f, + 0x73, 0x6b, 0x69, 0x70, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x18, + 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x0f, 0x73, 0x6b, 0x69, 0x70, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x12, 0x42, 0x0a, 0x14, 0x6f, 0x76, 0x65, 0x72, 0x77, 0x72, + 0x69, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x18, 0x05, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x46, 0x69, 0x6c, 0x65, 0x52, 0x14, 0x6f, 0x76, 0x65, 0x72, 0x77, 0x72, 0x69, 0x74, 0x65, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x22, 0xab, 0x01, 0x0a, 0x14, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x30, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, + 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x30, 0x0a, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x52, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0x2f, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x79, 0x74, 0x65, 0x73, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0xc2, 0x01, 0x0a, 0x1e, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, + 0x74, 0x68, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x30, 0x0a, 0x04, 0x63, + 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, + 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x30, 0x0a, + 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, + 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x12, + 0x3c, 0x0a, 0x0a, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x73, 0x18, 0x03, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x52, 0x0a, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x73, 0x22, 0xb4, 0x02, + 0x0a, 0x18, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4c, 0x69, + 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x30, 0x0a, 0x04, 0x63, 0x6f, + 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, + 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x30, 0x0a, 0x04, + 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, + 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0x38, + 0x0a, 0x08, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08, + 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, + 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, + 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x46, 0x0a, 0x11, + 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, + 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6c, 0x69, + 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x46, 0x69, 0x6c, 0x65, 0x49, 0x6e, 0x66, + 0x6f, 0x52, 0x11, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x69, + 0x6e, 0x66, 0x6f, 0x73, 0x42, 0x96, 0x01, 0x0a, 0x36, 0x63, 0x6f, 0x6d, 0x2e, 0x74, 0x65, 0x6e, + 0x63, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x6f, 0x6c, 0x61, 0x72, 0x69, 0x73, 0x2e, 0x73, 0x70, 0x65, + 0x63, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, + 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x42, + 0x17, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x5a, 0x43, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x70, 0x6f, 0x6c, 0x61, 0x72, 0x69, 0x73, 0x6d, 0x65, 0x73, 0x68, + 0x2f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2f, 0x67, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, + 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x62, 0x06, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_config_file_response_proto_rawDescOnce sync.Once + file_config_file_response_proto_rawDescData = file_config_file_response_proto_rawDesc +) + +func file_config_file_response_proto_rawDescGZIP() []byte { + file_config_file_response_proto_rawDescOnce.Do(func() { + file_config_file_response_proto_rawDescData = protoimpl.X.CompressGZIP(file_config_file_response_proto_rawDescData) + }) + return file_config_file_response_proto_rawDescData +} + +var file_config_file_response_proto_msgTypes = make([]protoimpl.MessageInfo, 9) +var file_config_file_response_proto_goTypes = []interface{}{ + (*ConfigSimpleResponse)(nil), // 0: v1.ConfigSimpleResponse + (*ConfigResponse)(nil), // 1: v1.ConfigResponse + (*ConfigBatchWriteResponse)(nil), // 2: v1.ConfigBatchWriteResponse + (*ConfigBatchQueryResponse)(nil), // 3: v1.ConfigBatchQueryResponse + (*ConfigClientResponse)(nil), // 4: v1.ConfigClientResponse + (*ConfigImportResponse)(nil), // 5: v1.ConfigImportResponse + (*ConfigExportResponse)(nil), // 6: v1.ConfigExportResponse + (*ConfigEncryptAlgorithmResponse)(nil), // 7: v1.ConfigEncryptAlgorithmResponse + (*ConfigClientListResponse)(nil), // 8: v1.ConfigClientListResponse + (*wrapperspb.UInt32Value)(nil), // 9: google.protobuf.UInt32Value + (*wrapperspb.StringValue)(nil), // 10: google.protobuf.StringValue + (*ConfigFileGroup)(nil), // 11: v1.ConfigFileGroup + (*ConfigFile)(nil), // 12: v1.ConfigFile + (*ConfigFileRelease)(nil), // 13: v1.ConfigFileRelease + (*ConfigFileReleaseHistory)(nil), // 14: v1.ConfigFileReleaseHistory + (*ConfigFileTemplate)(nil), // 15: v1.ConfigFileTemplate + (*ClientConfigFileInfo)(nil), // 16: v1.ClientConfigFileInfo + (*wrapperspb.BytesValue)(nil), // 17: google.protobuf.BytesValue +} +var file_config_file_response_proto_depIdxs = []int32{ + 9, // 0: v1.ConfigSimpleResponse.code:type_name -> google.protobuf.UInt32Value + 10, // 1: v1.ConfigSimpleResponse.info:type_name -> google.protobuf.StringValue + 9, // 2: v1.ConfigResponse.code:type_name -> google.protobuf.UInt32Value + 10, // 3: v1.ConfigResponse.info:type_name -> google.protobuf.StringValue + 11, // 4: v1.ConfigResponse.configFileGroup:type_name -> v1.ConfigFileGroup + 12, // 5: v1.ConfigResponse.configFile:type_name -> v1.ConfigFile + 13, // 6: v1.ConfigResponse.configFileRelease:type_name -> v1.ConfigFileRelease + 14, // 7: v1.ConfigResponse.configFileReleaseHistory:type_name -> v1.ConfigFileReleaseHistory + 15, // 8: v1.ConfigResponse.configFileTemplate:type_name -> v1.ConfigFileTemplate + 9, // 9: v1.ConfigBatchWriteResponse.code:type_name -> google.protobuf.UInt32Value + 10, // 10: v1.ConfigBatchWriteResponse.info:type_name -> google.protobuf.StringValue + 9, // 11: v1.ConfigBatchWriteResponse.total:type_name -> google.protobuf.UInt32Value + 1, // 12: v1.ConfigBatchWriteResponse.responses:type_name -> v1.ConfigResponse + 9, // 13: v1.ConfigBatchQueryResponse.code:type_name -> google.protobuf.UInt32Value + 10, // 14: v1.ConfigBatchQueryResponse.info:type_name -> google.protobuf.StringValue + 9, // 15: v1.ConfigBatchQueryResponse.total:type_name -> google.protobuf.UInt32Value + 11, // 16: v1.ConfigBatchQueryResponse.configFileGroups:type_name -> v1.ConfigFileGroup + 12, // 17: v1.ConfigBatchQueryResponse.configFiles:type_name -> v1.ConfigFile + 13, // 18: v1.ConfigBatchQueryResponse.configFileReleases:type_name -> v1.ConfigFileRelease + 14, // 19: v1.ConfigBatchQueryResponse.configFileReleaseHistories:type_name -> v1.ConfigFileReleaseHistory + 15, // 20: v1.ConfigBatchQueryResponse.configFileTemplates:type_name -> v1.ConfigFileTemplate + 9, // 21: v1.ConfigClientResponse.code:type_name -> google.protobuf.UInt32Value + 10, // 22: v1.ConfigClientResponse.info:type_name -> google.protobuf.StringValue + 16, // 23: v1.ConfigClientResponse.configFile:type_name -> v1.ClientConfigFileInfo + 9, // 24: v1.ConfigImportResponse.code:type_name -> google.protobuf.UInt32Value + 10, // 25: v1.ConfigImportResponse.info:type_name -> google.protobuf.StringValue + 12, // 26: v1.ConfigImportResponse.createConfigFiles:type_name -> v1.ConfigFile + 12, // 27: v1.ConfigImportResponse.skipConfigFiles:type_name -> v1.ConfigFile + 12, // 28: v1.ConfigImportResponse.overwriteConfigFiles:type_name -> v1.ConfigFile + 9, // 29: v1.ConfigExportResponse.code:type_name -> google.protobuf.UInt32Value + 10, // 30: v1.ConfigExportResponse.info:type_name -> google.protobuf.StringValue + 17, // 31: v1.ConfigExportResponse.data:type_name -> google.protobuf.BytesValue + 9, // 32: v1.ConfigEncryptAlgorithmResponse.code:type_name -> google.protobuf.UInt32Value + 10, // 33: v1.ConfigEncryptAlgorithmResponse.info:type_name -> google.protobuf.StringValue + 10, // 34: v1.ConfigEncryptAlgorithmResponse.algorithms:type_name -> google.protobuf.StringValue + 9, // 35: v1.ConfigClientListResponse.code:type_name -> google.protobuf.UInt32Value + 10, // 36: v1.ConfigClientListResponse.info:type_name -> google.protobuf.StringValue + 10, // 37: v1.ConfigClientListResponse.revision:type_name -> google.protobuf.StringValue + 16, // 38: v1.ConfigClientListResponse.config_file_infos:type_name -> v1.ClientConfigFileInfo + 39, // [39:39] is the sub-list for method output_type + 39, // [39:39] is the sub-list for method input_type + 39, // [39:39] is the sub-list for extension type_name + 39, // [39:39] is the sub-list for extension extendee + 0, // [0:39] is the sub-list for field type_name +} + +func init() { file_config_file_response_proto_init() } +func file_config_file_response_proto_init() { + if File_config_file_response_proto != nil { + return + } + file_config_file_proto_init() + if !protoimpl.UnsafeEnabled { + file_config_file_response_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ConfigSimpleResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_config_file_response_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ConfigResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_config_file_response_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ConfigBatchWriteResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_config_file_response_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ConfigBatchQueryResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_config_file_response_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ConfigClientResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_config_file_response_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ConfigImportResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_config_file_response_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ConfigExportResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_config_file_response_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ConfigEncryptAlgorithmResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_config_file_response_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ConfigClientListResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_config_file_response_proto_rawDesc, + NumEnums: 0, + NumMessages: 9, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_config_file_response_proto_goTypes, + DependencyIndexes: file_config_file_response_proto_depIdxs, + MessageInfos: file_config_file_response_proto_msgTypes, + }.Build() + File_config_file_response_proto = out.File + file_config_file_response_proto_rawDesc = nil + file_config_file_response_proto_goTypes = nil + file_config_file_response_proto_depIdxs = nil } diff --git a/source/go/api/v1/config_manage/grpc_config_api.pb.go b/source/go/api/v1/config_manage/grpc_config_api.pb.go index 070dc4af..681b1f79 100644 --- a/source/go/api/v1/config_manage/grpc_config_api.pb.go +++ b/source/go/api/v1/config_manage/grpc_config_api.pb.go @@ -1,35 +1,156 @@ // Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.33.0 +// protoc v5.27.3 // source: grpc_config_api.proto -package config_manage // import "github.com/polarismesh/specification/source/go/api/v1/config_manage" - -import proto "github.com/golang/protobuf/proto" -import fmt "fmt" -import math "math" +package config_manage import ( - context "golang.org/x/net/context" + context "context" grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" ) -// Reference imports to suppress errors if they are not otherwise used. -var _ = proto.Marshal -var _ = fmt.Errorf -var _ = math.Inf +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) -// This is a compile-time assertion to ensure that this generated file -// is compatible with the proto package it is being compiled against. -// A compilation error at this line likely means your copy of the -// proto package needs to be updated. -const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package +var File_grpc_config_api_proto protoreflect.FileDescriptor + +var file_grpc_config_api_proto_rawDesc = []byte{ + 0x0a, 0x15, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x61, 0x70, + 0x69, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x02, 0x76, 0x31, 0x1a, 0x11, 0x63, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1a, + 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0xeb, 0x04, 0x0a, 0x11, 0x50, + 0x6f, 0x6c, 0x61, 0x72, 0x69, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x47, 0x52, 0x50, 0x43, + 0x12, 0x45, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x46, 0x69, 0x6c, + 0x65, 0x12, 0x18, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x46, 0x69, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x1a, 0x18, 0x2e, 0x76, 0x31, + 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x3e, 0x0a, 0x10, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x0e, 0x2e, 0x76, 0x31, + 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x46, 0x69, 0x6c, 0x65, 0x1a, 0x18, 0x2e, 0x76, 0x31, + 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x3e, 0x0a, 0x10, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x0e, 0x2e, 0x76, 0x31, + 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x46, 0x69, 0x6c, 0x65, 0x1a, 0x18, 0x2e, 0x76, 0x31, + 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x46, 0x0a, 0x11, 0x50, 0x75, 0x62, 0x6c, 0x69, + 0x73, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x15, 0x2e, 0x76, + 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x6c, 0x65, + 0x61, 0x73, 0x65, 0x1a, 0x18, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x43, + 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, + 0x53, 0x0a, 0x1a, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x41, 0x6e, 0x64, 0x50, 0x75, 0x62, 0x6c, + 0x69, 0x73, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x19, 0x2e, + 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x46, 0x69, 0x6c, 0x65, 0x50, 0x75, 0x62, + 0x6c, 0x69, 0x73, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x1a, 0x18, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x00, 0x12, 0x50, 0x0a, 0x10, 0x57, 0x61, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x12, 0x20, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6c, + 0x69, 0x65, 0x6e, 0x74, 0x57, 0x61, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x46, + 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x76, 0x31, 0x2e, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x57, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x46, 0x69, 0x6c, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4c, + 0x69, 0x73, 0x74, 0x12, 0x1a, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x46, + 0x69, 0x6c, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x1c, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, + 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, + 0x47, 0x0a, 0x08, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x12, 0x19, 0x2e, 0x76, 0x31, + 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x00, 0x28, 0x01, 0x30, 0x01, 0x42, 0x97, 0x01, 0x0a, 0x36, 0x63, 0x6f, 0x6d, + 0x2e, 0x74, 0x65, 0x6e, 0x63, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x6f, 0x6c, 0x61, 0x72, 0x69, 0x73, + 0x2e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x61, + 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x6d, 0x61, 0x6e, + 0x61, 0x67, 0x65, 0x42, 0x18, 0x50, 0x6f, 0x6c, 0x61, 0x72, 0x69, 0x73, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x47, 0x52, 0x50, 0x43, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5a, 0x43, 0x67, + 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x70, 0x6f, 0x6c, 0x61, 0x72, 0x69, + 0x73, 0x6d, 0x65, 0x73, 0x68, 0x2f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x2f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2f, 0x67, 0x6f, 0x2f, 0x61, 0x70, + 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x6d, 0x61, 0x6e, 0x61, + 0x67, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var file_grpc_config_api_proto_goTypes = []interface{}{ + (*ClientConfigFileInfo)(nil), // 0: v1.ClientConfigFileInfo + (*ConfigFile)(nil), // 1: v1.ConfigFile + (*ConfigFileRelease)(nil), // 2: v1.ConfigFileRelease + (*ConfigFilePublishInfo)(nil), // 3: v1.ConfigFilePublishInfo + (*ClientWatchConfigFileRequest)(nil), // 4: v1.ClientWatchConfigFileRequest + (*ConfigFileGroupRequest)(nil), // 5: v1.ConfigFileGroupRequest + (*ConfigDiscoverRequest)(nil), // 6: v1.ConfigDiscoverRequest + (*ConfigClientResponse)(nil), // 7: v1.ConfigClientResponse + (*ConfigClientListResponse)(nil), // 8: v1.ConfigClientListResponse + (*ConfigDiscoverResponse)(nil), // 9: v1.ConfigDiscoverResponse +} +var file_grpc_config_api_proto_depIdxs = []int32{ + 0, // 0: v1.PolarisConfigGRPC.GetConfigFile:input_type -> v1.ClientConfigFileInfo + 1, // 1: v1.PolarisConfigGRPC.CreateConfigFile:input_type -> v1.ConfigFile + 1, // 2: v1.PolarisConfigGRPC.UpdateConfigFile:input_type -> v1.ConfigFile + 2, // 3: v1.PolarisConfigGRPC.PublishConfigFile:input_type -> v1.ConfigFileRelease + 3, // 4: v1.PolarisConfigGRPC.UpsertAndPublishConfigFile:input_type -> v1.ConfigFilePublishInfo + 4, // 5: v1.PolarisConfigGRPC.WatchConfigFiles:input_type -> v1.ClientWatchConfigFileRequest + 5, // 6: v1.PolarisConfigGRPC.GetConfigFileMetadataList:input_type -> v1.ConfigFileGroupRequest + 6, // 7: v1.PolarisConfigGRPC.Discover:input_type -> v1.ConfigDiscoverRequest + 7, // 8: v1.PolarisConfigGRPC.GetConfigFile:output_type -> v1.ConfigClientResponse + 7, // 9: v1.PolarisConfigGRPC.CreateConfigFile:output_type -> v1.ConfigClientResponse + 7, // 10: v1.PolarisConfigGRPC.UpdateConfigFile:output_type -> v1.ConfigClientResponse + 7, // 11: v1.PolarisConfigGRPC.PublishConfigFile:output_type -> v1.ConfigClientResponse + 7, // 12: v1.PolarisConfigGRPC.UpsertAndPublishConfigFile:output_type -> v1.ConfigClientResponse + 7, // 13: v1.PolarisConfigGRPC.WatchConfigFiles:output_type -> v1.ConfigClientResponse + 8, // 14: v1.PolarisConfigGRPC.GetConfigFileMetadataList:output_type -> v1.ConfigClientListResponse + 9, // 15: v1.PolarisConfigGRPC.Discover:output_type -> v1.ConfigDiscoverResponse + 8, // [8:16] is the sub-list for method output_type + 0, // [0:8] is the sub-list for method input_type + 0, // [0:0] is the sub-list for extension type_name + 0, // [0:0] is the sub-list for extension extendee + 0, // [0:0] is the sub-list for field type_name +} + +func init() { file_grpc_config_api_proto_init() } +func file_grpc_config_api_proto_init() { + if File_grpc_config_api_proto != nil { + return + } + file_config_file_proto_init() + file_config_file_response_proto_init() + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_grpc_config_api_proto_rawDesc, + NumEnums: 0, + NumMessages: 0, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_grpc_config_api_proto_goTypes, + DependencyIndexes: file_grpc_config_api_proto_depIdxs, + }.Build() + File_grpc_config_api_proto = out.File + file_grpc_config_api_proto_rawDesc = nil + file_grpc_config_api_proto_goTypes = nil + file_grpc_config_api_proto_depIdxs = nil +} // Reference imports to suppress errors if they are not otherwise used. var _ context.Context -var _ grpc.ClientConn +var _ grpc.ClientConnInterface // This is a compile-time assertion to ensure that this generated file // is compatible with the grpc package it is being compiled against. -const _ = grpc.SupportPackageIsVersion4 +const _ = grpc.SupportPackageIsVersion6 // PolarisConfigGRPCClient is the client API for PolarisConfigGRPC service. // @@ -54,10 +175,10 @@ type PolarisConfigGRPCClient interface { } type polarisConfigGRPCClient struct { - cc *grpc.ClientConn + cc grpc.ClientConnInterface } -func NewPolarisConfigGRPCClient(cc *grpc.ClientConn) PolarisConfigGRPCClient { +func NewPolarisConfigGRPCClient(cc grpc.ClientConnInterface) PolarisConfigGRPCClient { return &polarisConfigGRPCClient{cc} } @@ -175,6 +296,35 @@ type PolarisConfigGRPCServer interface { Discover(PolarisConfigGRPC_DiscoverServer) error } +// UnimplementedPolarisConfigGRPCServer can be embedded to have forward compatible implementations. +type UnimplementedPolarisConfigGRPCServer struct { +} + +func (*UnimplementedPolarisConfigGRPCServer) GetConfigFile(context.Context, *ClientConfigFileInfo) (*ConfigClientResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetConfigFile not implemented") +} +func (*UnimplementedPolarisConfigGRPCServer) CreateConfigFile(context.Context, *ConfigFile) (*ConfigClientResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateConfigFile not implemented") +} +func (*UnimplementedPolarisConfigGRPCServer) UpdateConfigFile(context.Context, *ConfigFile) (*ConfigClientResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateConfigFile not implemented") +} +func (*UnimplementedPolarisConfigGRPCServer) PublishConfigFile(context.Context, *ConfigFileRelease) (*ConfigClientResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method PublishConfigFile not implemented") +} +func (*UnimplementedPolarisConfigGRPCServer) UpsertAndPublishConfigFile(context.Context, *ConfigFilePublishInfo) (*ConfigClientResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpsertAndPublishConfigFile not implemented") +} +func (*UnimplementedPolarisConfigGRPCServer) WatchConfigFiles(context.Context, *ClientWatchConfigFileRequest) (*ConfigClientResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method WatchConfigFiles not implemented") +} +func (*UnimplementedPolarisConfigGRPCServer) GetConfigFileMetadataList(context.Context, *ConfigFileGroupRequest) (*ConfigClientListResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetConfigFileMetadataList not implemented") +} +func (*UnimplementedPolarisConfigGRPCServer) Discover(PolarisConfigGRPC_DiscoverServer) error { + return status.Errorf(codes.Unimplemented, "method Discover not implemented") +} + func RegisterPolarisConfigGRPCServer(s *grpc.Server, srv PolarisConfigGRPCServer) { s.RegisterService(&_PolarisConfigGRPC_serviceDesc, srv) } @@ -374,35 +524,3 @@ var _PolarisConfigGRPC_serviceDesc = grpc.ServiceDesc{ }, Metadata: "grpc_config_api.proto", } - -func init() { - proto.RegisterFile("grpc_config_api.proto", fileDescriptor_grpc_config_api_40388cf54be59c45) -} - -var fileDescriptor_grpc_config_api_40388cf54be59c45 = []byte{ - // 378 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x93, 0xc1, 0x6a, 0xe3, 0x30, - 0x10, 0x86, 0x37, 0xcb, 0xb2, 0x2c, 0x82, 0x5d, 0x12, 0x43, 0x20, 0x31, 0x7b, 0x58, 0xf6, 0xd4, - 0x93, 0x5c, 0xb7, 0xd0, 0x63, 0xa1, 0x71, 0x1b, 0x53, 0x68, 0xc1, 0x38, 0x84, 0x40, 0x2f, 0x41, - 0x51, 0xc6, 0xce, 0x80, 0x2d, 0xa9, 0x92, 0xec, 0x57, 0xe9, 0x43, 0xf6, 0x25, 0x4a, 0x62, 0x9b, - 0xd8, 0x49, 0x49, 0xa0, 0x47, 0xff, 0xff, 0xcc, 0x67, 0x69, 0xf4, 0x0f, 0x19, 0xa6, 0x5a, 0xf1, - 0x25, 0x97, 0x22, 0xc1, 0x74, 0xc9, 0x14, 0x52, 0xa5, 0xa5, 0x95, 0xce, 0xf7, 0xd2, 0x77, 0x07, - 0xb5, 0x9a, 0x60, 0x06, 0x95, 0xec, 0xba, 0x2d, 0x69, 0xa9, 0xc1, 0x28, 0x29, 0x4c, 0xed, 0x5d, - 0xbd, 0xff, 0x20, 0x83, 0x48, 0x66, 0x4c, 0xa3, 0x09, 0x76, 0x55, 0x61, 0x1c, 0x05, 0xce, 0x03, - 0xf9, 0x1d, 0x82, 0xad, 0x84, 0x29, 0x66, 0xe0, 0x8c, 0x68, 0xe9, 0xd3, 0x20, 0x43, 0x10, 0x2d, - 0xf5, 0x51, 0x24, 0xd2, 0xad, 0x9c, 0x9d, 0x56, 0xf9, 0x71, 0xfd, 0x83, 0xff, 0xdf, 0x9c, 0x5b, - 0xd2, 0x0f, 0x34, 0x30, 0x0b, 0x2d, 0xd2, 0x9f, 0x7d, 0xfd, 0xf6, 0xfb, 0x5c, 0xff, 0x5c, 0xad, - 0xbf, 0xde, 0x3f, 0x25, 0x83, 0xa8, 0x58, 0x65, 0x68, 0x36, 0x2d, 0xc0, 0xb0, 0x0b, 0x88, 0x21, - 0x03, 0x66, 0x4e, 0x73, 0x66, 0xc4, 0x9d, 0x2b, 0x03, 0xda, 0xde, 0x89, 0xf5, 0x31, 0x70, 0xdc, - 0x05, 0xd6, 0x05, 0x67, 0x87, 0x13, 0x91, 0xfe, 0x82, 0x59, 0xde, 0x22, 0x19, 0xe7, 0xdf, 0x7e, - 0xcc, 0x07, 0x5e, 0x0c, 0xaf, 0x05, 0x18, 0x7b, 0x92, 0xb8, 0x20, 0xe3, 0xce, 0xab, 0x3d, 0x83, - 0x65, 0x6b, 0x66, 0xd9, 0x13, 0x1a, 0xeb, 0xb8, 0xdd, 0x53, 0x86, 0x5a, 0x16, 0xaa, 0x81, 0xfe, - 0x3d, 0x84, 0x6e, 0x3b, 0x5a, 0xe0, 0x90, 0xfc, 0xba, 0x47, 0xc3, 0x65, 0x09, 0xba, 0x7d, 0xdb, - 0x46, 0x6b, 0x30, 0xee, 0x67, 0x56, 0x03, 0xb9, 0xe8, 0x5d, 0xf6, 0x26, 0x6f, 0x3d, 0x72, 0xc3, - 0x65, 0x4e, 0x2d, 0x08, 0x0e, 0xc2, 0x52, 0x55, 0x25, 0x8f, 0x1a, 0x05, 0x1c, 0x13, 0xe4, 0xcc, - 0xa2, 0x14, 0x74, 0x1b, 0xe8, 0xd2, 0xa7, 0x55, 0x6a, 0x69, 0xce, 0x04, 0x4b, 0x61, 0x32, 0x3a, - 0x4a, 0xe9, 0x0c, 0x74, 0x89, 0x1c, 0x5e, 0x82, 0x14, 0xed, 0xa6, 0x58, 0x51, 0x2e, 0x73, 0xaf, - 0x06, 0xe6, 0x60, 0x36, 0x5e, 0x07, 0xea, 0x19, 0x59, 0x68, 0x0e, 0x5e, 0x2a, 0x3d, 0xa6, 0xd0, - 0x2b, 0x7d, 0xaf, 0x5e, 0x8a, 0x0a, 0xbf, 0xfa, 0xb9, 0x5b, 0x87, 0xeb, 0x8f, 0x00, 0x00, 0x00, - 0xff, 0xff, 0x1e, 0xe3, 0x11, 0x0b, 0x5a, 0x03, 0x00, 0x00, -} diff --git a/source/go/api/v1/fault_tolerance/circuitbreaker.pb.go b/source/go/api/v1/fault_tolerance/circuitbreaker.pb.go index 5e6121f3..57e15435 100644 --- a/source/go/api/v1/fault_tolerance/circuitbreaker.pb.go +++ b/source/go/api/v1/fault_tolerance/circuitbreaker.pb.go @@ -1,25 +1,27 @@ // Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.33.0 +// protoc v5.27.3 // source: circuitbreaker.proto -package fault_tolerance // import "github.com/polarismesh/specification/source/go/api/v1/fault_tolerance" +package fault_tolerance -import proto "github.com/golang/protobuf/proto" -import fmt "fmt" -import math "math" -import model "github.com/polarismesh/specification/source/go/api/v1/model" -import durationpb "google.golang.org/protobuf/types/known/durationpb" -import wrapperspb "google.golang.org/protobuf/types/known/wrapperspb" - -// Reference imports to suppress errors if they are not otherwise used. -var _ = proto.Marshal -var _ = fmt.Errorf -var _ = math.Inf +import ( + model "github.com/polarismesh/specification/source/go/api/v1/model" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + durationpb "google.golang.org/protobuf/types/known/durationpb" + wrapperspb "google.golang.org/protobuf/types/known/wrapperspb" + reflect "reflect" + sync "sync" +) -// This is a compile-time assertion to ensure that this generated file -// is compatible with the proto package it is being compiled against. -// A compilation error at this line likely means your copy of the -// proto package needs to be updated. -const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) // circuitbreaking level type Level int32 @@ -36,56 +38,102 @@ const ( Level_INSTANCE Level = 4 ) -var Level_name = map[int32]string{ - 0: "UNKNOWN", - 1: "SERVICE", - 2: "METHOD", - 3: "GROUP", - 4: "INSTANCE", -} -var Level_value = map[string]int32{ - "UNKNOWN": 0, - "SERVICE": 1, - "METHOD": 2, - "GROUP": 3, - "INSTANCE": 4, +// Enum value maps for Level. +var ( + Level_name = map[int32]string{ + 0: "UNKNOWN", + 1: "SERVICE", + 2: "METHOD", + 3: "GROUP", + 4: "INSTANCE", + } + Level_value = map[string]int32{ + "UNKNOWN": 0, + "SERVICE": 1, + "METHOD": 2, + "GROUP": 3, + "INSTANCE": 4, + } +) + +func (x Level) Enum() *Level { + p := new(Level) + *p = x + return p } func (x Level) String() string { - return proto.EnumName(Level_name, int32(x)) + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } + +func (Level) Descriptor() protoreflect.EnumDescriptor { + return file_circuitbreaker_proto_enumTypes[0].Descriptor() +} + +func (Level) Type() protoreflect.EnumType { + return &file_circuitbreaker_proto_enumTypes[0] +} + +func (x Level) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use Level.Descriptor instead. func (Level) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_circuitbreaker_2a9ca54a8ade1f42, []int{0} + return file_circuitbreaker_proto_rawDescGZIP(), []int{0} } -// 主动探测配置 +//主动探测配置 type RecoverConfig_OutlierDetectWhen int32 const ( - // 不开启监控探测 + //不开启监控探测 RecoverConfig_NEVER RecoverConfig_OutlierDetectWhen = 0 - // 只有在熔断恢复时才开启健康探测 + //只有在熔断恢复时才开启健康探测 RecoverConfig_ON_RECOVER RecoverConfig_OutlierDetectWhen = 1 - // 一直开启健康探测 + //一直开启健康探测 RecoverConfig_ALWAYS RecoverConfig_OutlierDetectWhen = 2 ) -var RecoverConfig_OutlierDetectWhen_name = map[int32]string{ - 0: "NEVER", - 1: "ON_RECOVER", - 2: "ALWAYS", -} -var RecoverConfig_OutlierDetectWhen_value = map[string]int32{ - "NEVER": 0, - "ON_RECOVER": 1, - "ALWAYS": 2, +// Enum value maps for RecoverConfig_OutlierDetectWhen. +var ( + RecoverConfig_OutlierDetectWhen_name = map[int32]string{ + 0: "NEVER", + 1: "ON_RECOVER", + 2: "ALWAYS", + } + RecoverConfig_OutlierDetectWhen_value = map[string]int32{ + "NEVER": 0, + "ON_RECOVER": 1, + "ALWAYS": 2, + } +) + +func (x RecoverConfig_OutlierDetectWhen) Enum() *RecoverConfig_OutlierDetectWhen { + p := new(RecoverConfig_OutlierDetectWhen) + *p = x + return p } func (x RecoverConfig_OutlierDetectWhen) String() string { - return proto.EnumName(RecoverConfig_OutlierDetectWhen_name, int32(x)) + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (RecoverConfig_OutlierDetectWhen) Descriptor() protoreflect.EnumDescriptor { + return file_circuitbreaker_proto_enumTypes[1].Descriptor() +} + +func (RecoverConfig_OutlierDetectWhen) Type() protoreflect.EnumType { + return &file_circuitbreaker_proto_enumTypes[1] } + +func (x RecoverConfig_OutlierDetectWhen) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use RecoverConfig_OutlierDetectWhen.Descriptor instead. func (RecoverConfig_OutlierDetectWhen) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_circuitbreaker_2a9ca54a8ade1f42, []int{2, 0} + return file_circuitbreaker_proto_rawDescGZIP(), []int{2, 0} } // 需要进行熔断的资源 @@ -99,20 +147,43 @@ const ( DestinationSet_INSTANCE DestinationSet_Resource = 1 ) -var DestinationSet_Resource_name = map[int32]string{ - 0: "SUBSET", - 1: "INSTANCE", -} -var DestinationSet_Resource_value = map[string]int32{ - "SUBSET": 0, - "INSTANCE": 1, +// Enum value maps for DestinationSet_Resource. +var ( + DestinationSet_Resource_name = map[int32]string{ + 0: "SUBSET", + 1: "INSTANCE", + } + DestinationSet_Resource_value = map[string]int32{ + "SUBSET": 0, + "INSTANCE": 1, + } +) + +func (x DestinationSet_Resource) Enum() *DestinationSet_Resource { + p := new(DestinationSet_Resource) + *p = x + return p } func (x DestinationSet_Resource) String() string { - return proto.EnumName(DestinationSet_Resource_name, int32(x)) + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } + +func (DestinationSet_Resource) Descriptor() protoreflect.EnumDescriptor { + return file_circuitbreaker_proto_enumTypes[2].Descriptor() +} + +func (DestinationSet_Resource) Type() protoreflect.EnumType { + return &file_circuitbreaker_proto_enumTypes[2] +} + +func (x DestinationSet_Resource) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use DestinationSet_Resource.Descriptor instead. func (DestinationSet_Resource) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_circuitbreaker_2a9ca54a8ade1f42, []int{4, 0} + return file_circuitbreaker_proto_rawDescGZIP(), []int{4, 0} } // 熔断决策类型,支持GLOBAL(分布式决策)以及LOCAL(本地决策),默认GLOBAL @@ -124,46 +195,92 @@ const ( DestinationSet_LOCAL DestinationSet_Type = 1 ) -var DestinationSet_Type_name = map[int32]string{ - 0: "GLOBAL", - 1: "LOCAL", -} -var DestinationSet_Type_value = map[string]int32{ - "GLOBAL": 0, - "LOCAL": 1, +// Enum value maps for DestinationSet_Type. +var ( + DestinationSet_Type_name = map[int32]string{ + 0: "GLOBAL", + 1: "LOCAL", + } + DestinationSet_Type_value = map[string]int32{ + "GLOBAL": 0, + "LOCAL": 1, + } +) + +func (x DestinationSet_Type) Enum() *DestinationSet_Type { + p := new(DestinationSet_Type) + *p = x + return p } func (x DestinationSet_Type) String() string { - return proto.EnumName(DestinationSet_Type_name, int32(x)) + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (DestinationSet_Type) Descriptor() protoreflect.EnumDescriptor { + return file_circuitbreaker_proto_enumTypes[3].Descriptor() +} + +func (DestinationSet_Type) Type() protoreflect.EnumType { + return &file_circuitbreaker_proto_enumTypes[3] } + +func (x DestinationSet_Type) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use DestinationSet_Type.Descriptor instead. func (DestinationSet_Type) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_circuitbreaker_2a9ca54a8ade1f42, []int{4, 1} + return file_circuitbreaker_proto_rawDescGZIP(), []int{4, 1} } -// 熔断范围,是否扩散针对相同服务下所有接口进行熔断 +//熔断范围,是否扩散针对相同服务下所有接口进行熔断 type DestinationSet_Scope int32 const ( - // 触发熔断条件,扩散熔断所有接口 + //触发熔断条件,扩散熔断所有接口 DestinationSet_ALL DestinationSet_Scope = 0 - // 触发熔断条件,只熔断当前接口 + //触发熔断条件,只熔断当前接口 DestinationSet_CURRENT DestinationSet_Scope = 1 ) -var DestinationSet_Scope_name = map[int32]string{ - 0: "ALL", - 1: "CURRENT", -} -var DestinationSet_Scope_value = map[string]int32{ - "ALL": 0, - "CURRENT": 1, +// Enum value maps for DestinationSet_Scope. +var ( + DestinationSet_Scope_name = map[int32]string{ + 0: "ALL", + 1: "CURRENT", + } + DestinationSet_Scope_value = map[string]int32{ + "ALL": 0, + "CURRENT": 1, + } +) + +func (x DestinationSet_Scope) Enum() *DestinationSet_Scope { + p := new(DestinationSet_Scope) + *p = x + return p } func (x DestinationSet_Scope) String() string { - return proto.EnumName(DestinationSet_Scope_name, int32(x)) + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } + +func (DestinationSet_Scope) Descriptor() protoreflect.EnumDescriptor { + return file_circuitbreaker_proto_enumTypes[4].Descriptor() +} + +func (DestinationSet_Scope) Type() protoreflect.EnumType { + return &file_circuitbreaker_proto_enumTypes[4] +} + +func (x DestinationSet_Scope) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use DestinationSet_Scope.Descriptor instead. func (DestinationSet_Scope) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_circuitbreaker_2a9ca54a8ade1f42, []int{4, 2} + return file_circuitbreaker_proto_rawDescGZIP(), []int{4, 2} } type ErrorCondition_InputType int32 @@ -174,22 +291,45 @@ const ( ErrorCondition_DELAY ErrorCondition_InputType = 2 ) -var ErrorCondition_InputType_name = map[int32]string{ - 0: "UNKNOWN", - 1: "RET_CODE", - 2: "DELAY", -} -var ErrorCondition_InputType_value = map[string]int32{ - "UNKNOWN": 0, - "RET_CODE": 1, - "DELAY": 2, +// Enum value maps for ErrorCondition_InputType. +var ( + ErrorCondition_InputType_name = map[int32]string{ + 0: "UNKNOWN", + 1: "RET_CODE", + 2: "DELAY", + } + ErrorCondition_InputType_value = map[string]int32{ + "UNKNOWN": 0, + "RET_CODE": 1, + "DELAY": 2, + } +) + +func (x ErrorCondition_InputType) Enum() *ErrorCondition_InputType { + p := new(ErrorCondition_InputType) + *p = x + return p } func (x ErrorCondition_InputType) String() string { - return proto.EnumName(ErrorCondition_InputType_name, int32(x)) + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (ErrorCondition_InputType) Descriptor() protoreflect.EnumDescriptor { + return file_circuitbreaker_proto_enumTypes[5].Descriptor() +} + +func (ErrorCondition_InputType) Type() protoreflect.EnumType { + return &file_circuitbreaker_proto_enumTypes[5] } + +func (x ErrorCondition_InputType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use ErrorCondition_InputType.Descriptor instead. func (ErrorCondition_InputType) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_circuitbreaker_2a9ca54a8ade1f42, []int{8, 0} + return file_circuitbreaker_proto_rawDescGZIP(), []int{8, 0} } type TriggerCondition_TriggerType int32 @@ -200,26 +340,53 @@ const ( TriggerCondition_CONSECUTIVE_ERROR TriggerCondition_TriggerType = 2 ) -var TriggerCondition_TriggerType_name = map[int32]string{ - 0: "UNKNOWN", - 1: "ERROR_RATE", - 2: "CONSECUTIVE_ERROR", -} -var TriggerCondition_TriggerType_value = map[string]int32{ - "UNKNOWN": 0, - "ERROR_RATE": 1, - "CONSECUTIVE_ERROR": 2, +// Enum value maps for TriggerCondition_TriggerType. +var ( + TriggerCondition_TriggerType_name = map[int32]string{ + 0: "UNKNOWN", + 1: "ERROR_RATE", + 2: "CONSECUTIVE_ERROR", + } + TriggerCondition_TriggerType_value = map[string]int32{ + "UNKNOWN": 0, + "ERROR_RATE": 1, + "CONSECUTIVE_ERROR": 2, + } +) + +func (x TriggerCondition_TriggerType) Enum() *TriggerCondition_TriggerType { + p := new(TriggerCondition_TriggerType) + *p = x + return p } func (x TriggerCondition_TriggerType) String() string { - return proto.EnumName(TriggerCondition_TriggerType_name, int32(x)) + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } + +func (TriggerCondition_TriggerType) Descriptor() protoreflect.EnumDescriptor { + return file_circuitbreaker_proto_enumTypes[6].Descriptor() +} + +func (TriggerCondition_TriggerType) Type() protoreflect.EnumType { + return &file_circuitbreaker_proto_enumTypes[6] +} + +func (x TriggerCondition_TriggerType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use TriggerCondition_TriggerType.Descriptor instead. func (TriggerCondition_TriggerType) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_circuitbreaker_2a9ca54a8ade1f42, []int{9, 0} + return file_circuitbreaker_proto_rawDescGZIP(), []int{9, 0} } -// 单个熔断规则定义 +//单个熔断规则定义 type CircuitBreaker struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + // deprecated Id *wrapperspb.StringValue `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` // 规则版本 @@ -234,9 +401,9 @@ type CircuitBreaker struct { // 规则所属服务 Service *wrapperspb.StringValue `protobuf:"bytes,5,opt,name=service,proto3" json:"service,omitempty"` ServiceNamespace *wrapperspb.StringValue `protobuf:"bytes,6,opt,name=service_namespace,json=serviceNamespace,proto3" json:"service_namespace,omitempty"` - // 熔断规则可以分为被调规则和主调规则 - // 被调规则针对所有的指定主调生效,假如不指定则对所有的主调生效 - // 主调规则为当前主调方的规则,假如不指定则针对所有被调生效 + //熔断规则可以分为被调规则和主调规则 + //被调规则针对所有的指定主调生效,假如不指定则对所有的主调生效 + //主调规则为当前主调方的规则,假如不指定则针对所有被调生效 // deprecated Inbounds []*CbRule `protobuf:"bytes,7,rep,name=inbounds,proto3" json:"inbounds,omitempty"` // deprecated @@ -260,214 +427,232 @@ type CircuitBreaker struct { Mtime *wrapperspb.StringValue `protobuf:"bytes,15,opt,name=mtime,proto3" json:"mtime,omitempty"` Revision *wrapperspb.StringValue `protobuf:"bytes,16,opt,name=revision,proto3" json:"revision,omitempty"` // circuitbreaker rules for current service - Rules []*CircuitBreakerRule `protobuf:"bytes,21,rep,name=rules,proto3" json:"rules,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + Rules []*CircuitBreakerRule `protobuf:"bytes,21,rep,name=rules,proto3" json:"rules,omitempty"` } -func (m *CircuitBreaker) Reset() { *m = CircuitBreaker{} } -func (m *CircuitBreaker) String() string { return proto.CompactTextString(m) } -func (*CircuitBreaker) ProtoMessage() {} -func (*CircuitBreaker) Descriptor() ([]byte, []int) { - return fileDescriptor_circuitbreaker_2a9ca54a8ade1f42, []int{0} -} -func (m *CircuitBreaker) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_CircuitBreaker.Unmarshal(m, b) -} -func (m *CircuitBreaker) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_CircuitBreaker.Marshal(b, m, deterministic) -} -func (dst *CircuitBreaker) XXX_Merge(src proto.Message) { - xxx_messageInfo_CircuitBreaker.Merge(dst, src) +func (x *CircuitBreaker) Reset() { + *x = CircuitBreaker{} + if protoimpl.UnsafeEnabled { + mi := &file_circuitbreaker_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (m *CircuitBreaker) XXX_Size() int { - return xxx_messageInfo_CircuitBreaker.Size(m) + +func (x *CircuitBreaker) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *CircuitBreaker) XXX_DiscardUnknown() { - xxx_messageInfo_CircuitBreaker.DiscardUnknown(m) + +func (*CircuitBreaker) ProtoMessage() {} + +func (x *CircuitBreaker) ProtoReflect() protoreflect.Message { + mi := &file_circuitbreaker_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) } -var xxx_messageInfo_CircuitBreaker proto.InternalMessageInfo +// Deprecated: Use CircuitBreaker.ProtoReflect.Descriptor instead. +func (*CircuitBreaker) Descriptor() ([]byte, []int) { + return file_circuitbreaker_proto_rawDescGZIP(), []int{0} +} -func (m *CircuitBreaker) GetId() *wrapperspb.StringValue { - if m != nil { - return m.Id +func (x *CircuitBreaker) GetId() *wrapperspb.StringValue { + if x != nil { + return x.Id } return nil } -func (m *CircuitBreaker) GetVersion() *wrapperspb.StringValue { - if m != nil { - return m.Version +func (x *CircuitBreaker) GetVersion() *wrapperspb.StringValue { + if x != nil { + return x.Version } return nil } -func (m *CircuitBreaker) GetName() *wrapperspb.StringValue { - if m != nil { - return m.Name +func (x *CircuitBreaker) GetName() *wrapperspb.StringValue { + if x != nil { + return x.Name } return nil } -func (m *CircuitBreaker) GetNamespace() *wrapperspb.StringValue { - if m != nil { - return m.Namespace +func (x *CircuitBreaker) GetNamespace() *wrapperspb.StringValue { + if x != nil { + return x.Namespace } return nil } -func (m *CircuitBreaker) GetService() *wrapperspb.StringValue { - if m != nil { - return m.Service +func (x *CircuitBreaker) GetService() *wrapperspb.StringValue { + if x != nil { + return x.Service } return nil } -func (m *CircuitBreaker) GetServiceNamespace() *wrapperspb.StringValue { - if m != nil { - return m.ServiceNamespace +func (x *CircuitBreaker) GetServiceNamespace() *wrapperspb.StringValue { + if x != nil { + return x.ServiceNamespace } return nil } -func (m *CircuitBreaker) GetInbounds() []*CbRule { - if m != nil { - return m.Inbounds +func (x *CircuitBreaker) GetInbounds() []*CbRule { + if x != nil { + return x.Inbounds } return nil } -func (m *CircuitBreaker) GetOutbounds() []*CbRule { - if m != nil { - return m.Outbounds +func (x *CircuitBreaker) GetOutbounds() []*CbRule { + if x != nil { + return x.Outbounds } return nil } -func (m *CircuitBreaker) GetToken() *wrapperspb.StringValue { - if m != nil { - return m.Token +func (x *CircuitBreaker) GetToken() *wrapperspb.StringValue { + if x != nil { + return x.Token } return nil } -func (m *CircuitBreaker) GetOwners() *wrapperspb.StringValue { - if m != nil { - return m.Owners +func (x *CircuitBreaker) GetOwners() *wrapperspb.StringValue { + if x != nil { + return x.Owners } return nil } -func (m *CircuitBreaker) GetBusiness() *wrapperspb.StringValue { - if m != nil { - return m.Business +func (x *CircuitBreaker) GetBusiness() *wrapperspb.StringValue { + if x != nil { + return x.Business } return nil } -func (m *CircuitBreaker) GetDepartment() *wrapperspb.StringValue { - if m != nil { - return m.Department +func (x *CircuitBreaker) GetDepartment() *wrapperspb.StringValue { + if x != nil { + return x.Department } return nil } -func (m *CircuitBreaker) GetComment() *wrapperspb.StringValue { - if m != nil { - return m.Comment +func (x *CircuitBreaker) GetComment() *wrapperspb.StringValue { + if x != nil { + return x.Comment } return nil } -func (m *CircuitBreaker) GetCtime() *wrapperspb.StringValue { - if m != nil { - return m.Ctime +func (x *CircuitBreaker) GetCtime() *wrapperspb.StringValue { + if x != nil { + return x.Ctime } return nil } -func (m *CircuitBreaker) GetMtime() *wrapperspb.StringValue { - if m != nil { - return m.Mtime +func (x *CircuitBreaker) GetMtime() *wrapperspb.StringValue { + if x != nil { + return x.Mtime } return nil } -func (m *CircuitBreaker) GetRevision() *wrapperspb.StringValue { - if m != nil { - return m.Revision +func (x *CircuitBreaker) GetRevision() *wrapperspb.StringValue { + if x != nil { + return x.Revision } return nil } -func (m *CircuitBreaker) GetRules() []*CircuitBreakerRule { - if m != nil { - return m.Rules +func (x *CircuitBreaker) GetRules() []*CircuitBreakerRule { + if x != nil { + return x.Rules } return nil } // 主调匹配规则 type SourceMatcher struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + // 主调命名空间以及服务名,可以为*,代表全匹配 Service *wrapperspb.StringValue `protobuf:"bytes,1,opt,name=service,proto3" json:"service,omitempty"` Namespace *wrapperspb.StringValue `protobuf:"bytes,2,opt,name=namespace,proto3" json:"namespace,omitempty"` // 可选,主调业务标签,用于匹配是否使用该熔断规则,可放置用户的接口信息等 - Labels map[string]*model.MatchString `protobuf:"bytes,3,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + Labels map[string]*model.MatchString `protobuf:"bytes,3,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } -func (m *SourceMatcher) Reset() { *m = SourceMatcher{} } -func (m *SourceMatcher) String() string { return proto.CompactTextString(m) } -func (*SourceMatcher) ProtoMessage() {} -func (*SourceMatcher) Descriptor() ([]byte, []int) { - return fileDescriptor_circuitbreaker_2a9ca54a8ade1f42, []int{1} -} -func (m *SourceMatcher) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_SourceMatcher.Unmarshal(m, b) -} -func (m *SourceMatcher) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_SourceMatcher.Marshal(b, m, deterministic) -} -func (dst *SourceMatcher) XXX_Merge(src proto.Message) { - xxx_messageInfo_SourceMatcher.Merge(dst, src) +func (x *SourceMatcher) Reset() { + *x = SourceMatcher{} + if protoimpl.UnsafeEnabled { + mi := &file_circuitbreaker_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (m *SourceMatcher) XXX_Size() int { - return xxx_messageInfo_SourceMatcher.Size(m) + +func (x *SourceMatcher) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *SourceMatcher) XXX_DiscardUnknown() { - xxx_messageInfo_SourceMatcher.DiscardUnknown(m) + +func (*SourceMatcher) ProtoMessage() {} + +func (x *SourceMatcher) ProtoReflect() protoreflect.Message { + mi := &file_circuitbreaker_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) } -var xxx_messageInfo_SourceMatcher proto.InternalMessageInfo +// Deprecated: Use SourceMatcher.ProtoReflect.Descriptor instead. +func (*SourceMatcher) Descriptor() ([]byte, []int) { + return file_circuitbreaker_proto_rawDescGZIP(), []int{1} +} -func (m *SourceMatcher) GetService() *wrapperspb.StringValue { - if m != nil { - return m.Service +func (x *SourceMatcher) GetService() *wrapperspb.StringValue { + if x != nil { + return x.Service } return nil } -func (m *SourceMatcher) GetNamespace() *wrapperspb.StringValue { - if m != nil { - return m.Namespace +func (x *SourceMatcher) GetNamespace() *wrapperspb.StringValue { + if x != nil { + return x.Namespace } return nil } -func (m *SourceMatcher) GetLabels() map[string]*model.MatchString { - if m != nil { - return m.Labels +func (x *SourceMatcher) GetLabels() map[string]*model.MatchString { + if x != nil { + return x.Labels } return nil } // 熔断恢复配置 type RecoverConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + // 触发熔断后到半开状态之间的等待间隔 SleepWindow *durationpb.Duration `protobuf:"bytes,1,opt,name=sleepWindow,proto3" json:"sleepWindow,omitempty"` // 半开后,最多重试多少次恢复 @@ -479,1571 +664,2471 @@ type RecoverConfig struct { // 半开后最大放量数(用户不配置最大百分比时默认使用该配置) RequestCountAfterHalfOpen *wrapperspb.UInt32Value `protobuf:"bytes,5,opt,name=requestCountAfterHalfOpen,proto3" json:"requestCountAfterHalfOpen,omitempty"` OutlierDetectWhen RecoverConfig_OutlierDetectWhen `protobuf:"varint,6,opt,name=outlierDetectWhen,proto3,enum=v1.RecoverConfig_OutlierDetectWhen" json:"outlierDetectWhen,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` } -func (m *RecoverConfig) Reset() { *m = RecoverConfig{} } -func (m *RecoverConfig) String() string { return proto.CompactTextString(m) } -func (*RecoverConfig) ProtoMessage() {} -func (*RecoverConfig) Descriptor() ([]byte, []int) { - return fileDescriptor_circuitbreaker_2a9ca54a8ade1f42, []int{2} -} -func (m *RecoverConfig) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_RecoverConfig.Unmarshal(m, b) -} -func (m *RecoverConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_RecoverConfig.Marshal(b, m, deterministic) -} -func (dst *RecoverConfig) XXX_Merge(src proto.Message) { - xxx_messageInfo_RecoverConfig.Merge(dst, src) +func (x *RecoverConfig) Reset() { + *x = RecoverConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_circuitbreaker_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (m *RecoverConfig) XXX_Size() int { - return xxx_messageInfo_RecoverConfig.Size(m) + +func (x *RecoverConfig) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *RecoverConfig) XXX_DiscardUnknown() { - xxx_messageInfo_RecoverConfig.DiscardUnknown(m) + +func (*RecoverConfig) ProtoMessage() {} + +func (x *RecoverConfig) ProtoReflect() protoreflect.Message { + mi := &file_circuitbreaker_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) } -var xxx_messageInfo_RecoverConfig proto.InternalMessageInfo +// Deprecated: Use RecoverConfig.ProtoReflect.Descriptor instead. +func (*RecoverConfig) Descriptor() ([]byte, []int) { + return file_circuitbreaker_proto_rawDescGZIP(), []int{2} +} -func (m *RecoverConfig) GetSleepWindow() *durationpb.Duration { - if m != nil { - return m.SleepWindow +func (x *RecoverConfig) GetSleepWindow() *durationpb.Duration { + if x != nil { + return x.SleepWindow } return nil } -func (m *RecoverConfig) GetMaxRetryAfterHalfOpen() *wrapperspb.UInt32Value { - if m != nil { - return m.MaxRetryAfterHalfOpen +func (x *RecoverConfig) GetMaxRetryAfterHalfOpen() *wrapperspb.UInt32Value { + if x != nil { + return x.MaxRetryAfterHalfOpen } return nil } -func (m *RecoverConfig) GetRequestRateAfterHalfOpen() []*wrapperspb.UInt32Value { - if m != nil { - return m.RequestRateAfterHalfOpen +func (x *RecoverConfig) GetRequestRateAfterHalfOpen() []*wrapperspb.UInt32Value { + if x != nil { + return x.RequestRateAfterHalfOpen } return nil } -func (m *RecoverConfig) GetSuccessRateToClose() *wrapperspb.UInt32Value { - if m != nil { - return m.SuccessRateToClose +func (x *RecoverConfig) GetSuccessRateToClose() *wrapperspb.UInt32Value { + if x != nil { + return x.SuccessRateToClose } return nil } -func (m *RecoverConfig) GetRequestCountAfterHalfOpen() *wrapperspb.UInt32Value { - if m != nil { - return m.RequestCountAfterHalfOpen +func (x *RecoverConfig) GetRequestCountAfterHalfOpen() *wrapperspb.UInt32Value { + if x != nil { + return x.RequestCountAfterHalfOpen } return nil } -func (m *RecoverConfig) GetOutlierDetectWhen() RecoverConfig_OutlierDetectWhen { - if m != nil { - return m.OutlierDetectWhen +func (x *RecoverConfig) GetOutlierDetectWhen() RecoverConfig_OutlierDetectWhen { + if x != nil { + return x.OutlierDetectWhen } return RecoverConfig_NEVER } // 熔断策略 type CbPolicy struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + ErrorRate *CbPolicy_ErrRateConfig `protobuf:"bytes,1,opt,name=errorRate,proto3" json:"errorRate,omitempty"` SlowRate *CbPolicy_SlowRateConfig `protobuf:"bytes,2,opt,name=slowRate,proto3" json:"slowRate,omitempty"` // 熔断的决策周期,多久触发一次熔断决策 JudgeDuration *durationpb.Duration `protobuf:"bytes,3,opt,name=judgeDuration,proto3" json:"judgeDuration,omitempty"` - // 最大熔断比例,超过多少比例后不会继续熔断 - MaxEjectionPercent *wrapperspb.UInt32Value `protobuf:"bytes,4,opt,name=maxEjectionPercent,proto3" json:"maxEjectionPercent,omitempty"` - Consecutive *CbPolicy_ConsecutiveErrConfig `protobuf:"bytes,5,opt,name=consecutive,proto3" json:"consecutive,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + //最大熔断比例,超过多少比例后不会继续熔断 + MaxEjectionPercent *wrapperspb.UInt32Value `protobuf:"bytes,4,opt,name=maxEjectionPercent,proto3" json:"maxEjectionPercent,omitempty"` + Consecutive *CbPolicy_ConsecutiveErrConfig `protobuf:"bytes,5,opt,name=consecutive,proto3" json:"consecutive,omitempty"` } -func (m *CbPolicy) Reset() { *m = CbPolicy{} } -func (m *CbPolicy) String() string { return proto.CompactTextString(m) } -func (*CbPolicy) ProtoMessage() {} -func (*CbPolicy) Descriptor() ([]byte, []int) { - return fileDescriptor_circuitbreaker_2a9ca54a8ade1f42, []int{3} -} -func (m *CbPolicy) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_CbPolicy.Unmarshal(m, b) -} -func (m *CbPolicy) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_CbPolicy.Marshal(b, m, deterministic) -} -func (dst *CbPolicy) XXX_Merge(src proto.Message) { - xxx_messageInfo_CbPolicy.Merge(dst, src) +func (x *CbPolicy) Reset() { + *x = CbPolicy{} + if protoimpl.UnsafeEnabled { + mi := &file_circuitbreaker_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (m *CbPolicy) XXX_Size() int { - return xxx_messageInfo_CbPolicy.Size(m) + +func (x *CbPolicy) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *CbPolicy) XXX_DiscardUnknown() { - xxx_messageInfo_CbPolicy.DiscardUnknown(m) + +func (*CbPolicy) ProtoMessage() {} + +func (x *CbPolicy) ProtoReflect() protoreflect.Message { + mi := &file_circuitbreaker_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) } -var xxx_messageInfo_CbPolicy proto.InternalMessageInfo +// Deprecated: Use CbPolicy.ProtoReflect.Descriptor instead. +func (*CbPolicy) Descriptor() ([]byte, []int) { + return file_circuitbreaker_proto_rawDescGZIP(), []int{3} +} -func (m *CbPolicy) GetErrorRate() *CbPolicy_ErrRateConfig { - if m != nil { - return m.ErrorRate +func (x *CbPolicy) GetErrorRate() *CbPolicy_ErrRateConfig { + if x != nil { + return x.ErrorRate } return nil } -func (m *CbPolicy) GetSlowRate() *CbPolicy_SlowRateConfig { - if m != nil { - return m.SlowRate +func (x *CbPolicy) GetSlowRate() *CbPolicy_SlowRateConfig { + if x != nil { + return x.SlowRate } return nil } -func (m *CbPolicy) GetJudgeDuration() *durationpb.Duration { - if m != nil { - return m.JudgeDuration +func (x *CbPolicy) GetJudgeDuration() *durationpb.Duration { + if x != nil { + return x.JudgeDuration } return nil } -func (m *CbPolicy) GetMaxEjectionPercent() *wrapperspb.UInt32Value { - if m != nil { - return m.MaxEjectionPercent +func (x *CbPolicy) GetMaxEjectionPercent() *wrapperspb.UInt32Value { + if x != nil { + return x.MaxEjectionPercent } return nil } -func (m *CbPolicy) GetConsecutive() *CbPolicy_ConsecutiveErrConfig { - if m != nil { - return m.Consecutive +func (x *CbPolicy) GetConsecutive() *CbPolicy_ConsecutiveErrConfig { + if x != nil { + return x.Consecutive } return nil } -// 错误率熔断配置 -type CbPolicy_ErrRateConfig struct { - // 是否启用错误率配置 - Enable *wrapperspb.BoolValue `protobuf:"bytes,1,opt,name=enable,proto3" json:"enable,omitempty"` - // 触发错误率熔断的最低请求阈值 - RequestVolumeThreshold *wrapperspb.UInt32Value `protobuf:"bytes,2,opt,name=requestVolumeThreshold,proto3" json:"requestVolumeThreshold,omitempty"` - // 可选。触发保持状态的错误率阈值,假如不配置,则默认不会进入Preserved状态 - ErrorRateToPreserved *wrapperspb.UInt32Value `protobuf:"bytes,3,opt,name=errorRateToPreserved,proto3" json:"errorRateToPreserved,omitempty"` - // 触发熔断的错误率阈值 - ErrorRateToOpen *wrapperspb.UInt32Value `protobuf:"bytes,4,opt,name=errorRateToOpen,proto3" json:"errorRateToOpen,omitempty"` - Specials []*CbPolicy_ErrRateConfig_SpecialConfig `protobuf:"bytes,5,rep,name=specials,proto3" json:"specials,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} +// 目标set的规则 +type DestinationSet struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields -func (m *CbPolicy_ErrRateConfig) Reset() { *m = CbPolicy_ErrRateConfig{} } -func (m *CbPolicy_ErrRateConfig) String() string { return proto.CompactTextString(m) } -func (*CbPolicy_ErrRateConfig) ProtoMessage() {} -func (*CbPolicy_ErrRateConfig) Descriptor() ([]byte, []int) { - return fileDescriptor_circuitbreaker_2a9ca54a8ade1f42, []int{3, 0} -} -func (m *CbPolicy_ErrRateConfig) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_CbPolicy_ErrRateConfig.Unmarshal(m, b) -} -func (m *CbPolicy_ErrRateConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_CbPolicy_ErrRateConfig.Marshal(b, m, deterministic) -} -func (dst *CbPolicy_ErrRateConfig) XXX_Merge(src proto.Message) { - xxx_messageInfo_CbPolicy_ErrRateConfig.Merge(dst, src) + // 被调命名空间以及服务名,可以为*,代表全匹配 + Service *wrapperspb.StringValue `protobuf:"bytes,1,opt,name=service,proto3" json:"service,omitempty"` + Namespace *wrapperspb.StringValue `protobuf:"bytes,2,opt,name=namespace,proto3" json:"namespace,omitempty"` + // 可选,SUBSET标识 + Metadata map[string]*model.MatchString `protobuf:"bytes,3,rep,name=metadata,proto3" json:"metadata,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + Resource DestinationSet_Resource `protobuf:"varint,4,opt,name=resource,proto3,enum=v1.DestinationSet_Resource" json:"resource,omitempty"` + Type DestinationSet_Type `protobuf:"varint,5,opt,name=type,proto3,enum=v1.DestinationSet_Type" json:"type,omitempty"` + Scope DestinationSet_Scope `protobuf:"varint,6,opt,name=scope,proto3,enum=v1.DestinationSet_Scope" json:"scope,omitempty"` + // 熔断数据度量周期 + // 所有的阈值指标按此周期进行统计 + MetricWindow *durationpb.Duration `protobuf:"bytes,7,opt,name=metricWindow,proto3" json:"metricWindow,omitempty"` + // 熔断数据统计精度,决定数据度量的最小周期 + // 度量滑窗的步长=window/precision + MetricPrecision *wrapperspb.UInt32Value `protobuf:"bytes,8,opt,name=metricPrecision,proto3" json:"metricPrecision,omitempty"` + // 熔断数据上报周期,对分布式熔断有效 + UpdateInterval *durationpb.Duration `protobuf:"bytes,9,opt,name=updateInterval,proto3" json:"updateInterval,omitempty"` + // 触发熔断后恢复配置 + Recover *RecoverConfig `protobuf:"bytes,10,opt,name=recover,proto3" json:"recover,omitempty"` + // 熔断策略 + Policy *CbPolicy `protobuf:"bytes,11,opt,name=policy,proto3" json:"policy,omitempty"` + // 被调的接口信息,指定哪些接口会使用该规则 + Method *model.MatchString `protobuf:"bytes,12,opt,name=method,proto3" json:"method,omitempty"` + // 返回码,指定哪些返回码会使用该规则 + ErrorCodes []*wrapperspb.Int64Value `protobuf:"bytes,13,rep,name=errorCodes,proto3" json:"errorCodes,omitempty"` } -func (m *CbPolicy_ErrRateConfig) XXX_Size() int { - return xxx_messageInfo_CbPolicy_ErrRateConfig.Size(m) + +func (x *DestinationSet) Reset() { + *x = DestinationSet{} + if protoimpl.UnsafeEnabled { + mi := &file_circuitbreaker_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (m *CbPolicy_ErrRateConfig) XXX_DiscardUnknown() { - xxx_messageInfo_CbPolicy_ErrRateConfig.DiscardUnknown(m) + +func (x *DestinationSet) String() string { + return protoimpl.X.MessageStringOf(x) } -var xxx_messageInfo_CbPolicy_ErrRateConfig proto.InternalMessageInfo +func (*DestinationSet) ProtoMessage() {} -func (m *CbPolicy_ErrRateConfig) GetEnable() *wrapperspb.BoolValue { - if m != nil { - return m.Enable +func (x *DestinationSet) ProtoReflect() protoreflect.Message { + mi := &file_circuitbreaker_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return nil + return mi.MessageOf(x) } -func (m *CbPolicy_ErrRateConfig) GetRequestVolumeThreshold() *wrapperspb.UInt32Value { - if m != nil { - return m.RequestVolumeThreshold - } - return nil +// Deprecated: Use DestinationSet.ProtoReflect.Descriptor instead. +func (*DestinationSet) Descriptor() ([]byte, []int) { + return file_circuitbreaker_proto_rawDescGZIP(), []int{4} } -func (m *CbPolicy_ErrRateConfig) GetErrorRateToPreserved() *wrapperspb.UInt32Value { - if m != nil { - return m.ErrorRateToPreserved +func (x *DestinationSet) GetService() *wrapperspb.StringValue { + if x != nil { + return x.Service } return nil } -func (m *CbPolicy_ErrRateConfig) GetErrorRateToOpen() *wrapperspb.UInt32Value { - if m != nil { - return m.ErrorRateToOpen +func (x *DestinationSet) GetNamespace() *wrapperspb.StringValue { + if x != nil { + return x.Namespace } return nil } -func (m *CbPolicy_ErrRateConfig) GetSpecials() []*CbPolicy_ErrRateConfig_SpecialConfig { - if m != nil { - return m.Specials +func (x *DestinationSet) GetMetadata() map[string]*model.MatchString { + if x != nil { + return x.Metadata } return nil } -// 错误码相关特定配置 -type CbPolicy_ErrRateConfig_SpecialConfig struct { - // 熔断关心的错误类型,用户可以自己定义 - Type *wrapperspb.StringValue `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"` - ErrorCodes []*wrapperspb.Int64Value `protobuf:"bytes,2,rep,name=errorCodes,proto3" json:"errorCodes,omitempty"` - ErrorRateToPreserved *wrapperspb.UInt32Value `protobuf:"bytes,3,opt,name=errorRateToPreserved,proto3" json:"errorRateToPreserved,omitempty"` - ErrorRateToOpen *wrapperspb.UInt32Value `protobuf:"bytes,4,opt,name=errorRateToOpen,proto3" json:"errorRateToOpen,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` +func (x *DestinationSet) GetResource() DestinationSet_Resource { + if x != nil { + return x.Resource + } + return DestinationSet_SUBSET } -func (m *CbPolicy_ErrRateConfig_SpecialConfig) Reset() { *m = CbPolicy_ErrRateConfig_SpecialConfig{} } -func (m *CbPolicy_ErrRateConfig_SpecialConfig) String() string { return proto.CompactTextString(m) } -func (*CbPolicy_ErrRateConfig_SpecialConfig) ProtoMessage() {} -func (*CbPolicy_ErrRateConfig_SpecialConfig) Descriptor() ([]byte, []int) { - return fileDescriptor_circuitbreaker_2a9ca54a8ade1f42, []int{3, 0, 0} -} -func (m *CbPolicy_ErrRateConfig_SpecialConfig) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_CbPolicy_ErrRateConfig_SpecialConfig.Unmarshal(m, b) -} -func (m *CbPolicy_ErrRateConfig_SpecialConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_CbPolicy_ErrRateConfig_SpecialConfig.Marshal(b, m, deterministic) -} -func (dst *CbPolicy_ErrRateConfig_SpecialConfig) XXX_Merge(src proto.Message) { - xxx_messageInfo_CbPolicy_ErrRateConfig_SpecialConfig.Merge(dst, src) -} -func (m *CbPolicy_ErrRateConfig_SpecialConfig) XXX_Size() int { - return xxx_messageInfo_CbPolicy_ErrRateConfig_SpecialConfig.Size(m) -} -func (m *CbPolicy_ErrRateConfig_SpecialConfig) XXX_DiscardUnknown() { - xxx_messageInfo_CbPolicy_ErrRateConfig_SpecialConfig.DiscardUnknown(m) +func (x *DestinationSet) GetType() DestinationSet_Type { + if x != nil { + return x.Type + } + return DestinationSet_GLOBAL } -var xxx_messageInfo_CbPolicy_ErrRateConfig_SpecialConfig proto.InternalMessageInfo +func (x *DestinationSet) GetScope() DestinationSet_Scope { + if x != nil { + return x.Scope + } + return DestinationSet_ALL +} -func (m *CbPolicy_ErrRateConfig_SpecialConfig) GetType() *wrapperspb.StringValue { - if m != nil { - return m.Type +func (x *DestinationSet) GetMetricWindow() *durationpb.Duration { + if x != nil { + return x.MetricWindow } return nil } -func (m *CbPolicy_ErrRateConfig_SpecialConfig) GetErrorCodes() []*wrapperspb.Int64Value { - if m != nil { - return m.ErrorCodes +func (x *DestinationSet) GetMetricPrecision() *wrapperspb.UInt32Value { + if x != nil { + return x.MetricPrecision } return nil } -func (m *CbPolicy_ErrRateConfig_SpecialConfig) GetErrorRateToPreserved() *wrapperspb.UInt32Value { - if m != nil { - return m.ErrorRateToPreserved +func (x *DestinationSet) GetUpdateInterval() *durationpb.Duration { + if x != nil { + return x.UpdateInterval } return nil } -func (m *CbPolicy_ErrRateConfig_SpecialConfig) GetErrorRateToOpen() *wrapperspb.UInt32Value { - if m != nil { - return m.ErrorRateToOpen +func (x *DestinationSet) GetRecover() *RecoverConfig { + if x != nil { + return x.Recover } return nil } -// 慢调用率熔断策略配置 -type CbPolicy_SlowRateConfig struct { - // 是否启用慢调用率配置 - Enable *wrapperspb.BoolValue `protobuf:"bytes,1,opt,name=enable,proto3" json:"enable,omitempty"` - // 最大响应时间,超过该时间属于慢调用请求 - MaxRt *durationpb.Duration `protobuf:"bytes,2,opt,name=maxRt,proto3" json:"maxRt,omitempty"` - // 可选。触发保持状态的超时率阈值,假如不配置,则默认不会进入Preserved状态 - SlowRateToPreserved *wrapperspb.UInt32Value `protobuf:"bytes,3,opt,name=slowRateToPreserved,proto3" json:"slowRateToPreserved,omitempty"` - // 触发熔断的超时率阈值 - SlowRateToOpen *wrapperspb.UInt32Value `protobuf:"bytes,4,opt,name=slowRateToOpen,proto3" json:"slowRateToOpen,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` +func (x *DestinationSet) GetPolicy() *CbPolicy { + if x != nil { + return x.Policy + } + return nil } -func (m *CbPolicy_SlowRateConfig) Reset() { *m = CbPolicy_SlowRateConfig{} } -func (m *CbPolicy_SlowRateConfig) String() string { return proto.CompactTextString(m) } -func (*CbPolicy_SlowRateConfig) ProtoMessage() {} -func (*CbPolicy_SlowRateConfig) Descriptor() ([]byte, []int) { - return fileDescriptor_circuitbreaker_2a9ca54a8ade1f42, []int{3, 1} -} -func (m *CbPolicy_SlowRateConfig) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_CbPolicy_SlowRateConfig.Unmarshal(m, b) +func (x *DestinationSet) GetMethod() *model.MatchString { + if x != nil { + return x.Method + } + return nil } -func (m *CbPolicy_SlowRateConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_CbPolicy_SlowRateConfig.Marshal(b, m, deterministic) + +func (x *DestinationSet) GetErrorCodes() []*wrapperspb.Int64Value { + if x != nil { + return x.ErrorCodes + } + return nil } -func (dst *CbPolicy_SlowRateConfig) XXX_Merge(src proto.Message) { - xxx_messageInfo_CbPolicy_SlowRateConfig.Merge(dst, src) + +// 具体熔断规则 +type CbRule struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // 如果匹配Source规则,按照Destination进行熔断 + // 多个Source之间的关系为或 + Sources []*SourceMatcher `protobuf:"bytes,1,rep,name=sources,proto3" json:"sources,omitempty"` + Destinations []*DestinationSet `protobuf:"bytes,2,rep,name=destinations,proto3" json:"destinations,omitempty"` } -func (m *CbPolicy_SlowRateConfig) XXX_Size() int { - return xxx_messageInfo_CbPolicy_SlowRateConfig.Size(m) + +func (x *CbRule) Reset() { + *x = CbRule{} + if protoimpl.UnsafeEnabled { + mi := &file_circuitbreaker_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (m *CbPolicy_SlowRateConfig) XXX_DiscardUnknown() { - xxx_messageInfo_CbPolicy_SlowRateConfig.DiscardUnknown(m) + +func (x *CbRule) String() string { + return protoimpl.X.MessageStringOf(x) } -var xxx_messageInfo_CbPolicy_SlowRateConfig proto.InternalMessageInfo +func (*CbRule) ProtoMessage() {} -func (m *CbPolicy_SlowRateConfig) GetEnable() *wrapperspb.BoolValue { - if m != nil { - return m.Enable +func (x *CbRule) ProtoReflect() protoreflect.Message { + mi := &file_circuitbreaker_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return nil + return mi.MessageOf(x) } -func (m *CbPolicy_SlowRateConfig) GetMaxRt() *durationpb.Duration { - if m != nil { - return m.MaxRt - } - return nil +// Deprecated: Use CbRule.ProtoReflect.Descriptor instead. +func (*CbRule) Descriptor() ([]byte, []int) { + return file_circuitbreaker_proto_rawDescGZIP(), []int{5} } -func (m *CbPolicy_SlowRateConfig) GetSlowRateToPreserved() *wrapperspb.UInt32Value { - if m != nil { - return m.SlowRateToPreserved +func (x *CbRule) GetSources() []*SourceMatcher { + if x != nil { + return x.Sources } return nil } -func (m *CbPolicy_SlowRateConfig) GetSlowRateToOpen() *wrapperspb.UInt32Value { - if m != nil { - return m.SlowRateToOpen +func (x *CbRule) GetDestinations() []*DestinationSet { + if x != nil { + return x.Destinations } return nil } -// 连续错误数熔断配置 -type CbPolicy_ConsecutiveErrConfig struct { - // 是否启用连续错误数配置 - Enable *wrapperspb.BoolValue `protobuf:"bytes,1,opt,name=enable,proto3" json:"enable,omitempty"` - // 连续错误数阈值,进入Preserved状态 - ConsecutiveErrorToPreserved *wrapperspb.UInt32Value `protobuf:"bytes,2,opt,name=consecutiveErrorToPreserved,proto3" json:"consecutiveErrorToPreserved,omitempty"` - // 连续错误数阈值,进入Open状态 - ConsecutiveErrorToOpen *wrapperspb.UInt32Value `protobuf:"bytes,3,opt,name=consecutiveErrorToOpen,proto3" json:"consecutiveErrorToOpen,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} +type RuleMatcher struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields -func (m *CbPolicy_ConsecutiveErrConfig) Reset() { *m = CbPolicy_ConsecutiveErrConfig{} } -func (m *CbPolicy_ConsecutiveErrConfig) String() string { return proto.CompactTextString(m) } -func (*CbPolicy_ConsecutiveErrConfig) ProtoMessage() {} -func (*CbPolicy_ConsecutiveErrConfig) Descriptor() ([]byte, []int) { - return fileDescriptor_circuitbreaker_2a9ca54a8ade1f42, []int{3, 2} + Source *RuleMatcher_SourceService `protobuf:"bytes,1,opt,name=source,proto3" json:"source,omitempty"` + Destination *RuleMatcher_DestinationService `protobuf:"bytes,2,opt,name=destination,proto3" json:"destination,omitempty"` } -func (m *CbPolicy_ConsecutiveErrConfig) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_CbPolicy_ConsecutiveErrConfig.Unmarshal(m, b) -} -func (m *CbPolicy_ConsecutiveErrConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_CbPolicy_ConsecutiveErrConfig.Marshal(b, m, deterministic) -} -func (dst *CbPolicy_ConsecutiveErrConfig) XXX_Merge(src proto.Message) { - xxx_messageInfo_CbPolicy_ConsecutiveErrConfig.Merge(dst, src) -} -func (m *CbPolicy_ConsecutiveErrConfig) XXX_Size() int { - return xxx_messageInfo_CbPolicy_ConsecutiveErrConfig.Size(m) + +func (x *RuleMatcher) Reset() { + *x = RuleMatcher{} + if protoimpl.UnsafeEnabled { + mi := &file_circuitbreaker_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (m *CbPolicy_ConsecutiveErrConfig) XXX_DiscardUnknown() { - xxx_messageInfo_CbPolicy_ConsecutiveErrConfig.DiscardUnknown(m) + +func (x *RuleMatcher) String() string { + return protoimpl.X.MessageStringOf(x) } -var xxx_messageInfo_CbPolicy_ConsecutiveErrConfig proto.InternalMessageInfo +func (*RuleMatcher) ProtoMessage() {} -func (m *CbPolicy_ConsecutiveErrConfig) GetEnable() *wrapperspb.BoolValue { - if m != nil { - return m.Enable +func (x *RuleMatcher) ProtoReflect() protoreflect.Message { + mi := &file_circuitbreaker_proto_msgTypes[6] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return nil + return mi.MessageOf(x) +} + +// Deprecated: Use RuleMatcher.ProtoReflect.Descriptor instead. +func (*RuleMatcher) Descriptor() ([]byte, []int) { + return file_circuitbreaker_proto_rawDescGZIP(), []int{6} } -func (m *CbPolicy_ConsecutiveErrConfig) GetConsecutiveErrorToPreserved() *wrapperspb.UInt32Value { - if m != nil { - return m.ConsecutiveErrorToPreserved +func (x *RuleMatcher) GetSource() *RuleMatcher_SourceService { + if x != nil { + return x.Source } return nil } -func (m *CbPolicy_ConsecutiveErrConfig) GetConsecutiveErrorToOpen() *wrapperspb.UInt32Value { - if m != nil { - return m.ConsecutiveErrorToOpen +func (x *RuleMatcher) GetDestination() *RuleMatcher_DestinationService { + if x != nil { + return x.Destination } return nil } -// 目标set的规则 -type DestinationSet struct { - // 被调命名空间以及服务名,可以为*,代表全匹配 - Service *wrapperspb.StringValue `protobuf:"bytes,1,opt,name=service,proto3" json:"service,omitempty"` - Namespace *wrapperspb.StringValue `protobuf:"bytes,2,opt,name=namespace,proto3" json:"namespace,omitempty"` - // 可选,SUBSET标识 - Metadata map[string]*model.MatchString `protobuf:"bytes,3,rep,name=metadata,proto3" json:"metadata,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` - Resource DestinationSet_Resource `protobuf:"varint,4,opt,name=resource,proto3,enum=v1.DestinationSet_Resource" json:"resource,omitempty"` - Type DestinationSet_Type `protobuf:"varint,5,opt,name=type,proto3,enum=v1.DestinationSet_Type" json:"type,omitempty"` - Scope DestinationSet_Scope `protobuf:"varint,6,opt,name=scope,proto3,enum=v1.DestinationSet_Scope" json:"scope,omitempty"` - // 熔断数据度量周期 - // 所有的阈值指标按此周期进行统计 - MetricWindow *durationpb.Duration `protobuf:"bytes,7,opt,name=metricWindow,proto3" json:"metricWindow,omitempty"` - // 熔断数据统计精度,决定数据度量的最小周期 - // 度量滑窗的步长=window/precision - MetricPrecision *wrapperspb.UInt32Value `protobuf:"bytes,8,opt,name=metricPrecision,proto3" json:"metricPrecision,omitempty"` - // 熔断数据上报周期,对分布式熔断有效 - UpdateInterval *durationpb.Duration `protobuf:"bytes,9,opt,name=updateInterval,proto3" json:"updateInterval,omitempty"` - // 触发熔断后恢复配置 - Recover *RecoverConfig `protobuf:"bytes,10,opt,name=recover,proto3" json:"recover,omitempty"` - // 熔断策略 - Policy *CbPolicy `protobuf:"bytes,11,opt,name=policy,proto3" json:"policy,omitempty"` - // 被调的接口信息,指定哪些接口会使用该规则 - Method *model.MatchString `protobuf:"bytes,12,opt,name=method,proto3" json:"method,omitempty"` - // 返回码,指定哪些返回码会使用该规则 - ErrorCodes []*wrapperspb.Int64Value `protobuf:"bytes,13,rep,name=errorCodes,proto3" json:"errorCodes,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` +// new specific rule for circuitbreaker config +type CircuitBreakerRule struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + // rule name + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + // namespace of rule + Namespace string `protobuf:"bytes,3,opt,name=namespace,proto3" json:"namespace,omitempty"` + // enable this router + Enable bool `protobuf:"varint,4,opt,name=enable,proto3" json:"enable,omitempty"` + // revision routing version + Revision string `protobuf:"bytes,5,opt,name=revision,proto3" json:"revision,omitempty"` + // ctime create time of the rules + Ctime string `protobuf:"bytes,6,opt,name=ctime,proto3" json:"ctime,omitempty"` + // mtime modify time of the rules + Mtime string `protobuf:"bytes,7,opt,name=mtime,proto3" json:"mtime,omitempty"` + // etime enable time of the rules + Etime string `protobuf:"bytes,8,opt,name=etime,proto3" json:"etime,omitempty"` + // description simple description rules + Description string `protobuf:"bytes,9,opt,name=description,proto3" json:"description,omitempty"` + // the circuitbreaking level + Level Level `protobuf:"varint,21,opt,name=level,proto3,enum=v1.Level" json:"level,omitempty"` + // match condition for this rule + RuleMatcher *RuleMatcher `protobuf:"bytes,22,opt,name=rule_matcher,json=ruleMatcher,proto3" json:"rule_matcher,omitempty"` + // deprecated_filed error conditions to judge an invocation as an error + // + // Deprecated: Marked as deprecated in circuitbreaker.proto. + ErrorConditions []*ErrorCondition `protobuf:"bytes,23,rep,name=error_conditions,json=errorConditions,proto3" json:"error_conditions,omitempty"` + // deprecated_filed trigger condition to trigger circuitbreaking + // + // Deprecated: Marked as deprecated in circuitbreaker.proto. + TriggerCondition []*TriggerCondition `protobuf:"bytes,24,rep,name=trigger_condition,json=triggerCondition,proto3" json:"trigger_condition,omitempty"` + // the maximum % of an upstream cluster that can be ejected + MaxEjectionPercent uint32 `protobuf:"varint,25,opt,name=max_ejection_percent,json=maxEjectionPercent,proto3" json:"max_ejection_percent,omitempty"` + // recover condition to make resource open to close + RecoverCondition *RecoverCondition `protobuf:"bytes,26,opt,name=recoverCondition,proto3" json:"recoverCondition,omitempty"` + // fault detection enable config + FaultDetectConfig *FaultDetectConfig `protobuf:"bytes,27,opt,name=faultDetectConfig,proto3" json:"faultDetectConfig,omitempty"` + // fall back configuration + FallbackConfig *FallbackConfig `protobuf:"bytes,28,opt,name=fallbackConfig,proto3" json:"fallbackConfig,omitempty"` + // list for block configuration + BlockConfigs []*BlockConfig `protobuf:"bytes,29,rep,name=block_configs,proto3" json:"block_configs,omitempty"` + // priority rules priority + Priority uint32 `protobuf:"varint,30,opt,name=priority,proto3" json:"priority,omitempty"` + // 熔断规则标签数据 + Metadata map[string]string `protobuf:"bytes,31,rep,name=metadata,proto3" json:"metadata,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // 操作标志位 + Editable bool `protobuf:"varint,40,opt,name=editable,proto3" json:"editable,omitempty"` + Deleteable bool `protobuf:"varint,41,opt,name=deleteable,proto3" json:"deleteable,omitempty"` } -func (m *DestinationSet) Reset() { *m = DestinationSet{} } -func (m *DestinationSet) String() string { return proto.CompactTextString(m) } -func (*DestinationSet) ProtoMessage() {} -func (*DestinationSet) Descriptor() ([]byte, []int) { - return fileDescriptor_circuitbreaker_2a9ca54a8ade1f42, []int{4} +func (x *CircuitBreakerRule) Reset() { + *x = CircuitBreakerRule{} + if protoimpl.UnsafeEnabled { + mi := &file_circuitbreaker_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (m *DestinationSet) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_DestinationSet.Unmarshal(m, b) + +func (x *CircuitBreakerRule) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *DestinationSet) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_DestinationSet.Marshal(b, m, deterministic) + +func (*CircuitBreakerRule) ProtoMessage() {} + +func (x *CircuitBreakerRule) ProtoReflect() protoreflect.Message { + mi := &file_circuitbreaker_proto_msgTypes[7] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) } -func (dst *DestinationSet) XXX_Merge(src proto.Message) { - xxx_messageInfo_DestinationSet.Merge(dst, src) + +// Deprecated: Use CircuitBreakerRule.ProtoReflect.Descriptor instead. +func (*CircuitBreakerRule) Descriptor() ([]byte, []int) { + return file_circuitbreaker_proto_rawDescGZIP(), []int{7} } -func (m *DestinationSet) XXX_Size() int { - return xxx_messageInfo_DestinationSet.Size(m) + +func (x *CircuitBreakerRule) GetId() string { + if x != nil { + return x.Id + } + return "" } -func (m *DestinationSet) XXX_DiscardUnknown() { - xxx_messageInfo_DestinationSet.DiscardUnknown(m) + +func (x *CircuitBreakerRule) GetName() string { + if x != nil { + return x.Name + } + return "" } -var xxx_messageInfo_DestinationSet proto.InternalMessageInfo +func (x *CircuitBreakerRule) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} -func (m *DestinationSet) GetService() *wrapperspb.StringValue { - if m != nil { - return m.Service +func (x *CircuitBreakerRule) GetEnable() bool { + if x != nil { + return x.Enable } - return nil + return false } -func (m *DestinationSet) GetNamespace() *wrapperspb.StringValue { - if m != nil { - return m.Namespace +func (x *CircuitBreakerRule) GetRevision() string { + if x != nil { + return x.Revision } - return nil + return "" } -func (m *DestinationSet) GetMetadata() map[string]*model.MatchString { - if m != nil { - return m.Metadata +func (x *CircuitBreakerRule) GetCtime() string { + if x != nil { + return x.Ctime } - return nil + return "" } -func (m *DestinationSet) GetResource() DestinationSet_Resource { - if m != nil { - return m.Resource +func (x *CircuitBreakerRule) GetMtime() string { + if x != nil { + return x.Mtime } - return DestinationSet_SUBSET + return "" } -func (m *DestinationSet) GetType() DestinationSet_Type { - if m != nil { - return m.Type +func (x *CircuitBreakerRule) GetEtime() string { + if x != nil { + return x.Etime } - return DestinationSet_GLOBAL + return "" } -func (m *DestinationSet) GetScope() DestinationSet_Scope { - if m != nil { - return m.Scope +func (x *CircuitBreakerRule) GetDescription() string { + if x != nil { + return x.Description } - return DestinationSet_ALL + return "" } -func (m *DestinationSet) GetMetricWindow() *durationpb.Duration { - if m != nil { - return m.MetricWindow +func (x *CircuitBreakerRule) GetLevel() Level { + if x != nil { + return x.Level } - return nil + return Level_UNKNOWN } -func (m *DestinationSet) GetMetricPrecision() *wrapperspb.UInt32Value { - if m != nil { - return m.MetricPrecision +func (x *CircuitBreakerRule) GetRuleMatcher() *RuleMatcher { + if x != nil { + return x.RuleMatcher } return nil } -func (m *DestinationSet) GetUpdateInterval() *durationpb.Duration { - if m != nil { - return m.UpdateInterval +// Deprecated: Marked as deprecated in circuitbreaker.proto. +func (x *CircuitBreakerRule) GetErrorConditions() []*ErrorCondition { + if x != nil { + return x.ErrorConditions } return nil } -func (m *DestinationSet) GetRecover() *RecoverConfig { - if m != nil { - return m.Recover +// Deprecated: Marked as deprecated in circuitbreaker.proto. +func (x *CircuitBreakerRule) GetTriggerCondition() []*TriggerCondition { + if x != nil { + return x.TriggerCondition } return nil } -func (m *DestinationSet) GetPolicy() *CbPolicy { - if m != nil { - return m.Policy +func (x *CircuitBreakerRule) GetMaxEjectionPercent() uint32 { + if x != nil { + return x.MaxEjectionPercent } - return nil + return 0 } -func (m *DestinationSet) GetMethod() *model.MatchString { - if m != nil { - return m.Method +func (x *CircuitBreakerRule) GetRecoverCondition() *RecoverCondition { + if x != nil { + return x.RecoverCondition } return nil } -func (m *DestinationSet) GetErrorCodes() []*wrapperspb.Int64Value { - if m != nil { - return m.ErrorCodes +func (x *CircuitBreakerRule) GetFaultDetectConfig() *FaultDetectConfig { + if x != nil { + return x.FaultDetectConfig } return nil } -// 具体熔断规则 -type CbRule struct { - // 如果匹配Source规则,按照Destination进行熔断 - // 多个Source之间的关系为或 - Sources []*SourceMatcher `protobuf:"bytes,1,rep,name=sources,proto3" json:"sources,omitempty"` - Destinations []*DestinationSet `protobuf:"bytes,2,rep,name=destinations,proto3" json:"destinations,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` +func (x *CircuitBreakerRule) GetFallbackConfig() *FallbackConfig { + if x != nil { + return x.FallbackConfig + } + return nil } -func (m *CbRule) Reset() { *m = CbRule{} } -func (m *CbRule) String() string { return proto.CompactTextString(m) } -func (*CbRule) ProtoMessage() {} -func (*CbRule) Descriptor() ([]byte, []int) { - return fileDescriptor_circuitbreaker_2a9ca54a8ade1f42, []int{5} -} -func (m *CbRule) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_CbRule.Unmarshal(m, b) -} -func (m *CbRule) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_CbRule.Marshal(b, m, deterministic) -} -func (dst *CbRule) XXX_Merge(src proto.Message) { - xxx_messageInfo_CbRule.Merge(dst, src) -} -func (m *CbRule) XXX_Size() int { - return xxx_messageInfo_CbRule.Size(m) -} -func (m *CbRule) XXX_DiscardUnknown() { - xxx_messageInfo_CbRule.DiscardUnknown(m) +func (x *CircuitBreakerRule) GetBlockConfigs() []*BlockConfig { + if x != nil { + return x.BlockConfigs + } + return nil } -var xxx_messageInfo_CbRule proto.InternalMessageInfo - -func (m *CbRule) GetSources() []*SourceMatcher { - if m != nil { - return m.Sources +func (x *CircuitBreakerRule) GetPriority() uint32 { + if x != nil { + return x.Priority } - return nil + return 0 } -func (m *CbRule) GetDestinations() []*DestinationSet { - if m != nil { - return m.Destinations +func (x *CircuitBreakerRule) GetMetadata() map[string]string { + if x != nil { + return x.Metadata } return nil } -type RuleMatcher struct { - Source *RuleMatcher_SourceService `protobuf:"bytes,1,opt,name=source,proto3" json:"source,omitempty"` - Destination *RuleMatcher_DestinationService `protobuf:"bytes,2,opt,name=destination,proto3" json:"destination,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` +func (x *CircuitBreakerRule) GetEditable() bool { + if x != nil { + return x.Editable + } + return false } -func (m *RuleMatcher) Reset() { *m = RuleMatcher{} } -func (m *RuleMatcher) String() string { return proto.CompactTextString(m) } -func (*RuleMatcher) ProtoMessage() {} -func (*RuleMatcher) Descriptor() ([]byte, []int) { - return fileDescriptor_circuitbreaker_2a9ca54a8ade1f42, []int{6} -} -func (m *RuleMatcher) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_RuleMatcher.Unmarshal(m, b) +func (x *CircuitBreakerRule) GetDeleteable() bool { + if x != nil { + return x.Deleteable + } + return false } -func (m *RuleMatcher) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_RuleMatcher.Marshal(b, m, deterministic) + +// the condition to judge an input invocation as an error +type ErrorCondition struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + InputType ErrorCondition_InputType `protobuf:"varint,1,opt,name=input_type,json=inputType,proto3,enum=v1.ErrorCondition_InputType" json:"input_type,omitempty"` + Condition *model.MatchString `protobuf:"bytes,2,opt,name=condition,proto3" json:"condition,omitempty"` } -func (dst *RuleMatcher) XXX_Merge(src proto.Message) { - xxx_messageInfo_RuleMatcher.Merge(dst, src) + +func (x *ErrorCondition) Reset() { + *x = ErrorCondition{} + if protoimpl.UnsafeEnabled { + mi := &file_circuitbreaker_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (m *RuleMatcher) XXX_Size() int { - return xxx_messageInfo_RuleMatcher.Size(m) + +func (x *ErrorCondition) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *RuleMatcher) XXX_DiscardUnknown() { - xxx_messageInfo_RuleMatcher.DiscardUnknown(m) + +func (*ErrorCondition) ProtoMessage() {} + +func (x *ErrorCondition) ProtoReflect() protoreflect.Message { + mi := &file_circuitbreaker_proto_msgTypes[8] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) } -var xxx_messageInfo_RuleMatcher proto.InternalMessageInfo +// Deprecated: Use ErrorCondition.ProtoReflect.Descriptor instead. +func (*ErrorCondition) Descriptor() ([]byte, []int) { + return file_circuitbreaker_proto_rawDescGZIP(), []int{8} +} -func (m *RuleMatcher) GetSource() *RuleMatcher_SourceService { - if m != nil { - return m.Source +func (x *ErrorCondition) GetInputType() ErrorCondition_InputType { + if x != nil { + return x.InputType } - return nil + return ErrorCondition_UNKNOWN } -func (m *RuleMatcher) GetDestination() *RuleMatcher_DestinationService { - if m != nil { - return m.Destination +func (x *ErrorCondition) GetCondition() *model.MatchString { + if x != nil { + return x.Condition } return nil } -type RuleMatcher_SourceService struct { - Service string `protobuf:"bytes,1,opt,name=service,proto3" json:"service,omitempty"` - Namespace string `protobuf:"bytes,2,opt,name=namespace,proto3" json:"namespace,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} +// the error condition to trigger circuitbreaking +type TriggerCondition struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields -func (m *RuleMatcher_SourceService) Reset() { *m = RuleMatcher_SourceService{} } -func (m *RuleMatcher_SourceService) String() string { return proto.CompactTextString(m) } -func (*RuleMatcher_SourceService) ProtoMessage() {} -func (*RuleMatcher_SourceService) Descriptor() ([]byte, []int) { - return fileDescriptor_circuitbreaker_2a9ca54a8ade1f42, []int{6, 0} -} -func (m *RuleMatcher_SourceService) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_RuleMatcher_SourceService.Unmarshal(m, b) -} -func (m *RuleMatcher_SourceService) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_RuleMatcher_SourceService.Marshal(b, m, deterministic) -} -func (dst *RuleMatcher_SourceService) XXX_Merge(src proto.Message) { - xxx_messageInfo_RuleMatcher_SourceService.Merge(dst, src) + TriggerType TriggerCondition_TriggerType `protobuf:"varint,1,opt,name=trigger_type,json=triggerType,proto3,enum=v1.TriggerCondition_TriggerType" json:"trigger_type,omitempty"` + ErrorCount uint32 `protobuf:"varint,2,opt,name=error_count,json=errorCount,proto3" json:"error_count,omitempty"` + ErrorPercent uint32 `protobuf:"varint,3,opt,name=error_percent,json=errorPercent,proto3" json:"error_percent,omitempty"` + Interval uint32 `protobuf:"varint,4,opt,name=interval,proto3" json:"interval,omitempty"` + MinimumRequest uint32 `protobuf:"varint,5,opt,name=minimum_request,json=minimumRequest,proto3" json:"minimum_request,omitempty"` } -func (m *RuleMatcher_SourceService) XXX_Size() int { - return xxx_messageInfo_RuleMatcher_SourceService.Size(m) + +func (x *TriggerCondition) Reset() { + *x = TriggerCondition{} + if protoimpl.UnsafeEnabled { + mi := &file_circuitbreaker_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (m *RuleMatcher_SourceService) XXX_DiscardUnknown() { - xxx_messageInfo_RuleMatcher_SourceService.DiscardUnknown(m) + +func (x *TriggerCondition) String() string { + return protoimpl.X.MessageStringOf(x) } -var xxx_messageInfo_RuleMatcher_SourceService proto.InternalMessageInfo +func (*TriggerCondition) ProtoMessage() {} -func (m *RuleMatcher_SourceService) GetService() string { - if m != nil { - return m.Service +func (x *TriggerCondition) ProtoReflect() protoreflect.Message { + mi := &file_circuitbreaker_proto_msgTypes[9] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return "" + return mi.MessageOf(x) } -func (m *RuleMatcher_SourceService) GetNamespace() string { - if m != nil { - return m.Namespace - } - return "" +// Deprecated: Use TriggerCondition.ProtoReflect.Descriptor instead. +func (*TriggerCondition) Descriptor() ([]byte, []int) { + return file_circuitbreaker_proto_rawDescGZIP(), []int{9} } -type RuleMatcher_DestinationService struct { - Service string `protobuf:"bytes,1,opt,name=service,proto3" json:"service,omitempty"` - Namespace string `protobuf:"bytes,2,opt,name=namespace,proto3" json:"namespace,omitempty"` - // deprecated_filed using api.path in blockConfig instead - Method *model.MatchString `protobuf:"bytes,3,opt,name=method,proto3" json:"method,omitempty"` // Deprecated: Do not use. - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` +func (x *TriggerCondition) GetTriggerType() TriggerCondition_TriggerType { + if x != nil { + return x.TriggerType + } + return TriggerCondition_UNKNOWN } -func (m *RuleMatcher_DestinationService) Reset() { *m = RuleMatcher_DestinationService{} } -func (m *RuleMatcher_DestinationService) String() string { return proto.CompactTextString(m) } -func (*RuleMatcher_DestinationService) ProtoMessage() {} -func (*RuleMatcher_DestinationService) Descriptor() ([]byte, []int) { - return fileDescriptor_circuitbreaker_2a9ca54a8ade1f42, []int{6, 1} -} -func (m *RuleMatcher_DestinationService) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_RuleMatcher_DestinationService.Unmarshal(m, b) -} -func (m *RuleMatcher_DestinationService) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_RuleMatcher_DestinationService.Marshal(b, m, deterministic) -} -func (dst *RuleMatcher_DestinationService) XXX_Merge(src proto.Message) { - xxx_messageInfo_RuleMatcher_DestinationService.Merge(dst, src) -} -func (m *RuleMatcher_DestinationService) XXX_Size() int { - return xxx_messageInfo_RuleMatcher_DestinationService.Size(m) -} -func (m *RuleMatcher_DestinationService) XXX_DiscardUnknown() { - xxx_messageInfo_RuleMatcher_DestinationService.DiscardUnknown(m) +func (x *TriggerCondition) GetErrorCount() uint32 { + if x != nil { + return x.ErrorCount + } + return 0 } -var xxx_messageInfo_RuleMatcher_DestinationService proto.InternalMessageInfo - -func (m *RuleMatcher_DestinationService) GetService() string { - if m != nil { - return m.Service +func (x *TriggerCondition) GetErrorPercent() uint32 { + if x != nil { + return x.ErrorPercent } - return "" + return 0 } -func (m *RuleMatcher_DestinationService) GetNamespace() string { - if m != nil { - return m.Namespace +func (x *TriggerCondition) GetInterval() uint32 { + if x != nil { + return x.Interval } - return "" + return 0 } -// Deprecated: Do not use. -func (m *RuleMatcher_DestinationService) GetMethod() *model.MatchString { - if m != nil { - return m.Method +func (x *TriggerCondition) GetMinimumRequest() uint32 { + if x != nil { + return x.MinimumRequest } - return nil + return 0 } -// new specific rule for circuitbreaker config -type CircuitBreakerRule struct { - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - // rule name - Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` - // namespace of rule - Namespace string `protobuf:"bytes,3,opt,name=namespace,proto3" json:"namespace,omitempty"` - // enable this router - Enable bool `protobuf:"varint,4,opt,name=enable,proto3" json:"enable,omitempty"` - // revision routing version - Revision string `protobuf:"bytes,5,opt,name=revision,proto3" json:"revision,omitempty"` - // ctime create time of the rules - Ctime string `protobuf:"bytes,6,opt,name=ctime,proto3" json:"ctime,omitempty"` - // mtime modify time of the rules - Mtime string `protobuf:"bytes,7,opt,name=mtime,proto3" json:"mtime,omitempty"` - // etime enable time of the rules - Etime string `protobuf:"bytes,8,opt,name=etime,proto3" json:"etime,omitempty"` - // description simple description rules - Description string `protobuf:"bytes,9,opt,name=description,proto3" json:"description,omitempty"` - // the circuitbreaking level - Level Level `protobuf:"varint,21,opt,name=level,proto3,enum=v1.Level" json:"level,omitempty"` - // match condition for this rule - RuleMatcher *RuleMatcher `protobuf:"bytes,22,opt,name=rule_matcher,json=ruleMatcher,proto3" json:"rule_matcher,omitempty"` - // deprecated_filed error conditions to judge an invocation as an error - ErrorConditions []*ErrorCondition `protobuf:"bytes,23,rep,name=error_conditions,json=errorConditions,proto3" json:"error_conditions,omitempty"` // Deprecated: Do not use. - // deprecated_filed trigger condition to trigger circuitbreaking - TriggerCondition []*TriggerCondition `protobuf:"bytes,24,rep,name=trigger_condition,json=triggerCondition,proto3" json:"trigger_condition,omitempty"` // Deprecated: Do not use. - // the maximum % of an upstream cluster that can be ejected - MaxEjectionPercent uint32 `protobuf:"varint,25,opt,name=max_ejection_percent,json=maxEjectionPercent,proto3" json:"max_ejection_percent,omitempty"` - // recover condition to make resource open to close - RecoverCondition *RecoverCondition `protobuf:"bytes,26,opt,name=recoverCondition,proto3" json:"recoverCondition,omitempty"` - // fault detection enable config - FaultDetectConfig *FaultDetectConfig `protobuf:"bytes,27,opt,name=faultDetectConfig,proto3" json:"faultDetectConfig,omitempty"` - // fall back configuration - FallbackConfig *FallbackConfig `protobuf:"bytes,28,opt,name=fallbackConfig,proto3" json:"fallbackConfig,omitempty"` - // list for block configuration - BlockConfigs []*BlockConfig `protobuf:"bytes,29,rep,name=block_configs,proto3" json:"block_configs,omitempty"` - // priority rules priority - Priority uint32 `protobuf:"varint,30,opt,name=priority,proto3" json:"priority,omitempty"` - // 熔断规则标签数据 - Metadata map[string]string `protobuf:"bytes,50,rep,name=metadata,proto3" json:"metadata,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` +// circuitbreaking OPEN status recover +type RecoverCondition struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // seconds from open to half-open + SleepWindow uint32 `protobuf:"varint,1,opt,name=sleep_window,json=sleepWindow,proto3" json:"sleep_window,omitempty"` + // consecutive success request to recover + ConsecutiveSuccess uint32 `protobuf:"varint,2,opt,name=consecutiveSuccess,proto3" json:"consecutiveSuccess,omitempty"` } -func (m *CircuitBreakerRule) Reset() { *m = CircuitBreakerRule{} } -func (m *CircuitBreakerRule) String() string { return proto.CompactTextString(m) } -func (*CircuitBreakerRule) ProtoMessage() {} -func (*CircuitBreakerRule) Descriptor() ([]byte, []int) { - return fileDescriptor_circuitbreaker_2a9ca54a8ade1f42, []int{7} +func (x *RecoverCondition) Reset() { + *x = RecoverCondition{} + if protoimpl.UnsafeEnabled { + mi := &file_circuitbreaker_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (m *CircuitBreakerRule) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_CircuitBreakerRule.Unmarshal(m, b) + +func (x *RecoverCondition) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *CircuitBreakerRule) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_CircuitBreakerRule.Marshal(b, m, deterministic) + +func (*RecoverCondition) ProtoMessage() {} + +func (x *RecoverCondition) ProtoReflect() protoreflect.Message { + mi := &file_circuitbreaker_proto_msgTypes[10] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) } -func (dst *CircuitBreakerRule) XXX_Merge(src proto.Message) { - xxx_messageInfo_CircuitBreakerRule.Merge(dst, src) + +// Deprecated: Use RecoverCondition.ProtoReflect.Descriptor instead. +func (*RecoverCondition) Descriptor() ([]byte, []int) { + return file_circuitbreaker_proto_rawDescGZIP(), []int{10} } -func (m *CircuitBreakerRule) XXX_Size() int { - return xxx_messageInfo_CircuitBreakerRule.Size(m) + +func (x *RecoverCondition) GetSleepWindow() uint32 { + if x != nil { + return x.SleepWindow + } + return 0 } -func (m *CircuitBreakerRule) XXX_DiscardUnknown() { - xxx_messageInfo_CircuitBreakerRule.DiscardUnknown(m) + +func (x *RecoverCondition) GetConsecutiveSuccess() uint32 { + if x != nil { + return x.ConsecutiveSuccess + } + return 0 } -var xxx_messageInfo_CircuitBreakerRule proto.InternalMessageInfo +// fault detect config within circuitbreaking +type FaultDetectConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields -func (m *CircuitBreakerRule) GetId() string { - if m != nil { - return m.Id - } - return "" + Enable bool `protobuf:"varint,1,opt,name=enable,proto3" json:"enable,omitempty"` } -func (m *CircuitBreakerRule) GetName() string { - if m != nil { - return m.Name +func (x *FaultDetectConfig) Reset() { + *x = FaultDetectConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_circuitbreaker_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return "" } -func (m *CircuitBreakerRule) GetNamespace() string { - if m != nil { - return m.Namespace +func (x *FaultDetectConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FaultDetectConfig) ProtoMessage() {} + +func (x *FaultDetectConfig) ProtoReflect() protoreflect.Message { + mi := &file_circuitbreaker_proto_msgTypes[11] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return "" + return mi.MessageOf(x) } -func (m *CircuitBreakerRule) GetEnable() bool { - if m != nil { - return m.Enable +// Deprecated: Use FaultDetectConfig.ProtoReflect.Descriptor instead. +func (*FaultDetectConfig) Descriptor() ([]byte, []int) { + return file_circuitbreaker_proto_rawDescGZIP(), []int{11} +} + +func (x *FaultDetectConfig) GetEnable() bool { + if x != nil { + return x.Enable } return false } -func (m *CircuitBreakerRule) GetRevision() string { - if m != nil { - return m.Revision - } - return "" +// blocking strategy +type BlockConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // blocking target api + Api *model.API `protobuf:"bytes,2,opt,name=api,proto3" json:"api,omitempty"` + // conditions to judge an invocation as an error + ErrorConditions []*ErrorCondition `protobuf:"bytes,3,rep,name=error_conditions,proto3" json:"error_conditions,omitempty"` + // trigger condition to trigger circuitbreaking + TriggerConditions []*TriggerCondition `protobuf:"bytes,4,rep,name=trigger_conditions,proto3" json:"trigger_conditions,omitempty"` } -func (m *CircuitBreakerRule) GetCtime() string { - if m != nil { - return m.Ctime +func (x *BlockConfig) Reset() { + *x = BlockConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_circuitbreaker_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return "" } -func (m *CircuitBreakerRule) GetMtime() string { - if m != nil { - return m.Mtime - } - return "" +func (x *BlockConfig) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *CircuitBreakerRule) GetEtime() string { - if m != nil { - return m.Etime +func (*BlockConfig) ProtoMessage() {} + +func (x *BlockConfig) ProtoReflect() protoreflect.Message { + mi := &file_circuitbreaker_proto_msgTypes[12] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return "" + return mi.MessageOf(x) } -func (m *CircuitBreakerRule) GetDescription() string { - if m != nil { - return m.Description - } - return "" +// Deprecated: Use BlockConfig.ProtoReflect.Descriptor instead. +func (*BlockConfig) Descriptor() ([]byte, []int) { + return file_circuitbreaker_proto_rawDescGZIP(), []int{12} } -func (m *CircuitBreakerRule) GetLevel() Level { - if m != nil { - return m.Level +func (x *BlockConfig) GetName() string { + if x != nil { + return x.Name } - return Level_UNKNOWN + return "" } -func (m *CircuitBreakerRule) GetRuleMatcher() *RuleMatcher { - if m != nil { - return m.RuleMatcher +func (x *BlockConfig) GetApi() *model.API { + if x != nil { + return x.Api } return nil } -// Deprecated: Do not use. -func (m *CircuitBreakerRule) GetErrorConditions() []*ErrorCondition { - if m != nil { - return m.ErrorConditions +func (x *BlockConfig) GetErrorConditions() []*ErrorCondition { + if x != nil { + return x.ErrorConditions } return nil } -// Deprecated: Do not use. -func (m *CircuitBreakerRule) GetTriggerCondition() []*TriggerCondition { - if m != nil { - return m.TriggerCondition +func (x *BlockConfig) GetTriggerConditions() []*TriggerCondition { + if x != nil { + return x.TriggerConditions } return nil } -func (m *CircuitBreakerRule) GetMaxEjectionPercent() uint32 { - if m != nil { - return m.MaxEjectionPercent - } - return 0 +// fallback config +type FallbackConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Enable bool `protobuf:"varint,1,opt,name=enable,proto3" json:"enable,omitempty"` + Response *FallbackResponse `protobuf:"bytes,2,opt,name=response,proto3" json:"response,omitempty"` } -func (m *CircuitBreakerRule) GetRecoverCondition() *RecoverCondition { - if m != nil { - return m.RecoverCondition +func (x *FallbackConfig) Reset() { + *x = FallbackConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_circuitbreaker_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return nil } -func (m *CircuitBreakerRule) GetFaultDetectConfig() *FaultDetectConfig { - if m != nil { - return m.FaultDetectConfig - } - return nil +func (x *FallbackConfig) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *CircuitBreakerRule) GetFallbackConfig() *FallbackConfig { - if m != nil { - return m.FallbackConfig +func (*FallbackConfig) ProtoMessage() {} + +func (x *FallbackConfig) ProtoReflect() protoreflect.Message { + mi := &file_circuitbreaker_proto_msgTypes[13] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return nil + return mi.MessageOf(x) } -func (m *CircuitBreakerRule) GetBlockConfigs() []*BlockConfig { - if m != nil { - return m.BlockConfigs - } - return nil +// Deprecated: Use FallbackConfig.ProtoReflect.Descriptor instead. +func (*FallbackConfig) Descriptor() ([]byte, []int) { + return file_circuitbreaker_proto_rawDescGZIP(), []int{13} } -func (m *CircuitBreakerRule) GetPriority() uint32 { - if m != nil { - return m.Priority +func (x *FallbackConfig) GetEnable() bool { + if x != nil { + return x.Enable } - return 0 + return false } -func (m *CircuitBreakerRule) GetMetadata() map[string]string { - if m != nil { - return m.Metadata +func (x *FallbackConfig) GetResponse() *FallbackResponse { + if x != nil { + return x.Response } return nil } -// the condition to judge an input invocation as an error -type ErrorCondition struct { - InputType ErrorCondition_InputType `protobuf:"varint,1,opt,name=input_type,json=inputType,proto3,enum=v1.ErrorCondition_InputType" json:"input_type,omitempty"` - Condition *model.MatchString `protobuf:"bytes,2,opt,name=condition,proto3" json:"condition,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} +// fallback response +type FallbackResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields -func (m *ErrorCondition) Reset() { *m = ErrorCondition{} } -func (m *ErrorCondition) String() string { return proto.CompactTextString(m) } -func (*ErrorCondition) ProtoMessage() {} -func (*ErrorCondition) Descriptor() ([]byte, []int) { - return fileDescriptor_circuitbreaker_2a9ca54a8ade1f42, []int{8} -} -func (m *ErrorCondition) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_ErrorCondition.Unmarshal(m, b) + Code int32 `protobuf:"varint,1,opt,name=code,proto3" json:"code,omitempty"` + Headers []*FallbackResponse_MessageHeader `protobuf:"bytes,2,rep,name=headers,proto3" json:"headers,omitempty"` + Body string `protobuf:"bytes,3,opt,name=body,proto3" json:"body,omitempty"` } -func (m *ErrorCondition) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_ErrorCondition.Marshal(b, m, deterministic) -} -func (dst *ErrorCondition) XXX_Merge(src proto.Message) { - xxx_messageInfo_ErrorCondition.Merge(dst, src) + +func (x *FallbackResponse) Reset() { + *x = FallbackResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_circuitbreaker_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (m *ErrorCondition) XXX_Size() int { - return xxx_messageInfo_ErrorCondition.Size(m) + +func (x *FallbackResponse) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *ErrorCondition) XXX_DiscardUnknown() { - xxx_messageInfo_ErrorCondition.DiscardUnknown(m) + +func (*FallbackResponse) ProtoMessage() {} + +func (x *FallbackResponse) ProtoReflect() protoreflect.Message { + mi := &file_circuitbreaker_proto_msgTypes[14] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) } -var xxx_messageInfo_ErrorCondition proto.InternalMessageInfo +// Deprecated: Use FallbackResponse.ProtoReflect.Descriptor instead. +func (*FallbackResponse) Descriptor() ([]byte, []int) { + return file_circuitbreaker_proto_rawDescGZIP(), []int{14} +} -func (m *ErrorCondition) GetInputType() ErrorCondition_InputType { - if m != nil { - return m.InputType +func (x *FallbackResponse) GetCode() int32 { + if x != nil { + return x.Code } - return ErrorCondition_UNKNOWN + return 0 } -func (m *ErrorCondition) GetCondition() *model.MatchString { - if m != nil { - return m.Condition +func (x *FallbackResponse) GetHeaders() []*FallbackResponse_MessageHeader { + if x != nil { + return x.Headers } return nil } -// the error condition to trigger circuitbreaking -type TriggerCondition struct { - TriggerType TriggerCondition_TriggerType `protobuf:"varint,1,opt,name=trigger_type,json=triggerType,proto3,enum=v1.TriggerCondition_TriggerType" json:"trigger_type,omitempty"` - ErrorCount uint32 `protobuf:"varint,2,opt,name=error_count,json=errorCount,proto3" json:"error_count,omitempty"` - ErrorPercent uint32 `protobuf:"varint,3,opt,name=error_percent,json=errorPercent,proto3" json:"error_percent,omitempty"` - Interval uint32 `protobuf:"varint,4,opt,name=interval,proto3" json:"interval,omitempty"` - MinimumRequest uint32 `protobuf:"varint,5,opt,name=minimum_request,json=minimumRequest,proto3" json:"minimum_request,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *TriggerCondition) Reset() { *m = TriggerCondition{} } -func (m *TriggerCondition) String() string { return proto.CompactTextString(m) } -func (*TriggerCondition) ProtoMessage() {} -func (*TriggerCondition) Descriptor() ([]byte, []int) { - return fileDescriptor_circuitbreaker_2a9ca54a8ade1f42, []int{9} -} -func (m *TriggerCondition) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_TriggerCondition.Unmarshal(m, b) -} -func (m *TriggerCondition) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_TriggerCondition.Marshal(b, m, deterministic) +func (x *FallbackResponse) GetBody() string { + if x != nil { + return x.Body + } + return "" } -func (dst *TriggerCondition) XXX_Merge(src proto.Message) { - xxx_messageInfo_TriggerCondition.Merge(dst, src) + +// 错误率熔断配置 +type CbPolicy_ErrRateConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + //是否启用错误率配置 + Enable *wrapperspb.BoolValue `protobuf:"bytes,1,opt,name=enable,proto3" json:"enable,omitempty"` + // 触发错误率熔断的最低请求阈值 + RequestVolumeThreshold *wrapperspb.UInt32Value `protobuf:"bytes,2,opt,name=requestVolumeThreshold,proto3" json:"requestVolumeThreshold,omitempty"` + // 可选。触发保持状态的错误率阈值,假如不配置,则默认不会进入Preserved状态 + ErrorRateToPreserved *wrapperspb.UInt32Value `protobuf:"bytes,3,opt,name=errorRateToPreserved,proto3" json:"errorRateToPreserved,omitempty"` + // 触发熔断的错误率阈值 + ErrorRateToOpen *wrapperspb.UInt32Value `protobuf:"bytes,4,opt,name=errorRateToOpen,proto3" json:"errorRateToOpen,omitempty"` + Specials []*CbPolicy_ErrRateConfig_SpecialConfig `protobuf:"bytes,5,rep,name=specials,proto3" json:"specials,omitempty"` } -func (m *TriggerCondition) XXX_Size() int { - return xxx_messageInfo_TriggerCondition.Size(m) + +func (x *CbPolicy_ErrRateConfig) Reset() { + *x = CbPolicy_ErrRateConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_circuitbreaker_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (m *TriggerCondition) XXX_DiscardUnknown() { - xxx_messageInfo_TriggerCondition.DiscardUnknown(m) + +func (x *CbPolicy_ErrRateConfig) String() string { + return protoimpl.X.MessageStringOf(x) } -var xxx_messageInfo_TriggerCondition proto.InternalMessageInfo +func (*CbPolicy_ErrRateConfig) ProtoMessage() {} -func (m *TriggerCondition) GetTriggerType() TriggerCondition_TriggerType { - if m != nil { - return m.TriggerType +func (x *CbPolicy_ErrRateConfig) ProtoReflect() protoreflect.Message { + mi := &file_circuitbreaker_proto_msgTypes[16] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return TriggerCondition_UNKNOWN + return mi.MessageOf(x) } -func (m *TriggerCondition) GetErrorCount() uint32 { - if m != nil { - return m.ErrorCount - } - return 0 +// Deprecated: Use CbPolicy_ErrRateConfig.ProtoReflect.Descriptor instead. +func (*CbPolicy_ErrRateConfig) Descriptor() ([]byte, []int) { + return file_circuitbreaker_proto_rawDescGZIP(), []int{3, 0} } -func (m *TriggerCondition) GetErrorPercent() uint32 { - if m != nil { - return m.ErrorPercent +func (x *CbPolicy_ErrRateConfig) GetEnable() *wrapperspb.BoolValue { + if x != nil { + return x.Enable } - return 0 + return nil } -func (m *TriggerCondition) GetInterval() uint32 { - if m != nil { - return m.Interval +func (x *CbPolicy_ErrRateConfig) GetRequestVolumeThreshold() *wrapperspb.UInt32Value { + if x != nil { + return x.RequestVolumeThreshold } - return 0 + return nil } -func (m *TriggerCondition) GetMinimumRequest() uint32 { - if m != nil { - return m.MinimumRequest +func (x *CbPolicy_ErrRateConfig) GetErrorRateToPreserved() *wrapperspb.UInt32Value { + if x != nil { + return x.ErrorRateToPreserved } - return 0 + return nil } -// circuitbreaking OPEN status recover -type RecoverCondition struct { - // seconds from open to half-open - SleepWindow uint32 `protobuf:"varint,1,opt,name=sleep_window,json=sleepWindow,proto3" json:"sleep_window,omitempty"` - // consecutive success request to recover - ConsecutiveSuccess uint32 `protobuf:"varint,2,opt,name=consecutiveSuccess,proto3" json:"consecutiveSuccess,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` +func (x *CbPolicy_ErrRateConfig) GetErrorRateToOpen() *wrapperspb.UInt32Value { + if x != nil { + return x.ErrorRateToOpen + } + return nil } -func (m *RecoverCondition) Reset() { *m = RecoverCondition{} } -func (m *RecoverCondition) String() string { return proto.CompactTextString(m) } -func (*RecoverCondition) ProtoMessage() {} -func (*RecoverCondition) Descriptor() ([]byte, []int) { - return fileDescriptor_circuitbreaker_2a9ca54a8ade1f42, []int{10} -} -func (m *RecoverCondition) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_RecoverCondition.Unmarshal(m, b) -} -func (m *RecoverCondition) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_RecoverCondition.Marshal(b, m, deterministic) +func (x *CbPolicy_ErrRateConfig) GetSpecials() []*CbPolicy_ErrRateConfig_SpecialConfig { + if x != nil { + return x.Specials + } + return nil } -func (dst *RecoverCondition) XXX_Merge(src proto.Message) { - xxx_messageInfo_RecoverCondition.Merge(dst, src) + +// 慢调用率熔断策略配置 +type CbPolicy_SlowRateConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // 是否启用慢调用率配置 + Enable *wrapperspb.BoolValue `protobuf:"bytes,1,opt,name=enable,proto3" json:"enable,omitempty"` + // 最大响应时间,超过该时间属于慢调用请求 + MaxRt *durationpb.Duration `protobuf:"bytes,2,opt,name=maxRt,proto3" json:"maxRt,omitempty"` + // 可选。触发保持状态的超时率阈值,假如不配置,则默认不会进入Preserved状态 + SlowRateToPreserved *wrapperspb.UInt32Value `protobuf:"bytes,3,opt,name=slowRateToPreserved,proto3" json:"slowRateToPreserved,omitempty"` + // 触发熔断的超时率阈值 + SlowRateToOpen *wrapperspb.UInt32Value `protobuf:"bytes,4,opt,name=slowRateToOpen,proto3" json:"slowRateToOpen,omitempty"` } -func (m *RecoverCondition) XXX_Size() int { - return xxx_messageInfo_RecoverCondition.Size(m) + +func (x *CbPolicy_SlowRateConfig) Reset() { + *x = CbPolicy_SlowRateConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_circuitbreaker_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (m *RecoverCondition) XXX_DiscardUnknown() { - xxx_messageInfo_RecoverCondition.DiscardUnknown(m) + +func (x *CbPolicy_SlowRateConfig) String() string { + return protoimpl.X.MessageStringOf(x) } -var xxx_messageInfo_RecoverCondition proto.InternalMessageInfo +func (*CbPolicy_SlowRateConfig) ProtoMessage() {} -func (m *RecoverCondition) GetSleepWindow() uint32 { - if m != nil { - return m.SleepWindow +func (x *CbPolicy_SlowRateConfig) ProtoReflect() protoreflect.Message { + mi := &file_circuitbreaker_proto_msgTypes[17] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return 0 + return mi.MessageOf(x) } -func (m *RecoverCondition) GetConsecutiveSuccess() uint32 { - if m != nil { - return m.ConsecutiveSuccess - } - return 0 +// Deprecated: Use CbPolicy_SlowRateConfig.ProtoReflect.Descriptor instead. +func (*CbPolicy_SlowRateConfig) Descriptor() ([]byte, []int) { + return file_circuitbreaker_proto_rawDescGZIP(), []int{3, 1} } -// fault detect config within circuitbreaking -type FaultDetectConfig struct { - Enable bool `protobuf:"varint,1,opt,name=enable,proto3" json:"enable,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` +func (x *CbPolicy_SlowRateConfig) GetEnable() *wrapperspb.BoolValue { + if x != nil { + return x.Enable + } + return nil } -func (m *FaultDetectConfig) Reset() { *m = FaultDetectConfig{} } -func (m *FaultDetectConfig) String() string { return proto.CompactTextString(m) } -func (*FaultDetectConfig) ProtoMessage() {} -func (*FaultDetectConfig) Descriptor() ([]byte, []int) { - return fileDescriptor_circuitbreaker_2a9ca54a8ade1f42, []int{11} +func (x *CbPolicy_SlowRateConfig) GetMaxRt() *durationpb.Duration { + if x != nil { + return x.MaxRt + } + return nil } -func (m *FaultDetectConfig) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_FaultDetectConfig.Unmarshal(m, b) + +func (x *CbPolicy_SlowRateConfig) GetSlowRateToPreserved() *wrapperspb.UInt32Value { + if x != nil { + return x.SlowRateToPreserved + } + return nil } -func (m *FaultDetectConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_FaultDetectConfig.Marshal(b, m, deterministic) + +func (x *CbPolicy_SlowRateConfig) GetSlowRateToOpen() *wrapperspb.UInt32Value { + if x != nil { + return x.SlowRateToOpen + } + return nil } -func (dst *FaultDetectConfig) XXX_Merge(src proto.Message) { - xxx_messageInfo_FaultDetectConfig.Merge(dst, src) + +//连续错误数熔断配置 +type CbPolicy_ConsecutiveErrConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // 是否启用连续错误数配置 + Enable *wrapperspb.BoolValue `protobuf:"bytes,1,opt,name=enable,proto3" json:"enable,omitempty"` + // 连续错误数阈值,进入Preserved状态 + ConsecutiveErrorToPreserved *wrapperspb.UInt32Value `protobuf:"bytes,2,opt,name=consecutiveErrorToPreserved,proto3" json:"consecutiveErrorToPreserved,omitempty"` + // 连续错误数阈值,进入Open状态 + ConsecutiveErrorToOpen *wrapperspb.UInt32Value `protobuf:"bytes,3,opt,name=consecutiveErrorToOpen,proto3" json:"consecutiveErrorToOpen,omitempty"` } -func (m *FaultDetectConfig) XXX_Size() int { - return xxx_messageInfo_FaultDetectConfig.Size(m) + +func (x *CbPolicy_ConsecutiveErrConfig) Reset() { + *x = CbPolicy_ConsecutiveErrConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_circuitbreaker_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (m *FaultDetectConfig) XXX_DiscardUnknown() { - xxx_messageInfo_FaultDetectConfig.DiscardUnknown(m) + +func (x *CbPolicy_ConsecutiveErrConfig) String() string { + return protoimpl.X.MessageStringOf(x) } -var xxx_messageInfo_FaultDetectConfig proto.InternalMessageInfo +func (*CbPolicy_ConsecutiveErrConfig) ProtoMessage() {} -func (m *FaultDetectConfig) GetEnable() bool { - if m != nil { - return m.Enable +func (x *CbPolicy_ConsecutiveErrConfig) ProtoReflect() protoreflect.Message { + mi := &file_circuitbreaker_proto_msgTypes[18] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return false + return mi.MessageOf(x) } -// fallback config -type FallbackConfig struct { - Enable bool `protobuf:"varint,1,opt,name=enable,proto3" json:"enable,omitempty"` - Response *FallbackResponse `protobuf:"bytes,2,opt,name=response,proto3" json:"response,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` +// Deprecated: Use CbPolicy_ConsecutiveErrConfig.ProtoReflect.Descriptor instead. +func (*CbPolicy_ConsecutiveErrConfig) Descriptor() ([]byte, []int) { + return file_circuitbreaker_proto_rawDescGZIP(), []int{3, 2} } -func (m *FallbackConfig) Reset() { *m = FallbackConfig{} } -func (m *FallbackConfig) String() string { return proto.CompactTextString(m) } -func (*FallbackConfig) ProtoMessage() {} -func (*FallbackConfig) Descriptor() ([]byte, []int) { - return fileDescriptor_circuitbreaker_2a9ca54a8ade1f42, []int{12} +func (x *CbPolicy_ConsecutiveErrConfig) GetEnable() *wrapperspb.BoolValue { + if x != nil { + return x.Enable + } + return nil } -func (m *FallbackConfig) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_FallbackConfig.Unmarshal(m, b) + +func (x *CbPolicy_ConsecutiveErrConfig) GetConsecutiveErrorToPreserved() *wrapperspb.UInt32Value { + if x != nil { + return x.ConsecutiveErrorToPreserved + } + return nil } -func (m *FallbackConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_FallbackConfig.Marshal(b, m, deterministic) + +func (x *CbPolicy_ConsecutiveErrConfig) GetConsecutiveErrorToOpen() *wrapperspb.UInt32Value { + if x != nil { + return x.ConsecutiveErrorToOpen + } + return nil } -func (dst *FallbackConfig) XXX_Merge(src proto.Message) { - xxx_messageInfo_FallbackConfig.Merge(dst, src) + +//错误码相关特定配置 +type CbPolicy_ErrRateConfig_SpecialConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // 熔断关心的错误类型,用户可以自己定义 + Type *wrapperspb.StringValue `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"` + ErrorCodes []*wrapperspb.Int64Value `protobuf:"bytes,2,rep,name=errorCodes,proto3" json:"errorCodes,omitempty"` + ErrorRateToPreserved *wrapperspb.UInt32Value `protobuf:"bytes,3,opt,name=errorRateToPreserved,proto3" json:"errorRateToPreserved,omitempty"` + ErrorRateToOpen *wrapperspb.UInt32Value `protobuf:"bytes,4,opt,name=errorRateToOpen,proto3" json:"errorRateToOpen,omitempty"` } -func (m *FallbackConfig) XXX_Size() int { - return xxx_messageInfo_FallbackConfig.Size(m) + +func (x *CbPolicy_ErrRateConfig_SpecialConfig) Reset() { + *x = CbPolicy_ErrRateConfig_SpecialConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_circuitbreaker_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (m *FallbackConfig) XXX_DiscardUnknown() { - xxx_messageInfo_FallbackConfig.DiscardUnknown(m) + +func (x *CbPolicy_ErrRateConfig_SpecialConfig) String() string { + return protoimpl.X.MessageStringOf(x) } -var xxx_messageInfo_FallbackConfig proto.InternalMessageInfo +func (*CbPolicy_ErrRateConfig_SpecialConfig) ProtoMessage() {} -func (m *FallbackConfig) GetEnable() bool { - if m != nil { - return m.Enable +func (x *CbPolicy_ErrRateConfig_SpecialConfig) ProtoReflect() protoreflect.Message { + mi := &file_circuitbreaker_proto_msgTypes[19] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return false + return mi.MessageOf(x) } -func (m *FallbackConfig) GetResponse() *FallbackResponse { - if m != nil { - return m.Response +// Deprecated: Use CbPolicy_ErrRateConfig_SpecialConfig.ProtoReflect.Descriptor instead. +func (*CbPolicy_ErrRateConfig_SpecialConfig) Descriptor() ([]byte, []int) { + return file_circuitbreaker_proto_rawDescGZIP(), []int{3, 0, 0} +} + +func (x *CbPolicy_ErrRateConfig_SpecialConfig) GetType() *wrapperspb.StringValue { + if x != nil { + return x.Type } return nil } -// fallback response -type FallbackResponse struct { - Code int32 `protobuf:"varint,1,opt,name=code,proto3" json:"code,omitempty"` - Headers []*FallbackResponse_MessageHeader `protobuf:"bytes,2,rep,name=headers,proto3" json:"headers,omitempty"` - Body string `protobuf:"bytes,3,opt,name=body,proto3" json:"body,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` +func (x *CbPolicy_ErrRateConfig_SpecialConfig) GetErrorCodes() []*wrapperspb.Int64Value { + if x != nil { + return x.ErrorCodes + } + return nil } -func (m *FallbackResponse) Reset() { *m = FallbackResponse{} } -func (m *FallbackResponse) String() string { return proto.CompactTextString(m) } -func (*FallbackResponse) ProtoMessage() {} -func (*FallbackResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_circuitbreaker_2a9ca54a8ade1f42, []int{13} -} -func (m *FallbackResponse) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_FallbackResponse.Unmarshal(m, b) +func (x *CbPolicy_ErrRateConfig_SpecialConfig) GetErrorRateToPreserved() *wrapperspb.UInt32Value { + if x != nil { + return x.ErrorRateToPreserved + } + return nil } -func (m *FallbackResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_FallbackResponse.Marshal(b, m, deterministic) + +func (x *CbPolicy_ErrRateConfig_SpecialConfig) GetErrorRateToOpen() *wrapperspb.UInt32Value { + if x != nil { + return x.ErrorRateToOpen + } + return nil } -func (dst *FallbackResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_FallbackResponse.Merge(dst, src) + +type RuleMatcher_SourceService struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Service string `protobuf:"bytes,1,opt,name=service,proto3" json:"service,omitempty"` + Namespace string `protobuf:"bytes,2,opt,name=namespace,proto3" json:"namespace,omitempty"` } -func (m *FallbackResponse) XXX_Size() int { - return xxx_messageInfo_FallbackResponse.Size(m) + +func (x *RuleMatcher_SourceService) Reset() { + *x = RuleMatcher_SourceService{} + if protoimpl.UnsafeEnabled { + mi := &file_circuitbreaker_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (m *FallbackResponse) XXX_DiscardUnknown() { - xxx_messageInfo_FallbackResponse.DiscardUnknown(m) + +func (x *RuleMatcher_SourceService) String() string { + return protoimpl.X.MessageStringOf(x) } -var xxx_messageInfo_FallbackResponse proto.InternalMessageInfo +func (*RuleMatcher_SourceService) ProtoMessage() {} -func (m *FallbackResponse) GetCode() int32 { - if m != nil { - return m.Code +func (x *RuleMatcher_SourceService) ProtoReflect() protoreflect.Message { + mi := &file_circuitbreaker_proto_msgTypes[21] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return 0 + return mi.MessageOf(x) } -func (m *FallbackResponse) GetHeaders() []*FallbackResponse_MessageHeader { - if m != nil { - return m.Headers - } - return nil +// Deprecated: Use RuleMatcher_SourceService.ProtoReflect.Descriptor instead. +func (*RuleMatcher_SourceService) Descriptor() ([]byte, []int) { + return file_circuitbreaker_proto_rawDescGZIP(), []int{6, 0} } -func (m *FallbackResponse) GetBody() string { - if m != nil { - return m.Body +func (x *RuleMatcher_SourceService) GetService() string { + if x != nil { + return x.Service } return "" } -type FallbackResponse_MessageHeader struct { - Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` - Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` +func (x *RuleMatcher_SourceService) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" } -func (m *FallbackResponse_MessageHeader) Reset() { *m = FallbackResponse_MessageHeader{} } -func (m *FallbackResponse_MessageHeader) String() string { return proto.CompactTextString(m) } -func (*FallbackResponse_MessageHeader) ProtoMessage() {} -func (*FallbackResponse_MessageHeader) Descriptor() ([]byte, []int) { - return fileDescriptor_circuitbreaker_2a9ca54a8ade1f42, []int{13, 0} -} -func (m *FallbackResponse_MessageHeader) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_FallbackResponse_MessageHeader.Unmarshal(m, b) -} -func (m *FallbackResponse_MessageHeader) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_FallbackResponse_MessageHeader.Marshal(b, m, deterministic) +type RuleMatcher_DestinationService struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Service string `protobuf:"bytes,1,opt,name=service,proto3" json:"service,omitempty"` + Namespace string `protobuf:"bytes,2,opt,name=namespace,proto3" json:"namespace,omitempty"` + // deprecated_filed using api.path in blockConfig instead + // + // Deprecated: Marked as deprecated in circuitbreaker.proto. + Method *model.MatchString `protobuf:"bytes,3,opt,name=method,proto3" json:"method,omitempty"` } -func (dst *FallbackResponse_MessageHeader) XXX_Merge(src proto.Message) { - xxx_messageInfo_FallbackResponse_MessageHeader.Merge(dst, src) + +func (x *RuleMatcher_DestinationService) Reset() { + *x = RuleMatcher_DestinationService{} + if protoimpl.UnsafeEnabled { + mi := &file_circuitbreaker_proto_msgTypes[22] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (m *FallbackResponse_MessageHeader) XXX_Size() int { - return xxx_messageInfo_FallbackResponse_MessageHeader.Size(m) + +func (x *RuleMatcher_DestinationService) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *FallbackResponse_MessageHeader) XXX_DiscardUnknown() { - xxx_messageInfo_FallbackResponse_MessageHeader.DiscardUnknown(m) + +func (*RuleMatcher_DestinationService) ProtoMessage() {} + +func (x *RuleMatcher_DestinationService) ProtoReflect() protoreflect.Message { + mi := &file_circuitbreaker_proto_msgTypes[22] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) } -var xxx_messageInfo_FallbackResponse_MessageHeader proto.InternalMessageInfo +// Deprecated: Use RuleMatcher_DestinationService.ProtoReflect.Descriptor instead. +func (*RuleMatcher_DestinationService) Descriptor() ([]byte, []int) { + return file_circuitbreaker_proto_rawDescGZIP(), []int{6, 1} +} -func (m *FallbackResponse_MessageHeader) GetKey() string { - if m != nil { - return m.Key +func (x *RuleMatcher_DestinationService) GetService() string { + if x != nil { + return x.Service } return "" } -func (m *FallbackResponse_MessageHeader) GetValue() string { - if m != nil { - return m.Value +func (x *RuleMatcher_DestinationService) GetNamespace() string { + if x != nil { + return x.Namespace } return "" } -// blocking strategy -type BlockConfig struct { - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` - // blocking target api - Api *model.API `protobuf:"bytes,2,opt,name=api,proto3" json:"api,omitempty"` - // conditions to judge an invocation as an error - ErrorConditions []*ErrorCondition `protobuf:"bytes,3,rep,name=error_conditions,proto3" json:"error_conditions,omitempty"` - // trigger condition to trigger circuitbreaking - TriggerConditions []*TriggerCondition `protobuf:"bytes,4,rep,name=trigger_conditions,proto3" json:"trigger_conditions,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` +// Deprecated: Marked as deprecated in circuitbreaker.proto. +func (x *RuleMatcher_DestinationService) GetMethod() *model.MatchString { + if x != nil { + return x.Method + } + return nil } -func (m *BlockConfig) Reset() { *m = BlockConfig{} } -func (m *BlockConfig) String() string { return proto.CompactTextString(m) } -func (*BlockConfig) ProtoMessage() {} -func (*BlockConfig) Descriptor() ([]byte, []int) { - return fileDescriptor_circuitbreaker_2a9ca54a8ade1f42, []int{14} -} -func (m *BlockConfig) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_BlockConfig.Unmarshal(m, b) +type FallbackResponse_MessageHeader struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` + Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` } -func (m *BlockConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_BlockConfig.Marshal(b, m, deterministic) + +func (x *FallbackResponse_MessageHeader) Reset() { + *x = FallbackResponse_MessageHeader{} + if protoimpl.UnsafeEnabled { + mi := &file_circuitbreaker_proto_msgTypes[24] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (dst *BlockConfig) XXX_Merge(src proto.Message) { - xxx_messageInfo_BlockConfig.Merge(dst, src) + +func (x *FallbackResponse_MessageHeader) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *BlockConfig) XXX_Size() int { - return xxx_messageInfo_BlockConfig.Size(m) + +func (*FallbackResponse_MessageHeader) ProtoMessage() {} + +func (x *FallbackResponse_MessageHeader) ProtoReflect() protoreflect.Message { + mi := &file_circuitbreaker_proto_msgTypes[24] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) } -func (m *BlockConfig) XXX_DiscardUnknown() { - xxx_messageInfo_BlockConfig.DiscardUnknown(m) + +// Deprecated: Use FallbackResponse_MessageHeader.ProtoReflect.Descriptor instead. +func (*FallbackResponse_MessageHeader) Descriptor() ([]byte, []int) { + return file_circuitbreaker_proto_rawDescGZIP(), []int{14, 0} } -var xxx_messageInfo_BlockConfig proto.InternalMessageInfo +func (x *FallbackResponse_MessageHeader) GetKey() string { + if x != nil { + return x.Key + } + return "" +} -func (m *BlockConfig) GetName() string { - if m != nil { - return m.Name +func (x *FallbackResponse_MessageHeader) GetValue() string { + if x != nil { + return x.Value } return "" } -func (m *BlockConfig) GetApi() *model.API { - if m != nil { - return m.Api - } - return nil -} - -func (m *BlockConfig) GetErrorConditions() []*ErrorCondition { - if m != nil { - return m.ErrorConditions - } - return nil -} - -func (m *BlockConfig) GetTriggerConditions() []*TriggerCondition { - if m != nil { - return m.TriggerConditions - } - return nil -} - -func init() { - proto.RegisterType((*CircuitBreaker)(nil), "v1.CircuitBreaker") - proto.RegisterType((*SourceMatcher)(nil), "v1.SourceMatcher") - proto.RegisterMapType((map[string]*model.MatchString)(nil), "v1.SourceMatcher.LabelsEntry") - proto.RegisterType((*RecoverConfig)(nil), "v1.RecoverConfig") - proto.RegisterType((*CbPolicy)(nil), "v1.CbPolicy") - proto.RegisterType((*CbPolicy_ErrRateConfig)(nil), "v1.CbPolicy.ErrRateConfig") - proto.RegisterType((*CbPolicy_ErrRateConfig_SpecialConfig)(nil), "v1.CbPolicy.ErrRateConfig.SpecialConfig") - proto.RegisterType((*CbPolicy_SlowRateConfig)(nil), "v1.CbPolicy.SlowRateConfig") - proto.RegisterType((*CbPolicy_ConsecutiveErrConfig)(nil), "v1.CbPolicy.ConsecutiveErrConfig") - proto.RegisterType((*DestinationSet)(nil), "v1.DestinationSet") - proto.RegisterMapType((map[string]*model.MatchString)(nil), "v1.DestinationSet.MetadataEntry") - proto.RegisterType((*CbRule)(nil), "v1.CbRule") - proto.RegisterType((*RuleMatcher)(nil), "v1.RuleMatcher") - proto.RegisterType((*RuleMatcher_SourceService)(nil), "v1.RuleMatcher.SourceService") - proto.RegisterType((*RuleMatcher_DestinationService)(nil), "v1.RuleMatcher.DestinationService") - proto.RegisterType((*CircuitBreakerRule)(nil), "v1.CircuitBreakerRule") - proto.RegisterMapType((map[string]string)(nil), "v1.CircuitBreakerRule.MetadataEntry") - proto.RegisterType((*ErrorCondition)(nil), "v1.ErrorCondition") - proto.RegisterType((*TriggerCondition)(nil), "v1.TriggerCondition") - proto.RegisterType((*RecoverCondition)(nil), "v1.RecoverCondition") - proto.RegisterType((*FaultDetectConfig)(nil), "v1.FaultDetectConfig") - proto.RegisterType((*FallbackConfig)(nil), "v1.FallbackConfig") - proto.RegisterType((*FallbackResponse)(nil), "v1.FallbackResponse") - proto.RegisterType((*FallbackResponse_MessageHeader)(nil), "v1.FallbackResponse.MessageHeader") - proto.RegisterType((*BlockConfig)(nil), "v1.BlockConfig") - proto.RegisterEnum("v1.Level", Level_name, Level_value) - proto.RegisterEnum("v1.RecoverConfig_OutlierDetectWhen", RecoverConfig_OutlierDetectWhen_name, RecoverConfig_OutlierDetectWhen_value) - proto.RegisterEnum("v1.DestinationSet_Resource", DestinationSet_Resource_name, DestinationSet_Resource_value) - proto.RegisterEnum("v1.DestinationSet_Type", DestinationSet_Type_name, DestinationSet_Type_value) - proto.RegisterEnum("v1.DestinationSet_Scope", DestinationSet_Scope_name, DestinationSet_Scope_value) - proto.RegisterEnum("v1.ErrorCondition_InputType", ErrorCondition_InputType_name, ErrorCondition_InputType_value) - proto.RegisterEnum("v1.TriggerCondition_TriggerType", TriggerCondition_TriggerType_name, TriggerCondition_TriggerType_value) -} - -func init() { - proto.RegisterFile("circuitbreaker.proto", fileDescriptor_circuitbreaker_2a9ca54a8ade1f42) -} - -var fileDescriptor_circuitbreaker_2a9ca54a8ade1f42 = []byte{ - // 2278 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x59, 0xcd, 0x73, 0xdb, 0xc6, - 0x15, 0x0f, 0x29, 0xf1, 0xeb, 0x51, 0xa4, 0xa1, 0x8d, 0xe4, 0xc0, 0xb4, 0x93, 0x28, 0x4c, 0xda, - 0x78, 0xea, 0x94, 0xb2, 0x95, 0xd8, 0xf1, 0xd8, 0x6e, 0x1b, 0x8a, 0xa2, 0x6d, 0xb9, 0x34, 0xa9, - 0x2e, 0x29, 0xbb, 0xf1, 0xa1, 0x1c, 0x10, 0x5c, 0x51, 0x88, 0x01, 0x2c, 0xba, 0x00, 0x68, 0xeb, - 0xd6, 0x53, 0x2f, 0x9d, 0xde, 0x3a, 0x9d, 0x4e, 0xef, 0x3d, 0xf4, 0xd4, 0xe9, 0xf4, 0x3f, 0xe8, - 0x1f, 0xd0, 0xff, 0xa7, 0xb7, 0xce, 0x7e, 0x80, 0x04, 0xf8, 0xe1, 0xc0, 0xee, 0xa1, 0x3d, 0x89, - 0xd8, 0xf7, 0xfb, 0xbd, 0x7d, 0x78, 0xfb, 0xbe, 0x16, 0x82, 0x1d, 0xd3, 0x62, 0x66, 0x68, 0x05, - 0x23, 0x46, 0x8c, 0x97, 0x84, 0x35, 0x3c, 0x46, 0x03, 0x8a, 0xb2, 0xd3, 0x5b, 0xb5, 0x8f, 0x26, - 0x94, 0x4e, 0x6c, 0xb2, 0x2f, 0x56, 0x46, 0xe1, 0xd9, 0xfe, 0x2b, 0x66, 0x78, 0x1e, 0x61, 0xbe, - 0xc4, 0x2c, 0xcb, 0xc7, 0x21, 0x33, 0x02, 0x8b, 0xba, 0x4a, 0x5e, 0x76, 0xe8, 0x98, 0xd8, 0xf2, - 0xa1, 0xfe, 0xd7, 0x02, 0x54, 0x5b, 0x72, 0xa7, 0x43, 0xb9, 0x13, 0xfa, 0x02, 0xb2, 0xd6, 0x58, - 0xcf, 0xec, 0x65, 0xae, 0x97, 0x0f, 0xae, 0x35, 0xa4, 0xb2, 0x46, 0xa4, 0xac, 0xd1, 0x0f, 0x98, - 0xe5, 0x4e, 0x9e, 0x19, 0x76, 0x48, 0x70, 0xd6, 0x1a, 0xa3, 0x3b, 0x50, 0x98, 0x12, 0xe6, 0x5b, - 0xd4, 0xd5, 0xb3, 0x29, 0x28, 0x11, 0x18, 0xdd, 0x84, 0x4d, 0xd7, 0x70, 0x88, 0xbe, 0x91, 0x82, - 0x24, 0x90, 0xe8, 0x1e, 0x94, 0xf8, 0x5f, 0xdf, 0x33, 0x4c, 0xa2, 0x6f, 0xa6, 0xa0, 0xcd, 0xe1, - 0xdc, 0x4a, 0x9f, 0xb0, 0xa9, 0x65, 0x12, 0x3d, 0x97, 0xc6, 0x4a, 0x05, 0x46, 0xc7, 0xb0, 0xad, - 0x7e, 0x0e, 0xe7, 0x7b, 0xe7, 0x53, 0x68, 0xd0, 0x14, 0xad, 0x3b, 0x33, 0xe1, 0x87, 0x50, 0xb4, - 0xdc, 0x11, 0x0d, 0xdd, 0xb1, 0xaf, 0x17, 0xf6, 0x36, 0xae, 0x97, 0x0f, 0xa0, 0x31, 0xbd, 0xd5, - 0x68, 0x8d, 0x70, 0x68, 0x13, 0x3c, 0x93, 0xa1, 0xeb, 0x50, 0xa2, 0x61, 0xa0, 0x80, 0xc5, 0x25, - 0xe0, 0x5c, 0x88, 0x0e, 0x20, 0x17, 0xd0, 0x97, 0xc4, 0xd5, 0x4b, 0x29, 0x0c, 0x92, 0x50, 0xf4, - 0x15, 0xe4, 0xe9, 0x2b, 0x97, 0x30, 0x5f, 0x87, 0x14, 0x24, 0x85, 0x45, 0x77, 0xa1, 0x38, 0x0a, - 0x7d, 0xcb, 0x25, 0xbe, 0xaf, 0x97, 0x53, 0xf0, 0x66, 0x68, 0xf4, 0x00, 0x60, 0x4c, 0x3c, 0x83, - 0x05, 0x0e, 0x71, 0x03, 0x7d, 0x2b, 0x05, 0x37, 0x86, 0xe7, 0xc7, 0x66, 0x52, 0x47, 0x50, 0x2b, - 0x69, 0x8e, 0x4d, 0x81, 0xb9, 0x67, 0xcc, 0xc0, 0x72, 0x88, 0x5e, 0x4d, 0xe3, 0x19, 0x01, 0xe5, - 0x1c, 0x47, 0x70, 0x2e, 0xa5, 0xe1, 0x08, 0x28, 0xf7, 0x0b, 0x23, 0x53, 0x4b, 0x44, 0xbf, 0x96, - 0xc6, 0x2f, 0x11, 0x1a, 0x7d, 0x01, 0x39, 0x16, 0xda, 0xc4, 0xd7, 0x77, 0xc5, 0x09, 0x5f, 0x16, - 0x27, 0x9c, 0xc8, 0x43, 0x71, 0xda, 0x12, 0xf4, 0x64, 0xb3, 0xb8, 0xad, 0xed, 0xd6, 0x7f, 0x9b, - 0x85, 0x4a, 0x9f, 0x86, 0xcc, 0x24, 0x4f, 0x8d, 0xc0, 0x3c, 0x27, 0x2c, 0x1e, 0xd6, 0x99, 0xb7, - 0x09, 0xeb, 0x44, 0x2a, 0x65, 0xdf, 0x2e, 0x95, 0x6e, 0x43, 0xde, 0x36, 0x46, 0xc4, 0xf6, 0xf5, - 0x0d, 0x61, 0xfa, 0x87, 0xdc, 0xf4, 0x84, 0x59, 0x8d, 0x8e, 0x90, 0xb7, 0xdd, 0x80, 0x5d, 0x60, - 0x05, 0xae, 0x3d, 0x81, 0x72, 0x6c, 0x19, 0x69, 0xb0, 0xf1, 0x92, 0x5c, 0x08, 0xab, 0x4b, 0x98, - 0xff, 0x44, 0x3f, 0x80, 0xdc, 0x94, 0xef, 0xa5, 0xec, 0xb9, 0xc4, 0xd5, 0x0a, 0x85, 0xd2, 0x0e, - 0x2c, 0xa5, 0xf7, 0xb2, 0x77, 0x33, 0xf5, 0x7f, 0x6c, 0x42, 0x05, 0x13, 0x93, 0x4e, 0x09, 0x6b, - 0x51, 0xf7, 0xcc, 0x9a, 0xa0, 0xfb, 0x50, 0xf6, 0x6d, 0x42, 0xbc, 0xe7, 0x96, 0x3b, 0xa6, 0xaf, - 0x94, 0x33, 0xae, 0x2c, 0xbd, 0xd2, 0x91, 0xaa, 0x84, 0x38, 0x8e, 0x46, 0x18, 0x76, 0x1d, 0xe3, - 0x35, 0x26, 0x01, 0xbb, 0x68, 0x9e, 0x05, 0x84, 0x3d, 0x36, 0xec, 0xb3, 0x9e, 0x47, 0xd6, 0x17, - 0xb4, 0xd3, 0x63, 0x37, 0xf8, 0xf2, 0x40, 0x7a, 0x66, 0x35, 0x15, 0xfd, 0x12, 0x74, 0x46, 0x7e, - 0x1d, 0x12, 0x3f, 0xc0, 0x46, 0x40, 0x92, 0x6a, 0xa5, 0xdf, 0xde, 0xac, 0x76, 0x2d, 0x1b, 0x75, - 0x00, 0xf9, 0xa1, 0x69, 0x12, 0xdf, 0xe7, 0xb2, 0x01, 0x6d, 0xd9, 0xd4, 0x5f, 0x5f, 0x0f, 0xe3, - 0x3a, 0x57, 0xf0, 0xd0, 0x0b, 0xb8, 0xa2, 0x76, 0x6a, 0xd1, 0xd0, 0x0d, 0x92, 0x86, 0xe6, 0x52, - 0x28, 0x5d, 0x4f, 0x47, 0xbf, 0x80, 0x6d, 0x1a, 0x06, 0xb6, 0x45, 0xd8, 0x11, 0x09, 0x88, 0x19, - 0x3c, 0x3f, 0x27, 0xae, 0x28, 0x9e, 0xd5, 0x83, 0x4f, 0xf9, 0xe9, 0x26, 0x8e, 0xb0, 0xd1, 0x5b, - 0x84, 0xe2, 0x65, 0x76, 0xfd, 0x1e, 0x6c, 0x2f, 0xe1, 0x50, 0x09, 0x72, 0xdd, 0xf6, 0xb3, 0x36, - 0xd6, 0xde, 0x43, 0x55, 0x80, 0x5e, 0x77, 0x88, 0xdb, 0xad, 0x1e, 0x7f, 0xce, 0x20, 0x80, 0x7c, - 0xb3, 0xf3, 0xbc, 0xf9, 0x6d, 0x5f, 0xcb, 0xd6, 0xff, 0x5d, 0x86, 0x62, 0x6b, 0x74, 0x42, 0x6d, - 0xcb, 0xbc, 0x40, 0x77, 0xa1, 0x44, 0x18, 0xa3, 0x8c, 0xfb, 0x42, 0x85, 0x4b, 0x4d, 0x56, 0x59, - 0x09, 0x68, 0xb4, 0x99, 0x90, 0x49, 0xe3, 0xf0, 0x1c, 0x8c, 0xbe, 0x86, 0xa2, 0x6f, 0xd3, 0x57, - 0x82, 0x28, 0x03, 0xe4, 0x6a, 0x82, 0xd8, 0x57, 0x42, 0xc5, 0x9c, 0x81, 0xd1, 0xcf, 0xa0, 0xf2, - 0x5d, 0x38, 0x9e, 0x90, 0x28, 0x08, 0x55, 0xeb, 0x7b, 0x43, 0x94, 0x26, 0xf1, 0xfc, 0xe4, 0x1d, - 0xe3, 0x75, 0xfb, 0x3b, 0x62, 0xf2, 0xc7, 0x13, 0xc2, 0x4c, 0x5e, 0x18, 0x53, 0x9d, 0xfc, 0x32, - 0x0f, 0xb5, 0xa0, 0x6c, 0x52, 0xd7, 0x27, 0x66, 0x18, 0x58, 0xd3, 0xa8, 0x2d, 0x7e, 0x92, 0x78, - 0x95, 0xd6, 0x5c, 0xde, 0x66, 0xea, 0x9c, 0x70, 0x9c, 0x55, 0xfb, 0x43, 0x0e, 0x2a, 0x09, 0x4f, - 0xa1, 0x03, 0xc8, 0x13, 0xd7, 0x18, 0xd9, 0x73, 0xaf, 0x2e, 0x1a, 0x76, 0x48, 0xa9, 0xad, 0xda, - 0x8b, 0x44, 0xa2, 0x01, 0x5c, 0x56, 0x51, 0xf4, 0x8c, 0xda, 0xa1, 0x43, 0x06, 0xe7, 0x8c, 0xf8, - 0xe7, 0xd4, 0x1e, 0xa7, 0xca, 0xc0, 0x35, 0x5c, 0x74, 0x02, 0x3b, 0xb3, 0x53, 0x1b, 0xd0, 0x13, - 0x46, 0x78, 0xf5, 0x23, 0xe3, 0xb5, 0x13, 0x47, 0x5c, 0xe7, 0x4a, 0x26, 0x7a, 0x08, 0x97, 0x62, - 0xeb, 0x22, 0x45, 0xd2, 0x78, 0x7f, 0x91, 0x84, 0x8e, 0xa0, 0xe8, 0x7b, 0xc4, 0xb4, 0x0c, 0xdb, - 0xd7, 0x73, 0xa2, 0x18, 0x5c, 0x5f, 0x1f, 0x7b, 0x8d, 0xbe, 0x84, 0xce, 0xe2, 0x49, 0x31, 0x6b, - 0x7f, 0xe2, 0xed, 0x20, 0x2e, 0xe3, 0x33, 0x55, 0x70, 0xe1, 0xa5, 0xeb, 0x05, 0x02, 0x89, 0xee, - 0x03, 0x08, 0xe3, 0x5a, 0x74, 0x4c, 0x7c, 0x3d, 0x2b, 0x6c, 0xb9, 0xba, 0xc4, 0x3b, 0x76, 0x83, - 0x3b, 0x5f, 0xa9, 0xee, 0x3c, 0x87, 0xff, 0xff, 0x3a, 0xb8, 0xf6, 0xbb, 0x2c, 0x54, 0x93, 0x79, - 0xf8, 0x4e, 0x71, 0xb9, 0x0f, 0x39, 0x5e, 0xdd, 0x03, 0x15, 0x86, 0x6f, 0xc8, 0x54, 0x89, 0x43, - 0x5d, 0x78, 0x3f, 0x4a, 0xf7, 0xb7, 0x75, 0xc8, 0x2a, 0x22, 0x3a, 0x82, 0xea, 0x7c, 0x39, 0xb5, - 0x3b, 0x16, 0x38, 0xb5, 0xdf, 0x64, 0x61, 0x67, 0x55, 0x2a, 0xbf, 0x93, 0x4f, 0x7e, 0x05, 0x57, - 0xcd, 0x84, 0x2e, 0xca, 0xe2, 0xaf, 0x9a, 0x26, 0x61, 0xdf, 0xa4, 0x80, 0xd7, 0x82, 0x65, 0xb1, - 0x6a, 0x9b, 0x29, 0x6a, 0xc1, 0x6a, 0x6e, 0xfd, 0xf7, 0x05, 0xa8, 0x1e, 0x11, 0x3f, 0xb0, 0x5c, - 0x71, 0x5e, 0x7d, 0x12, 0xfc, 0x4f, 0x66, 0xa7, 0x07, 0x50, 0x74, 0x48, 0x60, 0x8c, 0x8d, 0xc0, - 0x50, 0x53, 0xc0, 0x1e, 0x4f, 0xfc, 0xa4, 0x65, 0x8d, 0xa7, 0x0a, 0x22, 0x07, 0xa8, 0x19, 0x83, - 0x77, 0x1e, 0x46, 0x7c, 0x31, 0x69, 0x89, 0x38, 0xa8, 0xca, 0xce, 0xb3, 0xc0, 0xc6, 0x0a, 0x82, - 0x67, 0x60, 0x74, 0x43, 0xd5, 0x85, 0x9c, 0x20, 0x7d, 0xb0, 0x82, 0x34, 0xb8, 0xf0, 0xa2, 0x92, - 0xd0, 0x80, 0x9c, 0x6f, 0x52, 0x8f, 0xa8, 0x4e, 0xad, 0xaf, 0x40, 0xf7, 0xb9, 0x1c, 0x4b, 0x18, - 0xfa, 0x09, 0x6c, 0x39, 0x24, 0x60, 0x96, 0xa9, 0x66, 0xaf, 0xc2, 0xf7, 0xe5, 0x4a, 0x02, 0xce, - 0x53, 0x5e, 0x3e, 0x9f, 0x30, 0x62, 0xca, 0x49, 0xba, 0x98, 0x26, 0xe5, 0x17, 0x48, 0xa8, 0x09, - 0xd5, 0xd0, 0x1b, 0x1b, 0x01, 0x39, 0x76, 0x03, 0xc2, 0xa6, 0x86, 0xad, 0x6e, 0x45, 0x6f, 0x30, - 0x64, 0x81, 0x80, 0x6e, 0x40, 0x81, 0xc9, 0x91, 0x44, 0x5d, 0x8e, 0xb6, 0x97, 0xa6, 0x14, 0x1c, - 0x21, 0xd0, 0x67, 0x90, 0xf7, 0x44, 0xb5, 0x56, 0x17, 0xa2, 0xad, 0x78, 0x05, 0xc7, 0x4a, 0x86, - 0x3e, 0x87, 0xbc, 0x43, 0x82, 0x73, 0x3a, 0x56, 0x57, 0x9f, 0xa5, 0xa9, 0x56, 0x89, 0x17, 0x0a, - 0x71, 0xe5, 0xad, 0x0a, 0x71, 0xad, 0x03, 0x95, 0x44, 0xcc, 0xfc, 0x77, 0xd3, 0xf5, 0x67, 0x50, - 0x8c, 0x62, 0x88, 0xcf, 0x4f, 0xfd, 0xd3, 0xc3, 0x7e, 0x7b, 0xa0, 0xbd, 0x87, 0xb6, 0xa0, 0x78, - 0xdc, 0xed, 0x0f, 0x9a, 0xdd, 0x56, 0x5b, 0xcb, 0xd4, 0x3f, 0x84, 0x4d, 0x1e, 0x34, 0x1c, 0xf1, - 0xa8, 0xd3, 0x3b, 0x6c, 0x76, 0xb4, 0xf7, 0xf8, 0x20, 0xd6, 0xe9, 0xb5, 0x9a, 0x1d, 0x21, 0xce, - 0x89, 0x28, 0x41, 0x05, 0xd8, 0x68, 0x76, 0xb8, 0xb0, 0x0c, 0x85, 0xd6, 0x29, 0xc6, 0xed, 0xee, - 0x40, 0xcb, 0xd4, 0x1d, 0xc8, 0xcb, 0xfb, 0x2c, 0x77, 0xba, 0xdc, 0xcb, 0xd7, 0x33, 0xe2, 0xad, - 0xb7, 0x97, 0xee, 0x13, 0x38, 0x42, 0xa0, 0x3b, 0xb0, 0x35, 0x9e, 0x87, 0x62, 0xd4, 0xb0, 0xd0, - 0x72, 0x88, 0xe2, 0x04, 0xae, 0xfe, 0xaf, 0x2c, 0x94, 0xf9, 0x6e, 0xd1, 0xbd, 0xe9, 0x36, 0xe4, - 0x55, 0x1e, 0xc9, 0xd4, 0x17, 0x77, 0x98, 0x18, 0x40, 0xed, 0xdf, 0x97, 0x29, 0x8f, 0x15, 0x18, - 0x1d, 0x41, 0x39, 0xa6, 0x56, 0xb9, 0xb2, 0xbe, 0xc8, 0x4d, 0x58, 0x22, 0x15, 0xc4, 0x69, 0xb5, - 0x47, 0xd1, 0x2d, 0x4e, 0x49, 0x91, 0x9e, 0xac, 0x44, 0xa5, 0x79, 0xad, 0xb9, 0xb6, 0x58, 0x6b, - 0x4a, 0xb1, 0x6a, 0x52, 0xbb, 0x00, 0xb4, 0xbc, 0xd7, 0xbb, 0x6a, 0x43, 0x37, 0x66, 0xa1, 0xba, - 0xb1, 0x32, 0x44, 0x0e, 0xb3, 0x7a, 0x26, 0x0a, 0xd7, 0xfa, 0x9f, 0x0b, 0x80, 0x96, 0xaf, 0xab, - 0xa8, 0x3a, 0xfb, 0x74, 0x54, 0x12, 0x1f, 0x87, 0x90, 0xfa, 0xc8, 0x23, 0x37, 0x93, 0x9f, 0x71, - 0x12, 0x56, 0x6c, 0x2c, 0x5a, 0x71, 0x79, 0xd6, 0x92, 0x78, 0x85, 0x2b, 0xce, 0xda, 0x4e, 0x2d, - 0x76, 0xd3, 0xce, 0x09, 0xd2, 0xfc, 0x2e, 0xbd, 0x13, 0xdd, 0xf6, 0xf3, 0x42, 0xa0, 0xee, 0xf3, - 0x3b, 0xd1, 0x7d, 0xbe, 0x20, 0x57, 0x9d, 0x68, 0x95, 0x88, 0xd5, 0xa2, 0x5c, 0x15, 0x0f, 0x68, - 0x4f, 0x1c, 0xac, 0xc9, 0x2c, 0x4f, 0x1c, 0x6c, 0x49, 0xc8, 0xe2, 0x4b, 0xe8, 0x63, 0xc8, 0xd9, - 0x64, 0x4a, 0x6c, 0x7d, 0x57, 0x54, 0xc5, 0x12, 0x77, 0x4e, 0x87, 0x2f, 0x60, 0xb9, 0x8e, 0x0e, - 0x60, 0x8b, 0xdf, 0xd5, 0x87, 0x8e, 0x8c, 0x02, 0xfd, 0xf2, 0xdc, 0x89, 0xb1, 0xe0, 0xc0, 0x65, - 0x16, 0x0b, 0xc3, 0x26, 0x68, 0x22, 0x8b, 0x87, 0x26, 0x75, 0xc7, 0x96, 0x0c, 0xe9, 0x0f, 0xe6, - 0x21, 0xdd, 0x96, 0x19, 0xae, 0x44, 0xc2, 0xff, 0x97, 0x48, 0x62, 0xcd, 0x47, 0x6d, 0xd8, 0x0e, - 0x98, 0x35, 0x99, 0x90, 0x98, 0x12, 0x5d, 0x17, 0x3a, 0x76, 0xb8, 0x8e, 0x81, 0x14, 0x26, 0xb5, - 0x68, 0xc1, 0xc2, 0x2a, 0xba, 0x09, 0x3b, 0x8e, 0xf1, 0x7a, 0x48, 0xd4, 0x1d, 0x61, 0xe8, 0xa9, - 0xcb, 0xc5, 0x95, 0xbd, 0xcc, 0xf5, 0xca, 0xca, 0xeb, 0xc3, 0x37, 0xa0, 0xb1, 0x59, 0x65, 0x54, - 0xfb, 0xd6, 0xc4, 0x3b, 0xef, 0x24, 0xab, 0xa6, 0x94, 0xe1, 0x25, 0x34, 0x6a, 0xc1, 0xf6, 0x99, - 0x11, 0xda, 0x81, 0xbc, 0xc9, 0xc9, 0xfa, 0xaa, 0x5f, 0x15, 0x2a, 0x76, 0xb9, 0x8a, 0x87, 0x8b, - 0x42, 0xbc, 0x8c, 0x47, 0xf7, 0xa0, 0x7a, 0x66, 0xd8, 0xf6, 0xc8, 0x30, 0x5f, 0x2a, 0x0d, 0xd7, - 0x84, 0x06, 0x24, 0x35, 0xc4, 0x25, 0x78, 0x01, 0x89, 0x6e, 0x43, 0x65, 0x64, 0x53, 0xf3, 0x25, - 0xf7, 0xdc, 0x99, 0x35, 0xf1, 0xf5, 0x0f, 0x85, 0xdf, 0xc4, 0x99, 0x1d, 0x72, 0x81, 0xe2, 0x25, - 0x51, 0x3c, 0x14, 0x3d, 0x66, 0x51, 0x66, 0x05, 0x17, 0xfa, 0x47, 0xc2, 0x3f, 0xb3, 0x67, 0xf4, - 0x4d, 0xac, 0xc1, 0x1f, 0x08, 0x6d, 0x9f, 0xad, 0xfe, 0xb2, 0xb3, 0xae, 0xc9, 0xd7, 0xee, 0x7f, - 0x7f, 0x2d, 0xdf, 0x89, 0xd7, 0xf2, 0x52, 0xac, 0x74, 0x3f, 0xd9, 0x2c, 0x82, 0xb6, 0x5b, 0xff, - 0x5b, 0x06, 0xaa, 0xc9, 0xd8, 0xe1, 0xed, 0xc5, 0x72, 0xbd, 0x30, 0x18, 0xce, 0xee, 0x07, 0xd5, - 0x83, 0x6b, 0xcb, 0x31, 0xd6, 0x38, 0xe6, 0x20, 0x31, 0x0c, 0x94, 0xac, 0xe8, 0x27, 0xfa, 0x31, - 0x94, 0xe6, 0xb1, 0xb5, 0xa6, 0x7f, 0xcc, 0x11, 0xf5, 0x5b, 0x50, 0x9a, 0xa9, 0xe1, 0x55, 0xff, - 0xb4, 0xfb, 0xf3, 0x6e, 0xef, 0x79, 0x57, 0x76, 0x10, 0xdc, 0x1e, 0x0c, 0x5b, 0xbd, 0xa3, 0xb6, - 0x96, 0xe1, 0xdd, 0xe2, 0xa8, 0xdd, 0x69, 0x7e, 0xab, 0x65, 0xeb, 0x7f, 0xc9, 0x82, 0xb6, 0x18, - 0xa9, 0xa8, 0x05, 0x5b, 0x51, 0x68, 0xc7, 0xac, 0xde, 0x5b, 0x15, 0xd5, 0xd1, 0x82, 0xb0, 0xbc, - 0x1c, 0xcc, 0x1f, 0xd0, 0xc7, 0x50, 0x8e, 0x52, 0x2c, 0x74, 0xe5, 0x20, 0x5f, 0x99, 0xf5, 0xce, - 0xd0, 0x0d, 0xd0, 0xa7, 0x50, 0x91, 0x80, 0x28, 0xe4, 0x37, 0x04, 0x64, 0x4b, 0x2c, 0x46, 0xc1, - 0x5e, 0x83, 0xa2, 0x15, 0x8d, 0x15, 0x9b, 0xf2, 0xc8, 0xa3, 0x67, 0xf4, 0x39, 0x5c, 0x72, 0x2c, - 0xd7, 0x72, 0x42, 0x67, 0xa8, 0x2e, 0xa2, 0xa2, 0x40, 0x55, 0x70, 0x55, 0x2d, 0x63, 0xb9, 0x5a, - 0x6f, 0x42, 0x39, 0x66, 0x66, 0xd2, 0x33, 0x55, 0x80, 0x36, 0xc6, 0x3d, 0x3c, 0xc4, 0xcd, 0x01, - 0xf7, 0xcd, 0x2e, 0x6c, 0xb7, 0x7a, 0xdd, 0x7e, 0xbb, 0x75, 0x3a, 0x38, 0x7e, 0xd6, 0x1e, 0x0a, - 0x99, 0x96, 0xad, 0x13, 0xd0, 0x16, 0x13, 0x0b, 0x7d, 0x02, 0x5b, 0xe2, 0x63, 0xd6, 0xf0, 0xd5, - 0xfc, 0xdb, 0x57, 0x25, 0xf9, 0x81, 0xab, 0x01, 0x28, 0x36, 0x17, 0xf7, 0xe5, 0x57, 0x20, 0xe5, - 0x8b, 0x15, 0x92, 0xfa, 0x0d, 0xd8, 0x5e, 0x4a, 0xbe, 0x58, 0x65, 0xce, 0xc4, 0x2b, 0x73, 0xfd, - 0x05, 0x54, 0x93, 0x79, 0xb6, 0x0e, 0x89, 0x6e, 0x8a, 0xf9, 0xd5, 0xe3, 0xfb, 0xa9, 0x30, 0xda, - 0x89, 0x67, 0x29, 0x56, 0x32, 0x3c, 0x43, 0xd5, 0xff, 0x9e, 0x01, 0x6d, 0x51, 0xcc, 0x9b, 0x8a, - 0x49, 0xc7, 0x52, 0x79, 0x0e, 0x8b, 0xdf, 0xe8, 0x01, 0x14, 0xce, 0x89, 0x31, 0x26, 0x2c, 0x9a, - 0x09, 0xea, 0xab, 0x34, 0x37, 0x9e, 0x12, 0xdf, 0x37, 0x26, 0xe4, 0xb1, 0x80, 0xe2, 0x88, 0xc2, - 0x35, 0x8e, 0xe8, 0xf8, 0x42, 0x75, 0x23, 0xf1, 0xbb, 0xf6, 0x35, 0xcf, 0xc3, 0x18, 0x3a, 0x6d, - 0x1e, 0xd6, 0xff, 0x99, 0x81, 0x72, 0xac, 0x7a, 0xcc, 0x7a, 0x60, 0x26, 0xd6, 0x03, 0xaf, 0xc0, - 0x86, 0xe1, 0x59, 0xca, 0x09, 0x05, 0x6e, 0x6a, 0xf3, 0xe4, 0x18, 0xf3, 0x35, 0xf4, 0xd3, 0x15, - 0x3d, 0x61, 0x63, 0x5d, 0x4f, 0xc0, 0x4b, 0x58, 0x74, 0x04, 0x68, 0xa9, 0x21, 0xf8, 0xfa, 0xe6, - 0xfa, 0x8e, 0x80, 0x57, 0xe0, 0x7f, 0xf4, 0x10, 0x72, 0xa2, 0xbb, 0x25, 0xa3, 0xb4, 0x0c, 0x85, - 0x7e, 0x1b, 0x3f, 0x3b, 0xe6, 0x03, 0x20, 0x1f, 0xfc, 0x9e, 0xb6, 0x07, 0x8f, 0x7b, 0x47, 0x5a, - 0x96, 0xa7, 0xf2, 0x23, 0xdc, 0x3b, 0x3d, 0xd1, 0x36, 0x12, 0x53, 0xe2, 0xe6, 0xe1, 0x1f, 0x33, - 0x70, 0xd7, 0xa4, 0x4e, 0x23, 0x20, 0x2e, 0x4f, 0xa4, 0x86, 0x47, 0x6d, 0x83, 0x59, 0x7e, 0x43, - 0x7c, 0xc4, 0x38, 0xb3, 0x4c, 0xf9, 0x7f, 0x29, 0xc3, 0xb3, 0xb8, 0x65, 0xa2, 0xba, 0x37, 0x02, - 0x6a, 0x13, 0x66, 0xb8, 0x26, 0x39, 0x7c, 0x3f, 0x59, 0x36, 0x4f, 0xf8, 0x14, 0xfc, 0xa2, 0x3d, - 0xb1, 0x82, 0xf3, 0x70, 0xd4, 0x30, 0xa9, 0xb3, 0xaf, 0xb4, 0x39, 0xc4, 0x3f, 0xdf, 0x4f, 0x68, - 0xdc, 0x97, 0x03, 0xdb, 0xfe, 0x84, 0xee, 0x1b, 0x9e, 0xb5, 0x3f, 0xbd, 0xb5, 0x2f, 0x74, 0x0f, - 0x67, 0xba, 0x47, 0x79, 0x31, 0x53, 0x7f, 0xf9, 0x9f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x1e, 0xcc, - 0x44, 0x22, 0x67, 0x1b, 0x00, 0x00, +var File_circuitbreaker_proto protoreflect.FileDescriptor + +var file_circuitbreaker_proto_rawDesc = []byte{ + 0x0a, 0x14, 0x63, 0x69, 0x72, 0x63, 0x75, 0x69, 0x74, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x65, 0x72, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x02, 0x76, 0x31, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, + 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0b, 0x6d, 0x6f, 0x64, 0x65, + 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa9, 0x07, 0x0a, 0x0e, 0x43, 0x69, 0x72, 0x63, + 0x75, 0x69, 0x74, 0x42, 0x72, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x12, 0x2c, 0x0a, 0x02, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x52, 0x02, 0x69, 0x64, 0x12, 0x36, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, + 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, + 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x12, 0x30, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x12, 0x3a, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x36, + 0x0a, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x07, 0x73, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x49, 0x0a, 0x11, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, + 0x10, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, + 0x65, 0x12, 0x26, 0x0a, 0x08, 0x69, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x73, 0x18, 0x07, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x62, 0x52, 0x75, 0x6c, 0x65, 0x52, + 0x08, 0x69, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x73, 0x12, 0x28, 0x0a, 0x09, 0x6f, 0x75, 0x74, + 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x76, + 0x31, 0x2e, 0x43, 0x62, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x09, 0x6f, 0x75, 0x74, 0x62, 0x6f, 0x75, + 0x6e, 0x64, 0x73, 0x12, 0x32, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x09, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x34, 0x0a, 0x06, 0x6f, 0x77, 0x6e, 0x65, 0x72, + 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, + 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x06, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x73, 0x12, 0x38, 0x0a, + 0x08, 0x62, 0x75, 0x73, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08, 0x62, + 0x75, 0x73, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x12, 0x3c, 0x0a, 0x0a, 0x64, 0x65, 0x70, 0x61, 0x72, + 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, + 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0a, 0x64, 0x65, 0x70, 0x61, 0x72, + 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x36, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, + 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x32, 0x0a, + 0x05, 0x63, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, + 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x63, 0x74, 0x69, 0x6d, + 0x65, 0x12, 0x32, 0x0a, 0x05, 0x6d, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, + 0x6d, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x38, 0x0a, 0x08, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, + 0x6e, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, + 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x12, + 0x2c, 0x0a, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x15, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, + 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x69, 0x72, 0x63, 0x75, 0x69, 0x74, 0x42, 0x72, 0x65, 0x61, 0x6b, + 0x65, 0x72, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x4a, 0x04, 0x08, + 0x11, 0x10, 0x15, 0x22, 0x86, 0x02, 0x0a, 0x0d, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4d, 0x61, + 0x74, 0x63, 0x68, 0x65, 0x72, 0x12, 0x36, 0x0a, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x52, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x3a, 0x0a, + 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x09, + 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x35, 0x0a, 0x06, 0x6c, 0x61, 0x62, + 0x65, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x76, 0x31, 0x2e, 0x53, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x4c, 0x61, 0x62, + 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, + 0x1a, 0x4a, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, + 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, + 0x79, 0x12, 0x25, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x0f, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x74, 0x72, 0x69, 0x6e, + 0x67, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xb3, 0x04, 0x0a, + 0x0d, 0x52, 0x65, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3b, + 0x0a, 0x0b, 0x73, 0x6c, 0x65, 0x65, 0x70, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, + 0x73, 0x6c, 0x65, 0x65, 0x70, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x12, 0x52, 0x0a, 0x15, 0x6d, + 0x61, 0x78, 0x52, 0x65, 0x74, 0x72, 0x79, 0x41, 0x66, 0x74, 0x65, 0x72, 0x48, 0x61, 0x6c, 0x66, + 0x4f, 0x70, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, + 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x15, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x74, + 0x72, 0x79, 0x41, 0x66, 0x74, 0x65, 0x72, 0x48, 0x61, 0x6c, 0x66, 0x4f, 0x70, 0x65, 0x6e, 0x12, + 0x58, 0x0a, 0x18, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x61, 0x74, 0x65, 0x41, 0x66, + 0x74, 0x65, 0x72, 0x48, 0x61, 0x6c, 0x66, 0x4f, 0x70, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, + 0x18, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x61, 0x74, 0x65, 0x41, 0x66, 0x74, 0x65, + 0x72, 0x48, 0x61, 0x6c, 0x66, 0x4f, 0x70, 0x65, 0x6e, 0x12, 0x4c, 0x0a, 0x12, 0x73, 0x75, 0x63, + 0x63, 0x65, 0x73, 0x73, 0x52, 0x61, 0x74, 0x65, 0x54, 0x6f, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x52, 0x12, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x61, 0x74, 0x65, + 0x54, 0x6f, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x12, 0x5a, 0x0a, 0x19, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x66, 0x74, 0x65, 0x72, 0x48, 0x61, 0x6c, 0x66, + 0x4f, 0x70, 0x65, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, + 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x19, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x66, 0x74, 0x65, 0x72, 0x48, 0x61, 0x6c, 0x66, 0x4f, + 0x70, 0x65, 0x6e, 0x12, 0x51, 0x0a, 0x11, 0x6f, 0x75, 0x74, 0x6c, 0x69, 0x65, 0x72, 0x44, 0x65, + 0x74, 0x65, 0x63, 0x74, 0x57, 0x68, 0x65, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x23, + 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x2e, 0x4f, 0x75, 0x74, 0x6c, 0x69, 0x65, 0x72, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x57, + 0x68, 0x65, 0x6e, 0x52, 0x11, 0x6f, 0x75, 0x74, 0x6c, 0x69, 0x65, 0x72, 0x44, 0x65, 0x74, 0x65, + 0x63, 0x74, 0x57, 0x68, 0x65, 0x6e, 0x22, 0x3a, 0x0a, 0x11, 0x4f, 0x75, 0x74, 0x6c, 0x69, 0x65, + 0x72, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x57, 0x68, 0x65, 0x6e, 0x12, 0x09, 0x0a, 0x05, 0x4e, + 0x45, 0x56, 0x45, 0x52, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x4f, 0x4e, 0x5f, 0x52, 0x45, 0x43, + 0x4f, 0x56, 0x45, 0x52, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x41, 0x4c, 0x57, 0x41, 0x59, 0x53, + 0x10, 0x02, 0x22, 0xf9, 0x0b, 0x0a, 0x08, 0x43, 0x62, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, + 0x38, 0x0a, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x62, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x2e, 0x45, 0x72, 0x72, 0x52, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x09, + 0x65, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x61, 0x74, 0x65, 0x12, 0x37, 0x0a, 0x08, 0x73, 0x6c, 0x6f, + 0x77, 0x52, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x76, 0x31, + 0x2e, 0x43, 0x62, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x53, 0x6c, 0x6f, 0x77, 0x52, 0x61, + 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x08, 0x73, 0x6c, 0x6f, 0x77, 0x52, 0x61, + 0x74, 0x65, 0x12, 0x3f, 0x0a, 0x0d, 0x6a, 0x75, 0x64, 0x67, 0x65, 0x44, 0x75, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0d, 0x6a, 0x75, 0x64, 0x67, 0x65, 0x44, 0x75, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x4c, 0x0a, 0x12, 0x6d, 0x61, 0x78, 0x45, 0x6a, 0x65, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x12, 0x6d, + 0x61, 0x78, 0x45, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, + 0x74, 0x12, 0x43, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x63, 0x75, 0x74, 0x69, 0x76, 0x65, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x62, 0x50, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x43, 0x6f, 0x6e, 0x73, 0x65, 0x63, 0x75, 0x74, 0x69, 0x76, 0x65, + 0x45, 0x72, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x73, 0x65, + 0x63, 0x75, 0x74, 0x69, 0x76, 0x65, 0x1a, 0x94, 0x05, 0x0a, 0x0d, 0x45, 0x72, 0x72, 0x52, 0x61, + 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x32, 0x0a, 0x06, 0x65, 0x6e, 0x61, 0x62, + 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x52, 0x06, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x54, 0x0a, 0x16, + 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x54, 0x68, 0x72, + 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, + 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x16, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, + 0x6c, 0x64, 0x12, 0x50, 0x0a, 0x14, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x61, 0x74, 0x65, 0x54, + 0x6f, 0x50, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x14, + 0x65, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x61, 0x74, 0x65, 0x54, 0x6f, 0x50, 0x72, 0x65, 0x73, 0x65, + 0x72, 0x76, 0x65, 0x64, 0x12, 0x46, 0x0a, 0x0f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x61, 0x74, + 0x65, 0x54, 0x6f, 0x4f, 0x70, 0x65, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0f, 0x65, 0x72, 0x72, + 0x6f, 0x72, 0x52, 0x61, 0x74, 0x65, 0x54, 0x6f, 0x4f, 0x70, 0x65, 0x6e, 0x12, 0x44, 0x0a, 0x08, + 0x73, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, + 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x62, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x45, 0x72, 0x72, + 0x52, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x53, 0x70, 0x65, 0x63, 0x69, + 0x61, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x08, 0x73, 0x70, 0x65, 0x63, 0x69, 0x61, + 0x6c, 0x73, 0x1a, 0x98, 0x02, 0x0a, 0x0d, 0x53, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x12, 0x30, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x3b, 0x0a, 0x0a, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x43, + 0x6f, 0x64, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, + 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0a, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f, + 0x64, 0x65, 0x73, 0x12, 0x50, 0x0a, 0x14, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x61, 0x74, 0x65, + 0x54, 0x6f, 0x50, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, + 0x14, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x61, 0x74, 0x65, 0x54, 0x6f, 0x50, 0x72, 0x65, 0x73, + 0x65, 0x72, 0x76, 0x65, 0x64, 0x12, 0x46, 0x0a, 0x0f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x61, + 0x74, 0x65, 0x54, 0x6f, 0x4f, 0x70, 0x65, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0f, 0x65, 0x72, + 0x72, 0x6f, 0x72, 0x52, 0x61, 0x74, 0x65, 0x54, 0x6f, 0x4f, 0x70, 0x65, 0x6e, 0x1a, 0x8b, 0x02, + 0x0a, 0x0e, 0x53, 0x6c, 0x6f, 0x77, 0x52, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x12, 0x32, 0x0a, 0x06, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x06, 0x65, 0x6e, + 0x61, 0x62, 0x6c, 0x65, 0x12, 0x2f, 0x0a, 0x05, 0x6d, 0x61, 0x78, 0x52, 0x74, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x05, + 0x6d, 0x61, 0x78, 0x52, 0x74, 0x12, 0x4e, 0x0a, 0x13, 0x73, 0x6c, 0x6f, 0x77, 0x52, 0x61, 0x74, + 0x65, 0x54, 0x6f, 0x50, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x52, 0x13, 0x73, 0x6c, 0x6f, 0x77, 0x52, 0x61, 0x74, 0x65, 0x54, 0x6f, 0x50, 0x72, 0x65, 0x73, + 0x65, 0x72, 0x76, 0x65, 0x64, 0x12, 0x44, 0x0a, 0x0e, 0x73, 0x6c, 0x6f, 0x77, 0x52, 0x61, 0x74, + 0x65, 0x54, 0x6f, 0x4f, 0x70, 0x65, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0e, 0x73, 0x6c, 0x6f, + 0x77, 0x52, 0x61, 0x74, 0x65, 0x54, 0x6f, 0x4f, 0x70, 0x65, 0x6e, 0x1a, 0x80, 0x02, 0x0a, 0x14, + 0x43, 0x6f, 0x6e, 0x73, 0x65, 0x63, 0x75, 0x74, 0x69, 0x76, 0x65, 0x45, 0x72, 0x72, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x12, 0x32, 0x0a, 0x06, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x52, 0x06, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x5e, 0x0a, 0x1b, 0x63, 0x6f, 0x6e, 0x73, + 0x65, 0x63, 0x75, 0x74, 0x69, 0x76, 0x65, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x54, 0x6f, 0x50, 0x72, + 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x1b, 0x63, 0x6f, 0x6e, + 0x73, 0x65, 0x63, 0x75, 0x74, 0x69, 0x76, 0x65, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x54, 0x6f, 0x50, + 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x12, 0x54, 0x0a, 0x16, 0x63, 0x6f, 0x6e, 0x73, + 0x65, 0x63, 0x75, 0x74, 0x69, 0x76, 0x65, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x54, 0x6f, 0x4f, 0x70, + 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, + 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x16, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x63, 0x75, 0x74, + 0x69, 0x76, 0x65, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x54, 0x6f, 0x4f, 0x70, 0x65, 0x6e, 0x22, 0x8d, + 0x07, 0x0a, 0x0e, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, + 0x74, 0x12, 0x36, 0x0a, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x52, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x3a, 0x0a, 0x09, 0x6e, 0x61, 0x6d, + 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, + 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, + 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x3c, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x73, + 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x2e, 0x4d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x12, 0x37, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x73, 0x74, 0x69, + 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2b, 0x0a, 0x04, + 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x76, 0x31, 0x2e, + 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x2e, 0x54, + 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x2e, 0x0a, 0x05, 0x73, 0x63, 0x6f, + 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, + 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x2e, 0x53, 0x63, 0x6f, + 0x70, 0x65, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x12, 0x3d, 0x0a, 0x0c, 0x6d, 0x65, 0x74, + 0x72, 0x69, 0x63, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x6d, 0x65, 0x74, 0x72, + 0x69, 0x63, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x12, 0x46, 0x0a, 0x0f, 0x6d, 0x65, 0x74, 0x72, + 0x69, 0x63, 0x50, 0x72, 0x65, 0x63, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, + 0x0f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x50, 0x72, 0x65, 0x63, 0x69, 0x73, 0x69, 0x6f, 0x6e, + 0x12, 0x41, 0x0a, 0x0e, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, + 0x61, 0x6c, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x0e, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, + 0x76, 0x61, 0x6c, 0x12, 0x2b, 0x0a, 0x07, 0x72, 0x65, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x18, 0x0a, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x63, 0x6f, 0x76, 0x65, + 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x07, 0x72, 0x65, 0x63, 0x6f, 0x76, 0x65, 0x72, + 0x12, 0x24, 0x0a, 0x06, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x0c, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x62, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x06, + 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x27, 0x0a, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, + 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x61, 0x74, 0x63, + 0x68, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, + 0x3b, 0x0a, 0x0a, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x0d, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x52, 0x0a, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x73, 0x1a, 0x4c, 0x0a, 0x0d, + 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, + 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, + 0x25, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, + 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x24, 0x0a, 0x08, 0x52, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x55, 0x42, 0x53, 0x45, 0x54, + 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x10, 0x01, + 0x22, 0x1d, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0a, 0x0a, 0x06, 0x47, 0x4c, 0x4f, 0x42, + 0x41, 0x4c, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x4c, 0x4f, 0x43, 0x41, 0x4c, 0x10, 0x01, 0x22, + 0x1d, 0x0a, 0x05, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x12, 0x07, 0x0a, 0x03, 0x41, 0x4c, 0x4c, 0x10, + 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x43, 0x55, 0x52, 0x52, 0x45, 0x4e, 0x54, 0x10, 0x01, 0x22, 0x6d, + 0x0a, 0x06, 0x43, 0x62, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x2b, 0x0a, 0x07, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x76, 0x31, 0x2e, 0x53, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x52, 0x07, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x36, 0x0a, 0x0c, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x76, 0x31, + 0x2e, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x52, + 0x0c, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xce, 0x02, + 0x0a, 0x0b, 0x52, 0x75, 0x6c, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x12, 0x35, 0x0a, + 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, + 0x76, 0x31, 0x2e, 0x52, 0x75, 0x6c, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x53, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x06, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x12, 0x44, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x76, 0x31, 0x2e, 0x52, + 0x75, 0x6c, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x44, 0x65, 0x73, 0x74, 0x69, + 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x0b, 0x64, + 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x47, 0x0a, 0x0d, 0x53, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, + 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, + 0x61, 0x63, 0x65, 0x1a, 0x79, 0x0a, 0x12, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, + 0x65, 0x12, 0x2b, 0x0a, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x0f, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x74, 0x72, 0x69, + 0x6e, 0x67, 0x42, 0x02, 0x18, 0x01, 0x52, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x22, 0xd6, + 0x07, 0x0a, 0x12, 0x43, 0x69, 0x72, 0x63, 0x75, 0x69, 0x74, 0x42, 0x72, 0x65, 0x61, 0x6b, 0x65, + 0x72, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, + 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, + 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x6e, 0x61, 0x62, 0x6c, + 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x12, + 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x08, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x63, + 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x63, 0x74, 0x69, 0x6d, + 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x05, 0x6d, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x74, 0x69, 0x6d, 0x65, + 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x20, 0x0a, + 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x09, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x1f, 0x0a, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x09, + 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, + 0x12, 0x32, 0x0a, 0x0c, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, + 0x18, 0x16, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x75, 0x6c, 0x65, + 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x52, 0x0b, 0x72, 0x75, 0x6c, 0x65, 0x4d, 0x61, 0x74, + 0x63, 0x68, 0x65, 0x72, 0x12, 0x41, 0x0a, 0x10, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x63, 0x6f, + 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x17, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, + 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, + 0x6f, 0x6e, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f, 0x6e, + 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x45, 0x0a, 0x11, 0x74, 0x72, 0x69, 0x67, 0x67, + 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x18, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x43, + 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x02, 0x18, 0x01, 0x52, 0x10, 0x74, 0x72, + 0x69, 0x67, 0x67, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x30, + 0x0a, 0x14, 0x6d, 0x61, 0x78, 0x5f, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, + 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x18, 0x19, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x6d, 0x61, + 0x78, 0x45, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, + 0x12, 0x40, 0x0a, 0x10, 0x72, 0x65, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x64, 0x69, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x76, 0x31, 0x2e, + 0x52, 0x65, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x10, 0x72, 0x65, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x43, 0x0a, 0x11, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x44, 0x65, 0x74, 0x65, 0x63, + 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, + 0x76, 0x31, 0x2e, 0x46, 0x61, 0x75, 0x6c, 0x74, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x52, 0x11, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x44, 0x65, 0x74, 0x65, 0x63, + 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3a, 0x0a, 0x0e, 0x66, 0x61, 0x6c, 0x6c, 0x62, + 0x61, 0x63, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x12, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x52, 0x0e, 0x66, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x12, 0x35, 0x0a, 0x0d, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x63, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x73, 0x18, 0x1d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x76, 0x31, 0x2e, + 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0d, 0x62, 0x6c, 0x6f, + 0x63, 0x6b, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, + 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x70, 0x72, + 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x40, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0x18, 0x1f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x69, + 0x72, 0x63, 0x75, 0x69, 0x74, 0x42, 0x72, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x52, 0x75, 0x6c, 0x65, + 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, + 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x64, 0x69, 0x74, + 0x61, 0x62, 0x6c, 0x65, 0x18, 0x28, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x65, 0x64, 0x69, 0x74, + 0x61, 0x62, 0x6c, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x61, 0x62, + 0x6c, 0x65, 0x18, 0x29, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x61, 0x62, 0x6c, 0x65, 0x1a, 0x3b, 0x0a, 0x0d, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, + 0x01, 0x4a, 0x04, 0x08, 0x0a, 0x10, 0x15, 0x22, 0xaf, 0x01, 0x0a, 0x0e, 0x45, 0x72, 0x72, 0x6f, + 0x72, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3b, 0x0a, 0x0a, 0x69, 0x6e, + 0x70, 0x75, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, + 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, + 0x6f, 0x6e, 0x2e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, 0x69, 0x6e, + 0x70, 0x75, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2d, 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x64, 0x69, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x76, 0x31, 0x2e, + 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x09, 0x63, 0x6f, 0x6e, + 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x31, 0x0a, 0x09, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x54, + 0x79, 0x70, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, + 0x12, 0x0c, 0x0a, 0x08, 0x52, 0x45, 0x54, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x10, 0x01, 0x12, 0x09, + 0x0a, 0x05, 0x44, 0x45, 0x4c, 0x41, 0x59, 0x10, 0x02, 0x22, 0xa5, 0x02, 0x0a, 0x10, 0x54, 0x72, + 0x69, 0x67, 0x67, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x43, + 0x0a, 0x0c, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x20, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, + 0x72, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x54, 0x72, 0x69, 0x67, 0x67, + 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0b, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x54, + 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x43, + 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x70, 0x65, + 0x72, 0x63, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x65, 0x72, 0x72, + 0x6f, 0x72, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x6e, 0x74, + 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x69, 0x6e, 0x74, + 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x27, 0x0a, 0x0f, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, + 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, + 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x41, + 0x0a, 0x0b, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0b, 0x0a, + 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x45, 0x52, + 0x52, 0x4f, 0x52, 0x5f, 0x52, 0x41, 0x54, 0x45, 0x10, 0x01, 0x12, 0x15, 0x0a, 0x11, 0x43, 0x4f, + 0x4e, 0x53, 0x45, 0x43, 0x55, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, + 0x02, 0x22, 0x65, 0x0a, 0x10, 0x52, 0x65, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x64, + 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x6c, 0x65, 0x65, 0x70, 0x5f, 0x77, + 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x73, 0x6c, 0x65, + 0x65, 0x70, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x12, 0x2e, 0x0a, 0x12, 0x63, 0x6f, 0x6e, 0x73, + 0x65, 0x63, 0x75, 0x74, 0x69, 0x76, 0x65, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x63, 0x75, 0x74, 0x69, 0x76, + 0x65, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0x2b, 0x0a, 0x11, 0x46, 0x61, 0x75, 0x6c, + 0x74, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x16, 0x0a, + 0x06, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x65, + 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x22, 0xc2, 0x01, 0x0a, 0x0b, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x03, 0x61, 0x70, 0x69, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x07, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x50, 0x49, 0x52, + 0x03, 0x61, 0x70, 0x69, 0x12, 0x3e, 0x0a, 0x10, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x63, 0x6f, + 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, + 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, + 0x6f, 0x6e, 0x52, 0x10, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x44, 0x0a, 0x12, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x5f, + 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x14, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x43, 0x6f, 0x6e, + 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x12, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x5f, + 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x5a, 0x0a, 0x0e, 0x46, 0x61, + 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x16, 0x0a, 0x06, + 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x65, 0x6e, + 0x61, 0x62, 0x6c, 0x65, 0x12, 0x30, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x61, 0x6c, 0x6c, + 0x62, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xb1, 0x01, 0x0a, 0x10, 0x46, 0x61, 0x6c, 0x6c, 0x62, + 0x61, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x63, + 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, + 0x3c, 0x0a, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x22, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x65, + 0x61, 0x64, 0x65, 0x72, 0x52, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x12, 0x0a, + 0x04, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x62, 0x6f, 0x64, + 0x79, 0x1a, 0x37, 0x0a, 0x0d, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x65, 0x61, 0x64, + 0x65, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2a, 0x46, 0x0a, 0x05, 0x4c, 0x65, + 0x76, 0x65, 0x6c, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, + 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x45, 0x52, 0x56, 0x49, 0x43, 0x45, 0x10, 0x01, 0x12, 0x0a, 0x0a, + 0x06, 0x4d, 0x45, 0x54, 0x48, 0x4f, 0x44, 0x10, 0x02, 0x12, 0x09, 0x0a, 0x05, 0x47, 0x52, 0x4f, + 0x55, 0x50, 0x10, 0x03, 0x12, 0x0c, 0x0a, 0x08, 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, + 0x10, 0x04, 0x42, 0x96, 0x01, 0x0a, 0x38, 0x63, 0x6f, 0x6d, 0x2e, 0x74, 0x65, 0x6e, 0x63, 0x65, + 0x6e, 0x74, 0x2e, 0x70, 0x6f, 0x6c, 0x61, 0x72, 0x69, 0x73, 0x2e, 0x73, 0x70, 0x65, 0x63, 0x69, + 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, + 0x66, 0x61, 0x75, 0x6c, 0x74, 0x2e, 0x74, 0x6f, 0x6c, 0x65, 0x72, 0x61, 0x6e, 0x63, 0x65, 0x42, + 0x13, 0x43, 0x69, 0x72, 0x63, 0x75, 0x69, 0x74, 0x42, 0x72, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x50, + 0x72, 0x6f, 0x74, 0x6f, 0x5a, 0x45, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x70, 0x6f, 0x6c, 0x61, 0x72, 0x69, 0x73, 0x6d, 0x65, 0x73, 0x68, 0x2f, 0x73, 0x70, 0x65, + 0x63, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x2f, 0x67, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x66, 0x61, 0x75, 0x6c, + 0x74, 0x5f, 0x74, 0x6f, 0x6c, 0x65, 0x72, 0x61, 0x6e, 0x63, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x33, +} + +var ( + file_circuitbreaker_proto_rawDescOnce sync.Once + file_circuitbreaker_proto_rawDescData = file_circuitbreaker_proto_rawDesc +) + +func file_circuitbreaker_proto_rawDescGZIP() []byte { + file_circuitbreaker_proto_rawDescOnce.Do(func() { + file_circuitbreaker_proto_rawDescData = protoimpl.X.CompressGZIP(file_circuitbreaker_proto_rawDescData) + }) + return file_circuitbreaker_proto_rawDescData +} + +var file_circuitbreaker_proto_enumTypes = make([]protoimpl.EnumInfo, 7) +var file_circuitbreaker_proto_msgTypes = make([]protoimpl.MessageInfo, 25) +var file_circuitbreaker_proto_goTypes = []interface{}{ + (Level)(0), // 0: v1.Level + (RecoverConfig_OutlierDetectWhen)(0), // 1: v1.RecoverConfig.OutlierDetectWhen + (DestinationSet_Resource)(0), // 2: v1.DestinationSet.Resource + (DestinationSet_Type)(0), // 3: v1.DestinationSet.Type + (DestinationSet_Scope)(0), // 4: v1.DestinationSet.Scope + (ErrorCondition_InputType)(0), // 5: v1.ErrorCondition.InputType + (TriggerCondition_TriggerType)(0), // 6: v1.TriggerCondition.TriggerType + (*CircuitBreaker)(nil), // 7: v1.CircuitBreaker + (*SourceMatcher)(nil), // 8: v1.SourceMatcher + (*RecoverConfig)(nil), // 9: v1.RecoverConfig + (*CbPolicy)(nil), // 10: v1.CbPolicy + (*DestinationSet)(nil), // 11: v1.DestinationSet + (*CbRule)(nil), // 12: v1.CbRule + (*RuleMatcher)(nil), // 13: v1.RuleMatcher + (*CircuitBreakerRule)(nil), // 14: v1.CircuitBreakerRule + (*ErrorCondition)(nil), // 15: v1.ErrorCondition + (*TriggerCondition)(nil), // 16: v1.TriggerCondition + (*RecoverCondition)(nil), // 17: v1.RecoverCondition + (*FaultDetectConfig)(nil), // 18: v1.FaultDetectConfig + (*BlockConfig)(nil), // 19: v1.BlockConfig + (*FallbackConfig)(nil), // 20: v1.FallbackConfig + (*FallbackResponse)(nil), // 21: v1.FallbackResponse + nil, // 22: v1.SourceMatcher.LabelsEntry + (*CbPolicy_ErrRateConfig)(nil), // 23: v1.CbPolicy.ErrRateConfig + (*CbPolicy_SlowRateConfig)(nil), // 24: v1.CbPolicy.SlowRateConfig + (*CbPolicy_ConsecutiveErrConfig)(nil), // 25: v1.CbPolicy.ConsecutiveErrConfig + (*CbPolicy_ErrRateConfig_SpecialConfig)(nil), // 26: v1.CbPolicy.ErrRateConfig.SpecialConfig + nil, // 27: v1.DestinationSet.MetadataEntry + (*RuleMatcher_SourceService)(nil), // 28: v1.RuleMatcher.SourceService + (*RuleMatcher_DestinationService)(nil), // 29: v1.RuleMatcher.DestinationService + nil, // 30: v1.CircuitBreakerRule.MetadataEntry + (*FallbackResponse_MessageHeader)(nil), // 31: v1.FallbackResponse.MessageHeader + (*wrapperspb.StringValue)(nil), // 32: google.protobuf.StringValue + (*durationpb.Duration)(nil), // 33: google.protobuf.Duration + (*wrapperspb.UInt32Value)(nil), // 34: google.protobuf.UInt32Value + (*model.MatchString)(nil), // 35: v1.MatchString + (*wrapperspb.Int64Value)(nil), // 36: google.protobuf.Int64Value + (*model.API)(nil), // 37: v1.API + (*wrapperspb.BoolValue)(nil), // 38: google.protobuf.BoolValue +} +var file_circuitbreaker_proto_depIdxs = []int32{ + 32, // 0: v1.CircuitBreaker.id:type_name -> google.protobuf.StringValue + 32, // 1: v1.CircuitBreaker.version:type_name -> google.protobuf.StringValue + 32, // 2: v1.CircuitBreaker.name:type_name -> google.protobuf.StringValue + 32, // 3: v1.CircuitBreaker.namespace:type_name -> google.protobuf.StringValue + 32, // 4: v1.CircuitBreaker.service:type_name -> google.protobuf.StringValue + 32, // 5: v1.CircuitBreaker.service_namespace:type_name -> google.protobuf.StringValue + 12, // 6: v1.CircuitBreaker.inbounds:type_name -> v1.CbRule + 12, // 7: v1.CircuitBreaker.outbounds:type_name -> v1.CbRule + 32, // 8: v1.CircuitBreaker.token:type_name -> google.protobuf.StringValue + 32, // 9: v1.CircuitBreaker.owners:type_name -> google.protobuf.StringValue + 32, // 10: v1.CircuitBreaker.business:type_name -> google.protobuf.StringValue + 32, // 11: v1.CircuitBreaker.department:type_name -> google.protobuf.StringValue + 32, // 12: v1.CircuitBreaker.comment:type_name -> google.protobuf.StringValue + 32, // 13: v1.CircuitBreaker.ctime:type_name -> google.protobuf.StringValue + 32, // 14: v1.CircuitBreaker.mtime:type_name -> google.protobuf.StringValue + 32, // 15: v1.CircuitBreaker.revision:type_name -> google.protobuf.StringValue + 14, // 16: v1.CircuitBreaker.rules:type_name -> v1.CircuitBreakerRule + 32, // 17: v1.SourceMatcher.service:type_name -> google.protobuf.StringValue + 32, // 18: v1.SourceMatcher.namespace:type_name -> google.protobuf.StringValue + 22, // 19: v1.SourceMatcher.labels:type_name -> v1.SourceMatcher.LabelsEntry + 33, // 20: v1.RecoverConfig.sleepWindow:type_name -> google.protobuf.Duration + 34, // 21: v1.RecoverConfig.maxRetryAfterHalfOpen:type_name -> google.protobuf.UInt32Value + 34, // 22: v1.RecoverConfig.requestRateAfterHalfOpen:type_name -> google.protobuf.UInt32Value + 34, // 23: v1.RecoverConfig.successRateToClose:type_name -> google.protobuf.UInt32Value + 34, // 24: v1.RecoverConfig.requestCountAfterHalfOpen:type_name -> google.protobuf.UInt32Value + 1, // 25: v1.RecoverConfig.outlierDetectWhen:type_name -> v1.RecoverConfig.OutlierDetectWhen + 23, // 26: v1.CbPolicy.errorRate:type_name -> v1.CbPolicy.ErrRateConfig + 24, // 27: v1.CbPolicy.slowRate:type_name -> v1.CbPolicy.SlowRateConfig + 33, // 28: v1.CbPolicy.judgeDuration:type_name -> google.protobuf.Duration + 34, // 29: v1.CbPolicy.maxEjectionPercent:type_name -> google.protobuf.UInt32Value + 25, // 30: v1.CbPolicy.consecutive:type_name -> v1.CbPolicy.ConsecutiveErrConfig + 32, // 31: v1.DestinationSet.service:type_name -> google.protobuf.StringValue + 32, // 32: v1.DestinationSet.namespace:type_name -> google.protobuf.StringValue + 27, // 33: v1.DestinationSet.metadata:type_name -> v1.DestinationSet.MetadataEntry + 2, // 34: v1.DestinationSet.resource:type_name -> v1.DestinationSet.Resource + 3, // 35: v1.DestinationSet.type:type_name -> v1.DestinationSet.Type + 4, // 36: v1.DestinationSet.scope:type_name -> v1.DestinationSet.Scope + 33, // 37: v1.DestinationSet.metricWindow:type_name -> google.protobuf.Duration + 34, // 38: v1.DestinationSet.metricPrecision:type_name -> google.protobuf.UInt32Value + 33, // 39: v1.DestinationSet.updateInterval:type_name -> google.protobuf.Duration + 9, // 40: v1.DestinationSet.recover:type_name -> v1.RecoverConfig + 10, // 41: v1.DestinationSet.policy:type_name -> v1.CbPolicy + 35, // 42: v1.DestinationSet.method:type_name -> v1.MatchString + 36, // 43: v1.DestinationSet.errorCodes:type_name -> google.protobuf.Int64Value + 8, // 44: v1.CbRule.sources:type_name -> v1.SourceMatcher + 11, // 45: v1.CbRule.destinations:type_name -> v1.DestinationSet + 28, // 46: v1.RuleMatcher.source:type_name -> v1.RuleMatcher.SourceService + 29, // 47: v1.RuleMatcher.destination:type_name -> v1.RuleMatcher.DestinationService + 0, // 48: v1.CircuitBreakerRule.level:type_name -> v1.Level + 13, // 49: v1.CircuitBreakerRule.rule_matcher:type_name -> v1.RuleMatcher + 15, // 50: v1.CircuitBreakerRule.error_conditions:type_name -> v1.ErrorCondition + 16, // 51: v1.CircuitBreakerRule.trigger_condition:type_name -> v1.TriggerCondition + 17, // 52: v1.CircuitBreakerRule.recoverCondition:type_name -> v1.RecoverCondition + 18, // 53: v1.CircuitBreakerRule.faultDetectConfig:type_name -> v1.FaultDetectConfig + 20, // 54: v1.CircuitBreakerRule.fallbackConfig:type_name -> v1.FallbackConfig + 19, // 55: v1.CircuitBreakerRule.block_configs:type_name -> v1.BlockConfig + 30, // 56: v1.CircuitBreakerRule.metadata:type_name -> v1.CircuitBreakerRule.MetadataEntry + 5, // 57: v1.ErrorCondition.input_type:type_name -> v1.ErrorCondition.InputType + 35, // 58: v1.ErrorCondition.condition:type_name -> v1.MatchString + 6, // 59: v1.TriggerCondition.trigger_type:type_name -> v1.TriggerCondition.TriggerType + 37, // 60: v1.BlockConfig.api:type_name -> v1.API + 15, // 61: v1.BlockConfig.error_conditions:type_name -> v1.ErrorCondition + 16, // 62: v1.BlockConfig.trigger_conditions:type_name -> v1.TriggerCondition + 21, // 63: v1.FallbackConfig.response:type_name -> v1.FallbackResponse + 31, // 64: v1.FallbackResponse.headers:type_name -> v1.FallbackResponse.MessageHeader + 35, // 65: v1.SourceMatcher.LabelsEntry.value:type_name -> v1.MatchString + 38, // 66: v1.CbPolicy.ErrRateConfig.enable:type_name -> google.protobuf.BoolValue + 34, // 67: v1.CbPolicy.ErrRateConfig.requestVolumeThreshold:type_name -> google.protobuf.UInt32Value + 34, // 68: v1.CbPolicy.ErrRateConfig.errorRateToPreserved:type_name -> google.protobuf.UInt32Value + 34, // 69: v1.CbPolicy.ErrRateConfig.errorRateToOpen:type_name -> google.protobuf.UInt32Value + 26, // 70: v1.CbPolicy.ErrRateConfig.specials:type_name -> v1.CbPolicy.ErrRateConfig.SpecialConfig + 38, // 71: v1.CbPolicy.SlowRateConfig.enable:type_name -> google.protobuf.BoolValue + 33, // 72: v1.CbPolicy.SlowRateConfig.maxRt:type_name -> google.protobuf.Duration + 34, // 73: v1.CbPolicy.SlowRateConfig.slowRateToPreserved:type_name -> google.protobuf.UInt32Value + 34, // 74: v1.CbPolicy.SlowRateConfig.slowRateToOpen:type_name -> google.protobuf.UInt32Value + 38, // 75: v1.CbPolicy.ConsecutiveErrConfig.enable:type_name -> google.protobuf.BoolValue + 34, // 76: v1.CbPolicy.ConsecutiveErrConfig.consecutiveErrorToPreserved:type_name -> google.protobuf.UInt32Value + 34, // 77: v1.CbPolicy.ConsecutiveErrConfig.consecutiveErrorToOpen:type_name -> google.protobuf.UInt32Value + 32, // 78: v1.CbPolicy.ErrRateConfig.SpecialConfig.type:type_name -> google.protobuf.StringValue + 36, // 79: v1.CbPolicy.ErrRateConfig.SpecialConfig.errorCodes:type_name -> google.protobuf.Int64Value + 34, // 80: v1.CbPolicy.ErrRateConfig.SpecialConfig.errorRateToPreserved:type_name -> google.protobuf.UInt32Value + 34, // 81: v1.CbPolicy.ErrRateConfig.SpecialConfig.errorRateToOpen:type_name -> google.protobuf.UInt32Value + 35, // 82: v1.DestinationSet.MetadataEntry.value:type_name -> v1.MatchString + 35, // 83: v1.RuleMatcher.DestinationService.method:type_name -> v1.MatchString + 84, // [84:84] is the sub-list for method output_type + 84, // [84:84] is the sub-list for method input_type + 84, // [84:84] is the sub-list for extension type_name + 84, // [84:84] is the sub-list for extension extendee + 0, // [0:84] is the sub-list for field type_name +} + +func init() { file_circuitbreaker_proto_init() } +func file_circuitbreaker_proto_init() { + if File_circuitbreaker_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_circuitbreaker_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CircuitBreaker); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_circuitbreaker_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SourceMatcher); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_circuitbreaker_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RecoverConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_circuitbreaker_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CbPolicy); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_circuitbreaker_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DestinationSet); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_circuitbreaker_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CbRule); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_circuitbreaker_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RuleMatcher); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_circuitbreaker_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CircuitBreakerRule); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_circuitbreaker_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ErrorCondition); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_circuitbreaker_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TriggerCondition); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_circuitbreaker_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RecoverCondition); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_circuitbreaker_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FaultDetectConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_circuitbreaker_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BlockConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_circuitbreaker_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FallbackConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_circuitbreaker_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FallbackResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_circuitbreaker_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CbPolicy_ErrRateConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_circuitbreaker_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CbPolicy_SlowRateConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_circuitbreaker_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CbPolicy_ConsecutiveErrConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_circuitbreaker_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CbPolicy_ErrRateConfig_SpecialConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_circuitbreaker_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RuleMatcher_SourceService); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_circuitbreaker_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RuleMatcher_DestinationService); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_circuitbreaker_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FallbackResponse_MessageHeader); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_circuitbreaker_proto_rawDesc, + NumEnums: 7, + NumMessages: 25, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_circuitbreaker_proto_goTypes, + DependencyIndexes: file_circuitbreaker_proto_depIdxs, + EnumInfos: file_circuitbreaker_proto_enumTypes, + MessageInfos: file_circuitbreaker_proto_msgTypes, + }.Build() + File_circuitbreaker_proto = out.File + file_circuitbreaker_proto_rawDesc = nil + file_circuitbreaker_proto_goTypes = nil + file_circuitbreaker_proto_depIdxs = nil } diff --git a/source/go/api/v1/fault_tolerance/fault_detector.pb.go b/source/go/api/v1/fault_tolerance/fault_detector.pb.go index 5d2cd49e..8afb5aae 100644 --- a/source/go/api/v1/fault_tolerance/fault_detector.pb.go +++ b/source/go/api/v1/fault_tolerance/fault_detector.pb.go @@ -1,23 +1,25 @@ // Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.33.0 +// protoc v5.27.3 // source: fault_detector.proto -package fault_tolerance // import "github.com/polarismesh/specification/source/go/api/v1/fault_tolerance" +package fault_tolerance -import proto "github.com/golang/protobuf/proto" -import fmt "fmt" -import math "math" -import model "github.com/polarismesh/specification/source/go/api/v1/model" - -// Reference imports to suppress errors if they are not otherwise used. -var _ = proto.Marshal -var _ = fmt.Errorf -var _ = math.Inf +import ( + model "github.com/polarismesh/specification/source/go/api/v1/model" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) -// This is a compile-time assertion to ensure that this generated file -// is compatible with the proto package it is being compiled against. -// A compilation error at this line likely means your copy of the -// proto package needs to be updated. -const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) // detect protocol type FaultDetectRule_Protocol int32 @@ -29,75 +31,111 @@ const ( FaultDetectRule_UDP FaultDetectRule_Protocol = 3 ) -var FaultDetectRule_Protocol_name = map[int32]string{ - 0: "UNKNOWN", - 1: "HTTP", - 2: "TCP", - 3: "UDP", -} -var FaultDetectRule_Protocol_value = map[string]int32{ - "UNKNOWN": 0, - "HTTP": 1, - "TCP": 2, - "UDP": 3, +// Enum value maps for FaultDetectRule_Protocol. +var ( + FaultDetectRule_Protocol_name = map[int32]string{ + 0: "UNKNOWN", + 1: "HTTP", + 2: "TCP", + 3: "UDP", + } + FaultDetectRule_Protocol_value = map[string]int32{ + "UNKNOWN": 0, + "HTTP": 1, + "TCP": 2, + "UDP": 3, + } +) + +func (x FaultDetectRule_Protocol) Enum() *FaultDetectRule_Protocol { + p := new(FaultDetectRule_Protocol) + *p = x + return p } func (x FaultDetectRule_Protocol) String() string { - return proto.EnumName(FaultDetectRule_Protocol_name, int32(x)) + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } + +func (FaultDetectRule_Protocol) Descriptor() protoreflect.EnumDescriptor { + return file_fault_detector_proto_enumTypes[0].Descriptor() +} + +func (FaultDetectRule_Protocol) Type() protoreflect.EnumType { + return &file_fault_detector_proto_enumTypes[0] +} + +func (x FaultDetectRule_Protocol) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use FaultDetectRule_Protocol.Descriptor instead. func (FaultDetectRule_Protocol) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_fault_detector_32e81b52a3510e0d, []int{1, 0} + return file_fault_detector_proto_rawDescGZIP(), []int{1, 0} } type FaultDetector struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + // fault detect rules for current service Rules []*FaultDetectRule `protobuf:"bytes,1,rep,name=rules,proto3" json:"rules,omitempty"` // total revision for the fault detect rules - Revision string `protobuf:"bytes,2,opt,name=revision,proto3" json:"revision,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + Revision string `protobuf:"bytes,2,opt,name=revision,proto3" json:"revision,omitempty"` } -func (m *FaultDetector) Reset() { *m = FaultDetector{} } -func (m *FaultDetector) String() string { return proto.CompactTextString(m) } -func (*FaultDetector) ProtoMessage() {} -func (*FaultDetector) Descriptor() ([]byte, []int) { - return fileDescriptor_fault_detector_32e81b52a3510e0d, []int{0} -} -func (m *FaultDetector) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_FaultDetector.Unmarshal(m, b) -} -func (m *FaultDetector) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_FaultDetector.Marshal(b, m, deterministic) -} -func (dst *FaultDetector) XXX_Merge(src proto.Message) { - xxx_messageInfo_FaultDetector.Merge(dst, src) +func (x *FaultDetector) Reset() { + *x = FaultDetector{} + if protoimpl.UnsafeEnabled { + mi := &file_fault_detector_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (m *FaultDetector) XXX_Size() int { - return xxx_messageInfo_FaultDetector.Size(m) + +func (x *FaultDetector) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *FaultDetector) XXX_DiscardUnknown() { - xxx_messageInfo_FaultDetector.DiscardUnknown(m) + +func (*FaultDetector) ProtoMessage() {} + +func (x *FaultDetector) ProtoReflect() protoreflect.Message { + mi := &file_fault_detector_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) } -var xxx_messageInfo_FaultDetector proto.InternalMessageInfo +// Deprecated: Use FaultDetector.ProtoReflect.Descriptor instead. +func (*FaultDetector) Descriptor() ([]byte, []int) { + return file_fault_detector_proto_rawDescGZIP(), []int{0} +} -func (m *FaultDetector) GetRules() []*FaultDetectRule { - if m != nil { - return m.Rules +func (x *FaultDetector) GetRules() []*FaultDetectRule { + if x != nil { + return x.Rules } return nil } -func (m *FaultDetector) GetRevision() string { - if m != nil { - return m.Revision +func (x *FaultDetector) GetRevision() string { + if x != nil { + return x.Revision } return "" } type FaultDetectRule struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` // rule name Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` @@ -129,483 +167,767 @@ type FaultDetectRule struct { // priority rules priority Priority uint32 `protobuf:"varint,29,opt,name=priority,proto3" json:"priority,omitempty"` // 探测规则标签数据 - Metadata map[string]string `protobuf:"bytes,50,rep,name=metadata,proto3" json:"metadata,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + Metadata map[string]string `protobuf:"bytes,30,rep,name=metadata,proto3" json:"metadata,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // extend info, put some custom info to display in console + ExtendInfo map[string]string `protobuf:"bytes,31,rep,name=extendInfo,json=extend_info,proto3" json:"extendInfo,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // 操作标志位 + Editable bool `protobuf:"varint,40,opt,name=editable,proto3" json:"editable,omitempty"` + Deleteable bool `protobuf:"varint,41,opt,name=deleteable,proto3" json:"deleteable,omitempty"` } -func (m *FaultDetectRule) Reset() { *m = FaultDetectRule{} } -func (m *FaultDetectRule) String() string { return proto.CompactTextString(m) } -func (*FaultDetectRule) ProtoMessage() {} -func (*FaultDetectRule) Descriptor() ([]byte, []int) { - return fileDescriptor_fault_detector_32e81b52a3510e0d, []int{1} -} -func (m *FaultDetectRule) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_FaultDetectRule.Unmarshal(m, b) -} -func (m *FaultDetectRule) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_FaultDetectRule.Marshal(b, m, deterministic) -} -func (dst *FaultDetectRule) XXX_Merge(src proto.Message) { - xxx_messageInfo_FaultDetectRule.Merge(dst, src) +func (x *FaultDetectRule) Reset() { + *x = FaultDetectRule{} + if protoimpl.UnsafeEnabled { + mi := &file_fault_detector_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (m *FaultDetectRule) XXX_Size() int { - return xxx_messageInfo_FaultDetectRule.Size(m) + +func (x *FaultDetectRule) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *FaultDetectRule) XXX_DiscardUnknown() { - xxx_messageInfo_FaultDetectRule.DiscardUnknown(m) + +func (*FaultDetectRule) ProtoMessage() {} + +func (x *FaultDetectRule) ProtoReflect() protoreflect.Message { + mi := &file_fault_detector_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) } -var xxx_messageInfo_FaultDetectRule proto.InternalMessageInfo +// Deprecated: Use FaultDetectRule.ProtoReflect.Descriptor instead. +func (*FaultDetectRule) Descriptor() ([]byte, []int) { + return file_fault_detector_proto_rawDescGZIP(), []int{1} +} -func (m *FaultDetectRule) GetId() string { - if m != nil { - return m.Id +func (x *FaultDetectRule) GetId() string { + if x != nil { + return x.Id } return "" } -func (m *FaultDetectRule) GetName() string { - if m != nil { - return m.Name +func (x *FaultDetectRule) GetName() string { + if x != nil { + return x.Name } return "" } -func (m *FaultDetectRule) GetNamespace() string { - if m != nil { - return m.Namespace +func (x *FaultDetectRule) GetNamespace() string { + if x != nil { + return x.Namespace } return "" } -func (m *FaultDetectRule) GetRevision() string { - if m != nil { - return m.Revision +func (x *FaultDetectRule) GetRevision() string { + if x != nil { + return x.Revision } return "" } -func (m *FaultDetectRule) GetCtime() string { - if m != nil { - return m.Ctime +func (x *FaultDetectRule) GetCtime() string { + if x != nil { + return x.Ctime } return "" } -func (m *FaultDetectRule) GetMtime() string { - if m != nil { - return m.Mtime +func (x *FaultDetectRule) GetMtime() string { + if x != nil { + return x.Mtime } return "" } -func (m *FaultDetectRule) GetDescription() string { - if m != nil { - return m.Description +func (x *FaultDetectRule) GetDescription() string { + if x != nil { + return x.Description } return "" } -func (m *FaultDetectRule) GetTargetService() *FaultDetectRule_DestinationService { - if m != nil { - return m.TargetService +func (x *FaultDetectRule) GetTargetService() *FaultDetectRule_DestinationService { + if x != nil { + return x.TargetService } return nil } -func (m *FaultDetectRule) GetInterval() uint32 { - if m != nil { - return m.Interval +func (x *FaultDetectRule) GetInterval() uint32 { + if x != nil { + return x.Interval } return 0 } -func (m *FaultDetectRule) GetTimeout() uint32 { - if m != nil { - return m.Timeout +func (x *FaultDetectRule) GetTimeout() uint32 { + if x != nil { + return x.Timeout } return 0 } -func (m *FaultDetectRule) GetPort() uint32 { - if m != nil { - return m.Port +func (x *FaultDetectRule) GetPort() uint32 { + if x != nil { + return x.Port } return 0 } -func (m *FaultDetectRule) GetProtocol() FaultDetectRule_Protocol { - if m != nil { - return m.Protocol +func (x *FaultDetectRule) GetProtocol() FaultDetectRule_Protocol { + if x != nil { + return x.Protocol } return FaultDetectRule_UNKNOWN } -func (m *FaultDetectRule) GetHttpConfig() *HttpProtocolConfig { - if m != nil { - return m.HttpConfig +func (x *FaultDetectRule) GetHttpConfig() *HttpProtocolConfig { + if x != nil { + return x.HttpConfig } return nil } -func (m *FaultDetectRule) GetTcpConfig() *TcpProtocolConfig { - if m != nil { - return m.TcpConfig +func (x *FaultDetectRule) GetTcpConfig() *TcpProtocolConfig { + if x != nil { + return x.TcpConfig } return nil } -func (m *FaultDetectRule) GetUdpConfig() *UdpProtocolConfig { - if m != nil { - return m.UdpConfig +func (x *FaultDetectRule) GetUdpConfig() *UdpProtocolConfig { + if x != nil { + return x.UdpConfig } return nil } -func (m *FaultDetectRule) GetPriority() uint32 { - if m != nil { - return m.Priority +func (x *FaultDetectRule) GetPriority() uint32 { + if x != nil { + return x.Priority } return 0 } -func (m *FaultDetectRule) GetMetadata() map[string]string { - if m != nil { - return m.Metadata +func (x *FaultDetectRule) GetMetadata() map[string]string { + if x != nil { + return x.Metadata } return nil } -type FaultDetectRule_DestinationService struct { - Service string `protobuf:"bytes,1,opt,name=service,proto3" json:"service,omitempty"` - Namespace string `protobuf:"bytes,2,opt,name=namespace,proto3" json:"namespace,omitempty"` - // deprecated_filed use api.path instead - Method *model.MatchString `protobuf:"bytes,3,opt,name=method,proto3" json:"method,omitempty"` // Deprecated: Do not use. - Api *model.API `protobuf:"bytes,4,opt,name=api,proto3" json:"api,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` +func (x *FaultDetectRule) GetExtendInfo() map[string]string { + if x != nil { + return x.ExtendInfo + } + return nil } -func (m *FaultDetectRule_DestinationService) Reset() { *m = FaultDetectRule_DestinationService{} } -func (m *FaultDetectRule_DestinationService) String() string { return proto.CompactTextString(m) } -func (*FaultDetectRule_DestinationService) ProtoMessage() {} -func (*FaultDetectRule_DestinationService) Descriptor() ([]byte, []int) { - return fileDescriptor_fault_detector_32e81b52a3510e0d, []int{1, 0} +func (x *FaultDetectRule) GetEditable() bool { + if x != nil { + return x.Editable + } + return false } -func (m *FaultDetectRule_DestinationService) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_FaultDetectRule_DestinationService.Unmarshal(m, b) + +func (x *FaultDetectRule) GetDeleteable() bool { + if x != nil { + return x.Deleteable + } + return false } -func (m *FaultDetectRule_DestinationService) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_FaultDetectRule_DestinationService.Marshal(b, m, deterministic) + +type HttpProtocolConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Method string `protobuf:"bytes,1,opt,name=method,proto3" json:"method,omitempty"` + Url string `protobuf:"bytes,2,opt,name=url,proto3" json:"url,omitempty"` + Headers []*HttpProtocolConfig_MessageHeader `protobuf:"bytes,3,rep,name=headers,proto3" json:"headers,omitempty"` + Body string `protobuf:"bytes,4,opt,name=body,proto3" json:"body,omitempty"` } -func (dst *FaultDetectRule_DestinationService) XXX_Merge(src proto.Message) { - xxx_messageInfo_FaultDetectRule_DestinationService.Merge(dst, src) + +func (x *HttpProtocolConfig) Reset() { + *x = HttpProtocolConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_fault_detector_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (m *FaultDetectRule_DestinationService) XXX_Size() int { - return xxx_messageInfo_FaultDetectRule_DestinationService.Size(m) + +func (x *HttpProtocolConfig) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *FaultDetectRule_DestinationService) XXX_DiscardUnknown() { - xxx_messageInfo_FaultDetectRule_DestinationService.DiscardUnknown(m) + +func (*HttpProtocolConfig) ProtoMessage() {} + +func (x *HttpProtocolConfig) ProtoReflect() protoreflect.Message { + mi := &file_fault_detector_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) } -var xxx_messageInfo_FaultDetectRule_DestinationService proto.InternalMessageInfo +// Deprecated: Use HttpProtocolConfig.ProtoReflect.Descriptor instead. +func (*HttpProtocolConfig) Descriptor() ([]byte, []int) { + return file_fault_detector_proto_rawDescGZIP(), []int{2} +} -func (m *FaultDetectRule_DestinationService) GetService() string { - if m != nil { - return m.Service +func (x *HttpProtocolConfig) GetMethod() string { + if x != nil { + return x.Method } return "" } -func (m *FaultDetectRule_DestinationService) GetNamespace() string { - if m != nil { - return m.Namespace +func (x *HttpProtocolConfig) GetUrl() string { + if x != nil { + return x.Url } return "" } -// Deprecated: Do not use. -func (m *FaultDetectRule_DestinationService) GetMethod() *model.MatchString { - if m != nil { - return m.Method +func (x *HttpProtocolConfig) GetHeaders() []*HttpProtocolConfig_MessageHeader { + if x != nil { + return x.Headers } return nil } -func (m *FaultDetectRule_DestinationService) GetApi() *model.API { - if m != nil { - return m.Api +func (x *HttpProtocolConfig) GetBody() string { + if x != nil { + return x.Body } - return nil + return "" } -type HttpProtocolConfig struct { - Method string `protobuf:"bytes,1,opt,name=method,proto3" json:"method,omitempty"` - Url string `protobuf:"bytes,2,opt,name=url,proto3" json:"url,omitempty"` - Headers []*HttpProtocolConfig_MessageHeader `protobuf:"bytes,3,rep,name=headers,proto3" json:"headers,omitempty"` - Body string `protobuf:"bytes,4,opt,name=body,proto3" json:"body,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *HttpProtocolConfig) Reset() { *m = HttpProtocolConfig{} } -func (m *HttpProtocolConfig) String() string { return proto.CompactTextString(m) } -func (*HttpProtocolConfig) ProtoMessage() {} -func (*HttpProtocolConfig) Descriptor() ([]byte, []int) { - return fileDescriptor_fault_detector_32e81b52a3510e0d, []int{2} -} -func (m *HttpProtocolConfig) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_HttpProtocolConfig.Unmarshal(m, b) -} -func (m *HttpProtocolConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_HttpProtocolConfig.Marshal(b, m, deterministic) -} -func (dst *HttpProtocolConfig) XXX_Merge(src proto.Message) { - xxx_messageInfo_HttpProtocolConfig.Merge(dst, src) +type TcpProtocolConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Send string `protobuf:"bytes,1,opt,name=send,proto3" json:"send,omitempty"` + Receive []string `protobuf:"bytes,2,rep,name=receive,proto3" json:"receive,omitempty"` } -func (m *HttpProtocolConfig) XXX_Size() int { - return xxx_messageInfo_HttpProtocolConfig.Size(m) + +func (x *TcpProtocolConfig) Reset() { + *x = TcpProtocolConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_fault_detector_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (m *HttpProtocolConfig) XXX_DiscardUnknown() { - xxx_messageInfo_HttpProtocolConfig.DiscardUnknown(m) + +func (x *TcpProtocolConfig) String() string { + return protoimpl.X.MessageStringOf(x) } -var xxx_messageInfo_HttpProtocolConfig proto.InternalMessageInfo +func (*TcpProtocolConfig) ProtoMessage() {} -func (m *HttpProtocolConfig) GetMethod() string { - if m != nil { - return m.Method +func (x *TcpProtocolConfig) ProtoReflect() protoreflect.Message { + mi := &file_fault_detector_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return "" + return mi.MessageOf(x) } -func (m *HttpProtocolConfig) GetUrl() string { - if m != nil { - return m.Url +// Deprecated: Use TcpProtocolConfig.ProtoReflect.Descriptor instead. +func (*TcpProtocolConfig) Descriptor() ([]byte, []int) { + return file_fault_detector_proto_rawDescGZIP(), []int{3} +} + +func (x *TcpProtocolConfig) GetSend() string { + if x != nil { + return x.Send } return "" } -func (m *HttpProtocolConfig) GetHeaders() []*HttpProtocolConfig_MessageHeader { - if m != nil { - return m.Headers +func (x *TcpProtocolConfig) GetReceive() []string { + if x != nil { + return x.Receive } return nil } -func (m *HttpProtocolConfig) GetBody() string { - if m != nil { - return m.Body - } - return "" -} +type UdpProtocolConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields -type HttpProtocolConfig_MessageHeader struct { - Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` - Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + Send string `protobuf:"bytes,1,opt,name=send,proto3" json:"send,omitempty"` + Receive []string `protobuf:"bytes,2,rep,name=receive,proto3" json:"receive,omitempty"` } -func (m *HttpProtocolConfig_MessageHeader) Reset() { *m = HttpProtocolConfig_MessageHeader{} } -func (m *HttpProtocolConfig_MessageHeader) String() string { return proto.CompactTextString(m) } -func (*HttpProtocolConfig_MessageHeader) ProtoMessage() {} -func (*HttpProtocolConfig_MessageHeader) Descriptor() ([]byte, []int) { - return fileDescriptor_fault_detector_32e81b52a3510e0d, []int{2, 0} -} -func (m *HttpProtocolConfig_MessageHeader) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_HttpProtocolConfig_MessageHeader.Unmarshal(m, b) -} -func (m *HttpProtocolConfig_MessageHeader) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_HttpProtocolConfig_MessageHeader.Marshal(b, m, deterministic) -} -func (dst *HttpProtocolConfig_MessageHeader) XXX_Merge(src proto.Message) { - xxx_messageInfo_HttpProtocolConfig_MessageHeader.Merge(dst, src) -} -func (m *HttpProtocolConfig_MessageHeader) XXX_Size() int { - return xxx_messageInfo_HttpProtocolConfig_MessageHeader.Size(m) +func (x *UdpProtocolConfig) Reset() { + *x = UdpProtocolConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_fault_detector_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (m *HttpProtocolConfig_MessageHeader) XXX_DiscardUnknown() { - xxx_messageInfo_HttpProtocolConfig_MessageHeader.DiscardUnknown(m) + +func (x *UdpProtocolConfig) String() string { + return protoimpl.X.MessageStringOf(x) } -var xxx_messageInfo_HttpProtocolConfig_MessageHeader proto.InternalMessageInfo +func (*UdpProtocolConfig) ProtoMessage() {} -func (m *HttpProtocolConfig_MessageHeader) GetKey() string { - if m != nil { - return m.Key +func (x *UdpProtocolConfig) ProtoReflect() protoreflect.Message { + mi := &file_fault_detector_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return "" + return mi.MessageOf(x) +} + +// Deprecated: Use UdpProtocolConfig.ProtoReflect.Descriptor instead. +func (*UdpProtocolConfig) Descriptor() ([]byte, []int) { + return file_fault_detector_proto_rawDescGZIP(), []int{4} } -func (m *HttpProtocolConfig_MessageHeader) GetValue() string { - if m != nil { - return m.Value +func (x *UdpProtocolConfig) GetSend() string { + if x != nil { + return x.Send } return "" } -type TcpProtocolConfig struct { - Send string `protobuf:"bytes,1,opt,name=send,proto3" json:"send,omitempty"` - Receive []string `protobuf:"bytes,2,rep,name=receive,proto3" json:"receive,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` +func (x *UdpProtocolConfig) GetReceive() []string { + if x != nil { + return x.Receive + } + return nil } -func (m *TcpProtocolConfig) Reset() { *m = TcpProtocolConfig{} } -func (m *TcpProtocolConfig) String() string { return proto.CompactTextString(m) } -func (*TcpProtocolConfig) ProtoMessage() {} -func (*TcpProtocolConfig) Descriptor() ([]byte, []int) { - return fileDescriptor_fault_detector_32e81b52a3510e0d, []int{3} -} -func (m *TcpProtocolConfig) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_TcpProtocolConfig.Unmarshal(m, b) +type FaultDetectRule_DestinationService struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Service string `protobuf:"bytes,1,opt,name=service,proto3" json:"service,omitempty"` + Namespace string `protobuf:"bytes,2,opt,name=namespace,proto3" json:"namespace,omitempty"` + // deprecated_filed use api.path instead + // + // Deprecated: Marked as deprecated in fault_detector.proto. + Method *model.MatchString `protobuf:"bytes,3,opt,name=method,proto3" json:"method,omitempty"` + Api *model.API `protobuf:"bytes,4,opt,name=api,proto3" json:"api,omitempty"` } -func (m *TcpProtocolConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_TcpProtocolConfig.Marshal(b, m, deterministic) + +func (x *FaultDetectRule_DestinationService) Reset() { + *x = FaultDetectRule_DestinationService{} + if protoimpl.UnsafeEnabled { + mi := &file_fault_detector_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (dst *TcpProtocolConfig) XXX_Merge(src proto.Message) { - xxx_messageInfo_TcpProtocolConfig.Merge(dst, src) + +func (x *FaultDetectRule_DestinationService) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *TcpProtocolConfig) XXX_Size() int { - return xxx_messageInfo_TcpProtocolConfig.Size(m) + +func (*FaultDetectRule_DestinationService) ProtoMessage() {} + +func (x *FaultDetectRule_DestinationService) ProtoReflect() protoreflect.Message { + mi := &file_fault_detector_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) } -func (m *TcpProtocolConfig) XXX_DiscardUnknown() { - xxx_messageInfo_TcpProtocolConfig.DiscardUnknown(m) + +// Deprecated: Use FaultDetectRule_DestinationService.ProtoReflect.Descriptor instead. +func (*FaultDetectRule_DestinationService) Descriptor() ([]byte, []int) { + return file_fault_detector_proto_rawDescGZIP(), []int{1, 0} } -var xxx_messageInfo_TcpProtocolConfig proto.InternalMessageInfo +func (x *FaultDetectRule_DestinationService) GetService() string { + if x != nil { + return x.Service + } + return "" +} -func (m *TcpProtocolConfig) GetSend() string { - if m != nil { - return m.Send +func (x *FaultDetectRule_DestinationService) GetNamespace() string { + if x != nil { + return x.Namespace } return "" } -func (m *TcpProtocolConfig) GetReceive() []string { - if m != nil { - return m.Receive +// Deprecated: Marked as deprecated in fault_detector.proto. +func (x *FaultDetectRule_DestinationService) GetMethod() *model.MatchString { + if x != nil { + return x.Method } return nil } -type UdpProtocolConfig struct { - Send string `protobuf:"bytes,1,opt,name=send,proto3" json:"send,omitempty"` - Receive []string `protobuf:"bytes,2,rep,name=receive,proto3" json:"receive,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` +func (x *FaultDetectRule_DestinationService) GetApi() *model.API { + if x != nil { + return x.Api + } + return nil } -func (m *UdpProtocolConfig) Reset() { *m = UdpProtocolConfig{} } -func (m *UdpProtocolConfig) String() string { return proto.CompactTextString(m) } -func (*UdpProtocolConfig) ProtoMessage() {} -func (*UdpProtocolConfig) Descriptor() ([]byte, []int) { - return fileDescriptor_fault_detector_32e81b52a3510e0d, []int{4} -} -func (m *UdpProtocolConfig) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_UdpProtocolConfig.Unmarshal(m, b) -} -func (m *UdpProtocolConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_UdpProtocolConfig.Marshal(b, m, deterministic) +type HttpProtocolConfig_MessageHeader struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` + Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` } -func (dst *UdpProtocolConfig) XXX_Merge(src proto.Message) { - xxx_messageInfo_UdpProtocolConfig.Merge(dst, src) + +func (x *HttpProtocolConfig_MessageHeader) Reset() { + *x = HttpProtocolConfig_MessageHeader{} + if protoimpl.UnsafeEnabled { + mi := &file_fault_detector_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (m *UdpProtocolConfig) XXX_Size() int { - return xxx_messageInfo_UdpProtocolConfig.Size(m) + +func (x *HttpProtocolConfig_MessageHeader) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *UdpProtocolConfig) XXX_DiscardUnknown() { - xxx_messageInfo_UdpProtocolConfig.DiscardUnknown(m) + +func (*HttpProtocolConfig_MessageHeader) ProtoMessage() {} + +func (x *HttpProtocolConfig_MessageHeader) ProtoReflect() protoreflect.Message { + mi := &file_fault_detector_proto_msgTypes[8] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) } -var xxx_messageInfo_UdpProtocolConfig proto.InternalMessageInfo +// Deprecated: Use HttpProtocolConfig_MessageHeader.ProtoReflect.Descriptor instead. +func (*HttpProtocolConfig_MessageHeader) Descriptor() ([]byte, []int) { + return file_fault_detector_proto_rawDescGZIP(), []int{2, 0} +} -func (m *UdpProtocolConfig) GetSend() string { - if m != nil { - return m.Send +func (x *HttpProtocolConfig_MessageHeader) GetKey() string { + if x != nil { + return x.Key } return "" } -func (m *UdpProtocolConfig) GetReceive() []string { - if m != nil { - return m.Receive +func (x *HttpProtocolConfig_MessageHeader) GetValue() string { + if x != nil { + return x.Value } - return nil + return "" } -func init() { - proto.RegisterType((*FaultDetector)(nil), "v1.FaultDetector") - proto.RegisterType((*FaultDetectRule)(nil), "v1.FaultDetectRule") - proto.RegisterMapType((map[string]string)(nil), "v1.FaultDetectRule.MetadataEntry") - proto.RegisterType((*FaultDetectRule_DestinationService)(nil), "v1.FaultDetectRule.DestinationService") - proto.RegisterType((*HttpProtocolConfig)(nil), "v1.HttpProtocolConfig") - proto.RegisterType((*HttpProtocolConfig_MessageHeader)(nil), "v1.HttpProtocolConfig.MessageHeader") - proto.RegisterType((*TcpProtocolConfig)(nil), "v1.TcpProtocolConfig") - proto.RegisterType((*UdpProtocolConfig)(nil), "v1.UdpProtocolConfig") - proto.RegisterEnum("v1.FaultDetectRule_Protocol", FaultDetectRule_Protocol_name, FaultDetectRule_Protocol_value) -} - -func init() { - proto.RegisterFile("fault_detector.proto", fileDescriptor_fault_detector_32e81b52a3510e0d) -} - -var fileDescriptor_fault_detector_32e81b52a3510e0d = []byte{ - // 756 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x54, 0xdd, 0x6e, 0xe3, 0x44, - 0x14, 0xc6, 0x76, 0xdb, 0xa4, 0xc7, 0x4a, 0x37, 0x0c, 0xdb, 0x32, 0x1b, 0x8a, 0x14, 0x22, 0x84, - 0x82, 0x90, 0x1c, 0x35, 0x8b, 0xb4, 0x15, 0x08, 0xa4, 0xed, 0x76, 0x51, 0x01, 0xa5, 0x44, 0xde, - 0x14, 0x24, 0x6e, 0xaa, 0xe9, 0xf8, 0x34, 0x19, 0x61, 0x7b, 0xac, 0xf1, 0xd8, 0x52, 0xde, 0x03, - 0xae, 0x79, 0x20, 0x5e, 0x0a, 0xcd, 0xf8, 0x67, 0x93, 0x26, 0x17, 0x70, 0x95, 0xf3, 0xf3, 0x7d, - 0xc7, 0xe7, 0xe7, 0xcb, 0xc0, 0xf3, 0x47, 0x56, 0xc4, 0xfa, 0x3e, 0x42, 0x8d, 0x5c, 0x4b, 0x15, - 0x64, 0x4a, 0x6a, 0x49, 0xdc, 0xf2, 0x62, 0xe0, 0x27, 0x32, 0xc2, 0xb8, 0x0a, 0x8c, 0x7e, 0x85, - 0xde, 0x0f, 0x06, 0x78, 0x5d, 0xe3, 0xc8, 0x97, 0x70, 0xa8, 0x8a, 0x18, 0x73, 0xea, 0x0c, 0xbd, - 0xb1, 0x3f, 0xfd, 0x28, 0x28, 0x2f, 0x82, 0x0d, 0x44, 0x58, 0xc4, 0x18, 0x56, 0x08, 0x32, 0x80, - 0xae, 0xc2, 0x52, 0xe4, 0x42, 0xa6, 0xd4, 0x1d, 0x3a, 0xe3, 0xe3, 0xb0, 0xf5, 0x47, 0x7f, 0x77, - 0xe0, 0xd9, 0x13, 0x1a, 0x39, 0x01, 0x57, 0x44, 0xd4, 0xb1, 0x48, 0x57, 0x44, 0x84, 0xc0, 0x41, - 0xca, 0x12, 0xac, 0xb9, 0xd6, 0x26, 0xe7, 0x70, 0x6c, 0x7e, 0xf3, 0x8c, 0x71, 0xa4, 0x9e, 0x4d, - 0xbc, 0x0f, 0x6c, 0x7d, 0xf1, 0x60, 0xfb, 0x8b, 0xe4, 0x39, 0x1c, 0x72, 0x2d, 0x12, 0xa4, 0x87, - 0x36, 0x51, 0x39, 0x26, 0x9a, 0xd8, 0xe8, 0x51, 0x15, 0xb5, 0x0e, 0x19, 0x82, 0x1f, 0x61, 0xce, - 0x95, 0xc8, 0xb4, 0x29, 0xd5, 0xb1, 0xb9, 0xcd, 0x10, 0x99, 0xc1, 0x89, 0x66, 0x6a, 0x89, 0xfa, - 0x3e, 0x47, 0x55, 0x0a, 0x8e, 0xf4, 0x74, 0xe8, 0x8c, 0xfd, 0xe9, 0x17, 0x7b, 0xf6, 0x11, 0x5c, - 0x63, 0xae, 0x45, 0xca, 0x0c, 0xf1, 0x5d, 0x85, 0x0e, 0x7b, 0x15, 0xbb, 0x76, 0x4d, 0xe3, 0x22, - 0xd5, 0xa8, 0x4a, 0x16, 0xd3, 0xb3, 0xa1, 0x33, 0xee, 0x85, 0xad, 0x4f, 0x28, 0x74, 0x4c, 0x53, - 0xb2, 0xd0, 0xf4, 0x63, 0x9b, 0x6a, 0x5c, 0xb3, 0xa0, 0x4c, 0x2a, 0x4d, 0xa9, 0x0d, 0x5b, 0x9b, - 0x5c, 0x42, 0xd7, 0x5e, 0x8e, 0xcb, 0x98, 0xbe, 0x18, 0x3a, 0xe3, 0x93, 0xe9, 0xf9, 0xbe, 0x96, - 0xe6, 0x35, 0x26, 0x6c, 0xd1, 0xe4, 0x15, 0xf8, 0x2b, 0xad, 0xb3, 0x7b, 0x2e, 0xd3, 0x47, 0xb1, - 0xa4, 0x03, 0x3b, 0xcf, 0x99, 0x21, 0xdf, 0x68, 0x9d, 0x35, 0x84, 0x37, 0x36, 0x1b, 0x82, 0x81, - 0x56, 0x36, 0xf9, 0x1a, 0x40, 0xf3, 0x96, 0xf7, 0x89, 0xe5, 0x9d, 0x1a, 0xde, 0x82, 0x3f, 0xa5, - 0x1d, 0x6b, 0xbe, 0xc1, 0x2a, 0xa2, 0x96, 0x75, 0xfe, 0x9e, 0x75, 0x17, 0xed, 0xb0, 0x8a, 0xa8, - 0x61, 0x0d, 0xcc, 0x78, 0x42, 0x2a, 0xa1, 0xd7, 0xf4, 0xd3, 0x6a, 0x51, 0x8d, 0x4f, 0xbe, 0x83, - 0x6e, 0x82, 0x9a, 0x45, 0x4c, 0x33, 0x3a, 0xb5, 0xea, 0xfc, 0x6c, 0xdf, 0xe8, 0xb3, 0x1a, 0xf3, - 0x36, 0xd5, 0x6a, 0x1d, 0xb6, 0x94, 0xc1, 0x9f, 0x0e, 0x90, 0xdd, 0x4b, 0x99, 0xf5, 0x37, 0x27, - 0xae, 0xa4, 0xd9, 0xb8, 0xdb, 0x5a, 0x74, 0x9f, 0x6a, 0xf1, 0x2b, 0x38, 0x4a, 0x50, 0xaf, 0x64, - 0x64, 0x65, 0xea, 0x4f, 0x9f, 0x99, 0x5e, 0x66, 0x4c, 0xf3, 0xd5, 0x3b, 0xad, 0x44, 0xba, 0xbc, - 0x72, 0xa9, 0x13, 0xd6, 0x10, 0xf2, 0x02, 0x3c, 0x96, 0x09, 0xab, 0x59, 0x7f, 0xda, 0x31, 0xc8, - 0xd7, 0xf3, 0x1f, 0x43, 0x13, 0x1b, 0x7c, 0x0b, 0xbd, 0xad, 0x8e, 0x49, 0x1f, 0xbc, 0x3f, 0x70, - 0x5d, 0x37, 0x63, 0x4c, 0x23, 0xe2, 0x92, 0xc5, 0x45, 0xd3, 0x44, 0xe5, 0x7c, 0xe3, 0x5e, 0x3a, - 0xa3, 0x97, 0xd0, 0x6d, 0x76, 0x49, 0x7c, 0xe8, 0xdc, 0xdd, 0xfe, 0x7c, 0xfb, 0xcb, 0x6f, 0xb7, - 0xfd, 0x0f, 0x48, 0x17, 0x0e, 0x6e, 0x16, 0x8b, 0x79, 0xdf, 0x21, 0x1d, 0xf0, 0x16, 0x6f, 0xe6, - 0x7d, 0xd7, 0x18, 0x77, 0xd7, 0xf3, 0xbe, 0xf7, 0xd3, 0x41, 0xb7, 0xdb, 0x3f, 0x1d, 0xfd, 0xe3, - 0x00, 0xd9, 0x3d, 0x3c, 0x39, 0x6b, 0xc7, 0xaa, 0x1a, 0x68, 0x26, 0xe8, 0x83, 0x57, 0xa8, 0xb8, - 0xee, 0xc0, 0x98, 0xe4, 0x7b, 0xe8, 0xac, 0x90, 0x45, 0xa8, 0x72, 0xea, 0xd9, 0x6b, 0x7c, 0xbe, - 0x5f, 0x4b, 0xc1, 0x0c, 0xf3, 0x9c, 0x2d, 0xf1, 0xc6, 0x82, 0xc3, 0x86, 0x64, 0xd4, 0xfd, 0x20, - 0xa3, 0x75, 0xfd, 0x47, 0xb6, 0xf6, 0xe0, 0x95, 0x59, 0xc6, 0x06, 0xfa, 0xbf, 0x2e, 0x63, 0xf4, - 0x1a, 0x3e, 0xdc, 0x51, 0xa3, 0xf9, 0x42, 0x8e, 0x69, 0x33, 0x89, 0xb5, 0xcd, 0xb9, 0x15, 0x72, - 0x14, 0xa5, 0x29, 0xe0, 0x99, 0x73, 0xd7, 0xae, 0x29, 0xb1, 0x23, 0xcd, 0xff, 0x57, 0xe2, 0xea, - 0x2f, 0x07, 0x2e, 0xb9, 0x4c, 0x02, 0x8d, 0x29, 0xc7, 0x54, 0x07, 0x99, 0x8c, 0x99, 0x12, 0x79, - 0x90, 0x67, 0xc8, 0xc5, 0xa3, 0xe0, 0x56, 0x78, 0x01, 0xcb, 0x84, 0xd9, 0x94, 0x7d, 0xa0, 0x03, - 0x2d, 0x63, 0x54, 0x2c, 0xe5, 0x78, 0x45, 0xb6, 0x1e, 0x62, 0xdb, 0xc7, 0xef, 0x6f, 0x97, 0x42, - 0xaf, 0x8a, 0x87, 0x80, 0xcb, 0x64, 0x52, 0x17, 0x4b, 0x30, 0x5f, 0x4d, 0xb6, 0x0a, 0x4e, 0x72, - 0x59, 0x28, 0x8e, 0x93, 0xa5, 0x9c, 0xb0, 0x4c, 0x4c, 0xca, 0x8b, 0x49, 0xf5, 0xf6, 0xb7, 0xa5, - 0x1f, 0x8e, 0xec, 0x23, 0xf0, 0xf2, 0xdf, 0x00, 0x00, 0x00, 0xff, 0xff, 0x23, 0x47, 0xad, 0xad, - 0x15, 0x06, 0x00, 0x00, +var File_fault_detector_proto protoreflect.FileDescriptor + +var file_fault_detector_proto_rawDesc = []byte{ + 0x0a, 0x14, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x6f, 0x72, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x02, 0x76, 0x31, 0x1a, 0x0b, 0x6d, 0x6f, 0x64, 0x65, + 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x56, 0x0a, 0x0d, 0x46, 0x61, 0x75, 0x6c, 0x74, + 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x29, 0x0a, 0x05, 0x72, 0x75, 0x6c, 0x65, + 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x61, 0x75, + 0x6c, 0x74, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x05, 0x72, 0x75, + 0x6c, 0x65, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x22, + 0xe0, 0x08, 0x0a, 0x0f, 0x46, 0x61, 0x75, 0x6c, 0x74, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x52, + 0x75, 0x6c, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, + 0x70, 0x61, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, + 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, + 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, + 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x05, 0x63, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x74, 0x69, 0x6d, 0x65, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6d, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x20, 0x0a, + 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x4d, 0x0a, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x61, 0x75, + 0x6c, 0x74, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x2e, 0x44, 0x65, 0x73, + 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, + 0x0d, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x1a, + 0x0a, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x69, + 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x74, 0x69, 0x6d, + 0x65, 0x6f, 0x75, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x18, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x38, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x19, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x76, 0x31, 0x2e, + 0x46, 0x61, 0x75, 0x6c, 0x74, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x2e, + 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, + 0x6f, 0x6c, 0x12, 0x37, 0x0a, 0x0b, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x76, 0x31, 0x2e, 0x48, 0x74, 0x74, + 0x70, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, + 0x0a, 0x68, 0x74, 0x74, 0x70, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x34, 0x0a, 0x0a, 0x74, + 0x63, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x15, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x63, 0x70, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x09, 0x74, 0x63, 0x70, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x12, 0x34, 0x0a, 0x0a, 0x75, 0x64, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, + 0x1c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x64, 0x70, 0x50, 0x72, + 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x09, 0x75, 0x64, + 0x70, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, + 0x69, 0x74, 0x79, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, + 0x69, 0x74, 0x79, 0x12, 0x3d, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, + 0x1e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x61, 0x75, 0x6c, 0x74, + 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0x12, 0x44, 0x0a, 0x0a, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x49, 0x6e, 0x66, 0x6f, + 0x18, 0x1f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x61, 0x75, 0x6c, + 0x74, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x2e, 0x45, 0x78, 0x74, 0x65, + 0x6e, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0b, 0x65, 0x78, 0x74, + 0x65, 0x6e, 0x64, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x64, 0x69, 0x74, + 0x61, 0x62, 0x6c, 0x65, 0x18, 0x28, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x65, 0x64, 0x69, 0x74, + 0x61, 0x62, 0x6c, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x61, 0x62, + 0x6c, 0x65, 0x18, 0x29, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x61, 0x62, 0x6c, 0x65, 0x1a, 0x94, 0x01, 0x0a, 0x12, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, + 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, + 0x61, 0x63, 0x65, 0x12, 0x2b, 0x0a, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x74, + 0x72, 0x69, 0x6e, 0x67, 0x42, 0x02, 0x18, 0x01, 0x52, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, + 0x12, 0x19, 0x0a, 0x03, 0x61, 0x70, 0x69, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x07, 0x2e, + 0x76, 0x31, 0x2e, 0x41, 0x50, 0x49, 0x52, 0x03, 0x61, 0x70, 0x69, 0x1a, 0x3b, 0x0a, 0x0d, 0x4d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, + 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, + 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x3d, 0x0a, 0x0f, 0x45, 0x78, 0x74, 0x65, + 0x6e, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, + 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x33, 0x0a, 0x08, 0x50, 0x72, 0x6f, 0x74, 0x6f, + 0x63, 0x6f, 0x6c, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, + 0x12, 0x08, 0x0a, 0x04, 0x48, 0x54, 0x54, 0x50, 0x10, 0x01, 0x12, 0x07, 0x0a, 0x03, 0x54, 0x43, + 0x50, 0x10, 0x02, 0x12, 0x07, 0x0a, 0x03, 0x55, 0x44, 0x50, 0x10, 0x03, 0x4a, 0x04, 0x08, 0x08, + 0x10, 0x15, 0x22, 0xcb, 0x01, 0x0a, 0x12, 0x48, 0x74, 0x74, 0x70, 0x50, 0x72, 0x6f, 0x74, 0x6f, + 0x63, 0x6f, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x65, 0x74, + 0x68, 0x6f, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, + 0x64, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, + 0x75, 0x72, 0x6c, 0x12, 0x3e, 0x0a, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x03, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x76, 0x31, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x50, 0x72, + 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4d, 0x65, 0x73, + 0x73, 0x61, 0x67, 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x07, 0x68, 0x65, 0x61, 0x64, + 0x65, 0x72, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x1a, 0x37, 0x0a, 0x0d, 0x4d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x22, 0x41, 0x0a, 0x11, 0x54, 0x63, 0x70, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x65, 0x6e, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x73, 0x65, 0x6e, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x63, + 0x65, 0x69, 0x76, 0x65, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x72, 0x65, 0x63, 0x65, + 0x69, 0x76, 0x65, 0x22, 0x41, 0x0a, 0x11, 0x55, 0x64, 0x70, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, + 0x6f, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x65, 0x6e, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x73, 0x65, 0x6e, 0x64, 0x12, 0x18, 0x0a, 0x07, + 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x72, + 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x42, 0x95, 0x01, 0x0a, 0x38, 0x63, 0x6f, 0x6d, 0x2e, 0x74, + 0x65, 0x6e, 0x63, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x6f, 0x6c, 0x61, 0x72, 0x69, 0x73, 0x2e, 0x73, + 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x61, 0x70, 0x69, + 0x2e, 0x76, 0x31, 0x2e, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x2e, 0x74, 0x6f, 0x6c, 0x65, 0x72, 0x61, + 0x6e, 0x63, 0x65, 0x42, 0x12, 0x46, 0x61, 0x75, 0x6c, 0x74, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, + 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x5a, 0x45, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x70, 0x6f, 0x6c, 0x61, 0x72, 0x69, 0x73, 0x6d, 0x65, 0x73, 0x68, 0x2f, + 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x2f, 0x67, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x66, + 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x74, 0x6f, 0x6c, 0x65, 0x72, 0x61, 0x6e, 0x63, 0x65, 0x62, 0x06, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_fault_detector_proto_rawDescOnce sync.Once + file_fault_detector_proto_rawDescData = file_fault_detector_proto_rawDesc +) + +func file_fault_detector_proto_rawDescGZIP() []byte { + file_fault_detector_proto_rawDescOnce.Do(func() { + file_fault_detector_proto_rawDescData = protoimpl.X.CompressGZIP(file_fault_detector_proto_rawDescData) + }) + return file_fault_detector_proto_rawDescData +} + +var file_fault_detector_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_fault_detector_proto_msgTypes = make([]protoimpl.MessageInfo, 9) +var file_fault_detector_proto_goTypes = []interface{}{ + (FaultDetectRule_Protocol)(0), // 0: v1.FaultDetectRule.Protocol + (*FaultDetector)(nil), // 1: v1.FaultDetector + (*FaultDetectRule)(nil), // 2: v1.FaultDetectRule + (*HttpProtocolConfig)(nil), // 3: v1.HttpProtocolConfig + (*TcpProtocolConfig)(nil), // 4: v1.TcpProtocolConfig + (*UdpProtocolConfig)(nil), // 5: v1.UdpProtocolConfig + (*FaultDetectRule_DestinationService)(nil), // 6: v1.FaultDetectRule.DestinationService + nil, // 7: v1.FaultDetectRule.MetadataEntry + nil, // 8: v1.FaultDetectRule.ExtendInfoEntry + (*HttpProtocolConfig_MessageHeader)(nil), // 9: v1.HttpProtocolConfig.MessageHeader + (*model.MatchString)(nil), // 10: v1.MatchString + (*model.API)(nil), // 11: v1.API +} +var file_fault_detector_proto_depIdxs = []int32{ + 2, // 0: v1.FaultDetector.rules:type_name -> v1.FaultDetectRule + 6, // 1: v1.FaultDetectRule.target_service:type_name -> v1.FaultDetectRule.DestinationService + 0, // 2: v1.FaultDetectRule.protocol:type_name -> v1.FaultDetectRule.Protocol + 3, // 3: v1.FaultDetectRule.http_config:type_name -> v1.HttpProtocolConfig + 4, // 4: v1.FaultDetectRule.tcp_config:type_name -> v1.TcpProtocolConfig + 5, // 5: v1.FaultDetectRule.udp_config:type_name -> v1.UdpProtocolConfig + 7, // 6: v1.FaultDetectRule.metadata:type_name -> v1.FaultDetectRule.MetadataEntry + 8, // 7: v1.FaultDetectRule.extendInfo:type_name -> v1.FaultDetectRule.ExtendInfoEntry + 9, // 8: v1.HttpProtocolConfig.headers:type_name -> v1.HttpProtocolConfig.MessageHeader + 10, // 9: v1.FaultDetectRule.DestinationService.method:type_name -> v1.MatchString + 11, // 10: v1.FaultDetectRule.DestinationService.api:type_name -> v1.API + 11, // [11:11] is the sub-list for method output_type + 11, // [11:11] is the sub-list for method input_type + 11, // [11:11] is the sub-list for extension type_name + 11, // [11:11] is the sub-list for extension extendee + 0, // [0:11] is the sub-list for field type_name +} + +func init() { file_fault_detector_proto_init() } +func file_fault_detector_proto_init() { + if File_fault_detector_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_fault_detector_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FaultDetector); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_fault_detector_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FaultDetectRule); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_fault_detector_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*HttpProtocolConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_fault_detector_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TcpProtocolConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_fault_detector_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UdpProtocolConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_fault_detector_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FaultDetectRule_DestinationService); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_fault_detector_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*HttpProtocolConfig_MessageHeader); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_fault_detector_proto_rawDesc, + NumEnums: 1, + NumMessages: 9, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_fault_detector_proto_goTypes, + DependencyIndexes: file_fault_detector_proto_depIdxs, + EnumInfos: file_fault_detector_proto_enumTypes, + MessageInfos: file_fault_detector_proto_msgTypes, + }.Build() + File_fault_detector_proto = out.File + file_fault_detector_proto_rawDesc = nil + file_fault_detector_proto_goTypes = nil + file_fault_detector_proto_depIdxs = nil } diff --git a/source/go/api/v1/model/code.pb.go b/source/go/api/v1/model/code.pb.go index 56caa656..ad23955e 100644 --- a/source/go/api/v1/model/code.pb.go +++ b/source/go/api/v1/model/code.pb.go @@ -1,22 +1,24 @@ // Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.33.0 +// protoc v5.27.3 // source: code.proto -package model // import "github.com/polarismesh/specification/source/go/api/v1/model" +package model -import proto "github.com/golang/protobuf/proto" -import fmt "fmt" -import math "math" - -// Reference imports to suppress errors if they are not otherwise used. -var _ = proto.Marshal -var _ = fmt.Errorf -var _ = math.Inf +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) -// This is a compile-time assertion to ensure that this generated file -// is compatible with the proto package it is being compiled against. -// A compilation error at this line likely means your copy of the -// proto package needs to be updated. -const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) type Code int32 @@ -166,7 +168,8 @@ const ( Code_NotFoundResourceConfigFile Code = 400807 Code_InvalidConfigFileTemplateName Code = 400808 Code_EncryptConfigFileException Code = 400809 - Code_DecryptConfigFileException Code = 400810 + Code_GroupExistActiveRelease Code = 400810 + Code_DecryptConfigFileException Code = 400811 // auth codes Code_InvalidUserOwners Code = 400410 Code_InvalidUserID Code = 400411 @@ -196,484 +199,738 @@ const ( Code_OperationRoleForbidden Code = 403002 ) -var Code_name = map[int32]string{ - 0: "Unknown", - 200000: "ExecuteSuccess", - 200001: "DataNoChange", - 200002: "NoNeedUpdate", - 400000: "BadRequest", - 400001: "ParseException", - 400002: "EmptyRequest", - 400003: "BatchSizeOverLimit", - 400004: "InvalidDiscoverResource", - 400100: "InvalidRequestID", - 400101: "InvalidUserName", - 400102: "InvalidUserToken", - 400103: "InvalidParameter", - 400104: "EmptyQueryParameter", - 400105: "InvalidQueryInsParameter", - 400110: "InvalidNamespaceName", - 400111: "InvalidNamespaceOwners", - 400112: "InvalidNamespaceToken", - 400120: "InvalidServiceName", - 400121: "InvalidServiceOwners", - 400122: "InvalidServiceToken", - 400123: "InvalidServiceMetadata", - 400124: "InvalidServicePorts", - 400125: "InvalidServiceBusiness", - 400126: "InvalidServiceDepartment", - 400127: "InvalidServiceCMDB", - 400128: "InvalidServiceComment", - 400129: "InvalidServiceAliasComment", - 400130: "InvalidInstanceID", - 400131: "InvalidInstanceHost", - 400132: "InvalidInstancePort", - 400133: "InvalidServiceAlias", - 400134: "InvalidNamespaceWithAlias", - 400135: "InvalidServiceAliasOwners", - 400136: "InvalidInstanceProtocol", - 400137: "InvalidInstanceVersion", - 400138: "InvalidInstanceLogicSet", - 400139: "InvalidInstanceIsolate", - 400140: "HealthCheckNotOpen", - 400141: "HeartbeatOnDisabledIns", - 400142: "HeartbeatExceedLimit", - 400143: "HeartbeatTypeNotFound", - 400150: "InvalidMetadata", - 400151: "InvalidRateLimitID", - 400152: "InvalidRateLimitLabels", - 400153: "InvalidRateLimitAmounts", - 400154: "InvalidRateLimitName", - 400160: "InvalidCircuitBreakerID", - 400161: "InvalidCircuitBreakerVersion", - 400162: "InvalidCircuitBreakerName", - 400163: "InvalidCircuitBreakerNamespace", - 400164: "InvalidCircuitBreakerOwners", - 400165: "InvalidCircuitBreakerToken", - 400166: "InvalidCircuitBreakerBusiness", - 400167: "InvalidCircuitBreakerDepartment", - 400168: "InvalidCircuitBreakerComment", - 400169: "CircuitBreakerRuleExisted", - 400700: "InvalidRoutingID", - 400701: "InvalidRoutingPolicy", - 400702: "InvalidRoutingName", - 400703: "InvalidRoutingPriority", - 400900: "InvalidFaultDetectID", - 400901: "InvalidFaultDetectName", - 400902: "InvalidFaultDetectNamespace", - 400903: "FaultDetectRuleExisted", - 400904: "InvalidMatchRule", - 400170: "ServicesExistedMesh", - 400171: "ResourcesExistedMesh", - 400172: "InvalidMeshParameter", - 400180: "InvalidPlatformID", - 400181: "InvalidPlatformName", - 400182: "InvalidPlatformDomain", - 400183: "InvalidPlatformQPS", - 400184: "InvalidPlatformToken", - 400185: "InvalidPlatformOwner", - 400186: "InvalidPlatformDepartment", - 400187: "InvalidPlatformComment", - 400188: "NotFoundPlatform", - 400190: "InvalidFluxRateLimitId", - 400191: "InvalidFluxRateLimitQps", - 400192: "InvalidFluxRateLimitSetKey", - 400201: "ExistedResource", - 400202: "NotFoundResource", - 400203: "NamespaceExistedServices", - 400204: "ServiceExistedInstances", - 400205: "ServiceExistedRoutings", - 400206: "ServiceExistedRateLimits", - 400207: "ExistReleasedConfig", - 400208: "SameInstanceRequest", - 400209: "ServiceExistedCircuitBreakers", - 400210: "ServiceExistedAlias", - 400211: "NamespaceExistedMeshResources", - 400212: "NamespaceExistedCircuitBreakers", - 400213: "ServiceSubscribedByMeshes", - 400214: "ServiceExistedFluxRateLimits", - 400219: "NamespaceExistedConfigGroups", - 400301: "NotFoundService", - 400302: "NotFoundRouting", - 400303: "NotFoundInstance", - 400304: "NotFoundServiceAlias", - 400305: "NotFoundNamespace", - 400306: "NotFoundSourceService", - 400307: "NotFoundRateLimit", - 400308: "NotFoundCircuitBreaker", - 400309: "NotFoundMasterConfig", - 400310: "NotFoundTagConfig", - 400311: "NotFoundTagConfigOrService", - 400401: "ClientAPINotOpen", - 400402: "NotAllowBusinessService", - 400501: "NotAllowAliasUpdate", - 400502: "NotAllowAliasCreateInstance", - 400503: "NotAllowAliasCreateRouting", - 400504: "NotAllowCreateAliasForAlias", - 400505: "NotAllowAliasCreateRateLimit", - 400506: "NotAllowAliasBindRule", - 400507: "NotAllowDifferentNamespaceBindRule", - 401000: "Unauthorized", - 401001: "NotAllowedAccess", - 404001: "CMDBNotFindHost", - 409000: "DataConflict", - 429001: "InstanceTooManyRequests", - 429002: "IPRateLimit", - 403003: "APIRateLimit", - 500000: "ExecuteException", - 500001: "StoreLayerException", - 500002: "CMDBPluginException", - 500004: "ParseRoutingException", - 500005: "ParseRateLimitException", - 500006: "ParseCircuitBreakerException", - 500007: "HeartbeatException", - 500008: "InstanceRegisTimeout", - 400801: "InvalidConfigFileGroupName", - 400802: "InvalidConfigFileName", - 400803: "InvalidConfigFileContentLength", - 400804: "InvalidConfigFileFormat", - 400805: "InvalidConfigFileTags", - 400806: "InvalidWatchConfigFileFormat", - 400807: "NotFoundResourceConfigFile", - 400808: "InvalidConfigFileTemplateName", - 400809: "EncryptConfigFileException", - 400810: "DecryptConfigFileException", - 400410: "InvalidUserOwners", - 400411: "InvalidUserID", - 400412: "InvalidUserPassword", - 400413: "InvalidUserMobile", - 400414: "InvalidUserEmail", - 400420: "InvalidUserGroupOwners", - 400421: "InvalidUserGroupID", - 400430: "InvalidAuthStrategyOwners", - 400431: "InvalidAuthStrategyName", - 400432: "InvalidAuthStrategyID", - 400440: "InvalidPrincipalType", - 400215: "UserExisted", - 400216: "UserGroupExisted", - 400217: "AuthStrategyRuleExisted", - 400218: "SubAccountExisted", - 400312: "NotFoundUser", - 400313: "NotFoundOwnerUser", - 400314: "NotFoundUserGroup", - 400315: "NotFoundAuthStrategyRule", - 400508: "NotAllowModifyDefaultStrategyPrincipal", - 400509: "NotAllowModifyOwnerDefaultStrategy", - 401002: "EmptyAutToken", - 401003: "TokenDisabled", - 401004: "TokenNotExisted", - 403001: "AuthTokenForbidden", - 403002: "OperationRoleForbidden", -} -var Code_value = map[string]int32{ - "Unknown": 0, - "ExecuteSuccess": 200000, - "DataNoChange": 200001, - "NoNeedUpdate": 200002, - "BadRequest": 400000, - "ParseException": 400001, - "EmptyRequest": 400002, - "BatchSizeOverLimit": 400003, - "InvalidDiscoverResource": 400004, - "InvalidRequestID": 400100, - "InvalidUserName": 400101, - "InvalidUserToken": 400102, - "InvalidParameter": 400103, - "EmptyQueryParameter": 400104, - "InvalidQueryInsParameter": 400105, - "InvalidNamespaceName": 400110, - "InvalidNamespaceOwners": 400111, - "InvalidNamespaceToken": 400112, - "InvalidServiceName": 400120, - "InvalidServiceOwners": 400121, - "InvalidServiceToken": 400122, - "InvalidServiceMetadata": 400123, - "InvalidServicePorts": 400124, - "InvalidServiceBusiness": 400125, - "InvalidServiceDepartment": 400126, - "InvalidServiceCMDB": 400127, - "InvalidServiceComment": 400128, - "InvalidServiceAliasComment": 400129, - "InvalidInstanceID": 400130, - "InvalidInstanceHost": 400131, - "InvalidInstancePort": 400132, - "InvalidServiceAlias": 400133, - "InvalidNamespaceWithAlias": 400134, - "InvalidServiceAliasOwners": 400135, - "InvalidInstanceProtocol": 400136, - "InvalidInstanceVersion": 400137, - "InvalidInstanceLogicSet": 400138, - "InvalidInstanceIsolate": 400139, - "HealthCheckNotOpen": 400140, - "HeartbeatOnDisabledIns": 400141, - "HeartbeatExceedLimit": 400142, - "HeartbeatTypeNotFound": 400143, - "InvalidMetadata": 400150, - "InvalidRateLimitID": 400151, - "InvalidRateLimitLabels": 400152, - "InvalidRateLimitAmounts": 400153, - "InvalidRateLimitName": 400154, - "InvalidCircuitBreakerID": 400160, - "InvalidCircuitBreakerVersion": 400161, - "InvalidCircuitBreakerName": 400162, - "InvalidCircuitBreakerNamespace": 400163, - "InvalidCircuitBreakerOwners": 400164, - "InvalidCircuitBreakerToken": 400165, - "InvalidCircuitBreakerBusiness": 400166, - "InvalidCircuitBreakerDepartment": 400167, - "InvalidCircuitBreakerComment": 400168, - "CircuitBreakerRuleExisted": 400169, - "InvalidRoutingID": 400700, - "InvalidRoutingPolicy": 400701, - "InvalidRoutingName": 400702, - "InvalidRoutingPriority": 400703, - "InvalidFaultDetectID": 400900, - "InvalidFaultDetectName": 400901, - "InvalidFaultDetectNamespace": 400902, - "FaultDetectRuleExisted": 400903, - "InvalidMatchRule": 400904, - "ServicesExistedMesh": 400170, - "ResourcesExistedMesh": 400171, - "InvalidMeshParameter": 400172, - "InvalidPlatformID": 400180, - "InvalidPlatformName": 400181, - "InvalidPlatformDomain": 400182, - "InvalidPlatformQPS": 400183, - "InvalidPlatformToken": 400184, - "InvalidPlatformOwner": 400185, - "InvalidPlatformDepartment": 400186, - "InvalidPlatformComment": 400187, - "NotFoundPlatform": 400188, - "InvalidFluxRateLimitId": 400190, - "InvalidFluxRateLimitQps": 400191, - "InvalidFluxRateLimitSetKey": 400192, - "ExistedResource": 400201, - "NotFoundResource": 400202, - "NamespaceExistedServices": 400203, - "ServiceExistedInstances": 400204, - "ServiceExistedRoutings": 400205, - "ServiceExistedRateLimits": 400206, - "ExistReleasedConfig": 400207, - "SameInstanceRequest": 400208, - "ServiceExistedCircuitBreakers": 400209, - "ServiceExistedAlias": 400210, - "NamespaceExistedMeshResources": 400211, - "NamespaceExistedCircuitBreakers": 400212, - "ServiceSubscribedByMeshes": 400213, - "ServiceExistedFluxRateLimits": 400214, - "NamespaceExistedConfigGroups": 400219, - "NotFoundService": 400301, - "NotFoundRouting": 400302, - "NotFoundInstance": 400303, - "NotFoundServiceAlias": 400304, - "NotFoundNamespace": 400305, - "NotFoundSourceService": 400306, - "NotFoundRateLimit": 400307, - "NotFoundCircuitBreaker": 400308, - "NotFoundMasterConfig": 400309, - "NotFoundTagConfig": 400310, - "NotFoundTagConfigOrService": 400311, - "ClientAPINotOpen": 400401, - "NotAllowBusinessService": 400402, - "NotAllowAliasUpdate": 400501, - "NotAllowAliasCreateInstance": 400502, - "NotAllowAliasCreateRouting": 400503, - "NotAllowCreateAliasForAlias": 400504, - "NotAllowAliasCreateRateLimit": 400505, - "NotAllowAliasBindRule": 400506, - "NotAllowDifferentNamespaceBindRule": 400507, - "Unauthorized": 401000, - "NotAllowedAccess": 401001, - "CMDBNotFindHost": 404001, - "DataConflict": 409000, - "InstanceTooManyRequests": 429001, - "IPRateLimit": 429002, - "APIRateLimit": 403003, - "ExecuteException": 500000, - "StoreLayerException": 500001, - "CMDBPluginException": 500002, - "ParseRoutingException": 500004, - "ParseRateLimitException": 500005, - "ParseCircuitBreakerException": 500006, - "HeartbeatException": 500007, - "InstanceRegisTimeout": 500008, - "InvalidConfigFileGroupName": 400801, - "InvalidConfigFileName": 400802, - "InvalidConfigFileContentLength": 400803, - "InvalidConfigFileFormat": 400804, - "InvalidConfigFileTags": 400805, - "InvalidWatchConfigFileFormat": 400806, - "NotFoundResourceConfigFile": 400807, - "InvalidConfigFileTemplateName": 400808, - "EncryptConfigFileException": 400809, - "DecryptConfigFileException": 400810, - "InvalidUserOwners": 400410, - "InvalidUserID": 400411, - "InvalidUserPassword": 400412, - "InvalidUserMobile": 400413, - "InvalidUserEmail": 400414, - "InvalidUserGroupOwners": 400420, - "InvalidUserGroupID": 400421, - "InvalidAuthStrategyOwners": 400430, - "InvalidAuthStrategyName": 400431, - "InvalidAuthStrategyID": 400432, - "InvalidPrincipalType": 400440, - "UserExisted": 400215, - "UserGroupExisted": 400216, - "AuthStrategyRuleExisted": 400217, - "SubAccountExisted": 400218, - "NotFoundUser": 400312, - "NotFoundOwnerUser": 400313, - "NotFoundUserGroup": 400314, - "NotFoundAuthStrategyRule": 400315, - "NotAllowModifyDefaultStrategyPrincipal": 400508, - "NotAllowModifyOwnerDefaultStrategy": 400509, - "EmptyAutToken": 401002, - "TokenDisabled": 401003, - "TokenNotExisted": 401004, - "AuthTokenForbidden": 403001, - "OperationRoleForbidden": 403002, +// Enum value maps for Code. +var ( + Code_name = map[int32]string{ + 0: "Unknown", + 200000: "ExecuteSuccess", + 200001: "DataNoChange", + 200002: "NoNeedUpdate", + 400000: "BadRequest", + 400001: "ParseException", + 400002: "EmptyRequest", + 400003: "BatchSizeOverLimit", + 400004: "InvalidDiscoverResource", + 400100: "InvalidRequestID", + 400101: "InvalidUserName", + 400102: "InvalidUserToken", + 400103: "InvalidParameter", + 400104: "EmptyQueryParameter", + 400105: "InvalidQueryInsParameter", + 400110: "InvalidNamespaceName", + 400111: "InvalidNamespaceOwners", + 400112: "InvalidNamespaceToken", + 400120: "InvalidServiceName", + 400121: "InvalidServiceOwners", + 400122: "InvalidServiceToken", + 400123: "InvalidServiceMetadata", + 400124: "InvalidServicePorts", + 400125: "InvalidServiceBusiness", + 400126: "InvalidServiceDepartment", + 400127: "InvalidServiceCMDB", + 400128: "InvalidServiceComment", + 400129: "InvalidServiceAliasComment", + 400130: "InvalidInstanceID", + 400131: "InvalidInstanceHost", + 400132: "InvalidInstancePort", + 400133: "InvalidServiceAlias", + 400134: "InvalidNamespaceWithAlias", + 400135: "InvalidServiceAliasOwners", + 400136: "InvalidInstanceProtocol", + 400137: "InvalidInstanceVersion", + 400138: "InvalidInstanceLogicSet", + 400139: "InvalidInstanceIsolate", + 400140: "HealthCheckNotOpen", + 400141: "HeartbeatOnDisabledIns", + 400142: "HeartbeatExceedLimit", + 400143: "HeartbeatTypeNotFound", + 400150: "InvalidMetadata", + 400151: "InvalidRateLimitID", + 400152: "InvalidRateLimitLabels", + 400153: "InvalidRateLimitAmounts", + 400154: "InvalidRateLimitName", + 400160: "InvalidCircuitBreakerID", + 400161: "InvalidCircuitBreakerVersion", + 400162: "InvalidCircuitBreakerName", + 400163: "InvalidCircuitBreakerNamespace", + 400164: "InvalidCircuitBreakerOwners", + 400165: "InvalidCircuitBreakerToken", + 400166: "InvalidCircuitBreakerBusiness", + 400167: "InvalidCircuitBreakerDepartment", + 400168: "InvalidCircuitBreakerComment", + 400169: "CircuitBreakerRuleExisted", + 400700: "InvalidRoutingID", + 400701: "InvalidRoutingPolicy", + 400702: "InvalidRoutingName", + 400703: "InvalidRoutingPriority", + 400900: "InvalidFaultDetectID", + 400901: "InvalidFaultDetectName", + 400902: "InvalidFaultDetectNamespace", + 400903: "FaultDetectRuleExisted", + 400904: "InvalidMatchRule", + 400170: "ServicesExistedMesh", + 400171: "ResourcesExistedMesh", + 400172: "InvalidMeshParameter", + 400180: "InvalidPlatformID", + 400181: "InvalidPlatformName", + 400182: "InvalidPlatformDomain", + 400183: "InvalidPlatformQPS", + 400184: "InvalidPlatformToken", + 400185: "InvalidPlatformOwner", + 400186: "InvalidPlatformDepartment", + 400187: "InvalidPlatformComment", + 400188: "NotFoundPlatform", + 400190: "InvalidFluxRateLimitId", + 400191: "InvalidFluxRateLimitQps", + 400192: "InvalidFluxRateLimitSetKey", + 400201: "ExistedResource", + 400202: "NotFoundResource", + 400203: "NamespaceExistedServices", + 400204: "ServiceExistedInstances", + 400205: "ServiceExistedRoutings", + 400206: "ServiceExistedRateLimits", + 400207: "ExistReleasedConfig", + 400208: "SameInstanceRequest", + 400209: "ServiceExistedCircuitBreakers", + 400210: "ServiceExistedAlias", + 400211: "NamespaceExistedMeshResources", + 400212: "NamespaceExistedCircuitBreakers", + 400213: "ServiceSubscribedByMeshes", + 400214: "ServiceExistedFluxRateLimits", + 400219: "NamespaceExistedConfigGroups", + 400301: "NotFoundService", + 400302: "NotFoundRouting", + 400303: "NotFoundInstance", + 400304: "NotFoundServiceAlias", + 400305: "NotFoundNamespace", + 400306: "NotFoundSourceService", + 400307: "NotFoundRateLimit", + 400308: "NotFoundCircuitBreaker", + 400309: "NotFoundMasterConfig", + 400310: "NotFoundTagConfig", + 400311: "NotFoundTagConfigOrService", + 400401: "ClientAPINotOpen", + 400402: "NotAllowBusinessService", + 400501: "NotAllowAliasUpdate", + 400502: "NotAllowAliasCreateInstance", + 400503: "NotAllowAliasCreateRouting", + 400504: "NotAllowCreateAliasForAlias", + 400505: "NotAllowAliasCreateRateLimit", + 400506: "NotAllowAliasBindRule", + 400507: "NotAllowDifferentNamespaceBindRule", + 401000: "Unauthorized", + 401001: "NotAllowedAccess", + 404001: "CMDBNotFindHost", + 409000: "DataConflict", + 429001: "InstanceTooManyRequests", + 429002: "IPRateLimit", + 403003: "APIRateLimit", + 500000: "ExecuteException", + 500001: "StoreLayerException", + 500002: "CMDBPluginException", + 500004: "ParseRoutingException", + 500005: "ParseRateLimitException", + 500006: "ParseCircuitBreakerException", + 500007: "HeartbeatException", + 500008: "InstanceRegisTimeout", + 400801: "InvalidConfigFileGroupName", + 400802: "InvalidConfigFileName", + 400803: "InvalidConfigFileContentLength", + 400804: "InvalidConfigFileFormat", + 400805: "InvalidConfigFileTags", + 400806: "InvalidWatchConfigFileFormat", + 400807: "NotFoundResourceConfigFile", + 400808: "InvalidConfigFileTemplateName", + 400809: "EncryptConfigFileException", + 400810: "GroupExistActiveRelease", + 400811: "DecryptConfigFileException", + 400410: "InvalidUserOwners", + 400411: "InvalidUserID", + 400412: "InvalidUserPassword", + 400413: "InvalidUserMobile", + 400414: "InvalidUserEmail", + 400420: "InvalidUserGroupOwners", + 400421: "InvalidUserGroupID", + 400430: "InvalidAuthStrategyOwners", + 400431: "InvalidAuthStrategyName", + 400432: "InvalidAuthStrategyID", + 400440: "InvalidPrincipalType", + 400215: "UserExisted", + 400216: "UserGroupExisted", + 400217: "AuthStrategyRuleExisted", + 400218: "SubAccountExisted", + 400312: "NotFoundUser", + 400313: "NotFoundOwnerUser", + 400314: "NotFoundUserGroup", + 400315: "NotFoundAuthStrategyRule", + 400508: "NotAllowModifyDefaultStrategyPrincipal", + 400509: "NotAllowModifyOwnerDefaultStrategy", + 401002: "EmptyAutToken", + 401003: "TokenDisabled", + 401004: "TokenNotExisted", + 403001: "AuthTokenForbidden", + 403002: "OperationRoleForbidden", + } + Code_value = map[string]int32{ + "Unknown": 0, + "ExecuteSuccess": 200000, + "DataNoChange": 200001, + "NoNeedUpdate": 200002, + "BadRequest": 400000, + "ParseException": 400001, + "EmptyRequest": 400002, + "BatchSizeOverLimit": 400003, + "InvalidDiscoverResource": 400004, + "InvalidRequestID": 400100, + "InvalidUserName": 400101, + "InvalidUserToken": 400102, + "InvalidParameter": 400103, + "EmptyQueryParameter": 400104, + "InvalidQueryInsParameter": 400105, + "InvalidNamespaceName": 400110, + "InvalidNamespaceOwners": 400111, + "InvalidNamespaceToken": 400112, + "InvalidServiceName": 400120, + "InvalidServiceOwners": 400121, + "InvalidServiceToken": 400122, + "InvalidServiceMetadata": 400123, + "InvalidServicePorts": 400124, + "InvalidServiceBusiness": 400125, + "InvalidServiceDepartment": 400126, + "InvalidServiceCMDB": 400127, + "InvalidServiceComment": 400128, + "InvalidServiceAliasComment": 400129, + "InvalidInstanceID": 400130, + "InvalidInstanceHost": 400131, + "InvalidInstancePort": 400132, + "InvalidServiceAlias": 400133, + "InvalidNamespaceWithAlias": 400134, + "InvalidServiceAliasOwners": 400135, + "InvalidInstanceProtocol": 400136, + "InvalidInstanceVersion": 400137, + "InvalidInstanceLogicSet": 400138, + "InvalidInstanceIsolate": 400139, + "HealthCheckNotOpen": 400140, + "HeartbeatOnDisabledIns": 400141, + "HeartbeatExceedLimit": 400142, + "HeartbeatTypeNotFound": 400143, + "InvalidMetadata": 400150, + "InvalidRateLimitID": 400151, + "InvalidRateLimitLabels": 400152, + "InvalidRateLimitAmounts": 400153, + "InvalidRateLimitName": 400154, + "InvalidCircuitBreakerID": 400160, + "InvalidCircuitBreakerVersion": 400161, + "InvalidCircuitBreakerName": 400162, + "InvalidCircuitBreakerNamespace": 400163, + "InvalidCircuitBreakerOwners": 400164, + "InvalidCircuitBreakerToken": 400165, + "InvalidCircuitBreakerBusiness": 400166, + "InvalidCircuitBreakerDepartment": 400167, + "InvalidCircuitBreakerComment": 400168, + "CircuitBreakerRuleExisted": 400169, + "InvalidRoutingID": 400700, + "InvalidRoutingPolicy": 400701, + "InvalidRoutingName": 400702, + "InvalidRoutingPriority": 400703, + "InvalidFaultDetectID": 400900, + "InvalidFaultDetectName": 400901, + "InvalidFaultDetectNamespace": 400902, + "FaultDetectRuleExisted": 400903, + "InvalidMatchRule": 400904, + "ServicesExistedMesh": 400170, + "ResourcesExistedMesh": 400171, + "InvalidMeshParameter": 400172, + "InvalidPlatformID": 400180, + "InvalidPlatformName": 400181, + "InvalidPlatformDomain": 400182, + "InvalidPlatformQPS": 400183, + "InvalidPlatformToken": 400184, + "InvalidPlatformOwner": 400185, + "InvalidPlatformDepartment": 400186, + "InvalidPlatformComment": 400187, + "NotFoundPlatform": 400188, + "InvalidFluxRateLimitId": 400190, + "InvalidFluxRateLimitQps": 400191, + "InvalidFluxRateLimitSetKey": 400192, + "ExistedResource": 400201, + "NotFoundResource": 400202, + "NamespaceExistedServices": 400203, + "ServiceExistedInstances": 400204, + "ServiceExistedRoutings": 400205, + "ServiceExistedRateLimits": 400206, + "ExistReleasedConfig": 400207, + "SameInstanceRequest": 400208, + "ServiceExistedCircuitBreakers": 400209, + "ServiceExistedAlias": 400210, + "NamespaceExistedMeshResources": 400211, + "NamespaceExistedCircuitBreakers": 400212, + "ServiceSubscribedByMeshes": 400213, + "ServiceExistedFluxRateLimits": 400214, + "NamespaceExistedConfigGroups": 400219, + "NotFoundService": 400301, + "NotFoundRouting": 400302, + "NotFoundInstance": 400303, + "NotFoundServiceAlias": 400304, + "NotFoundNamespace": 400305, + "NotFoundSourceService": 400306, + "NotFoundRateLimit": 400307, + "NotFoundCircuitBreaker": 400308, + "NotFoundMasterConfig": 400309, + "NotFoundTagConfig": 400310, + "NotFoundTagConfigOrService": 400311, + "ClientAPINotOpen": 400401, + "NotAllowBusinessService": 400402, + "NotAllowAliasUpdate": 400501, + "NotAllowAliasCreateInstance": 400502, + "NotAllowAliasCreateRouting": 400503, + "NotAllowCreateAliasForAlias": 400504, + "NotAllowAliasCreateRateLimit": 400505, + "NotAllowAliasBindRule": 400506, + "NotAllowDifferentNamespaceBindRule": 400507, + "Unauthorized": 401000, + "NotAllowedAccess": 401001, + "CMDBNotFindHost": 404001, + "DataConflict": 409000, + "InstanceTooManyRequests": 429001, + "IPRateLimit": 429002, + "APIRateLimit": 403003, + "ExecuteException": 500000, + "StoreLayerException": 500001, + "CMDBPluginException": 500002, + "ParseRoutingException": 500004, + "ParseRateLimitException": 500005, + "ParseCircuitBreakerException": 500006, + "HeartbeatException": 500007, + "InstanceRegisTimeout": 500008, + "InvalidConfigFileGroupName": 400801, + "InvalidConfigFileName": 400802, + "InvalidConfigFileContentLength": 400803, + "InvalidConfigFileFormat": 400804, + "InvalidConfigFileTags": 400805, + "InvalidWatchConfigFileFormat": 400806, + "NotFoundResourceConfigFile": 400807, + "InvalidConfigFileTemplateName": 400808, + "EncryptConfigFileException": 400809, + "GroupExistActiveRelease": 400810, + "DecryptConfigFileException": 400811, + "InvalidUserOwners": 400410, + "InvalidUserID": 400411, + "InvalidUserPassword": 400412, + "InvalidUserMobile": 400413, + "InvalidUserEmail": 400414, + "InvalidUserGroupOwners": 400420, + "InvalidUserGroupID": 400421, + "InvalidAuthStrategyOwners": 400430, + "InvalidAuthStrategyName": 400431, + "InvalidAuthStrategyID": 400432, + "InvalidPrincipalType": 400440, + "UserExisted": 400215, + "UserGroupExisted": 400216, + "AuthStrategyRuleExisted": 400217, + "SubAccountExisted": 400218, + "NotFoundUser": 400312, + "NotFoundOwnerUser": 400313, + "NotFoundUserGroup": 400314, + "NotFoundAuthStrategyRule": 400315, + "NotAllowModifyDefaultStrategyPrincipal": 400508, + "NotAllowModifyOwnerDefaultStrategy": 400509, + "EmptyAutToken": 401002, + "TokenDisabled": 401003, + "TokenNotExisted": 401004, + "AuthTokenForbidden": 403001, + "OperationRoleForbidden": 403002, + } +) + +func (x Code) Enum() *Code { + p := new(Code) + *p = x + return p } func (x Code) String() string { - return proto.EnumName(Code_name, int32(x)) + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (Code) Descriptor() protoreflect.EnumDescriptor { + return file_code_proto_enumTypes[0].Descriptor() +} + +func (Code) Type() protoreflect.EnumType { + return &file_code_proto_enumTypes[0] } + +func (x Code) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use Code.Descriptor instead. func (Code) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_code_010a7b2f3097f96e, []int{0} + return file_code_proto_rawDescGZIP(), []int{0} +} + +var File_code_proto protoreflect.FileDescriptor + +var file_code_proto_rawDesc = []byte{ + 0x0a, 0x0a, 0x63, 0x6f, 0x64, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x02, 0x76, 0x31, + 0x2a, 0xdb, 0x25, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x6e, 0x6b, + 0x6e, 0x6f, 0x77, 0x6e, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x0e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, + 0x65, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x10, 0xc0, 0x9a, 0x0c, 0x12, 0x12, 0x0a, 0x0c, + 0x44, 0x61, 0x74, 0x61, 0x4e, 0x6f, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x10, 0xc1, 0x9a, 0x0c, + 0x12, 0x12, 0x0a, 0x0c, 0x4e, 0x6f, 0x4e, 0x65, 0x65, 0x64, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x10, 0xc2, 0x9a, 0x0c, 0x12, 0x10, 0x0a, 0x0a, 0x42, 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x10, 0x80, 0xb5, 0x18, 0x12, 0x14, 0x0a, 0x0e, 0x50, 0x61, 0x72, 0x73, 0x65, 0x45, + 0x78, 0x63, 0x65, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x10, 0x81, 0xb5, 0x18, 0x12, 0x12, 0x0a, 0x0c, + 0x45, 0x6d, 0x70, 0x74, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x10, 0x82, 0xb5, 0x18, + 0x12, 0x18, 0x0a, 0x12, 0x42, 0x61, 0x74, 0x63, 0x68, 0x53, 0x69, 0x7a, 0x65, 0x4f, 0x76, 0x65, + 0x72, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x10, 0x83, 0xb5, 0x18, 0x12, 0x1d, 0x0a, 0x17, 0x49, 0x6e, + 0x76, 0x61, 0x6c, 0x69, 0x64, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x10, 0x84, 0xb5, 0x18, 0x12, 0x16, 0x0a, 0x10, 0x49, 0x6e, 0x76, + 0x61, 0x6c, 0x69, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x44, 0x10, 0xe4, 0xb5, + 0x18, 0x12, 0x15, 0x0a, 0x0f, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x55, 0x73, 0x65, 0x72, + 0x4e, 0x61, 0x6d, 0x65, 0x10, 0xe5, 0xb5, 0x18, 0x12, 0x16, 0x0a, 0x10, 0x49, 0x6e, 0x76, 0x61, + 0x6c, 0x69, 0x64, 0x55, 0x73, 0x65, 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x10, 0xe6, 0xb5, 0x18, + 0x12, 0x16, 0x0a, 0x10, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x50, 0x61, 0x72, 0x61, 0x6d, + 0x65, 0x74, 0x65, 0x72, 0x10, 0xe7, 0xb5, 0x18, 0x12, 0x19, 0x0a, 0x13, 0x45, 0x6d, 0x70, 0x74, + 0x79, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x10, + 0xe8, 0xb5, 0x18, 0x12, 0x1e, 0x0a, 0x18, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x51, 0x75, + 0x65, 0x72, 0x79, 0x49, 0x6e, 0x73, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x10, + 0xe9, 0xb5, 0x18, 0x12, 0x1a, 0x0a, 0x14, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x4e, 0x61, + 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x10, 0xee, 0xb5, 0x18, 0x12, + 0x1c, 0x0a, 0x16, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, + 0x61, 0x63, 0x65, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x73, 0x10, 0xef, 0xb5, 0x18, 0x12, 0x1b, 0x0a, + 0x15, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, + 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x10, 0xf0, 0xb5, 0x18, 0x12, 0x18, 0x0a, 0x12, 0x49, 0x6e, + 0x76, 0x61, 0x6c, 0x69, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, + 0x10, 0xf8, 0xb5, 0x18, 0x12, 0x1a, 0x0a, 0x14, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x53, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x73, 0x10, 0xf9, 0xb5, 0x18, + 0x12, 0x19, 0x0a, 0x13, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x10, 0xfa, 0xb5, 0x18, 0x12, 0x1c, 0x0a, 0x16, 0x49, + 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x10, 0xfb, 0xb5, 0x18, 0x12, 0x19, 0x0a, 0x13, 0x49, 0x6e, 0x76, + 0x61, 0x6c, 0x69, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x73, + 0x10, 0xfc, 0xb5, 0x18, 0x12, 0x1c, 0x0a, 0x16, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x53, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x42, 0x75, 0x73, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x10, 0xfd, + 0xb5, 0x18, 0x12, 0x1e, 0x0a, 0x18, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x53, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x44, 0x65, 0x70, 0x61, 0x72, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x10, 0xfe, + 0xb5, 0x18, 0x12, 0x18, 0x0a, 0x12, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x53, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x43, 0x4d, 0x44, 0x42, 0x10, 0xff, 0xb5, 0x18, 0x12, 0x1b, 0x0a, 0x15, + 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, + 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x10, 0x80, 0xb6, 0x18, 0x12, 0x20, 0x0a, 0x1a, 0x49, 0x6e, 0x76, + 0x61, 0x6c, 0x69, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x6c, 0x69, 0x61, 0x73, + 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x10, 0x81, 0xb6, 0x18, 0x12, 0x17, 0x0a, 0x11, 0x49, + 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x44, + 0x10, 0x82, 0xb6, 0x18, 0x12, 0x19, 0x0a, 0x13, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x49, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x48, 0x6f, 0x73, 0x74, 0x10, 0x83, 0xb6, 0x18, 0x12, + 0x19, 0x0a, 0x13, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x10, 0x84, 0xb6, 0x18, 0x12, 0x19, 0x0a, 0x13, 0x49, 0x6e, + 0x76, 0x61, 0x6c, 0x69, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x6c, 0x69, 0x61, + 0x73, 0x10, 0x85, 0xb6, 0x18, 0x12, 0x1f, 0x0a, 0x19, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, + 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x57, 0x69, 0x74, 0x68, 0x41, 0x6c, 0x69, + 0x61, 0x73, 0x10, 0x86, 0xb6, 0x18, 0x12, 0x1f, 0x0a, 0x19, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, + 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x4f, 0x77, 0x6e, + 0x65, 0x72, 0x73, 0x10, 0x87, 0xb6, 0x18, 0x12, 0x1d, 0x0a, 0x17, 0x49, 0x6e, 0x76, 0x61, 0x6c, + 0x69, 0x64, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, + 0x6f, 0x6c, 0x10, 0x88, 0xb6, 0x18, 0x12, 0x1c, 0x0a, 0x16, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, + 0x64, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x10, 0x89, 0xb6, 0x18, 0x12, 0x1d, 0x0a, 0x17, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x49, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4c, 0x6f, 0x67, 0x69, 0x63, 0x53, 0x65, 0x74, 0x10, + 0x8a, 0xb6, 0x18, 0x12, 0x1c, 0x0a, 0x16, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x49, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x73, 0x6f, 0x6c, 0x61, 0x74, 0x65, 0x10, 0x8b, 0xb6, + 0x18, 0x12, 0x18, 0x0a, 0x12, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, + 0x4e, 0x6f, 0x74, 0x4f, 0x70, 0x65, 0x6e, 0x10, 0x8c, 0xb6, 0x18, 0x12, 0x1c, 0x0a, 0x16, 0x48, + 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x4f, 0x6e, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, + 0x65, 0x64, 0x49, 0x6e, 0x73, 0x10, 0x8d, 0xb6, 0x18, 0x12, 0x1a, 0x0a, 0x14, 0x48, 0x65, 0x61, + 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x45, 0x78, 0x63, 0x65, 0x65, 0x64, 0x4c, 0x69, 0x6d, 0x69, + 0x74, 0x10, 0x8e, 0xb6, 0x18, 0x12, 0x1b, 0x0a, 0x15, 0x48, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, + 0x61, 0x74, 0x54, 0x79, 0x70, 0x65, 0x4e, 0x6f, 0x74, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x10, 0x8f, + 0xb6, 0x18, 0x12, 0x15, 0x0a, 0x0f, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x4d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x10, 0x96, 0xb6, 0x18, 0x12, 0x18, 0x0a, 0x12, 0x49, 0x6e, 0x76, + 0x61, 0x6c, 0x69, 0x64, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x49, 0x44, 0x10, + 0x97, 0xb6, 0x18, 0x12, 0x1c, 0x0a, 0x16, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x52, 0x61, + 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x10, 0x98, 0xb6, + 0x18, 0x12, 0x1d, 0x0a, 0x17, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x52, 0x61, 0x74, 0x65, + 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x10, 0x99, 0xb6, 0x18, + 0x12, 0x1a, 0x0a, 0x14, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x52, 0x61, 0x74, 0x65, 0x4c, + 0x69, 0x6d, 0x69, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x10, 0x9a, 0xb6, 0x18, 0x12, 0x1d, 0x0a, 0x17, + 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x43, 0x69, 0x72, 0x63, 0x75, 0x69, 0x74, 0x42, 0x72, + 0x65, 0x61, 0x6b, 0x65, 0x72, 0x49, 0x44, 0x10, 0xa0, 0xb6, 0x18, 0x12, 0x22, 0x0a, 0x1c, 0x49, + 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x43, 0x69, 0x72, 0x63, 0x75, 0x69, 0x74, 0x42, 0x72, 0x65, + 0x61, 0x6b, 0x65, 0x72, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x10, 0xa1, 0xb6, 0x18, 0x12, + 0x1f, 0x0a, 0x19, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x43, 0x69, 0x72, 0x63, 0x75, 0x69, + 0x74, 0x42, 0x72, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x10, 0xa2, 0xb6, 0x18, + 0x12, 0x24, 0x0a, 0x1e, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x43, 0x69, 0x72, 0x63, 0x75, + 0x69, 0x74, 0x42, 0x72, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, + 0x63, 0x65, 0x10, 0xa3, 0xb6, 0x18, 0x12, 0x21, 0x0a, 0x1b, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, + 0x64, 0x43, 0x69, 0x72, 0x63, 0x75, 0x69, 0x74, 0x42, 0x72, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x4f, + 0x77, 0x6e, 0x65, 0x72, 0x73, 0x10, 0xa4, 0xb6, 0x18, 0x12, 0x20, 0x0a, 0x1a, 0x49, 0x6e, 0x76, + 0x61, 0x6c, 0x69, 0x64, 0x43, 0x69, 0x72, 0x63, 0x75, 0x69, 0x74, 0x42, 0x72, 0x65, 0x61, 0x6b, + 0x65, 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x10, 0xa5, 0xb6, 0x18, 0x12, 0x23, 0x0a, 0x1d, 0x49, + 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x43, 0x69, 0x72, 0x63, 0x75, 0x69, 0x74, 0x42, 0x72, 0x65, + 0x61, 0x6b, 0x65, 0x72, 0x42, 0x75, 0x73, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x10, 0xa6, 0xb6, 0x18, + 0x12, 0x25, 0x0a, 0x1f, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x43, 0x69, 0x72, 0x63, 0x75, + 0x69, 0x74, 0x42, 0x72, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x44, 0x65, 0x70, 0x61, 0x72, 0x74, 0x6d, + 0x65, 0x6e, 0x74, 0x10, 0xa7, 0xb6, 0x18, 0x12, 0x22, 0x0a, 0x1c, 0x49, 0x6e, 0x76, 0x61, 0x6c, + 0x69, 0x64, 0x43, 0x69, 0x72, 0x63, 0x75, 0x69, 0x74, 0x42, 0x72, 0x65, 0x61, 0x6b, 0x65, 0x72, + 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x10, 0xa8, 0xb6, 0x18, 0x12, 0x1f, 0x0a, 0x19, 0x43, + 0x69, 0x72, 0x63, 0x75, 0x69, 0x74, 0x42, 0x72, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x52, 0x75, 0x6c, + 0x65, 0x45, 0x78, 0x69, 0x73, 0x74, 0x65, 0x64, 0x10, 0xa9, 0xb6, 0x18, 0x12, 0x16, 0x0a, 0x10, + 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x49, 0x44, + 0x10, 0xbc, 0xba, 0x18, 0x12, 0x1a, 0x0a, 0x14, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x52, + 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x10, 0xbd, 0xba, 0x18, + 0x12, 0x18, 0x0a, 0x12, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x69, + 0x6e, 0x67, 0x4e, 0x61, 0x6d, 0x65, 0x10, 0xbe, 0xba, 0x18, 0x12, 0x1c, 0x0a, 0x16, 0x49, 0x6e, + 0x76, 0x61, 0x6c, 0x69, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x69, 0x6f, + 0x72, 0x69, 0x74, 0x79, 0x10, 0xbf, 0xba, 0x18, 0x12, 0x1a, 0x0a, 0x14, 0x49, 0x6e, 0x76, 0x61, + 0x6c, 0x69, 0x64, 0x46, 0x61, 0x75, 0x6c, 0x74, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x49, 0x44, + 0x10, 0x84, 0xbc, 0x18, 0x12, 0x1c, 0x0a, 0x16, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x46, + 0x61, 0x75, 0x6c, 0x74, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x10, 0x85, + 0xbc, 0x18, 0x12, 0x21, 0x0a, 0x1b, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x46, 0x61, 0x75, + 0x6c, 0x74, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, + 0x65, 0x10, 0x86, 0xbc, 0x18, 0x12, 0x1c, 0x0a, 0x16, 0x46, 0x61, 0x75, 0x6c, 0x74, 0x44, 0x65, + 0x74, 0x65, 0x63, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x45, 0x78, 0x69, 0x73, 0x74, 0x65, 0x64, 0x10, + 0x87, 0xbc, 0x18, 0x12, 0x16, 0x0a, 0x10, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x4d, 0x61, + 0x74, 0x63, 0x68, 0x52, 0x75, 0x6c, 0x65, 0x10, 0x88, 0xbc, 0x18, 0x12, 0x19, 0x0a, 0x13, 0x53, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x45, 0x78, 0x69, 0x73, 0x74, 0x65, 0x64, 0x4d, 0x65, + 0x73, 0x68, 0x10, 0xaa, 0xb6, 0x18, 0x12, 0x1a, 0x0a, 0x14, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x73, 0x45, 0x78, 0x69, 0x73, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x68, 0x10, 0xab, + 0xb6, 0x18, 0x12, 0x1a, 0x0a, 0x14, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x4d, 0x65, 0x73, + 0x68, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x10, 0xac, 0xb6, 0x18, 0x12, 0x17, + 0x0a, 0x11, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x49, 0x44, 0x10, 0xb4, 0xb6, 0x18, 0x12, 0x19, 0x0a, 0x13, 0x49, 0x6e, 0x76, 0x61, 0x6c, + 0x69, 0x64, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x10, 0xb5, + 0xb6, 0x18, 0x12, 0x1b, 0x0a, 0x15, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x50, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x10, 0xb6, 0xb6, 0x18, 0x12, + 0x18, 0x0a, 0x12, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x51, 0x50, 0x53, 0x10, 0xb7, 0xb6, 0x18, 0x12, 0x1a, 0x0a, 0x14, 0x49, 0x6e, 0x76, + 0x61, 0x6c, 0x69, 0x64, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x54, 0x6f, 0x6b, 0x65, + 0x6e, 0x10, 0xb8, 0xb6, 0x18, 0x12, 0x1a, 0x0a, 0x14, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, + 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x10, 0xb9, 0xb6, + 0x18, 0x12, 0x1f, 0x0a, 0x19, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x50, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x44, 0x65, 0x70, 0x61, 0x72, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x10, 0xba, + 0xb6, 0x18, 0x12, 0x1c, 0x0a, 0x16, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x50, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x10, 0xbb, 0xb6, 0x18, + 0x12, 0x16, 0x0a, 0x10, 0x4e, 0x6f, 0x74, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x50, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x10, 0xbc, 0xb6, 0x18, 0x12, 0x1c, 0x0a, 0x16, 0x49, 0x6e, 0x76, 0x61, + 0x6c, 0x69, 0x64, 0x46, 0x6c, 0x75, 0x78, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, + 0x49, 0x64, 0x10, 0xbe, 0xb6, 0x18, 0x12, 0x1d, 0x0a, 0x17, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, + 0x64, 0x46, 0x6c, 0x75, 0x78, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x51, 0x70, + 0x73, 0x10, 0xbf, 0xb6, 0x18, 0x12, 0x20, 0x0a, 0x1a, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, + 0x46, 0x6c, 0x75, 0x78, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x53, 0x65, 0x74, + 0x4b, 0x65, 0x79, 0x10, 0xc0, 0xb6, 0x18, 0x12, 0x15, 0x0a, 0x0f, 0x45, 0x78, 0x69, 0x73, 0x74, + 0x65, 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x10, 0xc9, 0xb6, 0x18, 0x12, 0x16, + 0x0a, 0x10, 0x4e, 0x6f, 0x74, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x10, 0xca, 0xb6, 0x18, 0x12, 0x1e, 0x0a, 0x18, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, + 0x61, 0x63, 0x65, 0x45, 0x78, 0x69, 0x73, 0x74, 0x65, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x73, 0x10, 0xcb, 0xb6, 0x18, 0x12, 0x1d, 0x0a, 0x17, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x45, 0x78, 0x69, 0x73, 0x74, 0x65, 0x64, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x73, 0x10, 0xcc, 0xb6, 0x18, 0x12, 0x1c, 0x0a, 0x16, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x45, 0x78, 0x69, 0x73, 0x74, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x10, + 0xcd, 0xb6, 0x18, 0x12, 0x1e, 0x0a, 0x18, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x45, 0x78, + 0x69, 0x73, 0x74, 0x65, 0x64, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x10, + 0xce, 0xb6, 0x18, 0x12, 0x19, 0x0a, 0x13, 0x45, 0x78, 0x69, 0x73, 0x74, 0x52, 0x65, 0x6c, 0x65, + 0x61, 0x73, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x10, 0xcf, 0xb6, 0x18, 0x12, 0x19, + 0x0a, 0x13, 0x53, 0x61, 0x6d, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x10, 0xd0, 0xb6, 0x18, 0x12, 0x23, 0x0a, 0x1d, 0x53, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x45, 0x78, 0x69, 0x73, 0x74, 0x65, 0x64, 0x43, 0x69, 0x72, 0x63, 0x75, + 0x69, 0x74, 0x42, 0x72, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x73, 0x10, 0xd1, 0xb6, 0x18, 0x12, 0x19, + 0x0a, 0x13, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x45, 0x78, 0x69, 0x73, 0x74, 0x65, 0x64, + 0x41, 0x6c, 0x69, 0x61, 0x73, 0x10, 0xd2, 0xb6, 0x18, 0x12, 0x23, 0x0a, 0x1d, 0x4e, 0x61, 0x6d, + 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x45, 0x78, 0x69, 0x73, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x73, + 0x68, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x10, 0xd3, 0xb6, 0x18, 0x12, 0x25, + 0x0a, 0x1f, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x45, 0x78, 0x69, 0x73, 0x74, + 0x65, 0x64, 0x43, 0x69, 0x72, 0x63, 0x75, 0x69, 0x74, 0x42, 0x72, 0x65, 0x61, 0x6b, 0x65, 0x72, + 0x73, 0x10, 0xd4, 0xb6, 0x18, 0x12, 0x1f, 0x0a, 0x19, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x64, 0x42, 0x79, 0x4d, 0x65, 0x73, 0x68, + 0x65, 0x73, 0x10, 0xd5, 0xb6, 0x18, 0x12, 0x22, 0x0a, 0x1c, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x45, 0x78, 0x69, 0x73, 0x74, 0x65, 0x64, 0x46, 0x6c, 0x75, 0x78, 0x52, 0x61, 0x74, 0x65, + 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x10, 0xd6, 0xb6, 0x18, 0x12, 0x22, 0x0a, 0x1c, 0x4e, 0x61, + 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x45, 0x78, 0x69, 0x73, 0x74, 0x65, 0x64, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x10, 0xdb, 0xb6, 0x18, 0x12, 0x15, + 0x0a, 0x0f, 0x4e, 0x6f, 0x74, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x10, 0xad, 0xb7, 0x18, 0x12, 0x15, 0x0a, 0x0f, 0x4e, 0x6f, 0x74, 0x46, 0x6f, 0x75, 0x6e, + 0x64, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x10, 0xae, 0xb7, 0x18, 0x12, 0x16, 0x0a, 0x10, + 0x4e, 0x6f, 0x74, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x10, 0xaf, 0xb7, 0x18, 0x12, 0x1a, 0x0a, 0x14, 0x4e, 0x6f, 0x74, 0x46, 0x6f, 0x75, 0x6e, 0x64, + 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x10, 0xb0, 0xb7, 0x18, + 0x12, 0x17, 0x0a, 0x11, 0x4e, 0x6f, 0x74, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x4e, 0x61, 0x6d, 0x65, + 0x73, 0x70, 0x61, 0x63, 0x65, 0x10, 0xb1, 0xb7, 0x18, 0x12, 0x1b, 0x0a, 0x15, 0x4e, 0x6f, 0x74, + 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x10, 0xb2, 0xb7, 0x18, 0x12, 0x17, 0x0a, 0x11, 0x4e, 0x6f, 0x74, 0x46, 0x6f, 0x75, + 0x6e, 0x64, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x10, 0xb3, 0xb7, 0x18, 0x12, + 0x1c, 0x0a, 0x16, 0x4e, 0x6f, 0x74, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x43, 0x69, 0x72, 0x63, 0x75, + 0x69, 0x74, 0x42, 0x72, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x10, 0xb4, 0xb7, 0x18, 0x12, 0x1a, 0x0a, + 0x14, 0x4e, 0x6f, 0x74, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x10, 0xb5, 0xb7, 0x18, 0x12, 0x17, 0x0a, 0x11, 0x4e, 0x6f, 0x74, + 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x54, 0x61, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x10, 0xb6, + 0xb7, 0x18, 0x12, 0x20, 0x0a, 0x1a, 0x4e, 0x6f, 0x74, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x54, 0x61, + 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x4f, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x10, 0xb7, 0xb7, 0x18, 0x12, 0x16, 0x0a, 0x10, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x41, 0x50, + 0x49, 0x4e, 0x6f, 0x74, 0x4f, 0x70, 0x65, 0x6e, 0x10, 0x91, 0xb8, 0x18, 0x12, 0x1d, 0x0a, 0x17, + 0x4e, 0x6f, 0x74, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x42, 0x75, 0x73, 0x69, 0x6e, 0x65, 0x73, 0x73, + 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x10, 0x92, 0xb8, 0x18, 0x12, 0x19, 0x0a, 0x13, 0x4e, + 0x6f, 0x74, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x10, 0xf5, 0xb8, 0x18, 0x12, 0x21, 0x0a, 0x1b, 0x4e, 0x6f, 0x74, 0x41, 0x6c, 0x6c, + 0x6f, 0x77, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x10, 0xf6, 0xb8, 0x18, 0x12, 0x20, 0x0a, 0x1a, 0x4e, 0x6f, 0x74, + 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x10, 0xf7, 0xb8, 0x18, 0x12, 0x21, 0x0a, 0x1b, 0x4e, + 0x6f, 0x74, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x6c, 0x69, + 0x61, 0x73, 0x46, 0x6f, 0x72, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x10, 0xf8, 0xb8, 0x18, 0x12, 0x22, + 0x0a, 0x1c, 0x4e, 0x6f, 0x74, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x10, 0xf9, + 0xb8, 0x18, 0x12, 0x1b, 0x0a, 0x15, 0x4e, 0x6f, 0x74, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x41, 0x6c, + 0x69, 0x61, 0x73, 0x42, 0x69, 0x6e, 0x64, 0x52, 0x75, 0x6c, 0x65, 0x10, 0xfa, 0xb8, 0x18, 0x12, + 0x28, 0x0a, 0x22, 0x4e, 0x6f, 0x74, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x44, 0x69, 0x66, 0x66, 0x65, + 0x72, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x42, 0x69, 0x6e, + 0x64, 0x52, 0x75, 0x6c, 0x65, 0x10, 0xfb, 0xb8, 0x18, 0x12, 0x12, 0x0a, 0x0c, 0x55, 0x6e, 0x61, + 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x64, 0x10, 0xe8, 0xbc, 0x18, 0x12, 0x16, 0x0a, + 0x10, 0x4e, 0x6f, 0x74, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x41, 0x63, 0x63, 0x65, 0x73, + 0x73, 0x10, 0xe9, 0xbc, 0x18, 0x12, 0x15, 0x0a, 0x0f, 0x43, 0x4d, 0x44, 0x42, 0x4e, 0x6f, 0x74, + 0x46, 0x69, 0x6e, 0x64, 0x48, 0x6f, 0x73, 0x74, 0x10, 0xa1, 0xd4, 0x18, 0x12, 0x12, 0x0a, 0x0c, + 0x44, 0x61, 0x74, 0x61, 0x43, 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x10, 0xa8, 0xfb, 0x18, + 0x12, 0x1d, 0x0a, 0x17, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x54, 0x6f, 0x6f, 0x4d, + 0x61, 0x6e, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x10, 0xc9, 0x97, 0x1a, 0x12, + 0x11, 0x0a, 0x0b, 0x49, 0x50, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x10, 0xca, + 0x97, 0x1a, 0x12, 0x12, 0x0a, 0x0c, 0x41, 0x50, 0x49, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, + 0x69, 0x74, 0x10, 0xbb, 0xcc, 0x18, 0x12, 0x16, 0x0a, 0x10, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, + 0x65, 0x45, 0x78, 0x63, 0x65, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x10, 0xa0, 0xc2, 0x1e, 0x12, 0x19, + 0x0a, 0x13, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x4c, 0x61, 0x79, 0x65, 0x72, 0x45, 0x78, 0x63, 0x65, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x10, 0xa1, 0xc2, 0x1e, 0x12, 0x19, 0x0a, 0x13, 0x43, 0x4d, 0x44, + 0x42, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x45, 0x78, 0x63, 0x65, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x10, 0xa2, 0xc2, 0x1e, 0x12, 0x1b, 0x0a, 0x15, 0x50, 0x61, 0x72, 0x73, 0x65, 0x52, 0x6f, 0x75, + 0x74, 0x69, 0x6e, 0x67, 0x45, 0x78, 0x63, 0x65, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x10, 0xa4, 0xc2, + 0x1e, 0x12, 0x1d, 0x0a, 0x17, 0x50, 0x61, 0x72, 0x73, 0x65, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, + 0x6d, 0x69, 0x74, 0x45, 0x78, 0x63, 0x65, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x10, 0xa5, 0xc2, 0x1e, + 0x12, 0x22, 0x0a, 0x1c, 0x50, 0x61, 0x72, 0x73, 0x65, 0x43, 0x69, 0x72, 0x63, 0x75, 0x69, 0x74, + 0x42, 0x72, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x45, 0x78, 0x63, 0x65, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x10, 0xa6, 0xc2, 0x1e, 0x12, 0x18, 0x0a, 0x12, 0x48, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, + 0x74, 0x45, 0x78, 0x63, 0x65, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x10, 0xa7, 0xc2, 0x1e, 0x12, 0x1a, + 0x0a, 0x14, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x67, 0x69, 0x73, 0x54, + 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x10, 0xa8, 0xc2, 0x1e, 0x12, 0x20, 0x0a, 0x1a, 0x49, 0x6e, + 0x76, 0x61, 0x6c, 0x69, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x46, 0x69, 0x6c, 0x65, 0x47, + 0x72, 0x6f, 0x75, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x10, 0xa1, 0xbb, 0x18, 0x12, 0x1b, 0x0a, 0x15, + 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x46, 0x69, 0x6c, + 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x10, 0xa2, 0xbb, 0x18, 0x12, 0x24, 0x0a, 0x1e, 0x49, 0x6e, 0x76, + 0x61, 0x6c, 0x69, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x46, 0x69, 0x6c, 0x65, 0x43, 0x6f, + 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x10, 0xa3, 0xbb, 0x18, 0x12, + 0x1d, 0x0a, 0x17, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x46, 0x69, 0x6c, 0x65, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x10, 0xa4, 0xbb, 0x18, 0x12, 0x1b, + 0x0a, 0x15, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x46, + 0x69, 0x6c, 0x65, 0x54, 0x61, 0x67, 0x73, 0x10, 0xa5, 0xbb, 0x18, 0x12, 0x22, 0x0a, 0x1c, 0x49, + 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x57, 0x61, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x46, 0x69, 0x6c, 0x65, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x10, 0xa6, 0xbb, 0x18, 0x12, + 0x20, 0x0a, 0x1a, 0x4e, 0x6f, 0x74, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x46, 0x69, 0x6c, 0x65, 0x10, 0xa7, 0xbb, + 0x18, 0x12, 0x23, 0x0a, 0x1d, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x46, 0x69, 0x6c, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x4e, 0x61, + 0x6d, 0x65, 0x10, 0xa8, 0xbb, 0x18, 0x12, 0x20, 0x0a, 0x1a, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, + 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x46, 0x69, 0x6c, 0x65, 0x45, 0x78, 0x63, 0x65, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x10, 0xa9, 0xbb, 0x18, 0x12, 0x1d, 0x0a, 0x17, 0x47, 0x72, 0x6f, 0x75, + 0x70, 0x45, 0x78, 0x69, 0x73, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x52, 0x65, 0x6c, 0x65, + 0x61, 0x73, 0x65, 0x10, 0xaa, 0xbb, 0x18, 0x12, 0x20, 0x0a, 0x1a, 0x44, 0x65, 0x63, 0x72, 0x79, + 0x70, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x46, 0x69, 0x6c, 0x65, 0x45, 0x78, 0x63, 0x65, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x10, 0xab, 0xbb, 0x18, 0x12, 0x17, 0x0a, 0x11, 0x49, 0x6e, 0x76, + 0x61, 0x6c, 0x69, 0x64, 0x55, 0x73, 0x65, 0x72, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x73, 0x10, 0x9a, + 0xb8, 0x18, 0x12, 0x13, 0x0a, 0x0d, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x55, 0x73, 0x65, + 0x72, 0x49, 0x44, 0x10, 0x9b, 0xb8, 0x18, 0x12, 0x19, 0x0a, 0x13, 0x49, 0x6e, 0x76, 0x61, 0x6c, + 0x69, 0x64, 0x55, 0x73, 0x65, 0x72, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x10, 0x9c, + 0xb8, 0x18, 0x12, 0x17, 0x0a, 0x11, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x55, 0x73, 0x65, + 0x72, 0x4d, 0x6f, 0x62, 0x69, 0x6c, 0x65, 0x10, 0x9d, 0xb8, 0x18, 0x12, 0x16, 0x0a, 0x10, 0x49, + 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x55, 0x73, 0x65, 0x72, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x10, + 0x9e, 0xb8, 0x18, 0x12, 0x1c, 0x0a, 0x16, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x55, 0x73, + 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x73, 0x10, 0xa4, 0xb8, + 0x18, 0x12, 0x18, 0x0a, 0x12, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x55, 0x73, 0x65, 0x72, + 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x44, 0x10, 0xa5, 0xb8, 0x18, 0x12, 0x1f, 0x0a, 0x19, 0x49, + 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x41, 0x75, 0x74, 0x68, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, + 0x67, 0x79, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x73, 0x10, 0xae, 0xb8, 0x18, 0x12, 0x1d, 0x0a, 0x17, + 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x41, 0x75, 0x74, 0x68, 0x53, 0x74, 0x72, 0x61, 0x74, + 0x65, 0x67, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x10, 0xaf, 0xb8, 0x18, 0x12, 0x1b, 0x0a, 0x15, 0x49, + 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x41, 0x75, 0x74, 0x68, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, + 0x67, 0x79, 0x49, 0x44, 0x10, 0xb0, 0xb8, 0x18, 0x12, 0x1a, 0x0a, 0x14, 0x49, 0x6e, 0x76, 0x61, + 0x6c, 0x69, 0x64, 0x50, 0x72, 0x69, 0x6e, 0x63, 0x69, 0x70, 0x61, 0x6c, 0x54, 0x79, 0x70, 0x65, + 0x10, 0xb8, 0xb8, 0x18, 0x12, 0x11, 0x0a, 0x0b, 0x55, 0x73, 0x65, 0x72, 0x45, 0x78, 0x69, 0x73, + 0x74, 0x65, 0x64, 0x10, 0xd7, 0xb6, 0x18, 0x12, 0x16, 0x0a, 0x10, 0x55, 0x73, 0x65, 0x72, 0x47, + 0x72, 0x6f, 0x75, 0x70, 0x45, 0x78, 0x69, 0x73, 0x74, 0x65, 0x64, 0x10, 0xd8, 0xb6, 0x18, 0x12, + 0x1d, 0x0a, 0x17, 0x41, 0x75, 0x74, 0x68, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x52, + 0x75, 0x6c, 0x65, 0x45, 0x78, 0x69, 0x73, 0x74, 0x65, 0x64, 0x10, 0xd9, 0xb6, 0x18, 0x12, 0x17, + 0x0a, 0x11, 0x53, 0x75, 0x62, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x45, 0x78, 0x69, 0x73, + 0x74, 0x65, 0x64, 0x10, 0xda, 0xb6, 0x18, 0x12, 0x12, 0x0a, 0x0c, 0x4e, 0x6f, 0x74, 0x46, 0x6f, + 0x75, 0x6e, 0x64, 0x55, 0x73, 0x65, 0x72, 0x10, 0xb8, 0xb7, 0x18, 0x12, 0x17, 0x0a, 0x11, 0x4e, + 0x6f, 0x74, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, + 0x10, 0xb9, 0xb7, 0x18, 0x12, 0x17, 0x0a, 0x11, 0x4e, 0x6f, 0x74, 0x46, 0x6f, 0x75, 0x6e, 0x64, + 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x10, 0xba, 0xb7, 0x18, 0x12, 0x1e, 0x0a, + 0x18, 0x4e, 0x6f, 0x74, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x41, 0x75, 0x74, 0x68, 0x53, 0x74, 0x72, + 0x61, 0x74, 0x65, 0x67, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x10, 0xbb, 0xb7, 0x18, 0x12, 0x2c, 0x0a, + 0x26, 0x4e, 0x6f, 0x74, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x44, + 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x50, 0x72, + 0x69, 0x6e, 0x63, 0x69, 0x70, 0x61, 0x6c, 0x10, 0xfc, 0xb8, 0x18, 0x12, 0x28, 0x0a, 0x22, 0x4e, + 0x6f, 0x74, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x4f, 0x77, 0x6e, + 0x65, 0x72, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, + 0x79, 0x10, 0xfd, 0xb8, 0x18, 0x12, 0x13, 0x0a, 0x0d, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x41, 0x75, + 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x10, 0xea, 0xbc, 0x18, 0x12, 0x13, 0x0a, 0x0d, 0x54, 0x6f, + 0x6b, 0x65, 0x6e, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x10, 0xeb, 0xbc, 0x18, 0x12, + 0x15, 0x0a, 0x0f, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x4e, 0x6f, 0x74, 0x45, 0x78, 0x69, 0x73, 0x74, + 0x65, 0x64, 0x10, 0xec, 0xbc, 0x18, 0x12, 0x18, 0x0a, 0x12, 0x41, 0x75, 0x74, 0x68, 0x54, 0x6f, + 0x6b, 0x65, 0x6e, 0x46, 0x6f, 0x72, 0x62, 0x69, 0x64, 0x64, 0x65, 0x6e, 0x10, 0xb9, 0xcc, 0x18, + 0x12, 0x1c, 0x0a, 0x16, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x6f, 0x6c, + 0x65, 0x46, 0x6f, 0x72, 0x62, 0x69, 0x64, 0x64, 0x65, 0x6e, 0x10, 0xba, 0xcc, 0x18, 0x42, 0x78, + 0x0a, 0x2e, 0x63, 0x6f, 0x6d, 0x2e, 0x74, 0x65, 0x6e, 0x63, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x6f, + 0x6c, 0x61, 0x72, 0x69, 0x73, 0x2e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, + 0x42, 0x09, 0x43, 0x6f, 0x64, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x5a, 0x3b, 0x67, 0x69, 0x74, + 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x70, 0x6f, 0x6c, 0x61, 0x72, 0x69, 0x73, 0x6d, + 0x65, 0x73, 0x68, 0x2f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x2f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2f, 0x67, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, + 0x76, 0x31, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } -func init() { - proto.RegisterEnum("v1.Code", Code_name, Code_value) +var ( + file_code_proto_rawDescOnce sync.Once + file_code_proto_rawDescData = file_code_proto_rawDesc +) + +func file_code_proto_rawDescGZIP() []byte { + file_code_proto_rawDescOnce.Do(func() { + file_code_proto_rawDescData = protoimpl.X.CompressGZIP(file_code_proto_rawDescData) + }) + return file_code_proto_rawDescData } -func init() { proto.RegisterFile("code.proto", fileDescriptor_code_010a7b2f3097f96e) } +var file_code_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_code_proto_goTypes = []interface{}{ + (Code)(0), // 0: v1.Code +} +var file_code_proto_depIdxs = []int32{ + 0, // [0:0] is the sub-list for method output_type + 0, // [0:0] is the sub-list for method input_type + 0, // [0:0] is the sub-list for extension type_name + 0, // [0:0] is the sub-list for extension extendee + 0, // [0:0] is the sub-list for field type_name +} -var fileDescriptor_code_010a7b2f3097f96e = []byte{ - // 2002 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x58, 0x5b, 0x90, 0x1b, 0x47, - 0x15, 0xa5, 0x28, 0x0a, 0x8a, 0x89, 0x81, 0x9b, 0xc9, 0x6b, 0xe2, 0x24, 0x1b, 0x08, 0x84, 0xa2, - 0x28, 0x6a, 0xb7, 0x5c, 0x7c, 0xf2, 0xb5, 0x2b, 0xed, 0x62, 0x15, 0xde, 0x5d, 0x79, 0xb5, 0x26, - 0x55, 0xfc, 0xb5, 0x66, 0xee, 0x4a, 0x5d, 0x1e, 0x4d, 0x8b, 0xe9, 0x9e, 0xf5, 0x2a, 0x5f, 0x79, - 0x38, 0x0f, 0xde, 0x05, 0x1f, 0x18, 0xcc, 0xa3, 0xe2, 0xc4, 0xaf, 0x04, 0x48, 0x02, 0x44, 0xa3, - 0xf1, 0x4a, 0x24, 0x61, 0xff, 0x12, 0xcc, 0x3b, 0xbc, 0x7f, 0x79, 0x24, 0x40, 0x01, 0x3f, 0x40, - 0x12, 0x27, 0x40, 0x75, 0xf7, 0xf4, 0xcc, 0xb4, 0x2c, 0xf3, 0xa9, 0x3e, 0xf7, 0xde, 0xbe, 0x8f, - 0x73, 0xef, 0xdc, 0x96, 0xe3, 0xf8, 0x2c, 0xc0, 0xf9, 0x7e, 0xcc, 0x04, 0x73, 0xdf, 0xb8, 0x7d, - 0xe0, 0xfd, 0x93, 0xdb, 0x9d, 0x37, 0xd5, 0x58, 0x80, 0xee, 0x55, 0xce, 0x5b, 0x8e, 0x44, 0x47, - 0x23, 0x76, 0x2c, 0x82, 0x37, 0xb8, 0xd7, 0x3a, 0x6f, 0x5f, 0xde, 0x41, 0x3f, 0x11, 0xd8, 0x4a, - 0x7c, 0x1f, 0x39, 0x87, 0x67, 0x4f, 0xee, 0x73, 0x5d, 0x67, 0x5f, 0x9d, 0x08, 0xb2, 0xc6, 0x6a, - 0x5d, 0x12, 0x75, 0x10, 0xbe, 0xaf, 0xcf, 0xd6, 0xd8, 0x1a, 0x62, 0x70, 0xa4, 0x1f, 0x10, 0x81, - 0xb0, 0x77, 0x72, 0x9f, 0x0b, 0x8e, 0xb3, 0x44, 0x82, 0x0d, 0xfc, 0x78, 0x82, 0x5c, 0xc0, 0x5d, - 0x43, 0x4f, 0xda, 0x6b, 0x92, 0x98, 0xe3, 0xf2, 0x8e, 0x8f, 0x7d, 0x41, 0x59, 0x04, 0x77, 0x0f, - 0x3d, 0xa9, 0xbb, 0xdc, 0xeb, 0x8b, 0x81, 0x91, 0xbc, 0x67, 0xe8, 0xb9, 0x9e, 0xe3, 0x2e, 0x11, - 0xe1, 0x77, 0x5b, 0xf4, 0x4e, 0x5c, 0xdf, 0xc6, 0xf8, 0x10, 0xed, 0x51, 0x01, 0xf7, 0x0e, 0x3d, - 0xf7, 0x16, 0xe7, 0x86, 0x46, 0xb4, 0x4d, 0x42, 0x1a, 0xd4, 0x29, 0xf7, 0xd9, 0x36, 0xc6, 0x1b, - 0xc8, 0x59, 0x12, 0xfb, 0x08, 0xc7, 0x87, 0x9e, 0x7b, 0xbd, 0x03, 0x39, 0x9c, 0x9b, 0x6b, 0xd4, - 0xe1, 0xf7, 0x43, 0xcf, 0xbd, 0xce, 0x79, 0x47, 0x7e, 0x7e, 0x84, 0x63, 0xbc, 0x46, 0x7a, 0x08, - 0x7f, 0xb0, 0xc4, 0xe5, 0xf1, 0x26, 0x3b, 0x8a, 0x11, 0xfc, 0xd1, 0x3a, 0x6f, 0x92, 0x98, 0xf4, - 0x50, 0x60, 0x0c, 0x7f, 0x1a, 0x7a, 0xee, 0x8d, 0xce, 0x35, 0xca, 0xd7, 0xc3, 0x09, 0xc6, 0x83, - 0x12, 0x7a, 0x71, 0xe8, 0xb9, 0x73, 0x8e, 0x97, 0xab, 0x28, 0xb0, 0x11, 0xf1, 0x12, 0x7f, 0x69, - 0xe8, 0xb9, 0xfb, 0x9d, 0x6b, 0x73, 0x5c, 0xde, 0xce, 0xfb, 0xc4, 0x47, 0xe5, 0xc6, 0xdf, 0x86, - 0x9e, 0x7b, 0xb3, 0x73, 0xfd, 0x34, 0xb6, 0x7e, 0x2c, 0xc2, 0x98, 0xc3, 0xdf, 0x87, 0x9e, 0x7b, - 0x93, 0x73, 0xdd, 0x34, 0xaa, 0x3d, 0xfd, 0x87, 0xce, 0x54, 0x0e, 0xb6, 0x30, 0xde, 0xa6, 0xb9, - 0xd1, 0x97, 0xad, 0x0b, 0x73, 0x24, 0x37, 0xf9, 0x8a, 0x8e, 0xc3, 0xc6, 0xb4, 0xc1, 0x57, 0x2d, - 0x5f, 0x72, 0x68, 0x15, 0x05, 0x09, 0x88, 0x20, 0x70, 0x69, 0x96, 0x62, 0x93, 0xc5, 0x82, 0xc3, - 0x6b, 0xb3, 0x14, 0x97, 0x12, 0x4e, 0x23, 0xc9, 0x9a, 0xd7, 0xad, 0xf4, 0xe4, 0x68, 0x1d, 0xfb, - 0x24, 0x16, 0x3d, 0x8c, 0x04, 0xfc, 0x67, 0x56, 0x1c, 0xb5, 0xd5, 0xfa, 0x12, 0xfc, 0xd7, 0x0a, - 0xdf, 0x20, 0xac, 0xa7, 0xd4, 0xee, 0x4a, 0x3d, 0xf7, 0x9d, 0xce, 0x7e, 0x1b, 0x5c, 0x0c, 0x29, - 0xe1, 0x46, 0xe2, 0xee, 0xd4, 0x73, 0x6f, 0x70, 0xae, 0xce, 0x25, 0x1a, 0x11, 0x17, 0x24, 0xf2, - 0xb1, 0x51, 0x87, 0x7b, 0xd2, 0x6a, 0x28, 0x06, 0x38, 0xc8, 0xb8, 0x80, 0x7b, 0x67, 0x42, 0x32, - 0x4c, 0x38, 0x9e, 0xce, 0x48, 0x80, 0xba, 0x10, 0xee, 0x4b, 0x3d, 0xf7, 0x56, 0xe7, 0xc6, 0xe9, - 0x3a, 0xdd, 0x41, 0x45, 0x57, 0x0b, 0xdc, 0x6f, 0x09, 0x54, 0x75, 0xf3, 0xb2, 0x3c, 0x90, 0x56, - 0xc9, 0x5d, 0xdc, 0x2b, 0x5b, 0xd4, 0x67, 0x21, 0x3c, 0x98, 0x56, 0x33, 0x6c, 0xe0, 0x8f, 0x62, - 0xcc, 0x65, 0x1f, 0x7d, 0x62, 0xa6, 0xf2, 0x21, 0xd6, 0xa1, 0x7e, 0x0b, 0x05, 0x7c, 0x72, 0xa6, - 0x72, 0x83, 0xb3, 0x50, 0x36, 0xeb, 0xa7, 0x52, 0x95, 0xfe, 0x83, 0x48, 0x42, 0xd1, 0xad, 0x75, - 0xd1, 0x3f, 0xba, 0xc6, 0xc4, 0x7a, 0x1f, 0x23, 0xf8, 0xb4, 0xd6, 0x3b, 0x88, 0x24, 0x16, 0x6d, - 0x24, 0x62, 0x3d, 0xaa, 0x53, 0x4e, 0xda, 0x21, 0x4a, 0x1b, 0xf0, 0x99, 0x54, 0x91, 0xac, 0x40, - 0x65, 0x5b, 0x63, 0xa0, 0x5b, 0xf5, 0xb3, 0xa9, 0x2a, 0x5c, 0x81, 0x6d, 0x0e, 0xfa, 0xb8, 0xc6, - 0xc4, 0x0a, 0x4b, 0xa2, 0x00, 0x3e, 0x97, 0x56, 0x1b, 0xb2, 0xe0, 0xd7, 0x17, 0xd3, 0x2a, 0x0d, - 0x36, 0x88, 0x40, 0x65, 0xab, 0x51, 0x87, 0x13, 0x96, 0xff, 0x05, 0x72, 0x88, 0xb4, 0x31, 0xe4, - 0xf0, 0x25, 0x2b, 0xf8, 0x02, 0x5d, 0xec, 0xb1, 0x24, 0x12, 0x1c, 0xbe, 0x9c, 0x56, 0x7b, 0xa1, - 0x80, 0x55, 0x9f, 0x9c, 0xb4, 0x54, 0x6b, 0x34, 0xf6, 0x13, 0x2a, 0x96, 0x62, 0x24, 0x47, 0x31, - 0x6e, 0xd4, 0xe1, 0xa1, 0xd4, 0x73, 0x6f, 0x73, 0x6e, 0x9e, 0x09, 0x9b, 0xd4, 0x9f, 0xb2, 0x0a, - 0x6b, 0xcb, 0xa8, 0x3b, 0x1e, 0x4e, 0x3d, 0xf7, 0x3d, 0xce, 0xdc, 0x15, 0x05, 0x14, 0x51, 0xe0, - 0x91, 0xd4, 0x73, 0xdf, 0xe5, 0xdc, 0x34, 0x53, 0x2a, 0x67, 0xc8, 0x69, 0x8b, 0xef, 0xb6, 0x88, - 0xee, 0xdf, 0x33, 0xa9, 0xe7, 0xbe, 0xdb, 0xb9, 0x65, 0xa6, 0x44, 0xd1, 0x8d, 0x67, 0x53, 0xcf, - 0xbd, 0xdd, 0xb9, 0x75, 0xa6, 0x50, 0xa5, 0x29, 0xcf, 0xfd, 0x9f, 0xd8, 0x4d, 0x7f, 0x9d, 0xd7, - 0xb1, 0xdb, 0xe0, 0x46, 0x12, 0xe2, 0xf2, 0x0e, 0xe5, 0x02, 0x03, 0x78, 0x34, 0xb5, 0x46, 0x32, - 0x4b, 0x04, 0x8d, 0x3a, 0x8d, 0x3a, 0x4c, 0x76, 0xad, 0x9a, 0xe8, 0xf3, 0x26, 0x0b, 0xa9, 0x3f, - 0x80, 0xef, 0xed, 0x5a, 0x34, 0xd0, 0x98, 0xca, 0xe4, 0xd3, 0xbb, 0x16, 0x0d, 0x72, 0xad, 0x98, - 0xb2, 0x98, 0x8a, 0x01, 0x3c, 0x63, 0xd9, 0x5c, 0x21, 0x49, 0x28, 0xea, 0x28, 0xd0, 0x97, 0x04, - 0x3a, 0x3e, 0xa9, 0x6a, 0x56, 0x30, 0x65, 0xf7, 0xbe, 0x49, 0x35, 0xf7, 0x53, 0xa8, 0x2e, 0xcf, - 0xfd, 0xda, 0x40, 0x05, 0xab, 0x86, 0xf9, 0xc0, 0xa4, 0x1a, 0xe6, 0xaa, 0xfc, 0x72, 0x49, 0x18, - 0x1e, 0x9c, 0xa8, 0x81, 0x91, 0x77, 0x3b, 0xcf, 0xc5, 0x57, 0x91, 0x77, 0xe1, 0x31, 0xcd, 0x4a, - 0xf3, 0xf1, 0xb2, 0xb0, 0x6f, 0x58, 0x8c, 0x95, 0x47, 0xe5, 0xa7, 0xe4, 0x9b, 0xd6, 0x48, 0x6b, - 0x86, 0x44, 0x6c, 0xb1, 0xb8, 0xd7, 0xa8, 0xc3, 0x53, 0xd6, 0x70, 0x32, 0x80, 0x8a, 0x6f, 0x98, - 0x56, 0xa7, 0xa8, 0x81, 0xea, 0xac, 0x47, 0x68, 0x04, 0xa9, 0xd5, 0x75, 0x06, 0x3c, 0xdc, 0x6c, - 0xc1, 0xc8, 0x72, 0xc3, 0x20, 0x9a, 0x69, 0xd9, 0x4c, 0x4c, 0x11, 0x15, 0x2e, 0x58, 0x1d, 0x51, - 0x5c, 0x57, 0x52, 0x6b, 0xd7, 0x6a, 0x67, 0x23, 0x60, 0x48, 0x35, 0xd6, 0x9c, 0x31, 0xd3, 0xc2, - 0xc0, 0x30, 0xb1, 0xb4, 0x56, 0xc2, 0x64, 0xa7, 0x1c, 0x11, 0x01, 0x3c, 0x6d, 0x75, 0xb2, 0x85, - 0x1e, 0xee, 0x73, 0x78, 0xc6, 0xea, 0x1d, 0x0b, 0x6e, 0xa1, 0xf8, 0x08, 0x0e, 0xe0, 0x59, 0x3d, - 0x94, 0xf2, 0x3a, 0x14, 0x4b, 0xc5, 0x73, 0xb6, 0x37, 0xc5, 0xf9, 0xf3, 0xa9, 0xfa, 0xa6, 0x15, - 0x0c, 0xc9, 0xf5, 0x4c, 0xa9, 0xe1, 0x07, 0xda, 0x9f, 0xfc, 0x77, 0x8e, 0x9a, 0xc9, 0xcb, 0xe1, - 0xa2, 0x0e, 0xc6, 0x86, 0x73, 0x46, 0x73, 0xf8, 0xa1, 0x36, 0x3e, 0x85, 0x1a, 0x87, 0x39, 0xfc, - 0x48, 0xd7, 0x5a, 0x01, 0x1b, 0x18, 0x22, 0xe1, 0x18, 0xd4, 0x58, 0xb4, 0x45, 0x3b, 0xf0, 0x63, - 0x0d, 0xb5, 0x48, 0x0f, 0xcd, 0x6d, 0x66, 0xb1, 0xfa, 0x89, 0x9e, 0x0e, 0xb6, 0x55, 0xbb, 0x77, - 0x39, 0xfc, 0x34, 0xad, 0x52, 0x36, 0x17, 0xd2, 0x9f, 0xb0, 0x9f, 0x69, 0xfd, 0xe9, 0x90, 0x25, - 0x3f, 0x0b, 0x1a, 0xc3, 0xcf, 0xf5, 0x74, 0x99, 0x16, 0x9a, 0xbe, 0xe6, 0x05, 0xcd, 0x91, 0xfc, - 0x9a, 0x56, 0xd2, 0xe6, 0x7e, 0x4c, 0xdb, 0x18, 0x2c, 0x0d, 0xa4, 0x39, 0xe4, 0xf0, 0x0b, 0x3d, - 0x7e, 0x6c, 0x3f, 0xac, 0xba, 0x71, 0xf8, 0xa5, 0x96, 0xb9, 0xec, 0x2e, 0x95, 0x89, 0x0f, 0xc7, - 0x2c, 0xe9, 0x73, 0xf8, 0x9d, 0x2e, 0xab, 0xa9, 0x5f, 0x6e, 0x0f, 0xbe, 0x35, 0xb2, 0x8e, 0xf3, - 0xcc, 0xc3, 0xe3, 0x23, 0xab, 0xda, 0x26, 0x83, 0xf0, 0xc4, 0x48, 0xd1, 0x7d, 0xca, 0x8a, 0x4e, - 0xcb, 0x93, 0x23, 0xd5, 0x91, 0x06, 0x2b, 0x67, 0xc6, 0xb7, 0x47, 0xaa, 0xed, 0x0a, 0x25, 0x95, - 0x21, 0xe3, 0xc0, 0x77, 0x6c, 0xad, 0x22, 0x2a, 0xf8, 0xee, 0x48, 0x31, 0xc3, 0x00, 0x76, 0xe2, - 0xe0, 0x29, 0xdb, 0x91, 0x55, 0xc2, 0x85, 0x1c, 0xc7, 0xaa, 0xf4, 0x43, 0xdb, 0xe4, 0x26, 0xe9, - 0xe4, 0x40, 0x3a, 0x52, 0xe4, 0xbf, 0x0c, 0x58, 0x8f, 0x8d, 0x37, 0x23, 0x1d, 0x77, 0x2d, 0xa4, - 0x18, 0x89, 0xc5, 0x66, 0xc3, 0x2c, 0x00, 0x9f, 0xcf, 0x14, 0x8b, 0xd7, 0x98, 0x58, 0x0c, 0x43, - 0x76, 0xcc, 0x7c, 0x43, 0x8c, 0xda, 0x17, 0x32, 0x45, 0x16, 0x03, 0xab, 0x7c, 0xe4, 0x2f, 0x80, - 0x7f, 0x66, 0x6a, 0xa6, 0x5a, 0x50, 0x2d, 0x46, 0x22, 0x0a, 0x5a, 0xc2, 0xbf, 0x32, 0xe3, 0xd6, - 0xb4, 0x88, 0x29, 0xc7, 0xbf, 0x6d, 0x23, 0x1a, 0x54, 0x72, 0x2b, 0x2c, 0xd6, 0xd9, 0x7f, 0x39, - 0xd3, 0x1c, 0x98, 0x61, 0xa4, 0x48, 0xe9, 0x2b, 0x99, 0x29, 0x44, 0x29, 0xb3, 0x44, 0xa3, 0x40, - 0xcd, 0xe8, 0x57, 0x33, 0xcf, 0x7d, 0x9f, 0x73, 0x9b, 0x01, 0xeb, 0x74, 0x6b, 0x0b, 0x63, 0x8c, - 0xca, 0xd9, 0x5f, 0x48, 0x5e, 0xca, 0xd4, 0x63, 0xe5, 0x48, 0x44, 0x12, 0xd1, 0x65, 0x31, 0xbd, - 0x13, 0x03, 0x78, 0x71, 0x62, 0x08, 0xa3, 0xb4, 0x31, 0x58, 0xd4, 0x0f, 0xa5, 0x97, 0x26, 0x8a, - 0x5f, 0x72, 0x89, 0x95, 0x69, 0xa7, 0x51, 0xa0, 0x96, 0xcb, 0x53, 0x2f, 0x78, 0xe6, 0xfd, 0x24, - 0x4b, 0x10, 0x52, 0x5f, 0xc0, 0xf9, 0x4b, 0xf9, 0xe4, 0xd2, 0x69, 0xd9, 0x64, 0x6c, 0x95, 0x44, - 0xe6, 0x35, 0xc4, 0xe1, 0xb9, 0x13, 0xfb, 0xdd, 0xab, 0x9d, 0xab, 0x1a, 0xcd, 0x32, 0x9e, 0xe7, - 0x4f, 0xec, 0x97, 0x56, 0x16, 0x9b, 0x8d, 0xf2, 0x6c, 0x7c, 0x51, 0x39, 0x92, 0xbf, 0xd7, 0xca, - 0x17, 0xd6, 0x43, 0x7b, 0x73, 0xaa, 0x9f, 0x05, 0x8b, 0xf1, 0x10, 0x19, 0x60, 0x5c, 0x42, 0xa7, - 0x34, 0x24, 0x7d, 0x6c, 0x86, 0x49, 0x87, 0x46, 0x25, 0xf4, 0xf0, 0xde, 0x9c, 0xcc, 0x98, 0x7a, - 0xad, 0xe5, 0xc5, 0x28, 0xc1, 0xd3, 0x7b, 0x73, 0xd2, 0x61, 0x0d, 0x1a, 0x07, 0x4a, 0xf8, 0xcc, - 0xde, 0x9c, 0xac, 0x88, 0x82, 0x6d, 0xf6, 0x96, 0x32, 0x67, 0xf7, 0xe6, 0xf2, 0x95, 0xb3, 0x5c, - 0x1d, 0x35, 0x72, 0x6e, 0x6f, 0x4e, 0x7f, 0x58, 0xcc, 0xec, 0xea, 0x50, 0xbe, 0x49, 0x7b, 0xc8, - 0x12, 0x01, 0xe7, 0xf7, 0xe6, 0xaa, 0x0b, 0x90, 0xe2, 0xf0, 0x0a, 0x0d, 0x51, 0xb5, 0xba, 0xfa, - 0xd2, 0x9d, 0x1a, 0x57, 0xbf, 0x74, 0xa5, 0x84, 0x5e, 0xc4, 0xc6, 0xd6, 0x22, 0x56, 0x80, 0x35, - 0x16, 0x09, 0x8c, 0xc4, 0x21, 0x8c, 0x3a, 0xa2, 0x0b, 0x8f, 0x8c, 0xad, 0x95, 0xb0, 0x90, 0x5a, - 0x61, 0x71, 0x8f, 0x08, 0x38, 0x7d, 0x85, 0x1b, 0x36, 0x49, 0x87, 0xc3, 0x99, 0x71, 0x75, 0x67, - 0xba, 0x43, 0xee, 0x01, 0x97, 0x19, 0x38, 0x3b, 0xb6, 0x9a, 0xd1, 0x4c, 0xce, 0x52, 0x0e, 0xce, - 0x8d, 0xad, 0x2d, 0xae, 0xbc, 0x02, 0x7b, 0x7d, 0xb9, 0xb0, 0xab, 0x60, 0xce, 0x6b, 0x33, 0xcb, - 0x91, 0x1f, 0x0f, 0xfa, 0xa2, 0x14, 0x2a, 0x33, 0xf9, 0xa8, 0x96, 0xa8, 0xe3, 0x15, 0x25, 0x1e, - 0x1b, 0x57, 0x77, 0x09, 0xf9, 0x02, 0xce, 0x37, 0xcd, 0x93, 0x99, 0xe7, 0x5e, 0xe3, 0xbc, 0xad, - 0x02, 0x34, 0xea, 0xf0, 0x95, 0xac, 0xba, 0x60, 0xc8, 0xc3, 0x26, 0xe1, 0xfc, 0x18, 0x8b, 0x03, - 0xf8, 0x6a, 0x36, 0x6d, 0x68, 0x95, 0xb5, 0x65, 0x28, 0x5f, 0xcb, 0xa6, 0xdf, 0xd8, 0xcb, 0x3d, - 0x42, 0x43, 0xf8, 0x7a, 0x56, 0xfd, 0x96, 0xcb, 0x73, 0x55, 0x43, 0xb3, 0xe8, 0x66, 0xd5, 0x95, - 0xa4, 0x40, 0x1b, 0x75, 0x38, 0x93, 0x55, 0x57, 0x8b, 0xc5, 0x44, 0x74, 0x5b, 0x22, 0x26, 0x02, - 0x3b, 0x83, 0x5c, 0xf5, 0xf1, 0xac, 0x5a, 0xbd, 0xaa, 0x80, 0xca, 0xda, 0x13, 0x59, 0xb5, 0x7a, - 0x55, 0xb8, 0x51, 0x87, 0x27, 0x33, 0x6b, 0xa7, 0x89, 0x69, 0xe4, 0xd3, 0x3e, 0x09, 0xe5, 0xd3, - 0x05, 0xb2, 0xcc, 0x93, 0x5d, 0xa8, 0x22, 0xc8, 0x97, 0xbe, 0x5f, 0xe9, 0xcd, 0xa0, 0x70, 0xcf, - 0x9c, 0xff, 0x5a, 0x7f, 0xf9, 0xab, 0xc6, 0xab, 0xbb, 0xe2, 0x6f, 0xf4, 0x02, 0xd7, 0x4a, 0xda, - 0x8b, 0xbe, 0x2f, 0x5f, 0x28, 0x06, 0xf8, 0x6d, 0xea, 0xe9, 0xff, 0x51, 0x34, 0x31, 0xa4, 0x5d, - 0xc8, 0xec, 0x91, 0xae, 0x82, 0x54, 0xc0, 0x05, 0x1b, 0x28, 0x9c, 0x80, 0xdd, 0x91, 0xde, 0x4b, - 0x72, 0x60, 0xda, 0x0b, 0x18, 0x8f, 0x3c, 0xf7, 0x03, 0xce, 0x7b, 0xcd, 0xc0, 0x5a, 0x65, 0x01, - 0xdd, 0x1a, 0xd4, 0x71, 0x4b, 0x2e, 0xb6, 0x46, 0xb0, 0x08, 0x1d, 0x5e, 0xb3, 0x87, 0xa3, 0x96, - 0x56, 0x5e, 0x4c, 0xa9, 0xc0, 0xeb, 0x9a, 0x32, 0xea, 0xdf, 0x91, 0xc5, 0x44, 0xe8, 0x2d, 0xf1, - 0xcf, 0x13, 0x75, 0xa8, 0x7e, 0x98, 0x97, 0x23, 0xfc, 0x45, 0x8f, 0x46, 0x75, 0xb8, 0xc6, 0x8a, - 0xf0, 0xff, 0x3a, 0x51, 0x45, 0x97, 0x0e, 0x2b, 0x68, 0x85, 0xc5, 0x6d, 0x1a, 0x04, 0x18, 0xc1, - 0x85, 0x8b, 0x8a, 0x2c, 0xeb, 0x7d, 0x8c, 0x89, 0xe4, 0xed, 0x06, 0x53, 0xcd, 0x94, 0xa3, 0xbb, - 0x17, 0xbd, 0xa5, 0x1d, 0x67, 0xde, 0x67, 0xbd, 0x79, 0x81, 0x91, 0x8f, 0x91, 0x98, 0xef, 0xb3, - 0x90, 0xc4, 0x94, 0xcf, 0xf3, 0x3e, 0xfa, 0x74, 0x8b, 0xfa, 0x4a, 0x6b, 0x9e, 0xf4, 0xe9, 0xfc, - 0xf6, 0x81, 0xf9, 0x1e, 0x0b, 0x30, 0x5c, 0x7a, 0x6b, 0x8d, 0x05, 0xfa, 0x71, 0xfd, 0xb1, 0x0f, - 0x75, 0xa8, 0xe8, 0x26, 0x6d, 0x69, 0x61, 0x21, 0xd7, 0xec, 0x21, 0xef, 0x2e, 0x58, 0xda, 0x0b, - 0xba, 0x4b, 0x17, 0x3a, 0x6c, 0x81, 0xf4, 0xe9, 0xc2, 0xf6, 0x81, 0x05, 0x65, 0xa7, 0xfd, 0x66, - 0xf5, 0x1f, 0xda, 0x07, 0xff, 0x17, 0x00, 0x00, 0xff, 0xff, 0x3c, 0xbd, 0x6e, 0x55, 0x51, 0x13, - 0x00, 0x00, +func init() { file_code_proto_init() } +func file_code_proto_init() { + if File_code_proto != nil { + return + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_code_proto_rawDesc, + NumEnums: 1, + NumMessages: 0, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_code_proto_goTypes, + DependencyIndexes: file_code_proto_depIdxs, + EnumInfos: file_code_proto_enumTypes, + }.Build() + File_code_proto = out.File + file_code_proto_rawDesc = nil + file_code_proto_goTypes = nil + file_code_proto_depIdxs = nil } diff --git a/source/go/api/v1/model/model.pb.go b/source/go/api/v1/model/model.pb.go index e0fa3966..e82b8672 100644 --- a/source/go/api/v1/model/model.pb.go +++ b/source/go/api/v1/model/model.pb.go @@ -1,23 +1,25 @@ // Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.33.0 +// protoc v5.27.3 // source: model.proto -package model // import "github.com/polarismesh/specification/source/go/api/v1/model" +package model -import proto "github.com/golang/protobuf/proto" -import fmt "fmt" -import math "math" -import wrapperspb "google.golang.org/protobuf/types/known/wrapperspb" - -// Reference imports to suppress errors if they are not otherwise used. -var _ = proto.Marshal -var _ = fmt.Errorf -var _ = math.Inf +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + wrapperspb "google.golang.org/protobuf/types/known/wrapperspb" + reflect "reflect" + sync "sync" +) -// This is a compile-time assertion to ensure that this generated file -// is compatible with the proto package it is being compiled against. -// A compilation error at this line likely means your copy of the -// proto package needs to be updated. -const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) type MatchString_MatchStringType int32 @@ -36,28 +38,51 @@ const ( MatchString_RANGE MatchString_MatchStringType = 5 ) -var MatchString_MatchStringType_name = map[int32]string{ - 0: "EXACT", - 1: "REGEX", - 2: "NOT_EQUALS", - 3: "IN", - 4: "NOT_IN", - 5: "RANGE", -} -var MatchString_MatchStringType_value = map[string]int32{ - "EXACT": 0, - "REGEX": 1, - "NOT_EQUALS": 2, - "IN": 3, - "NOT_IN": 4, - "RANGE": 5, +// Enum value maps for MatchString_MatchStringType. +var ( + MatchString_MatchStringType_name = map[int32]string{ + 0: "EXACT", + 1: "REGEX", + 2: "NOT_EQUALS", + 3: "IN", + 4: "NOT_IN", + 5: "RANGE", + } + MatchString_MatchStringType_value = map[string]int32{ + "EXACT": 0, + "REGEX": 1, + "NOT_EQUALS": 2, + "IN": 3, + "NOT_IN": 4, + "RANGE": 5, + } +) + +func (x MatchString_MatchStringType) Enum() *MatchString_MatchStringType { + p := new(MatchString_MatchStringType) + *p = x + return p } func (x MatchString_MatchStringType) String() string { - return proto.EnumName(MatchString_MatchStringType_name, int32(x)) + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (MatchString_MatchStringType) Descriptor() protoreflect.EnumDescriptor { + return file_model_proto_enumTypes[0].Descriptor() +} + +func (MatchString_MatchStringType) Type() protoreflect.EnumType { + return &file_model_proto_enumTypes[0] } + +func (x MatchString_MatchStringType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use MatchString_MatchStringType.Descriptor instead. func (MatchString_MatchStringType) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_model_8c44d8b41ee50248, []int{1, 0} + return file_model_proto_rawDescGZIP(), []int{1, 0} } type MatchString_ValueType int32 @@ -68,381 +93,618 @@ const ( MatchString_VARIABLE MatchString_ValueType = 2 ) -var MatchString_ValueType_name = map[int32]string{ - 0: "TEXT", - 1: "PARAMETER", - 2: "VARIABLE", -} -var MatchString_ValueType_value = map[string]int32{ - "TEXT": 0, - "PARAMETER": 1, - "VARIABLE": 2, +// Enum value maps for MatchString_ValueType. +var ( + MatchString_ValueType_name = map[int32]string{ + 0: "TEXT", + 1: "PARAMETER", + 2: "VARIABLE", + } + MatchString_ValueType_value = map[string]int32{ + "TEXT": 0, + "PARAMETER": 1, + "VARIABLE": 2, + } +) + +func (x MatchString_ValueType) Enum() *MatchString_ValueType { + p := new(MatchString_ValueType) + *p = x + return p } func (x MatchString_ValueType) String() string { - return proto.EnumName(MatchString_ValueType_name, int32(x)) + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } -func (MatchString_ValueType) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_model_8c44d8b41ee50248, []int{1, 1} + +func (MatchString_ValueType) Descriptor() protoreflect.EnumDescriptor { + return file_model_proto_enumTypes[1].Descriptor() } -type Location struct { - Region *wrapperspb.StringValue `protobuf:"bytes,1,opt,name=region,proto3" json:"region,omitempty"` - Zone *wrapperspb.StringValue `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"` - Campus *wrapperspb.StringValue `protobuf:"bytes,3,opt,name=campus,proto3" json:"campus,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` +func (MatchString_ValueType) Type() protoreflect.EnumType { + return &file_model_proto_enumTypes[1] } -func (m *Location) Reset() { *m = Location{} } -func (m *Location) String() string { return proto.CompactTextString(m) } -func (*Location) ProtoMessage() {} -func (*Location) Descriptor() ([]byte, []int) { - return fileDescriptor_model_8c44d8b41ee50248, []int{0} +func (x MatchString_ValueType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) } -func (m *Location) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_Location.Unmarshal(m, b) + +// Deprecated: Use MatchString_ValueType.Descriptor instead. +func (MatchString_ValueType) EnumDescriptor() ([]byte, []int) { + return file_model_proto_rawDescGZIP(), []int{1, 1} } -func (m *Location) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_Location.Marshal(b, m, deterministic) + +type Location struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Region *wrapperspb.StringValue `protobuf:"bytes,1,opt,name=region,proto3" json:"region,omitempty"` + Zone *wrapperspb.StringValue `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"` + Campus *wrapperspb.StringValue `protobuf:"bytes,3,opt,name=campus,proto3" json:"campus,omitempty"` } -func (dst *Location) XXX_Merge(src proto.Message) { - xxx_messageInfo_Location.Merge(dst, src) + +func (x *Location) Reset() { + *x = Location{} + if protoimpl.UnsafeEnabled { + mi := &file_model_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (m *Location) XXX_Size() int { - return xxx_messageInfo_Location.Size(m) + +func (x *Location) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *Location) XXX_DiscardUnknown() { - xxx_messageInfo_Location.DiscardUnknown(m) + +func (*Location) ProtoMessage() {} + +func (x *Location) ProtoReflect() protoreflect.Message { + mi := &file_model_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) } -var xxx_messageInfo_Location proto.InternalMessageInfo +// Deprecated: Use Location.ProtoReflect.Descriptor instead. +func (*Location) Descriptor() ([]byte, []int) { + return file_model_proto_rawDescGZIP(), []int{0} +} -func (m *Location) GetRegion() *wrapperspb.StringValue { - if m != nil { - return m.Region +func (x *Location) GetRegion() *wrapperspb.StringValue { + if x != nil { + return x.Region } return nil } -func (m *Location) GetZone() *wrapperspb.StringValue { - if m != nil { - return m.Zone +func (x *Location) GetZone() *wrapperspb.StringValue { + if x != nil { + return x.Zone } return nil } -func (m *Location) GetCampus() *wrapperspb.StringValue { - if m != nil { - return m.Campus +func (x *Location) GetCampus() *wrapperspb.StringValue { + if x != nil { + return x.Campus } return nil } type MatchString struct { - Type MatchString_MatchStringType `protobuf:"varint,1,opt,name=type,proto3,enum=v1.MatchString_MatchStringType" json:"type,omitempty"` - Value *wrapperspb.StringValue `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` - ValueType MatchString_ValueType `protobuf:"varint,3,opt,name=value_type,proto3,enum=v1.MatchString_ValueType" json:"value_type,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields -func (m *MatchString) Reset() { *m = MatchString{} } -func (m *MatchString) String() string { return proto.CompactTextString(m) } -func (*MatchString) ProtoMessage() {} -func (*MatchString) Descriptor() ([]byte, []int) { - return fileDescriptor_model_8c44d8b41ee50248, []int{1} -} -func (m *MatchString) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_MatchString.Unmarshal(m, b) -} -func (m *MatchString) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_MatchString.Marshal(b, m, deterministic) + Type MatchString_MatchStringType `protobuf:"varint,1,opt,name=type,proto3,enum=v1.MatchString_MatchStringType" json:"type,omitempty"` + Value *wrapperspb.StringValue `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` + ValueType MatchString_ValueType `protobuf:"varint,3,opt,name=value_type,proto3,enum=v1.MatchString_ValueType" json:"value_type,omitempty"` } -func (dst *MatchString) XXX_Merge(src proto.Message) { - xxx_messageInfo_MatchString.Merge(dst, src) + +func (x *MatchString) Reset() { + *x = MatchString{} + if protoimpl.UnsafeEnabled { + mi := &file_model_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (m *MatchString) XXX_Size() int { - return xxx_messageInfo_MatchString.Size(m) + +func (x *MatchString) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *MatchString) XXX_DiscardUnknown() { - xxx_messageInfo_MatchString.DiscardUnknown(m) + +func (*MatchString) ProtoMessage() {} + +func (x *MatchString) ProtoReflect() protoreflect.Message { + mi := &file_model_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) } -var xxx_messageInfo_MatchString proto.InternalMessageInfo +// Deprecated: Use MatchString.ProtoReflect.Descriptor instead. +func (*MatchString) Descriptor() ([]byte, []int) { + return file_model_proto_rawDescGZIP(), []int{1} +} -func (m *MatchString) GetType() MatchString_MatchStringType { - if m != nil { - return m.Type +func (x *MatchString) GetType() MatchString_MatchStringType { + if x != nil { + return x.Type } return MatchString_EXACT } -func (m *MatchString) GetValue() *wrapperspb.StringValue { - if m != nil { - return m.Value +func (x *MatchString) GetValue() *wrapperspb.StringValue { + if x != nil { + return x.Value } return nil } -func (m *MatchString) GetValueType() MatchString_ValueType { - if m != nil { - return m.ValueType +func (x *MatchString) GetValueType() MatchString_ValueType { + if x != nil { + return x.ValueType } return MatchString_TEXT } type StringList struct { - Values []string `protobuf:"bytes,1,rep,name=values,proto3" json:"values,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields -func (m *StringList) Reset() { *m = StringList{} } -func (m *StringList) String() string { return proto.CompactTextString(m) } -func (*StringList) ProtoMessage() {} -func (*StringList) Descriptor() ([]byte, []int) { - return fileDescriptor_model_8c44d8b41ee50248, []int{2} -} -func (m *StringList) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_StringList.Unmarshal(m, b) + Values []string `protobuf:"bytes,1,rep,name=values,proto3" json:"values,omitempty"` } -func (m *StringList) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_StringList.Marshal(b, m, deterministic) -} -func (dst *StringList) XXX_Merge(src proto.Message) { - xxx_messageInfo_StringList.Merge(dst, src) + +func (x *StringList) Reset() { + *x = StringList{} + if protoimpl.UnsafeEnabled { + mi := &file_model_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (m *StringList) XXX_Size() int { - return xxx_messageInfo_StringList.Size(m) + +func (x *StringList) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *StringList) XXX_DiscardUnknown() { - xxx_messageInfo_StringList.DiscardUnknown(m) + +func (*StringList) ProtoMessage() {} + +func (x *StringList) ProtoReflect() protoreflect.Message { + mi := &file_model_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) } -var xxx_messageInfo_StringList proto.InternalMessageInfo +// Deprecated: Use StringList.ProtoReflect.Descriptor instead. +func (*StringList) Descriptor() ([]byte, []int) { + return file_model_proto_rawDescGZIP(), []int{2} +} -func (m *StringList) GetValues() []string { - if m != nil { - return m.Values +func (x *StringList) GetValues() []string { + if x != nil { + return x.Values } return nil } // 汇总查询数据 type Summary struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + // 服务总数 TotalServiceCount uint32 `protobuf:"varint,1,opt,name=total_service_count,proto3" json:"total_service_count,omitempty"` // 健康实例总数 TotalHealthInstanceCount uint32 `protobuf:"varint,2,opt,name=total_health_instance_count,proto3" json:"total_health_instance_count,omitempty"` // 实例总数 - TotalInstanceCount uint32 `protobuf:"varint,3,opt,name=total_instance_count,proto3" json:"total_instance_count,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + TotalInstanceCount uint32 `protobuf:"varint,3,opt,name=total_instance_count,proto3" json:"total_instance_count,omitempty"` } -func (m *Summary) Reset() { *m = Summary{} } -func (m *Summary) String() string { return proto.CompactTextString(m) } -func (*Summary) ProtoMessage() {} -func (*Summary) Descriptor() ([]byte, []int) { - return fileDescriptor_model_8c44d8b41ee50248, []int{3} -} -func (m *Summary) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_Summary.Unmarshal(m, b) -} -func (m *Summary) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_Summary.Marshal(b, m, deterministic) -} -func (dst *Summary) XXX_Merge(src proto.Message) { - xxx_messageInfo_Summary.Merge(dst, src) +func (x *Summary) Reset() { + *x = Summary{} + if protoimpl.UnsafeEnabled { + mi := &file_model_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (m *Summary) XXX_Size() int { - return xxx_messageInfo_Summary.Size(m) + +func (x *Summary) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *Summary) XXX_DiscardUnknown() { - xxx_messageInfo_Summary.DiscardUnknown(m) + +func (*Summary) ProtoMessage() {} + +func (x *Summary) ProtoReflect() protoreflect.Message { + mi := &file_model_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) } -var xxx_messageInfo_Summary proto.InternalMessageInfo +// Deprecated: Use Summary.ProtoReflect.Descriptor instead. +func (*Summary) Descriptor() ([]byte, []int) { + return file_model_proto_rawDescGZIP(), []int{3} +} -func (m *Summary) GetTotalServiceCount() uint32 { - if m != nil { - return m.TotalServiceCount +func (x *Summary) GetTotalServiceCount() uint32 { + if x != nil { + return x.TotalServiceCount } return 0 } -func (m *Summary) GetTotalHealthInstanceCount() uint32 { - if m != nil { - return m.TotalHealthInstanceCount +func (x *Summary) GetTotalHealthInstanceCount() uint32 { + if x != nil { + return x.TotalHealthInstanceCount } return 0 } -func (m *Summary) GetTotalInstanceCount() uint32 { - if m != nil { - return m.TotalInstanceCount +func (x *Summary) GetTotalInstanceCount() uint32 { + if x != nil { + return x.TotalInstanceCount } return 0 } type ClientLabel struct { - Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` - Value *MatchString `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields -func (m *ClientLabel) Reset() { *m = ClientLabel{} } -func (m *ClientLabel) String() string { return proto.CompactTextString(m) } -func (*ClientLabel) ProtoMessage() {} -func (*ClientLabel) Descriptor() ([]byte, []int) { - return fileDescriptor_model_8c44d8b41ee50248, []int{4} -} -func (m *ClientLabel) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_ClientLabel.Unmarshal(m, b) + Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` + Value *MatchString `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` } -func (m *ClientLabel) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_ClientLabel.Marshal(b, m, deterministic) -} -func (dst *ClientLabel) XXX_Merge(src proto.Message) { - xxx_messageInfo_ClientLabel.Merge(dst, src) + +func (x *ClientLabel) Reset() { + *x = ClientLabel{} + if protoimpl.UnsafeEnabled { + mi := &file_model_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (m *ClientLabel) XXX_Size() int { - return xxx_messageInfo_ClientLabel.Size(m) + +func (x *ClientLabel) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *ClientLabel) XXX_DiscardUnknown() { - xxx_messageInfo_ClientLabel.DiscardUnknown(m) + +func (*ClientLabel) ProtoMessage() {} + +func (x *ClientLabel) ProtoReflect() protoreflect.Message { + mi := &file_model_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) } -var xxx_messageInfo_ClientLabel proto.InternalMessageInfo +// Deprecated: Use ClientLabel.ProtoReflect.Descriptor instead. +func (*ClientLabel) Descriptor() ([]byte, []int) { + return file_model_proto_rawDescGZIP(), []int{4} +} -func (m *ClientLabel) GetKey() string { - if m != nil { - return m.Key +func (x *ClientLabel) GetKey() string { + if x != nil { + return x.Key } return "" } -func (m *ClientLabel) GetValue() *MatchString { - if m != nil { - return m.Value +func (x *ClientLabel) GetValue() *MatchString { + if x != nil { + return x.Value } return nil } // API统一数据结构 type API struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + // API的协议,*或者为空代表全部 Protocol string `protobuf:"bytes,1,opt,name=protocol,proto3" json:"protocol,omitempty"` // API的方法,*或者为空代表全部 Method string `protobuf:"bytes,2,opt,name=method,proto3" json:"method,omitempty"` // API的路径,支持多种匹配方式 - Path *MatchString `protobuf:"bytes,3,opt,name=path,proto3" json:"path,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + Path *MatchString `protobuf:"bytes,3,opt,name=path,proto3" json:"path,omitempty"` } -func (m *API) Reset() { *m = API{} } -func (m *API) String() string { return proto.CompactTextString(m) } -func (*API) ProtoMessage() {} -func (*API) Descriptor() ([]byte, []int) { - return fileDescriptor_model_8c44d8b41ee50248, []int{5} -} -func (m *API) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_API.Unmarshal(m, b) -} -func (m *API) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_API.Marshal(b, m, deterministic) -} -func (dst *API) XXX_Merge(src proto.Message) { - xxx_messageInfo_API.Merge(dst, src) +func (x *API) Reset() { + *x = API{} + if protoimpl.UnsafeEnabled { + mi := &file_model_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (m *API) XXX_Size() int { - return xxx_messageInfo_API.Size(m) + +func (x *API) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *API) XXX_DiscardUnknown() { - xxx_messageInfo_API.DiscardUnknown(m) + +func (*API) ProtoMessage() {} + +func (x *API) ProtoReflect() protoreflect.Message { + mi := &file_model_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) } -var xxx_messageInfo_API proto.InternalMessageInfo +// Deprecated: Use API.ProtoReflect.Descriptor instead. +func (*API) Descriptor() ([]byte, []int) { + return file_model_proto_rawDescGZIP(), []int{5} +} -func (m *API) GetProtocol() string { - if m != nil { - return m.Protocol +func (x *API) GetProtocol() string { + if x != nil { + return x.Protocol } return "" } -func (m *API) GetMethod() string { - if m != nil { - return m.Method +func (x *API) GetMethod() string { + if x != nil { + return x.Method } return "" } -func (m *API) GetPath() *MatchString { - if m != nil { - return m.Path +func (x *API) GetPath() *MatchString { + if x != nil { + return x.Path } return nil } -func init() { - proto.RegisterType((*Location)(nil), "v1.Location") - proto.RegisterType((*MatchString)(nil), "v1.MatchString") - proto.RegisterType((*StringList)(nil), "v1.StringList") - proto.RegisterType((*Summary)(nil), "v1.Summary") - proto.RegisterType((*ClientLabel)(nil), "v1.ClientLabel") - proto.RegisterType((*API)(nil), "v1.API") - proto.RegisterEnum("v1.MatchString_MatchStringType", MatchString_MatchStringType_name, MatchString_MatchStringType_value) - proto.RegisterEnum("v1.MatchString_ValueType", MatchString_ValueType_name, MatchString_ValueType_value) -} - -func init() { proto.RegisterFile("model.proto", fileDescriptor_model_8c44d8b41ee50248) } - -var fileDescriptor_model_8c44d8b41ee50248 = []byte{ - // 562 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x53, 0x4f, 0x6f, 0xd3, 0x30, - 0x14, 0x27, 0x49, 0x57, 0x9a, 0x57, 0xb6, 0x45, 0x06, 0xa1, 0x32, 0x10, 0x4c, 0x01, 0xa4, 0x9d, - 0x92, 0xad, 0xe3, 0x82, 0xb8, 0x90, 0x4d, 0x61, 0xaa, 0xd4, 0x96, 0x92, 0x96, 0xaa, 0xe2, 0x40, - 0xe5, 0x66, 0x5e, 0x62, 0x91, 0xc4, 0x56, 0xe2, 0x14, 0x95, 0x4f, 0xc4, 0x95, 0x0f, 0xc0, 0x77, - 0x43, 0x76, 0x42, 0xd5, 0x95, 0x09, 0xf5, 0x94, 0x67, 0xbf, 0xdf, 0xbf, 0xf8, 0xd9, 0xd0, 0x4e, - 0xd9, 0x35, 0x49, 0x1c, 0x9e, 0x33, 0xc1, 0x90, 0xbe, 0x3c, 0x3b, 0x7a, 0x1e, 0x31, 0x16, 0x25, - 0xc4, 0x55, 0x3b, 0x8b, 0xf2, 0xc6, 0xfd, 0x9e, 0x63, 0xce, 0x49, 0x5e, 0x54, 0x18, 0xfb, 0xa7, - 0x06, 0xad, 0x3e, 0x0b, 0xb1, 0xa0, 0x2c, 0x43, 0x6f, 0xa0, 0x99, 0x93, 0x88, 0xb2, 0xac, 0xa3, - 0x1d, 0x6b, 0x27, 0xed, 0xee, 0x33, 0xa7, 0x62, 0x3b, 0x7f, 0xd9, 0xce, 0x58, 0xe4, 0x34, 0x8b, - 0xa6, 0x38, 0x29, 0x49, 0x50, 0x63, 0xd1, 0x29, 0x34, 0x7e, 0xb0, 0x8c, 0x74, 0xf4, 0x1d, 0x38, - 0x0a, 0x29, 0x7d, 0x42, 0x9c, 0xf2, 0xb2, 0xe8, 0x18, 0xbb, 0xf8, 0x54, 0x58, 0xfb, 0xb7, 0x0e, - 0xed, 0x01, 0x16, 0x61, 0x5c, 0x35, 0xd1, 0x39, 0x34, 0xc4, 0x8a, 0x13, 0x95, 0xf5, 0xa0, 0xfb, - 0xc2, 0x59, 0x9e, 0x39, 0x1b, 0xed, 0xcd, 0x7a, 0xb2, 0xe2, 0x24, 0x50, 0x60, 0xd4, 0x85, 0xbd, - 0xa5, 0x54, 0xdd, 0x29, 0x6d, 0x05, 0x45, 0x6f, 0x01, 0x54, 0x31, 0x57, 0x76, 0x86, 0xb2, 0x7b, - 0xb2, 0x6d, 0xa7, 0x18, 0xca, 0x68, 0x03, 0x6c, 0x4f, 0xe1, 0x70, 0x2b, 0x07, 0x32, 0x61, 0xcf, - 0x9f, 0x79, 0x97, 0x13, 0xeb, 0x9e, 0x2c, 0x03, 0xff, 0xca, 0x9f, 0x59, 0x1a, 0x3a, 0x00, 0x18, - 0x7e, 0x9c, 0xcc, 0xfd, 0x4f, 0x9f, 0xbd, 0xfe, 0xd8, 0xd2, 0x51, 0x13, 0xf4, 0xde, 0xd0, 0x32, - 0x10, 0x40, 0x53, 0xee, 0xf7, 0x86, 0x56, 0x43, 0xc1, 0xbd, 0xe1, 0x95, 0x6f, 0xed, 0xd9, 0x5d, - 0x30, 0xd7, 0x86, 0xa8, 0x05, 0x8d, 0x89, 0x3f, 0x93, 0x82, 0xfb, 0x60, 0x8e, 0xbc, 0xc0, 0x1b, - 0xf8, 0x13, 0x3f, 0xb0, 0x34, 0xf4, 0x00, 0x5a, 0x53, 0x2f, 0xe8, 0x79, 0x17, 0x7d, 0xdf, 0xd2, - 0xed, 0x57, 0x00, 0x55, 0x8c, 0x3e, 0x2d, 0x04, 0x7a, 0x0c, 0x4d, 0x95, 0xb3, 0xe8, 0x68, 0xc7, - 0xc6, 0x89, 0x19, 0xd4, 0x2b, 0xfb, 0x97, 0x06, 0xf7, 0xc7, 0x65, 0x9a, 0xe2, 0x7c, 0x85, 0x4e, - 0xe1, 0xa1, 0x60, 0x02, 0x27, 0xf3, 0x82, 0xe4, 0x4b, 0x1a, 0x92, 0x79, 0xc8, 0xca, 0x4c, 0xa8, - 0x03, 0xdf, 0x0f, 0xee, 0x6a, 0xa1, 0xf7, 0xf0, 0xb4, 0xda, 0x8e, 0x09, 0x4e, 0x44, 0x3c, 0xa7, - 0x59, 0x21, 0x70, 0xb6, 0x66, 0xea, 0x8a, 0xf9, 0x3f, 0x08, 0xea, 0xc2, 0xa3, 0xaa, 0xbd, 0x45, - 0x35, 0x14, 0xf5, 0xce, 0x9e, 0xfd, 0x01, 0xda, 0x97, 0x09, 0x25, 0x99, 0xe8, 0xe3, 0x05, 0x49, - 0x90, 0x05, 0xc6, 0x37, 0xb2, 0x52, 0x31, 0xcd, 0x40, 0x96, 0xe8, 0xf5, 0xed, 0xa9, 0x1f, 0x6e, - 0x0d, 0xaf, 0x1e, 0xb4, 0xfd, 0x15, 0x0c, 0x6f, 0xd4, 0x43, 0x47, 0xd0, 0x52, 0xd7, 0x21, 0x64, - 0x49, 0x2d, 0xb2, 0x5e, 0xcb, 0x63, 0x4b, 0x89, 0x88, 0xd9, 0xb5, 0x92, 0x32, 0x83, 0x7a, 0x85, - 0x5e, 0x42, 0x83, 0x63, 0x11, 0xd7, 0x17, 0xfa, 0x1f, 0x03, 0xd5, 0xbc, 0x58, 0x81, 0x13, 0xb2, - 0xd4, 0x11, 0x24, 0x0b, 0x49, 0x26, 0x1c, 0xce, 0x12, 0x9c, 0xd3, 0xc2, 0x29, 0x38, 0x09, 0xe9, - 0x0d, 0xad, 0x1e, 0xa1, 0x83, 0x39, 0x95, 0x6c, 0xf5, 0x90, 0x2f, 0x60, 0x20, 0x3f, 0x23, 0xe9, - 0xfe, 0xe5, 0x5d, 0x44, 0x45, 0x5c, 0x2e, 0xa4, 0x84, 0x5b, 0x53, 0x53, 0x52, 0xc4, 0xee, 0x2d, - 0xba, 0x5b, 0xb0, 0x32, 0x0f, 0x89, 0x1b, 0x31, 0x17, 0x73, 0xea, 0x2e, 0xcf, 0x5c, 0x25, 0xb4, - 0x68, 0xaa, 0x3f, 0x38, 0xff, 0x13, 0x00, 0x00, 0xff, 0xff, 0x26, 0x13, 0x9f, 0xfc, 0x21, 0x04, - 0x00, 0x00, +var File_model_proto protoreflect.FileDescriptor + +var file_model_proto_rawDesc = []byte{ + 0x0a, 0x0b, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x02, 0x76, + 0x31, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x22, 0xa8, 0x01, 0x0a, 0x08, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x34, + 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x06, 0x72, 0x65, + 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x30, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x12, 0x34, 0x0a, 0x06, 0x63, 0x61, 0x6d, 0x70, 0x75, 0x73, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x52, 0x06, 0x63, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x22, 0xbd, 0x02, 0x0a, + 0x0b, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x33, 0x0a, 0x04, + 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1f, 0x2e, 0x76, 0x31, 0x2e, + 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x4d, 0x61, 0x74, 0x63, + 0x68, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, + 0x65, 0x12, 0x32, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x39, 0x0a, 0x0a, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x74, + 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x76, 0x31, 0x2e, 0x4d, + 0x61, 0x74, 0x63, 0x68, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x54, 0x79, 0x70, 0x65, 0x52, 0x0a, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, + 0x22, 0x56, 0x0a, 0x0f, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x54, + 0x79, 0x70, 0x65, 0x12, 0x09, 0x0a, 0x05, 0x45, 0x58, 0x41, 0x43, 0x54, 0x10, 0x00, 0x12, 0x09, + 0x0a, 0x05, 0x52, 0x45, 0x47, 0x45, 0x58, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x4e, 0x4f, 0x54, + 0x5f, 0x45, 0x51, 0x55, 0x41, 0x4c, 0x53, 0x10, 0x02, 0x12, 0x06, 0x0a, 0x02, 0x49, 0x4e, 0x10, + 0x03, 0x12, 0x0a, 0x0a, 0x06, 0x4e, 0x4f, 0x54, 0x5f, 0x49, 0x4e, 0x10, 0x04, 0x12, 0x09, 0x0a, + 0x05, 0x52, 0x41, 0x4e, 0x47, 0x45, 0x10, 0x05, 0x22, 0x32, 0x0a, 0x09, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x08, 0x0a, 0x04, 0x54, 0x45, 0x58, 0x54, 0x10, 0x00, 0x12, + 0x0d, 0x0a, 0x09, 0x50, 0x41, 0x52, 0x41, 0x4d, 0x45, 0x54, 0x45, 0x52, 0x10, 0x01, 0x12, 0x0c, + 0x0a, 0x08, 0x56, 0x41, 0x52, 0x49, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x02, 0x22, 0x24, 0x0a, 0x0a, + 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x73, 0x22, 0xb1, 0x01, 0x0a, 0x07, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x30, + 0x0a, 0x13, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x74, 0x6f, 0x74, + 0x61, 0x6c, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x12, 0x40, 0x0a, 0x1b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, + 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x1b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x68, 0x65, 0x61, + 0x6c, 0x74, 0x68, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x12, 0x32, 0x0a, 0x14, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x69, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x14, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x46, 0x0a, 0x0b, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, + 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x25, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x61, 0x74, 0x63, + 0x68, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x5e, + 0x0a, 0x03, 0x41, 0x50, 0x49, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, + 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, + 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x23, 0x0a, 0x04, 0x70, 0x61, 0x74, + 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x61, 0x74, + 0x63, 0x68, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x42, 0x79, + 0x0a, 0x2e, 0x63, 0x6f, 0x6d, 0x2e, 0x74, 0x65, 0x6e, 0x63, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x6f, + 0x6c, 0x61, 0x72, 0x69, 0x73, 0x2e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, + 0x42, 0x0a, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x5a, 0x3b, 0x67, 0x69, + 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x70, 0x6f, 0x6c, 0x61, 0x72, 0x69, 0x73, + 0x6d, 0x65, 0x73, 0x68, 0x2f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x2f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2f, 0x67, 0x6f, 0x2f, 0x61, 0x70, 0x69, + 0x2f, 0x76, 0x31, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x33, +} + +var ( + file_model_proto_rawDescOnce sync.Once + file_model_proto_rawDescData = file_model_proto_rawDesc +) + +func file_model_proto_rawDescGZIP() []byte { + file_model_proto_rawDescOnce.Do(func() { + file_model_proto_rawDescData = protoimpl.X.CompressGZIP(file_model_proto_rawDescData) + }) + return file_model_proto_rawDescData +} + +var file_model_proto_enumTypes = make([]protoimpl.EnumInfo, 2) +var file_model_proto_msgTypes = make([]protoimpl.MessageInfo, 6) +var file_model_proto_goTypes = []interface{}{ + (MatchString_MatchStringType)(0), // 0: v1.MatchString.MatchStringType + (MatchString_ValueType)(0), // 1: v1.MatchString.ValueType + (*Location)(nil), // 2: v1.Location + (*MatchString)(nil), // 3: v1.MatchString + (*StringList)(nil), // 4: v1.StringList + (*Summary)(nil), // 5: v1.Summary + (*ClientLabel)(nil), // 6: v1.ClientLabel + (*API)(nil), // 7: v1.API + (*wrapperspb.StringValue)(nil), // 8: google.protobuf.StringValue +} +var file_model_proto_depIdxs = []int32{ + 8, // 0: v1.Location.region:type_name -> google.protobuf.StringValue + 8, // 1: v1.Location.zone:type_name -> google.protobuf.StringValue + 8, // 2: v1.Location.campus:type_name -> google.protobuf.StringValue + 0, // 3: v1.MatchString.type:type_name -> v1.MatchString.MatchStringType + 8, // 4: v1.MatchString.value:type_name -> google.protobuf.StringValue + 1, // 5: v1.MatchString.value_type:type_name -> v1.MatchString.ValueType + 3, // 6: v1.ClientLabel.value:type_name -> v1.MatchString + 3, // 7: v1.API.path:type_name -> v1.MatchString + 8, // [8:8] is the sub-list for method output_type + 8, // [8:8] is the sub-list for method input_type + 8, // [8:8] is the sub-list for extension type_name + 8, // [8:8] is the sub-list for extension extendee + 0, // [0:8] is the sub-list for field type_name +} + +func init() { file_model_proto_init() } +func file_model_proto_init() { + if File_model_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_model_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Location); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_model_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MatchString); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_model_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StringList); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_model_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Summary); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_model_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ClientLabel); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_model_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*API); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_model_proto_rawDesc, + NumEnums: 2, + NumMessages: 6, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_model_proto_goTypes, + DependencyIndexes: file_model_proto_depIdxs, + EnumInfos: file_model_proto_enumTypes, + MessageInfos: file_model_proto_msgTypes, + }.Build() + File_model_proto = out.File + file_model_proto_rawDesc = nil + file_model_proto_goTypes = nil + file_model_proto_depIdxs = nil } diff --git a/source/go/api/v1/model/namespace.pb.go b/source/go/api/v1/model/namespace.pb.go index eccd193a..8102234d 100644 --- a/source/go/api/v1/model/namespace.pb.go +++ b/source/go/api/v1/model/namespace.pb.go @@ -1,25 +1,31 @@ // Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.33.0 +// protoc v5.27.3 // source: namespace.proto -package model // import "github.com/polarismesh/specification/source/go/api/v1/model" +package model -import proto "github.com/golang/protobuf/proto" -import fmt "fmt" -import math "math" -import wrapperspb "google.golang.org/protobuf/types/known/wrapperspb" +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + wrapperspb "google.golang.org/protobuf/types/known/wrapperspb" + reflect "reflect" + sync "sync" +) -// Reference imports to suppress errors if they are not otherwise used. -var _ = proto.Marshal -var _ = fmt.Errorf -var _ = math.Inf - -// This is a compile-time assertion to ensure that this generated file -// is compatible with the proto package it is being compiled against. -// A compilation error at this line likely means your copy of the -// proto package needs to be updated. -const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) type Namespace struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + Name *wrapperspb.StringValue `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` Comment *wrapperspb.StringValue `protobuf:"bytes,2,opt,name=comment,proto3" json:"comment,omitempty"` Owners *wrapperspb.StringValue `protobuf:"bytes,3,opt,name=owners,proto3" json:"owners,omitempty"` @@ -36,181 +42,342 @@ type Namespace struct { Id *wrapperspb.StringValue `protobuf:"bytes,12,opt,name=id,proto3" json:"id,omitempty"` Editable *wrapperspb.BoolValue `protobuf:"bytes,15,opt,name=editable,proto3" json:"editable,omitempty"` ServiceExportTo []*wrapperspb.StringValue `protobuf:"bytes,16,rep,name=service_export_to,proto3" json:"service_export_to,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + Metadata map[string]string `protobuf:"bytes,17,rep,name=metadata,proto3" json:"metadata,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + Deleteable *wrapperspb.BoolValue `protobuf:"bytes,18,opt,name=deleteable,proto3" json:"deleteable,omitempty"` } -func (m *Namespace) Reset() { *m = Namespace{} } -func (m *Namespace) String() string { return proto.CompactTextString(m) } -func (*Namespace) ProtoMessage() {} -func (*Namespace) Descriptor() ([]byte, []int) { - return fileDescriptor_namespace_2560d1be7f0ab8b4, []int{0} -} -func (m *Namespace) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_Namespace.Unmarshal(m, b) +func (x *Namespace) Reset() { + *x = Namespace{} + if protoimpl.UnsafeEnabled { + mi := &file_namespace_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (m *Namespace) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_Namespace.Marshal(b, m, deterministic) + +func (x *Namespace) String() string { + return protoimpl.X.MessageStringOf(x) } -func (dst *Namespace) XXX_Merge(src proto.Message) { - xxx_messageInfo_Namespace.Merge(dst, src) + +func (*Namespace) ProtoMessage() {} + +func (x *Namespace) ProtoReflect() protoreflect.Message { + mi := &file_namespace_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) } -func (m *Namespace) XXX_Size() int { - return xxx_messageInfo_Namespace.Size(m) + +// Deprecated: Use Namespace.ProtoReflect.Descriptor instead. +func (*Namespace) Descriptor() ([]byte, []int) { + return file_namespace_proto_rawDescGZIP(), []int{0} } -func (m *Namespace) XXX_DiscardUnknown() { - xxx_messageInfo_Namespace.DiscardUnknown(m) + +func (x *Namespace) GetName() *wrapperspb.StringValue { + if x != nil { + return x.Name + } + return nil } -var xxx_messageInfo_Namespace proto.InternalMessageInfo +func (x *Namespace) GetComment() *wrapperspb.StringValue { + if x != nil { + return x.Comment + } + return nil +} -func (m *Namespace) GetName() *wrapperspb.StringValue { - if m != nil { - return m.Name +func (x *Namespace) GetOwners() *wrapperspb.StringValue { + if x != nil { + return x.Owners } return nil } -func (m *Namespace) GetComment() *wrapperspb.StringValue { - if m != nil { - return m.Comment +func (x *Namespace) GetToken() *wrapperspb.StringValue { + if x != nil { + return x.Token } return nil } -func (m *Namespace) GetOwners() *wrapperspb.StringValue { - if m != nil { - return m.Owners +func (x *Namespace) GetCtime() *wrapperspb.StringValue { + if x != nil { + return x.Ctime } return nil } -func (m *Namespace) GetToken() *wrapperspb.StringValue { - if m != nil { - return m.Token +func (x *Namespace) GetMtime() *wrapperspb.StringValue { + if x != nil { + return x.Mtime } return nil } -func (m *Namespace) GetCtime() *wrapperspb.StringValue { - if m != nil { - return m.Ctime +func (x *Namespace) GetTotalServiceCount() *wrapperspb.UInt32Value { + if x != nil { + return x.TotalServiceCount } return nil } -func (m *Namespace) GetMtime() *wrapperspb.StringValue { - if m != nil { - return m.Mtime +func (x *Namespace) GetTotalHealthInstanceCount() *wrapperspb.UInt32Value { + if x != nil { + return x.TotalHealthInstanceCount } return nil } -func (m *Namespace) GetTotalServiceCount() *wrapperspb.UInt32Value { - if m != nil { - return m.TotalServiceCount +func (x *Namespace) GetTotalInstanceCount() *wrapperspb.UInt32Value { + if x != nil { + return x.TotalInstanceCount } return nil } -func (m *Namespace) GetTotalHealthInstanceCount() *wrapperspb.UInt32Value { - if m != nil { - return m.TotalHealthInstanceCount +func (x *Namespace) GetUserIds() []*wrapperspb.StringValue { + if x != nil { + return x.UserIds } return nil } -func (m *Namespace) GetTotalInstanceCount() *wrapperspb.UInt32Value { - if m != nil { - return m.TotalInstanceCount +func (x *Namespace) GetGroupIds() []*wrapperspb.StringValue { + if x != nil { + return x.GroupIds } return nil } -func (m *Namespace) GetUserIds() []*wrapperspb.StringValue { - if m != nil { - return m.UserIds +func (x *Namespace) GetRemoveUserIds() []*wrapperspb.StringValue { + if x != nil { + return x.RemoveUserIds } return nil } -func (m *Namespace) GetGroupIds() []*wrapperspb.StringValue { - if m != nil { - return m.GroupIds +func (x *Namespace) GetRemoveGroupIds() []*wrapperspb.StringValue { + if x != nil { + return x.RemoveGroupIds } return nil } -func (m *Namespace) GetRemoveUserIds() []*wrapperspb.StringValue { - if m != nil { - return m.RemoveUserIds +func (x *Namespace) GetId() *wrapperspb.StringValue { + if x != nil { + return x.Id } return nil } -func (m *Namespace) GetRemoveGroupIds() []*wrapperspb.StringValue { - if m != nil { - return m.RemoveGroupIds +func (x *Namespace) GetEditable() *wrapperspb.BoolValue { + if x != nil { + return x.Editable } return nil } -func (m *Namespace) GetId() *wrapperspb.StringValue { - if m != nil { - return m.Id +func (x *Namespace) GetServiceExportTo() []*wrapperspb.StringValue { + if x != nil { + return x.ServiceExportTo } return nil } -func (m *Namespace) GetEditable() *wrapperspb.BoolValue { - if m != nil { - return m.Editable +func (x *Namespace) GetMetadata() map[string]string { + if x != nil { + return x.Metadata } return nil } -func (m *Namespace) GetServiceExportTo() []*wrapperspb.StringValue { - if m != nil { - return m.ServiceExportTo +func (x *Namespace) GetDeleteable() *wrapperspb.BoolValue { + if x != nil { + return x.Deleteable } return nil } -func init() { - proto.RegisterType((*Namespace)(nil), "v1.Namespace") +var File_namespace_proto protoreflect.FileDescriptor + +var file_namespace_proto_rawDesc = []byte{ + 0x0a, 0x0f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x12, 0x02, 0x76, 0x31, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xb5, 0x09, 0x0a, 0x09, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, + 0x61, 0x63, 0x65, 0x12, 0x30, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x36, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x34, 0x0a, + 0x06, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x06, 0x6f, 0x77, 0x6e, + 0x65, 0x72, 0x73, 0x12, 0x32, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x32, 0x0a, 0x05, 0x63, 0x74, 0x69, 0x6d, 0x65, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x63, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x32, 0x0a, 0x05, 0x6d, + 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, + 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x6d, 0x74, 0x69, 0x6d, 0x65, 0x12, + 0x4e, 0x0a, 0x13, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, + 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x13, 0x74, 0x6f, 0x74, 0x61, + 0x6c, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, + 0x5e, 0x0a, 0x1b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, + 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x08, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x52, 0x1b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, + 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, + 0x50, 0x0a, 0x14, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x14, 0x74, 0x6f, 0x74, + 0x61, 0x6c, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x12, 0x38, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x0a, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x73, 0x12, 0x3a, 0x0a, 0x09, 0x67, + 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x09, 0x67, 0x72, + 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x73, 0x12, 0x46, 0x0a, 0x0f, 0x72, 0x65, 0x6d, 0x6f, 0x76, + 0x65, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0f, + 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x73, 0x12, + 0x48, 0x0a, 0x10, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, + 0x69, 0x64, 0x73, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, + 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x10, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x5f, + 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x73, 0x12, 0x2c, 0x0a, 0x02, 0x69, 0x64, 0x18, + 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x52, 0x02, 0x69, 0x64, 0x12, 0x36, 0x0a, 0x08, 0x65, 0x64, 0x69, 0x74, 0x61, + 0x62, 0x6c, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, + 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08, 0x65, 0x64, 0x69, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x12, + 0x4a, 0x0a, 0x11, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x6f, 0x72, + 0x74, 0x5f, 0x74, 0x6f, 0x18, 0x10, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, + 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x11, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x5f, 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x74, 0x6f, 0x12, 0x37, 0x0a, 0x08, 0x6d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x11, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, + 0x76, 0x31, 0x2e, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x2e, 0x4d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0x12, 0x3a, 0x0a, 0x0a, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x61, 0x62, + 0x6c, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0a, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x61, 0x62, 0x6c, 0x65, + 0x1a, 0x3b, 0x0a, 0x0d, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, + 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x7d, 0x0a, + 0x2e, 0x63, 0x6f, 0x6d, 0x2e, 0x74, 0x65, 0x6e, 0x63, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x6f, 0x6c, + 0x61, 0x72, 0x69, 0x73, 0x2e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x42, + 0x0e, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x5a, + 0x3b, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x70, 0x6f, 0x6c, 0x61, + 0x72, 0x69, 0x73, 0x6d, 0x65, 0x73, 0x68, 0x2f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2f, 0x67, 0x6f, 0x2f, + 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x62, 0x06, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_namespace_proto_rawDescOnce sync.Once + file_namespace_proto_rawDescData = file_namespace_proto_rawDesc +) + +func file_namespace_proto_rawDescGZIP() []byte { + file_namespace_proto_rawDescOnce.Do(func() { + file_namespace_proto_rawDescData = protoimpl.X.CompressGZIP(file_namespace_proto_rawDescData) + }) + return file_namespace_proto_rawDescData } -func init() { proto.RegisterFile("namespace.proto", fileDescriptor_namespace_2560d1be7f0ab8b4) } +var file_namespace_proto_msgTypes = make([]protoimpl.MessageInfo, 2) +var file_namespace_proto_goTypes = []interface{}{ + (*Namespace)(nil), // 0: v1.Namespace + nil, // 1: v1.Namespace.MetadataEntry + (*wrapperspb.StringValue)(nil), // 2: google.protobuf.StringValue + (*wrapperspb.UInt32Value)(nil), // 3: google.protobuf.UInt32Value + (*wrapperspb.BoolValue)(nil), // 4: google.protobuf.BoolValue +} +var file_namespace_proto_depIdxs = []int32{ + 2, // 0: v1.Namespace.name:type_name -> google.protobuf.StringValue + 2, // 1: v1.Namespace.comment:type_name -> google.protobuf.StringValue + 2, // 2: v1.Namespace.owners:type_name -> google.protobuf.StringValue + 2, // 3: v1.Namespace.token:type_name -> google.protobuf.StringValue + 2, // 4: v1.Namespace.ctime:type_name -> google.protobuf.StringValue + 2, // 5: v1.Namespace.mtime:type_name -> google.protobuf.StringValue + 3, // 6: v1.Namespace.total_service_count:type_name -> google.protobuf.UInt32Value + 3, // 7: v1.Namespace.total_health_instance_count:type_name -> google.protobuf.UInt32Value + 3, // 8: v1.Namespace.total_instance_count:type_name -> google.protobuf.UInt32Value + 2, // 9: v1.Namespace.user_ids:type_name -> google.protobuf.StringValue + 2, // 10: v1.Namespace.group_ids:type_name -> google.protobuf.StringValue + 2, // 11: v1.Namespace.remove_user_ids:type_name -> google.protobuf.StringValue + 2, // 12: v1.Namespace.remove_group_ids:type_name -> google.protobuf.StringValue + 2, // 13: v1.Namespace.id:type_name -> google.protobuf.StringValue + 4, // 14: v1.Namespace.editable:type_name -> google.protobuf.BoolValue + 2, // 15: v1.Namespace.service_export_to:type_name -> google.protobuf.StringValue + 1, // 16: v1.Namespace.metadata:type_name -> v1.Namespace.MetadataEntry + 4, // 17: v1.Namespace.deleteable:type_name -> google.protobuf.BoolValue + 18, // [18:18] is the sub-list for method output_type + 18, // [18:18] is the sub-list for method input_type + 18, // [18:18] is the sub-list for extension type_name + 18, // [18:18] is the sub-list for extension extendee + 0, // [0:18] is the sub-list for field type_name +} -var fileDescriptor_namespace_2560d1be7f0ab8b4 = []byte{ - // 447 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x94, 0x41, 0x6f, 0xd3, 0x30, - 0x14, 0x80, 0xb5, 0x6e, 0xeb, 0x5a, 0x0f, 0xd6, 0x61, 0x38, 0x58, 0x03, 0xa1, 0x89, 0x13, 0x07, - 0xe4, 0xd0, 0x0e, 0x4d, 0x08, 0x6e, 0x3d, 0x20, 0xe0, 0x30, 0x4d, 0x20, 0x38, 0x70, 0x20, 0x72, - 0x9d, 0xb7, 0xd4, 0x22, 0xf1, 0xb3, 0xec, 0x97, 0x8c, 0x0b, 0x27, 0xfe, 0x38, 0x4a, 0xd2, 0x74, - 0x62, 0x2d, 0xcc, 0xd7, 0x97, 0xef, 0xfb, 0xfc, 0x64, 0x59, 0x61, 0x13, 0xab, 0x4a, 0x08, 0x4e, - 0x69, 0x90, 0xce, 0x23, 0x21, 0x1f, 0xd4, 0xd3, 0x93, 0xa7, 0x39, 0x62, 0x5e, 0x40, 0xd2, 0x4e, - 0x16, 0xd5, 0x55, 0x72, 0xed, 0x95, 0x73, 0xe0, 0x43, 0xc7, 0x3c, 0xfb, 0x3d, 0x62, 0xe3, 0x8b, - 0xde, 0xe3, 0x2f, 0xd9, 0x5e, 0x13, 0x11, 0x3b, 0xa7, 0x3b, 0xcf, 0x0f, 0x67, 0x4f, 0x64, 0x27, - 0xcb, 0x5e, 0x96, 0x9f, 0xc9, 0x1b, 0x9b, 0x7f, 0x55, 0x45, 0x05, 0x9f, 0x5a, 0x92, 0x9f, 0xb3, - 0x03, 0x8d, 0x65, 0x09, 0x96, 0xc4, 0x20, 0x42, 0xea, 0x61, 0xfe, 0x8a, 0x0d, 0xf1, 0xda, 0x82, - 0x0f, 0x62, 0x37, 0x42, 0x5b, 0xb1, 0x7c, 0xc6, 0xf6, 0x09, 0x7f, 0x80, 0x15, 0x7b, 0x11, 0x52, - 0x87, 0x36, 0x8e, 0x26, 0x53, 0x82, 0xd8, 0x8f, 0x71, 0x5a, 0xb4, 0x71, 0xca, 0xd6, 0x19, 0xc6, - 0x38, 0x2d, 0xca, 0x2f, 0xd8, 0x43, 0x42, 0x52, 0x45, 0x1a, 0xc0, 0xd7, 0x46, 0x43, 0xaa, 0xb1, - 0xb2, 0x24, 0x0e, 0xfe, 0x51, 0xf8, 0xf2, 0xc1, 0xd2, 0xd9, 0xac, 0x2b, 0x6c, 0x13, 0xf9, 0x77, - 0xf6, 0xb8, 0x1b, 0x2f, 0x41, 0x15, 0xb4, 0x4c, 0x8d, 0x0d, 0xa4, 0xec, 0xba, 0x3b, 0x8a, 0xe8, - 0xfe, 0x2f, 0xc0, 0x2f, 0xd9, 0xa3, 0xee, 0xf3, 0xad, 0xf0, 0x38, 0x22, 0xbc, 0xd5, 0xe4, 0xaf, - 0xd9, 0xa8, 0x0a, 0xe0, 0x53, 0x93, 0x05, 0xc1, 0x4e, 0x77, 0xef, 0xbc, 0xb8, 0x35, 0xcd, 0xdf, - 0xb0, 0x71, 0xee, 0xb1, 0x72, 0xad, 0x7a, 0x18, 0xa1, 0xde, 0xe0, 0xfc, 0x1d, 0x9b, 0x78, 0x28, - 0xb1, 0x86, 0x74, 0x7d, 0xf8, 0xfd, 0x88, 0xc2, 0x6d, 0x89, 0xbf, 0x67, 0xc7, 0xab, 0xd1, 0xcd, - 0x2a, 0x47, 0x11, 0xa1, 0x0d, 0x8b, 0xbf, 0x60, 0x03, 0x93, 0x89, 0x7b, 0x11, 0x4f, 0x67, 0x60, - 0x32, 0x7e, 0xce, 0x46, 0x90, 0x19, 0x52, 0x8b, 0x02, 0xc4, 0xa4, 0x75, 0x4e, 0x36, 0x9c, 0x39, - 0x62, 0xb1, 0xba, 0xb3, 0x9e, 0xe5, 0x1f, 0xd9, 0x83, 0xfe, 0xc1, 0xc0, 0x4f, 0x87, 0x9e, 0x52, - 0x42, 0x71, 0x1c, 0xb1, 0xf0, 0xa6, 0x36, 0xff, 0xc5, 0xa4, 0xc6, 0x52, 0x12, 0x58, 0x0d, 0x96, - 0xa4, 0xc3, 0x42, 0x79, 0x13, 0x64, 0x70, 0xa0, 0xcd, 0x95, 0xd1, 0x8a, 0x0c, 0x5a, 0xa9, 0x9c, - 0x91, 0xf5, 0x54, 0x96, 0x98, 0x41, 0x31, 0x3f, 0x5a, 0xff, 0x34, 0x2e, 0x9b, 0x33, 0xbe, 0xbd, - 0xcd, 0x0d, 0x2d, 0xab, 0x45, 0x93, 0x49, 0x56, 0x7a, 0x09, 0x61, 0x99, 0xfc, 0x95, 0x48, 0x02, - 0x56, 0x5e, 0x43, 0x92, 0x63, 0xa2, 0x9c, 0x49, 0xea, 0x69, 0xd2, 0xc6, 0x16, 0xc3, 0x76, 0xcf, - 0xb3, 0x3f, 0x01, 0x00, 0x00, 0xff, 0xff, 0xad, 0xe2, 0x2b, 0x63, 0xc2, 0x04, 0x00, 0x00, +func init() { file_namespace_proto_init() } +func file_namespace_proto_init() { + if File_namespace_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_namespace_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Namespace); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_namespace_proto_rawDesc, + NumEnums: 0, + NumMessages: 2, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_namespace_proto_goTypes, + DependencyIndexes: file_namespace_proto_depIdxs, + MessageInfos: file_namespace_proto_msgTypes, + }.Build() + File_namespace_proto = out.File + file_namespace_proto_rawDesc = nil + file_namespace_proto_goTypes = nil + file_namespace_proto_depIdxs = nil } diff --git a/source/go/api/v1/security/auth.pb.go b/source/go/api/v1/security/auth.pb.go index 95240b75..4fe9394e 100644 --- a/source/go/api/v1/security/auth.pb.go +++ b/source/go/api/v1/security/auth.pb.go @@ -1,23 +1,25 @@ // Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.33.0 +// protoc v5.27.3 // source: auth.proto -package security // import "github.com/polarismesh/specification/source/go/api/v1/security" +package security -import proto "github.com/golang/protobuf/proto" -import fmt "fmt" -import math "math" -import wrapperspb "google.golang.org/protobuf/types/known/wrapperspb" - -// Reference imports to suppress errors if they are not otherwise used. -var _ = proto.Marshal -var _ = fmt.Errorf -var _ = math.Inf +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + wrapperspb "google.golang.org/protobuf/types/known/wrapperspb" + reflect "reflect" + sync "sync" +) -// This is a compile-time assertion to ensure that this generated file -// is compatible with the proto package it is being compiled against. -// A compilation error at this line likely means your copy of the -// proto package needs to be updated. -const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) type AuthAction int32 @@ -30,24 +32,47 @@ const ( AuthAction_DENY AuthAction = 11 ) -var AuthAction_name = map[int32]string{ - 0: "ONLY_READ", - 1: "READ_WRITE", - 10: "ALLOW", - 11: "DENY", -} -var AuthAction_value = map[string]int32{ - "ONLY_READ": 0, - "READ_WRITE": 1, - "ALLOW": 10, - "DENY": 11, +// Enum value maps for AuthAction. +var ( + AuthAction_name = map[int32]string{ + 0: "ONLY_READ", + 1: "READ_WRITE", + 10: "ALLOW", + 11: "DENY", + } + AuthAction_value = map[string]int32{ + "ONLY_READ": 0, + "READ_WRITE": 1, + "ALLOW": 10, + "DENY": 11, + } +) + +func (x AuthAction) Enum() *AuthAction { + p := new(AuthAction) + *p = x + return p } func (x AuthAction) String() string { - return proto.EnumName(AuthAction_name, int32(x)) + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (AuthAction) Descriptor() protoreflect.EnumDescriptor { + return file_auth_proto_enumTypes[0].Descriptor() } + +func (AuthAction) Type() protoreflect.EnumType { + return &file_auth_proto_enumTypes[0] +} + +func (x AuthAction) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use AuthAction.Descriptor instead. func (AuthAction) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_auth_2543522910fa735a, []int{0} + return file_auth_proto_rawDescGZIP(), []int{0} } type ResourceType int32 @@ -67,1537 +92,2369 @@ const ( ResourceType_PolicyRules ResourceType = 23 ) -var ResourceType_name = map[int32]string{ - 0: "Namespaces", - 1: "Services", - 2: "ConfigGroups", - 3: "RouteRules", - 4: "RateLimitRules", - 5: "CircuitBreakerRules", - 6: "FaultDetectRules", - 7: "LaneRules", - 20: "Users", - 21: "UserGroups", - 22: "Roles", - 23: "PolicyRules", -} -var ResourceType_value = map[string]int32{ - "Namespaces": 0, - "Services": 1, - "ConfigGroups": 2, - "RouteRules": 3, - "RateLimitRules": 4, - "CircuitBreakerRules": 5, - "FaultDetectRules": 6, - "LaneRules": 7, - "Users": 20, - "UserGroups": 21, - "Roles": 22, - "PolicyRules": 23, +// Enum value maps for ResourceType. +var ( + ResourceType_name = map[int32]string{ + 0: "Namespaces", + 1: "Services", + 2: "ConfigGroups", + 3: "RouteRules", + 4: "RateLimitRules", + 5: "CircuitBreakerRules", + 6: "FaultDetectRules", + 7: "LaneRules", + 20: "Users", + 21: "UserGroups", + 22: "Roles", + 23: "PolicyRules", + } + ResourceType_value = map[string]int32{ + "Namespaces": 0, + "Services": 1, + "ConfigGroups": 2, + "RouteRules": 3, + "RateLimitRules": 4, + "CircuitBreakerRules": 5, + "FaultDetectRules": 6, + "LaneRules": 7, + "Users": 20, + "UserGroups": 21, + "Roles": 22, + "PolicyRules": 23, + } +) + +func (x ResourceType) Enum() *ResourceType { + p := new(ResourceType) + *p = x + return p } func (x ResourceType) String() string { - return proto.EnumName(ResourceType_name, int32(x)) + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } -func (ResourceType) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_auth_2543522910fa735a, []int{1} + +func (ResourceType) Descriptor() protoreflect.EnumDescriptor { + return file_auth_proto_enumTypes[1].Descriptor() } -type LoginRequest struct { - Owner *wrapperspb.StringValue `protobuf:"bytes,1,opt,name=owner,proto3" json:"owner,omitempty"` - Name *wrapperspb.StringValue `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` - Password *wrapperspb.StringValue `protobuf:"bytes,3,opt,name=password,proto3" json:"password,omitempty"` - Options map[string]string `protobuf:"bytes,4,rep,name=options,proto3" json:"options,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *LoginRequest) Reset() { *m = LoginRequest{} } -func (m *LoginRequest) String() string { return proto.CompactTextString(m) } -func (*LoginRequest) ProtoMessage() {} -func (*LoginRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_auth_2543522910fa735a, []int{0} +func (ResourceType) Type() protoreflect.EnumType { + return &file_auth_proto_enumTypes[1] } -func (m *LoginRequest) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_LoginRequest.Unmarshal(m, b) + +func (x ResourceType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) } -func (m *LoginRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_LoginRequest.Marshal(b, m, deterministic) + +// Deprecated: Use ResourceType.Descriptor instead. +func (ResourceType) EnumDescriptor() ([]byte, []int) { + return file_auth_proto_rawDescGZIP(), []int{1} } -func (dst *LoginRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_LoginRequest.Merge(dst, src) + +type LoginRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Owner *wrapperspb.StringValue `protobuf:"bytes,1,opt,name=owner,proto3" json:"owner,omitempty"` + Name *wrapperspb.StringValue `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + Password *wrapperspb.StringValue `protobuf:"bytes,3,opt,name=password,proto3" json:"password,omitempty"` + Options map[string]string `protobuf:"bytes,4,rep,name=options,proto3" json:"options,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } -func (m *LoginRequest) XXX_Size() int { - return xxx_messageInfo_LoginRequest.Size(m) + +func (x *LoginRequest) Reset() { + *x = LoginRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_auth_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (m *LoginRequest) XXX_DiscardUnknown() { - xxx_messageInfo_LoginRequest.DiscardUnknown(m) + +func (x *LoginRequest) String() string { + return protoimpl.X.MessageStringOf(x) } -var xxx_messageInfo_LoginRequest proto.InternalMessageInfo +func (*LoginRequest) ProtoMessage() {} -func (m *LoginRequest) GetOwner() *wrapperspb.StringValue { - if m != nil { - return m.Owner +func (x *LoginRequest) ProtoReflect() protoreflect.Message { + mi := &file_auth_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use LoginRequest.ProtoReflect.Descriptor instead. +func (*LoginRequest) Descriptor() ([]byte, []int) { + return file_auth_proto_rawDescGZIP(), []int{0} +} + +func (x *LoginRequest) GetOwner() *wrapperspb.StringValue { + if x != nil { + return x.Owner } return nil } -func (m *LoginRequest) GetName() *wrapperspb.StringValue { - if m != nil { - return m.Name +func (x *LoginRequest) GetName() *wrapperspb.StringValue { + if x != nil { + return x.Name } return nil } -func (m *LoginRequest) GetPassword() *wrapperspb.StringValue { - if m != nil { - return m.Password +func (x *LoginRequest) GetPassword() *wrapperspb.StringValue { + if x != nil { + return x.Password } return nil } -func (m *LoginRequest) GetOptions() map[string]string { - if m != nil { - return m.Options +func (x *LoginRequest) GetOptions() map[string]string { + if x != nil { + return x.Options } return nil } type LoginResponse struct { - UserId *wrapperspb.StringValue `protobuf:"bytes,1,opt,name=user_id,proto3" json:"user_id,omitempty"` - Name *wrapperspb.StringValue `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` - Role *wrapperspb.StringValue `protobuf:"bytes,3,opt,name=role,proto3" json:"role,omitempty"` - OwnerId *wrapperspb.StringValue `protobuf:"bytes,4,opt,name=owner_id,proto3" json:"owner_id,omitempty"` - Token *wrapperspb.StringValue `protobuf:"bytes,5,opt,name=token,proto3" json:"token,omitempty"` - Options map[string]string `protobuf:"bytes,6,rep,name=options,proto3" json:"options,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *LoginResponse) Reset() { *m = LoginResponse{} } -func (m *LoginResponse) String() string { return proto.CompactTextString(m) } -func (*LoginResponse) ProtoMessage() {} -func (*LoginResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_auth_2543522910fa735a, []int{1} -} -func (m *LoginResponse) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_LoginResponse.Unmarshal(m, b) -} -func (m *LoginResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_LoginResponse.Marshal(b, m, deterministic) + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + UserId *wrapperspb.StringValue `protobuf:"bytes,1,opt,name=user_id,proto3" json:"user_id,omitempty"` + Name *wrapperspb.StringValue `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + Role *wrapperspb.StringValue `protobuf:"bytes,3,opt,name=role,proto3" json:"role,omitempty"` + OwnerId *wrapperspb.StringValue `protobuf:"bytes,4,opt,name=owner_id,proto3" json:"owner_id,omitempty"` + Token *wrapperspb.StringValue `protobuf:"bytes,5,opt,name=token,proto3" json:"token,omitempty"` + Options map[string]string `protobuf:"bytes,6,rep,name=options,proto3" json:"options,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } -func (dst *LoginResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_LoginResponse.Merge(dst, src) + +func (x *LoginResponse) Reset() { + *x = LoginResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_auth_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (m *LoginResponse) XXX_Size() int { - return xxx_messageInfo_LoginResponse.Size(m) + +func (x *LoginResponse) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *LoginResponse) XXX_DiscardUnknown() { - xxx_messageInfo_LoginResponse.DiscardUnknown(m) + +func (*LoginResponse) ProtoMessage() {} + +func (x *LoginResponse) ProtoReflect() protoreflect.Message { + mi := &file_auth_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) } -var xxx_messageInfo_LoginResponse proto.InternalMessageInfo +// Deprecated: Use LoginResponse.ProtoReflect.Descriptor instead. +func (*LoginResponse) Descriptor() ([]byte, []int) { + return file_auth_proto_rawDescGZIP(), []int{1} +} -func (m *LoginResponse) GetUserId() *wrapperspb.StringValue { - if m != nil { - return m.UserId +func (x *LoginResponse) GetUserId() *wrapperspb.StringValue { + if x != nil { + return x.UserId } return nil } -func (m *LoginResponse) GetName() *wrapperspb.StringValue { - if m != nil { - return m.Name +func (x *LoginResponse) GetName() *wrapperspb.StringValue { + if x != nil { + return x.Name } return nil } -func (m *LoginResponse) GetRole() *wrapperspb.StringValue { - if m != nil { - return m.Role +func (x *LoginResponse) GetRole() *wrapperspb.StringValue { + if x != nil { + return x.Role } return nil } -func (m *LoginResponse) GetOwnerId() *wrapperspb.StringValue { - if m != nil { - return m.OwnerId +func (x *LoginResponse) GetOwnerId() *wrapperspb.StringValue { + if x != nil { + return x.OwnerId } return nil } -func (m *LoginResponse) GetToken() *wrapperspb.StringValue { - if m != nil { - return m.Token +func (x *LoginResponse) GetToken() *wrapperspb.StringValue { + if x != nil { + return x.Token } return nil } -func (m *LoginResponse) GetOptions() map[string]string { - if m != nil { - return m.Options +func (x *LoginResponse) GetOptions() map[string]string { + if x != nil { + return x.Options } return nil } type User struct { - Id *wrapperspb.StringValue `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - Name *wrapperspb.StringValue `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` - Password *wrapperspb.StringValue `protobuf:"bytes,3,opt,name=password,proto3" json:"password,omitempty"` - Owner *wrapperspb.StringValue `protobuf:"bytes,4,opt,name=owner,proto3" json:"owner,omitempty"` - Source *wrapperspb.StringValue `protobuf:"bytes,5,opt,name=source,proto3" json:"source,omitempty"` - AuthToken *wrapperspb.StringValue `protobuf:"bytes,6,opt,name=auth_token,proto3" json:"auth_token,omitempty"` - TokenEnable *wrapperspb.BoolValue `protobuf:"bytes,7,opt,name=token_enable,proto3" json:"token_enable,omitempty"` - Comment *wrapperspb.StringValue `protobuf:"bytes,8,opt,name=comment,proto3" json:"comment,omitempty"` - Ctime *wrapperspb.StringValue `protobuf:"bytes,9,opt,name=ctime,proto3" json:"ctime,omitempty"` - Mtime *wrapperspb.StringValue `protobuf:"bytes,10,opt,name=mtime,proto3" json:"mtime,omitempty"` - UserType *wrapperspb.StringValue `protobuf:"bytes,11,opt,name=user_type,proto3" json:"user_type,omitempty"` - Mobile *wrapperspb.StringValue `protobuf:"bytes,12,opt,name=mobile,proto3" json:"mobile,omitempty"` - Email *wrapperspb.StringValue `protobuf:"bytes,13,opt,name=email,proto3" json:"email,omitempty"` - Metadata map[string]string `protobuf:"bytes,14,rep,name=metadata,proto3" json:"metadata,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *User) Reset() { *m = User{} } -func (m *User) String() string { return proto.CompactTextString(m) } -func (*User) ProtoMessage() {} -func (*User) Descriptor() ([]byte, []int) { - return fileDescriptor_auth_2543522910fa735a, []int{2} -} -func (m *User) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_User.Unmarshal(m, b) -} -func (m *User) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_User.Marshal(b, m, deterministic) + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id *wrapperspb.StringValue `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Name *wrapperspb.StringValue `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + Password *wrapperspb.StringValue `protobuf:"bytes,3,opt,name=password,proto3" json:"password,omitempty"` + Owner *wrapperspb.StringValue `protobuf:"bytes,4,opt,name=owner,proto3" json:"owner,omitempty"` + Source *wrapperspb.StringValue `protobuf:"bytes,5,opt,name=source,proto3" json:"source,omitempty"` + AuthToken *wrapperspb.StringValue `protobuf:"bytes,6,opt,name=auth_token,proto3" json:"auth_token,omitempty"` + TokenEnable *wrapperspb.BoolValue `protobuf:"bytes,7,opt,name=token_enable,proto3" json:"token_enable,omitempty"` + Comment *wrapperspb.StringValue `protobuf:"bytes,8,opt,name=comment,proto3" json:"comment,omitempty"` + Ctime *wrapperspb.StringValue `protobuf:"bytes,9,opt,name=ctime,proto3" json:"ctime,omitempty"` + Mtime *wrapperspb.StringValue `protobuf:"bytes,10,opt,name=mtime,proto3" json:"mtime,omitempty"` + UserType *wrapperspb.StringValue `protobuf:"bytes,11,opt,name=user_type,proto3" json:"user_type,omitempty"` + Mobile *wrapperspb.StringValue `protobuf:"bytes,12,opt,name=mobile,proto3" json:"mobile,omitempty"` + Email *wrapperspb.StringValue `protobuf:"bytes,13,opt,name=email,proto3" json:"email,omitempty"` + Metadata map[string]string `protobuf:"bytes,14,rep,name=metadata,proto3" json:"metadata,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } -func (dst *User) XXX_Merge(src proto.Message) { - xxx_messageInfo_User.Merge(dst, src) + +func (x *User) Reset() { + *x = User{} + if protoimpl.UnsafeEnabled { + mi := &file_auth_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (m *User) XXX_Size() int { - return xxx_messageInfo_User.Size(m) + +func (x *User) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *User) XXX_DiscardUnknown() { - xxx_messageInfo_User.DiscardUnknown(m) + +func (*User) ProtoMessage() {} + +func (x *User) ProtoReflect() protoreflect.Message { + mi := &file_auth_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) } -var xxx_messageInfo_User proto.InternalMessageInfo +// Deprecated: Use User.ProtoReflect.Descriptor instead. +func (*User) Descriptor() ([]byte, []int) { + return file_auth_proto_rawDescGZIP(), []int{2} +} -func (m *User) GetId() *wrapperspb.StringValue { - if m != nil { - return m.Id +func (x *User) GetId() *wrapperspb.StringValue { + if x != nil { + return x.Id } return nil } -func (m *User) GetName() *wrapperspb.StringValue { - if m != nil { - return m.Name +func (x *User) GetName() *wrapperspb.StringValue { + if x != nil { + return x.Name } return nil } -func (m *User) GetPassword() *wrapperspb.StringValue { - if m != nil { - return m.Password +func (x *User) GetPassword() *wrapperspb.StringValue { + if x != nil { + return x.Password } return nil } -func (m *User) GetOwner() *wrapperspb.StringValue { - if m != nil { - return m.Owner +func (x *User) GetOwner() *wrapperspb.StringValue { + if x != nil { + return x.Owner } return nil } -func (m *User) GetSource() *wrapperspb.StringValue { - if m != nil { - return m.Source +func (x *User) GetSource() *wrapperspb.StringValue { + if x != nil { + return x.Source } return nil } -func (m *User) GetAuthToken() *wrapperspb.StringValue { - if m != nil { - return m.AuthToken +func (x *User) GetAuthToken() *wrapperspb.StringValue { + if x != nil { + return x.AuthToken } return nil } -func (m *User) GetTokenEnable() *wrapperspb.BoolValue { - if m != nil { - return m.TokenEnable +func (x *User) GetTokenEnable() *wrapperspb.BoolValue { + if x != nil { + return x.TokenEnable } return nil } -func (m *User) GetComment() *wrapperspb.StringValue { - if m != nil { - return m.Comment +func (x *User) GetComment() *wrapperspb.StringValue { + if x != nil { + return x.Comment } return nil } -func (m *User) GetCtime() *wrapperspb.StringValue { - if m != nil { - return m.Ctime +func (x *User) GetCtime() *wrapperspb.StringValue { + if x != nil { + return x.Ctime } return nil } -func (m *User) GetMtime() *wrapperspb.StringValue { - if m != nil { - return m.Mtime +func (x *User) GetMtime() *wrapperspb.StringValue { + if x != nil { + return x.Mtime } return nil } -func (m *User) GetUserType() *wrapperspb.StringValue { - if m != nil { - return m.UserType +func (x *User) GetUserType() *wrapperspb.StringValue { + if x != nil { + return x.UserType } return nil } -func (m *User) GetMobile() *wrapperspb.StringValue { - if m != nil { - return m.Mobile +func (x *User) GetMobile() *wrapperspb.StringValue { + if x != nil { + return x.Mobile } return nil } -func (m *User) GetEmail() *wrapperspb.StringValue { - if m != nil { - return m.Email +func (x *User) GetEmail() *wrapperspb.StringValue { + if x != nil { + return x.Email } return nil } -func (m *User) GetMetadata() map[string]string { - if m != nil { - return m.Metadata +func (x *User) GetMetadata() map[string]string { + if x != nil { + return x.Metadata } return nil } type ModifyUserPassword struct { - Id *wrapperspb.StringValue `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - OldPassword *wrapperspb.StringValue `protobuf:"bytes,2,opt,name=old_password,proto3" json:"old_password,omitempty"` - NewPassword *wrapperspb.StringValue `protobuf:"bytes,3,opt,name=new_password,proto3" json:"new_password,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields -func (m *ModifyUserPassword) Reset() { *m = ModifyUserPassword{} } -func (m *ModifyUserPassword) String() string { return proto.CompactTextString(m) } -func (*ModifyUserPassword) ProtoMessage() {} -func (*ModifyUserPassword) Descriptor() ([]byte, []int) { - return fileDescriptor_auth_2543522910fa735a, []int{3} -} -func (m *ModifyUserPassword) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_ModifyUserPassword.Unmarshal(m, b) -} -func (m *ModifyUserPassword) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_ModifyUserPassword.Marshal(b, m, deterministic) + Id *wrapperspb.StringValue `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + OldPassword *wrapperspb.StringValue `protobuf:"bytes,2,opt,name=old_password,proto3" json:"old_password,omitempty"` + NewPassword *wrapperspb.StringValue `protobuf:"bytes,3,opt,name=new_password,proto3" json:"new_password,omitempty"` } -func (dst *ModifyUserPassword) XXX_Merge(src proto.Message) { - xxx_messageInfo_ModifyUserPassword.Merge(dst, src) + +func (x *ModifyUserPassword) Reset() { + *x = ModifyUserPassword{} + if protoimpl.UnsafeEnabled { + mi := &file_auth_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (m *ModifyUserPassword) XXX_Size() int { - return xxx_messageInfo_ModifyUserPassword.Size(m) + +func (x *ModifyUserPassword) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *ModifyUserPassword) XXX_DiscardUnknown() { - xxx_messageInfo_ModifyUserPassword.DiscardUnknown(m) + +func (*ModifyUserPassword) ProtoMessage() {} + +func (x *ModifyUserPassword) ProtoReflect() protoreflect.Message { + mi := &file_auth_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) } -var xxx_messageInfo_ModifyUserPassword proto.InternalMessageInfo +// Deprecated: Use ModifyUserPassword.ProtoReflect.Descriptor instead. +func (*ModifyUserPassword) Descriptor() ([]byte, []int) { + return file_auth_proto_rawDescGZIP(), []int{3} +} -func (m *ModifyUserPassword) GetId() *wrapperspb.StringValue { - if m != nil { - return m.Id +func (x *ModifyUserPassword) GetId() *wrapperspb.StringValue { + if x != nil { + return x.Id } return nil } -func (m *ModifyUserPassword) GetOldPassword() *wrapperspb.StringValue { - if m != nil { - return m.OldPassword +func (x *ModifyUserPassword) GetOldPassword() *wrapperspb.StringValue { + if x != nil { + return x.OldPassword } return nil } -func (m *ModifyUserPassword) GetNewPassword() *wrapperspb.StringValue { - if m != nil { - return m.NewPassword +func (x *ModifyUserPassword) GetNewPassword() *wrapperspb.StringValue { + if x != nil { + return x.NewPassword } return nil } type UserGroupRelation struct { - GroupId *wrapperspb.StringValue `protobuf:"bytes,1,opt,name=group_id,proto3" json:"group_id,omitempty"` - Users []*User `protobuf:"bytes,2,rep,name=users,proto3" json:"users,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields -func (m *UserGroupRelation) Reset() { *m = UserGroupRelation{} } -func (m *UserGroupRelation) String() string { return proto.CompactTextString(m) } -func (*UserGroupRelation) ProtoMessage() {} -func (*UserGroupRelation) Descriptor() ([]byte, []int) { - return fileDescriptor_auth_2543522910fa735a, []int{4} + GroupId *wrapperspb.StringValue `protobuf:"bytes,1,opt,name=group_id,proto3" json:"group_id,omitempty"` + Users []*User `protobuf:"bytes,2,rep,name=users,proto3" json:"users,omitempty"` } -func (m *UserGroupRelation) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_UserGroupRelation.Unmarshal(m, b) -} -func (m *UserGroupRelation) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_UserGroupRelation.Marshal(b, m, deterministic) -} -func (dst *UserGroupRelation) XXX_Merge(src proto.Message) { - xxx_messageInfo_UserGroupRelation.Merge(dst, src) + +func (x *UserGroupRelation) Reset() { + *x = UserGroupRelation{} + if protoimpl.UnsafeEnabled { + mi := &file_auth_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (m *UserGroupRelation) XXX_Size() int { - return xxx_messageInfo_UserGroupRelation.Size(m) + +func (x *UserGroupRelation) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *UserGroupRelation) XXX_DiscardUnknown() { - xxx_messageInfo_UserGroupRelation.DiscardUnknown(m) + +func (*UserGroupRelation) ProtoMessage() {} + +func (x *UserGroupRelation) ProtoReflect() protoreflect.Message { + mi := &file_auth_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) } -var xxx_messageInfo_UserGroupRelation proto.InternalMessageInfo +// Deprecated: Use UserGroupRelation.ProtoReflect.Descriptor instead. +func (*UserGroupRelation) Descriptor() ([]byte, []int) { + return file_auth_proto_rawDescGZIP(), []int{4} +} -func (m *UserGroupRelation) GetGroupId() *wrapperspb.StringValue { - if m != nil { - return m.GroupId +func (x *UserGroupRelation) GetGroupId() *wrapperspb.StringValue { + if x != nil { + return x.GroupId } return nil } -func (m *UserGroupRelation) GetUsers() []*User { - if m != nil { - return m.Users +func (x *UserGroupRelation) GetUsers() []*User { + if x != nil { + return x.Users } return nil } type UserGroup struct { - Id *wrapperspb.StringValue `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - Name *wrapperspb.StringValue `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` - Owner *wrapperspb.StringValue `protobuf:"bytes,3,opt,name=owner,proto3" json:"owner,omitempty"` - AuthToken *wrapperspb.StringValue `protobuf:"bytes,4,opt,name=auth_token,proto3" json:"auth_token,omitempty"` - TokenEnable *wrapperspb.BoolValue `protobuf:"bytes,5,opt,name=token_enable,proto3" json:"token_enable,omitempty"` - Comment *wrapperspb.StringValue `protobuf:"bytes,6,opt,name=comment,proto3" json:"comment,omitempty"` - Ctime *wrapperspb.StringValue `protobuf:"bytes,7,opt,name=ctime,proto3" json:"ctime,omitempty"` - Mtime *wrapperspb.StringValue `protobuf:"bytes,8,opt,name=mtime,proto3" json:"mtime,omitempty"` - Relation *UserGroupRelation `protobuf:"bytes,9,opt,name=relation,proto3" json:"relation,omitempty"` - UserCount *wrapperspb.UInt32Value `protobuf:"bytes,10,opt,name=user_count,proto3" json:"user_count,omitempty"` - Source *wrapperspb.StringValue `protobuf:"bytes,11,opt,name=source,proto3" json:"source,omitempty"` - Metadata map[string]string `protobuf:"bytes,12,rep,name=metadata,proto3" json:"metadata,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *UserGroup) Reset() { *m = UserGroup{} } -func (m *UserGroup) String() string { return proto.CompactTextString(m) } -func (*UserGroup) ProtoMessage() {} -func (*UserGroup) Descriptor() ([]byte, []int) { - return fileDescriptor_auth_2543522910fa735a, []int{5} -} -func (m *UserGroup) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_UserGroup.Unmarshal(m, b) -} -func (m *UserGroup) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_UserGroup.Marshal(b, m, deterministic) + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id *wrapperspb.StringValue `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Name *wrapperspb.StringValue `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + Owner *wrapperspb.StringValue `protobuf:"bytes,3,opt,name=owner,proto3" json:"owner,omitempty"` + AuthToken *wrapperspb.StringValue `protobuf:"bytes,4,opt,name=auth_token,proto3" json:"auth_token,omitempty"` + TokenEnable *wrapperspb.BoolValue `protobuf:"bytes,5,opt,name=token_enable,proto3" json:"token_enable,omitempty"` + Comment *wrapperspb.StringValue `protobuf:"bytes,6,opt,name=comment,proto3" json:"comment,omitempty"` + Ctime *wrapperspb.StringValue `protobuf:"bytes,7,opt,name=ctime,proto3" json:"ctime,omitempty"` + Mtime *wrapperspb.StringValue `protobuf:"bytes,8,opt,name=mtime,proto3" json:"mtime,omitempty"` + Relation *UserGroupRelation `protobuf:"bytes,9,opt,name=relation,proto3" json:"relation,omitempty"` + UserCount *wrapperspb.UInt32Value `protobuf:"bytes,10,opt,name=user_count,proto3" json:"user_count,omitempty"` + Source *wrapperspb.StringValue `protobuf:"bytes,11,opt,name=source,proto3" json:"source,omitempty"` + Metadata map[string]string `protobuf:"bytes,12,rep,name=metadata,proto3" json:"metadata,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } -func (dst *UserGroup) XXX_Merge(src proto.Message) { - xxx_messageInfo_UserGroup.Merge(dst, src) + +func (x *UserGroup) Reset() { + *x = UserGroup{} + if protoimpl.UnsafeEnabled { + mi := &file_auth_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (m *UserGroup) XXX_Size() int { - return xxx_messageInfo_UserGroup.Size(m) + +func (x *UserGroup) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *UserGroup) XXX_DiscardUnknown() { - xxx_messageInfo_UserGroup.DiscardUnknown(m) + +func (*UserGroup) ProtoMessage() {} + +func (x *UserGroup) ProtoReflect() protoreflect.Message { + mi := &file_auth_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) } -var xxx_messageInfo_UserGroup proto.InternalMessageInfo +// Deprecated: Use UserGroup.ProtoReflect.Descriptor instead. +func (*UserGroup) Descriptor() ([]byte, []int) { + return file_auth_proto_rawDescGZIP(), []int{5} +} -func (m *UserGroup) GetId() *wrapperspb.StringValue { - if m != nil { - return m.Id +func (x *UserGroup) GetId() *wrapperspb.StringValue { + if x != nil { + return x.Id } return nil } -func (m *UserGroup) GetName() *wrapperspb.StringValue { - if m != nil { - return m.Name +func (x *UserGroup) GetName() *wrapperspb.StringValue { + if x != nil { + return x.Name } return nil } -func (m *UserGroup) GetOwner() *wrapperspb.StringValue { - if m != nil { - return m.Owner +func (x *UserGroup) GetOwner() *wrapperspb.StringValue { + if x != nil { + return x.Owner } return nil } -func (m *UserGroup) GetAuthToken() *wrapperspb.StringValue { - if m != nil { - return m.AuthToken +func (x *UserGroup) GetAuthToken() *wrapperspb.StringValue { + if x != nil { + return x.AuthToken } return nil } -func (m *UserGroup) GetTokenEnable() *wrapperspb.BoolValue { - if m != nil { - return m.TokenEnable +func (x *UserGroup) GetTokenEnable() *wrapperspb.BoolValue { + if x != nil { + return x.TokenEnable } return nil } -func (m *UserGroup) GetComment() *wrapperspb.StringValue { - if m != nil { - return m.Comment +func (x *UserGroup) GetComment() *wrapperspb.StringValue { + if x != nil { + return x.Comment } return nil } -func (m *UserGroup) GetCtime() *wrapperspb.StringValue { - if m != nil { - return m.Ctime +func (x *UserGroup) GetCtime() *wrapperspb.StringValue { + if x != nil { + return x.Ctime } return nil } -func (m *UserGroup) GetMtime() *wrapperspb.StringValue { - if m != nil { - return m.Mtime +func (x *UserGroup) GetMtime() *wrapperspb.StringValue { + if x != nil { + return x.Mtime } return nil } -func (m *UserGroup) GetRelation() *UserGroupRelation { - if m != nil { - return m.Relation +func (x *UserGroup) GetRelation() *UserGroupRelation { + if x != nil { + return x.Relation } return nil } -func (m *UserGroup) GetUserCount() *wrapperspb.UInt32Value { - if m != nil { - return m.UserCount +func (x *UserGroup) GetUserCount() *wrapperspb.UInt32Value { + if x != nil { + return x.UserCount } return nil } -func (m *UserGroup) GetSource() *wrapperspb.StringValue { - if m != nil { - return m.Source +func (x *UserGroup) GetSource() *wrapperspb.StringValue { + if x != nil { + return x.Source } return nil } -func (m *UserGroup) GetMetadata() map[string]string { - if m != nil { - return m.Metadata +func (x *UserGroup) GetMetadata() map[string]string { + if x != nil { + return x.Metadata } return nil } type ModifyUserGroup struct { - Id *wrapperspb.StringValue `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - Owner *wrapperspb.StringValue `protobuf:"bytes,2,opt,name=owner,proto3" json:"owner,omitempty"` - Name *wrapperspb.StringValue `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` - AuthToken *wrapperspb.StringValue `protobuf:"bytes,4,opt,name=auth_token,proto3" json:"auth_token,omitempty"` - TokenEnable *wrapperspb.BoolValue `protobuf:"bytes,5,opt,name=token_enable,proto3" json:"token_enable,omitempty"` - Comment *wrapperspb.StringValue `protobuf:"bytes,6,opt,name=comment,proto3" json:"comment,omitempty"` - AddRelations *UserGroupRelation `protobuf:"bytes,7,opt,name=add_relations,proto3" json:"add_relations,omitempty"` - RemoveRelations *UserGroupRelation `protobuf:"bytes,8,opt,name=remove_relations,proto3" json:"remove_relations,omitempty"` - Metadata map[string]string `protobuf:"bytes,9,rep,name=metadata,proto3" json:"metadata,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` - Source *wrapperspb.StringValue `protobuf:"bytes,10,opt,name=source,proto3" json:"source,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *ModifyUserGroup) Reset() { *m = ModifyUserGroup{} } -func (m *ModifyUserGroup) String() string { return proto.CompactTextString(m) } -func (*ModifyUserGroup) ProtoMessage() {} -func (*ModifyUserGroup) Descriptor() ([]byte, []int) { - return fileDescriptor_auth_2543522910fa735a, []int{6} -} -func (m *ModifyUserGroup) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_ModifyUserGroup.Unmarshal(m, b) -} -func (m *ModifyUserGroup) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_ModifyUserGroup.Marshal(b, m, deterministic) + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id *wrapperspb.StringValue `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Owner *wrapperspb.StringValue `protobuf:"bytes,2,opt,name=owner,proto3" json:"owner,omitempty"` + Name *wrapperspb.StringValue `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` + AuthToken *wrapperspb.StringValue `protobuf:"bytes,4,opt,name=auth_token,proto3" json:"auth_token,omitempty"` + TokenEnable *wrapperspb.BoolValue `protobuf:"bytes,5,opt,name=token_enable,proto3" json:"token_enable,omitempty"` + Comment *wrapperspb.StringValue `protobuf:"bytes,6,opt,name=comment,proto3" json:"comment,omitempty"` + AddRelations *UserGroupRelation `protobuf:"bytes,7,opt,name=add_relations,proto3" json:"add_relations,omitempty"` + RemoveRelations *UserGroupRelation `protobuf:"bytes,8,opt,name=remove_relations,proto3" json:"remove_relations,omitempty"` + Metadata map[string]string `protobuf:"bytes,9,rep,name=metadata,proto3" json:"metadata,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + Source *wrapperspb.StringValue `protobuf:"bytes,10,opt,name=source,proto3" json:"source,omitempty"` } -func (dst *ModifyUserGroup) XXX_Merge(src proto.Message) { - xxx_messageInfo_ModifyUserGroup.Merge(dst, src) + +func (x *ModifyUserGroup) Reset() { + *x = ModifyUserGroup{} + if protoimpl.UnsafeEnabled { + mi := &file_auth_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (m *ModifyUserGroup) XXX_Size() int { - return xxx_messageInfo_ModifyUserGroup.Size(m) + +func (x *ModifyUserGroup) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *ModifyUserGroup) XXX_DiscardUnknown() { - xxx_messageInfo_ModifyUserGroup.DiscardUnknown(m) + +func (*ModifyUserGroup) ProtoMessage() {} + +func (x *ModifyUserGroup) ProtoReflect() protoreflect.Message { + mi := &file_auth_proto_msgTypes[6] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) } -var xxx_messageInfo_ModifyUserGroup proto.InternalMessageInfo +// Deprecated: Use ModifyUserGroup.ProtoReflect.Descriptor instead. +func (*ModifyUserGroup) Descriptor() ([]byte, []int) { + return file_auth_proto_rawDescGZIP(), []int{6} +} -func (m *ModifyUserGroup) GetId() *wrapperspb.StringValue { - if m != nil { - return m.Id +func (x *ModifyUserGroup) GetId() *wrapperspb.StringValue { + if x != nil { + return x.Id } return nil } -func (m *ModifyUserGroup) GetOwner() *wrapperspb.StringValue { - if m != nil { - return m.Owner +func (x *ModifyUserGroup) GetOwner() *wrapperspb.StringValue { + if x != nil { + return x.Owner } return nil } -func (m *ModifyUserGroup) GetName() *wrapperspb.StringValue { - if m != nil { - return m.Name +func (x *ModifyUserGroup) GetName() *wrapperspb.StringValue { + if x != nil { + return x.Name } return nil } -func (m *ModifyUserGroup) GetAuthToken() *wrapperspb.StringValue { - if m != nil { - return m.AuthToken +func (x *ModifyUserGroup) GetAuthToken() *wrapperspb.StringValue { + if x != nil { + return x.AuthToken } return nil } -func (m *ModifyUserGroup) GetTokenEnable() *wrapperspb.BoolValue { - if m != nil { - return m.TokenEnable +func (x *ModifyUserGroup) GetTokenEnable() *wrapperspb.BoolValue { + if x != nil { + return x.TokenEnable } return nil } -func (m *ModifyUserGroup) GetComment() *wrapperspb.StringValue { - if m != nil { - return m.Comment +func (x *ModifyUserGroup) GetComment() *wrapperspb.StringValue { + if x != nil { + return x.Comment } return nil } -func (m *ModifyUserGroup) GetAddRelations() *UserGroupRelation { - if m != nil { - return m.AddRelations +func (x *ModifyUserGroup) GetAddRelations() *UserGroupRelation { + if x != nil { + return x.AddRelations } return nil } -func (m *ModifyUserGroup) GetRemoveRelations() *UserGroupRelation { - if m != nil { - return m.RemoveRelations +func (x *ModifyUserGroup) GetRemoveRelations() *UserGroupRelation { + if x != nil { + return x.RemoveRelations } return nil } -func (m *ModifyUserGroup) GetMetadata() map[string]string { - if m != nil { - return m.Metadata +func (x *ModifyUserGroup) GetMetadata() map[string]string { + if x != nil { + return x.Metadata } return nil } -func (m *ModifyUserGroup) GetSource() *wrapperspb.StringValue { - if m != nil { - return m.Source +func (x *ModifyUserGroup) GetSource() *wrapperspb.StringValue { + if x != nil { + return x.Source } return nil } type Role struct { - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` - Owner string `protobuf:"bytes,4,opt,name=owner,proto3" json:"owner,omitempty"` - Source string `protobuf:"bytes,5,opt,name=source,proto3" json:"source,omitempty"` - DefaultRole bool `protobuf:"varint,6,opt,name=default_role,proto3" json:"default_role,omitempty"` - Metadata map[string]string `protobuf:"bytes,7,rep,name=metadata,proto3" json:"metadata,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` - Comment string `protobuf:"bytes,8,opt,name=comment,proto3" json:"comment,omitempty"` - Ctime string `protobuf:"bytes,9,opt,name=ctime,proto3" json:"ctime,omitempty"` - Mtime string `protobuf:"bytes,10,opt,name=mtime,proto3" json:"mtime,omitempty"` - Users []*User `protobuf:"bytes,20,rep,name=users,proto3" json:"users,omitempty"` - UserGroups []*UserGroup `protobuf:"bytes,21,rep,name=user_groups,proto3" json:"user_groups,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *Role) Reset() { *m = Role{} } -func (m *Role) String() string { return proto.CompactTextString(m) } -func (*Role) ProtoMessage() {} -func (*Role) Descriptor() ([]byte, []int) { - return fileDescriptor_auth_2543522910fa735a, []int{7} -} -func (m *Role) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_Role.Unmarshal(m, b) -} -func (m *Role) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_Role.Marshal(b, m, deterministic) + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + Owner string `protobuf:"bytes,4,opt,name=owner,proto3" json:"owner,omitempty"` + Source string `protobuf:"bytes,5,opt,name=source,proto3" json:"source,omitempty"` + DefaultRole bool `protobuf:"varint,6,opt,name=default_role,proto3" json:"default_role,omitempty"` + Metadata map[string]string `protobuf:"bytes,7,rep,name=metadata,proto3" json:"metadata,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + Comment string `protobuf:"bytes,8,opt,name=comment,proto3" json:"comment,omitempty"` + Ctime string `protobuf:"bytes,9,opt,name=ctime,proto3" json:"ctime,omitempty"` + Mtime string `protobuf:"bytes,10,opt,name=mtime,proto3" json:"mtime,omitempty"` + Users []*User `protobuf:"bytes,20,rep,name=users,proto3" json:"users,omitempty"` + UserGroups []*UserGroup `protobuf:"bytes,21,rep,name=user_groups,proto3" json:"user_groups,omitempty"` } -func (dst *Role) XXX_Merge(src proto.Message) { - xxx_messageInfo_Role.Merge(dst, src) + +func (x *Role) Reset() { + *x = Role{} + if protoimpl.UnsafeEnabled { + mi := &file_auth_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (m *Role) XXX_Size() int { - return xxx_messageInfo_Role.Size(m) + +func (x *Role) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *Role) XXX_DiscardUnknown() { - xxx_messageInfo_Role.DiscardUnknown(m) + +func (*Role) ProtoMessage() {} + +func (x *Role) ProtoReflect() protoreflect.Message { + mi := &file_auth_proto_msgTypes[7] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) } -var xxx_messageInfo_Role proto.InternalMessageInfo +// Deprecated: Use Role.ProtoReflect.Descriptor instead. +func (*Role) Descriptor() ([]byte, []int) { + return file_auth_proto_rawDescGZIP(), []int{7} +} -func (m *Role) GetId() string { - if m != nil { - return m.Id +func (x *Role) GetId() string { + if x != nil { + return x.Id } return "" } -func (m *Role) GetName() string { - if m != nil { - return m.Name +func (x *Role) GetName() string { + if x != nil { + return x.Name } return "" } -func (m *Role) GetOwner() string { - if m != nil { - return m.Owner +func (x *Role) GetOwner() string { + if x != nil { + return x.Owner } return "" } -func (m *Role) GetSource() string { - if m != nil { - return m.Source +func (x *Role) GetSource() string { + if x != nil { + return x.Source } return "" } -func (m *Role) GetDefaultRole() bool { - if m != nil { - return m.DefaultRole +func (x *Role) GetDefaultRole() bool { + if x != nil { + return x.DefaultRole } return false } -func (m *Role) GetMetadata() map[string]string { - if m != nil { - return m.Metadata +func (x *Role) GetMetadata() map[string]string { + if x != nil { + return x.Metadata } return nil } -func (m *Role) GetComment() string { - if m != nil { - return m.Comment +func (x *Role) GetComment() string { + if x != nil { + return x.Comment } return "" } -func (m *Role) GetCtime() string { - if m != nil { - return m.Ctime +func (x *Role) GetCtime() string { + if x != nil { + return x.Ctime } return "" } -func (m *Role) GetMtime() string { - if m != nil { - return m.Mtime +func (x *Role) GetMtime() string { + if x != nil { + return x.Mtime } return "" } -func (m *Role) GetUsers() []*User { - if m != nil { - return m.Users +func (x *Role) GetUsers() []*User { + if x != nil { + return x.Users } return nil } -func (m *Role) GetUserGroups() []*UserGroup { - if m != nil { - return m.UserGroups +func (x *Role) GetUserGroups() []*UserGroup { + if x != nil { + return x.UserGroups } return nil } type Principal struct { - Id *wrapperspb.StringValue `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - Name *wrapperspb.StringValue `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields -func (m *Principal) Reset() { *m = Principal{} } -func (m *Principal) String() string { return proto.CompactTextString(m) } -func (*Principal) ProtoMessage() {} -func (*Principal) Descriptor() ([]byte, []int) { - return fileDescriptor_auth_2543522910fa735a, []int{8} -} -func (m *Principal) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_Principal.Unmarshal(m, b) -} -func (m *Principal) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_Principal.Marshal(b, m, deterministic) + Id *wrapperspb.StringValue `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Name *wrapperspb.StringValue `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` } -func (dst *Principal) XXX_Merge(src proto.Message) { - xxx_messageInfo_Principal.Merge(dst, src) + +func (x *Principal) Reset() { + *x = Principal{} + if protoimpl.UnsafeEnabled { + mi := &file_auth_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (m *Principal) XXX_Size() int { - return xxx_messageInfo_Principal.Size(m) + +func (x *Principal) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *Principal) XXX_DiscardUnknown() { - xxx_messageInfo_Principal.DiscardUnknown(m) + +func (*Principal) ProtoMessage() {} + +func (x *Principal) ProtoReflect() protoreflect.Message { + mi := &file_auth_proto_msgTypes[8] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) } -var xxx_messageInfo_Principal proto.InternalMessageInfo +// Deprecated: Use Principal.ProtoReflect.Descriptor instead. +func (*Principal) Descriptor() ([]byte, []int) { + return file_auth_proto_rawDescGZIP(), []int{8} +} -func (m *Principal) GetId() *wrapperspb.StringValue { - if m != nil { - return m.Id +func (x *Principal) GetId() *wrapperspb.StringValue { + if x != nil { + return x.Id } return nil } -func (m *Principal) GetName() *wrapperspb.StringValue { - if m != nil { - return m.Name +func (x *Principal) GetName() *wrapperspb.StringValue { + if x != nil { + return x.Name } return nil } type Principals struct { - Users []*Principal `protobuf:"bytes,1,rep,name=users,proto3" json:"users,omitempty"` - Groups []*Principal `protobuf:"bytes,2,rep,name=groups,proto3" json:"groups,omitempty"` - Roles []*Principal `protobuf:"bytes,3,rep,name=roles,proto3" json:"roles,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields -func (m *Principals) Reset() { *m = Principals{} } -func (m *Principals) String() string { return proto.CompactTextString(m) } -func (*Principals) ProtoMessage() {} -func (*Principals) Descriptor() ([]byte, []int) { - return fileDescriptor_auth_2543522910fa735a, []int{9} + Users []*Principal `protobuf:"bytes,1,rep,name=users,proto3" json:"users,omitempty"` + Groups []*Principal `protobuf:"bytes,2,rep,name=groups,proto3" json:"groups,omitempty"` + Roles []*Principal `protobuf:"bytes,3,rep,name=roles,proto3" json:"roles,omitempty"` } -func (m *Principals) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_Principals.Unmarshal(m, b) -} -func (m *Principals) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_Principals.Marshal(b, m, deterministic) -} -func (dst *Principals) XXX_Merge(src proto.Message) { - xxx_messageInfo_Principals.Merge(dst, src) + +func (x *Principals) Reset() { + *x = Principals{} + if protoimpl.UnsafeEnabled { + mi := &file_auth_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (m *Principals) XXX_Size() int { - return xxx_messageInfo_Principals.Size(m) + +func (x *Principals) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *Principals) XXX_DiscardUnknown() { - xxx_messageInfo_Principals.DiscardUnknown(m) + +func (*Principals) ProtoMessage() {} + +func (x *Principals) ProtoReflect() protoreflect.Message { + mi := &file_auth_proto_msgTypes[9] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) } -var xxx_messageInfo_Principals proto.InternalMessageInfo +// Deprecated: Use Principals.ProtoReflect.Descriptor instead. +func (*Principals) Descriptor() ([]byte, []int) { + return file_auth_proto_rawDescGZIP(), []int{9} +} -func (m *Principals) GetUsers() []*Principal { - if m != nil { - return m.Users +func (x *Principals) GetUsers() []*Principal { + if x != nil { + return x.Users } return nil } -func (m *Principals) GetGroups() []*Principal { - if m != nil { - return m.Groups +func (x *Principals) GetGroups() []*Principal { + if x != nil { + return x.Groups } return nil } -func (m *Principals) GetRoles() []*Principal { - if m != nil { - return m.Roles +func (x *Principals) GetRoles() []*Principal { + if x != nil { + return x.Roles } return nil } type StrategyResourceEntry struct { - Id *wrapperspb.StringValue `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - Namespace *wrapperspb.StringValue `protobuf:"bytes,2,opt,name=namespace,proto3" json:"namespace,omitempty"` - Name *wrapperspb.StringValue `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields -func (m *StrategyResourceEntry) Reset() { *m = StrategyResourceEntry{} } -func (m *StrategyResourceEntry) String() string { return proto.CompactTextString(m) } -func (*StrategyResourceEntry) ProtoMessage() {} -func (*StrategyResourceEntry) Descriptor() ([]byte, []int) { - return fileDescriptor_auth_2543522910fa735a, []int{10} -} -func (m *StrategyResourceEntry) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_StrategyResourceEntry.Unmarshal(m, b) + Id *wrapperspb.StringValue `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Namespace *wrapperspb.StringValue `protobuf:"bytes,2,opt,name=namespace,proto3" json:"namespace,omitempty"` + Name *wrapperspb.StringValue `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` } -func (m *StrategyResourceEntry) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_StrategyResourceEntry.Marshal(b, m, deterministic) -} -func (dst *StrategyResourceEntry) XXX_Merge(src proto.Message) { - xxx_messageInfo_StrategyResourceEntry.Merge(dst, src) + +func (x *StrategyResourceEntry) Reset() { + *x = StrategyResourceEntry{} + if protoimpl.UnsafeEnabled { + mi := &file_auth_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (m *StrategyResourceEntry) XXX_Size() int { - return xxx_messageInfo_StrategyResourceEntry.Size(m) + +func (x *StrategyResourceEntry) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *StrategyResourceEntry) XXX_DiscardUnknown() { - xxx_messageInfo_StrategyResourceEntry.DiscardUnknown(m) + +func (*StrategyResourceEntry) ProtoMessage() {} + +func (x *StrategyResourceEntry) ProtoReflect() protoreflect.Message { + mi := &file_auth_proto_msgTypes[10] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) } -var xxx_messageInfo_StrategyResourceEntry proto.InternalMessageInfo +// Deprecated: Use StrategyResourceEntry.ProtoReflect.Descriptor instead. +func (*StrategyResourceEntry) Descriptor() ([]byte, []int) { + return file_auth_proto_rawDescGZIP(), []int{10} +} -func (m *StrategyResourceEntry) GetId() *wrapperspb.StringValue { - if m != nil { - return m.Id +func (x *StrategyResourceEntry) GetId() *wrapperspb.StringValue { + if x != nil { + return x.Id } return nil } -func (m *StrategyResourceEntry) GetNamespace() *wrapperspb.StringValue { - if m != nil { - return m.Namespace +func (x *StrategyResourceEntry) GetNamespace() *wrapperspb.StringValue { + if x != nil { + return x.Namespace } return nil } -func (m *StrategyResourceEntry) GetName() *wrapperspb.StringValue { - if m != nil { - return m.Name +func (x *StrategyResourceEntry) GetName() *wrapperspb.StringValue { + if x != nil { + return x.Name } return nil } type StrategyResources struct { - StrategyId *wrapperspb.StringValue `protobuf:"bytes,1,opt,name=strategy_id,proto3" json:"strategy_id,omitempty"` - Namespaces []*StrategyResourceEntry `protobuf:"bytes,2,rep,name=namespaces,proto3" json:"namespaces,omitempty"` - Services []*StrategyResourceEntry `protobuf:"bytes,3,rep,name=services,proto3" json:"services,omitempty"` - ConfigGroups []*StrategyResourceEntry `protobuf:"bytes,4,rep,name=config_groups,proto3" json:"config_groups,omitempty"` - RouteRules []*StrategyResourceEntry `protobuf:"bytes,5,rep,name=route_rules,proto3" json:"route_rules,omitempty"` - RatelimitRules []*StrategyResourceEntry `protobuf:"bytes,6,rep,name=ratelimit_rules,proto3" json:"ratelimit_rules,omitempty"` - CircuitbreakerRules []*StrategyResourceEntry `protobuf:"bytes,7,rep,name=circuitbreaker_rules,proto3" json:"circuitbreaker_rules,omitempty"` - FaultdetectRules []*StrategyResourceEntry `protobuf:"bytes,8,rep,name=faultdetect_rules,proto3" json:"faultdetect_rules,omitempty"` - LaneRules []*StrategyResourceEntry `protobuf:"bytes,9,rep,name=lane_rules,proto3" json:"lane_rules,omitempty"` - Users []*StrategyResourceEntry `protobuf:"bytes,21,rep,name=users,proto3" json:"users,omitempty"` - UserGroups []*StrategyResourceEntry `protobuf:"bytes,22,rep,name=user_groups,proto3" json:"user_groups,omitempty"` - Roles []*StrategyResourceEntry `protobuf:"bytes,23,rep,name=roles,proto3" json:"roles,omitempty"` - AuthPolicies []*StrategyResourceEntry `protobuf:"bytes,24,rep,name=auth_policies,proto3" json:"auth_policies,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *StrategyResources) Reset() { *m = StrategyResources{} } -func (m *StrategyResources) String() string { return proto.CompactTextString(m) } -func (*StrategyResources) ProtoMessage() {} -func (*StrategyResources) Descriptor() ([]byte, []int) { - return fileDescriptor_auth_2543522910fa735a, []int{11} -} -func (m *StrategyResources) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_StrategyResources.Unmarshal(m, b) -} -func (m *StrategyResources) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_StrategyResources.Marshal(b, m, deterministic) + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + StrategyId *wrapperspb.StringValue `protobuf:"bytes,1,opt,name=strategy_id,proto3" json:"strategy_id,omitempty"` + Namespaces []*StrategyResourceEntry `protobuf:"bytes,2,rep,name=namespaces,proto3" json:"namespaces,omitempty"` + Services []*StrategyResourceEntry `protobuf:"bytes,3,rep,name=services,proto3" json:"services,omitempty"` + ConfigGroups []*StrategyResourceEntry `protobuf:"bytes,4,rep,name=config_groups,proto3" json:"config_groups,omitempty"` + RouteRules []*StrategyResourceEntry `protobuf:"bytes,5,rep,name=route_rules,proto3" json:"route_rules,omitempty"` + RatelimitRules []*StrategyResourceEntry `protobuf:"bytes,6,rep,name=ratelimit_rules,proto3" json:"ratelimit_rules,omitempty"` + CircuitbreakerRules []*StrategyResourceEntry `protobuf:"bytes,7,rep,name=circuitbreaker_rules,proto3" json:"circuitbreaker_rules,omitempty"` + FaultdetectRules []*StrategyResourceEntry `protobuf:"bytes,8,rep,name=faultdetect_rules,proto3" json:"faultdetect_rules,omitempty"` + LaneRules []*StrategyResourceEntry `protobuf:"bytes,9,rep,name=lane_rules,proto3" json:"lane_rules,omitempty"` + Users []*StrategyResourceEntry `protobuf:"bytes,21,rep,name=users,proto3" json:"users,omitempty"` + UserGroups []*StrategyResourceEntry `protobuf:"bytes,22,rep,name=user_groups,proto3" json:"user_groups,omitempty"` + Roles []*StrategyResourceEntry `protobuf:"bytes,23,rep,name=roles,proto3" json:"roles,omitempty"` + AuthPolicies []*StrategyResourceEntry `protobuf:"bytes,24,rep,name=auth_policies,proto3" json:"auth_policies,omitempty"` } -func (dst *StrategyResources) XXX_Merge(src proto.Message) { - xxx_messageInfo_StrategyResources.Merge(dst, src) + +func (x *StrategyResources) Reset() { + *x = StrategyResources{} + if protoimpl.UnsafeEnabled { + mi := &file_auth_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (m *StrategyResources) XXX_Size() int { - return xxx_messageInfo_StrategyResources.Size(m) + +func (x *StrategyResources) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *StrategyResources) XXX_DiscardUnknown() { - xxx_messageInfo_StrategyResources.DiscardUnknown(m) + +func (*StrategyResources) ProtoMessage() {} + +func (x *StrategyResources) ProtoReflect() protoreflect.Message { + mi := &file_auth_proto_msgTypes[11] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) } -var xxx_messageInfo_StrategyResources proto.InternalMessageInfo +// Deprecated: Use StrategyResources.ProtoReflect.Descriptor instead. +func (*StrategyResources) Descriptor() ([]byte, []int) { + return file_auth_proto_rawDescGZIP(), []int{11} +} -func (m *StrategyResources) GetStrategyId() *wrapperspb.StringValue { - if m != nil { - return m.StrategyId +func (x *StrategyResources) GetStrategyId() *wrapperspb.StringValue { + if x != nil { + return x.StrategyId } return nil } -func (m *StrategyResources) GetNamespaces() []*StrategyResourceEntry { - if m != nil { - return m.Namespaces +func (x *StrategyResources) GetNamespaces() []*StrategyResourceEntry { + if x != nil { + return x.Namespaces } return nil } -func (m *StrategyResources) GetServices() []*StrategyResourceEntry { - if m != nil { - return m.Services +func (x *StrategyResources) GetServices() []*StrategyResourceEntry { + if x != nil { + return x.Services } return nil } -func (m *StrategyResources) GetConfigGroups() []*StrategyResourceEntry { - if m != nil { - return m.ConfigGroups +func (x *StrategyResources) GetConfigGroups() []*StrategyResourceEntry { + if x != nil { + return x.ConfigGroups } return nil } -func (m *StrategyResources) GetRouteRules() []*StrategyResourceEntry { - if m != nil { - return m.RouteRules +func (x *StrategyResources) GetRouteRules() []*StrategyResourceEntry { + if x != nil { + return x.RouteRules } return nil } -func (m *StrategyResources) GetRatelimitRules() []*StrategyResourceEntry { - if m != nil { - return m.RatelimitRules +func (x *StrategyResources) GetRatelimitRules() []*StrategyResourceEntry { + if x != nil { + return x.RatelimitRules } return nil } -func (m *StrategyResources) GetCircuitbreakerRules() []*StrategyResourceEntry { - if m != nil { - return m.CircuitbreakerRules +func (x *StrategyResources) GetCircuitbreakerRules() []*StrategyResourceEntry { + if x != nil { + return x.CircuitbreakerRules } return nil } -func (m *StrategyResources) GetFaultdetectRules() []*StrategyResourceEntry { - if m != nil { - return m.FaultdetectRules +func (x *StrategyResources) GetFaultdetectRules() []*StrategyResourceEntry { + if x != nil { + return x.FaultdetectRules } return nil } -func (m *StrategyResources) GetLaneRules() []*StrategyResourceEntry { - if m != nil { - return m.LaneRules +func (x *StrategyResources) GetLaneRules() []*StrategyResourceEntry { + if x != nil { + return x.LaneRules } return nil } -func (m *StrategyResources) GetUsers() []*StrategyResourceEntry { - if m != nil { - return m.Users +func (x *StrategyResources) GetUsers() []*StrategyResourceEntry { + if x != nil { + return x.Users } return nil } -func (m *StrategyResources) GetUserGroups() []*StrategyResourceEntry { - if m != nil { - return m.UserGroups +func (x *StrategyResources) GetUserGroups() []*StrategyResourceEntry { + if x != nil { + return x.UserGroups } return nil } -func (m *StrategyResources) GetRoles() []*StrategyResourceEntry { - if m != nil { - return m.Roles +func (x *StrategyResources) GetRoles() []*StrategyResourceEntry { + if x != nil { + return x.Roles } return nil } -func (m *StrategyResources) GetAuthPolicies() []*StrategyResourceEntry { - if m != nil { - return m.AuthPolicies +func (x *StrategyResources) GetAuthPolicies() []*StrategyResourceEntry { + if x != nil { + return x.AuthPolicies } return nil } type StrategyResourceLabel struct { - Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` - Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` - CompareType string `protobuf:"bytes,3,opt,name=compare_type,proto3" json:"compare_type,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields -func (m *StrategyResourceLabel) Reset() { *m = StrategyResourceLabel{} } -func (m *StrategyResourceLabel) String() string { return proto.CompactTextString(m) } -func (*StrategyResourceLabel) ProtoMessage() {} -func (*StrategyResourceLabel) Descriptor() ([]byte, []int) { - return fileDescriptor_auth_2543522910fa735a, []int{12} -} -func (m *StrategyResourceLabel) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_StrategyResourceLabel.Unmarshal(m, b) + Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` + Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` + CompareType string `protobuf:"bytes,3,opt,name=compare_type,proto3" json:"compare_type,omitempty"` } -func (m *StrategyResourceLabel) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_StrategyResourceLabel.Marshal(b, m, deterministic) -} -func (dst *StrategyResourceLabel) XXX_Merge(src proto.Message) { - xxx_messageInfo_StrategyResourceLabel.Merge(dst, src) + +func (x *StrategyResourceLabel) Reset() { + *x = StrategyResourceLabel{} + if protoimpl.UnsafeEnabled { + mi := &file_auth_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (m *StrategyResourceLabel) XXX_Size() int { - return xxx_messageInfo_StrategyResourceLabel.Size(m) + +func (x *StrategyResourceLabel) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *StrategyResourceLabel) XXX_DiscardUnknown() { - xxx_messageInfo_StrategyResourceLabel.DiscardUnknown(m) + +func (*StrategyResourceLabel) ProtoMessage() {} + +func (x *StrategyResourceLabel) ProtoReflect() protoreflect.Message { + mi := &file_auth_proto_msgTypes[12] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) } -var xxx_messageInfo_StrategyResourceLabel proto.InternalMessageInfo +// Deprecated: Use StrategyResourceLabel.ProtoReflect.Descriptor instead. +func (*StrategyResourceLabel) Descriptor() ([]byte, []int) { + return file_auth_proto_rawDescGZIP(), []int{12} +} -func (m *StrategyResourceLabel) GetKey() string { - if m != nil { - return m.Key +func (x *StrategyResourceLabel) GetKey() string { + if x != nil { + return x.Key } return "" } -func (m *StrategyResourceLabel) GetValue() string { - if m != nil { - return m.Value +func (x *StrategyResourceLabel) GetValue() string { + if x != nil { + return x.Value } return "" } -func (m *StrategyResourceLabel) GetCompareType() string { - if m != nil { - return m.CompareType +func (x *StrategyResourceLabel) GetCompareType() string { + if x != nil { + return x.CompareType } return "" } type AuthStrategy struct { - Id *wrapperspb.StringValue `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - Name *wrapperspb.StringValue `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` - Principals *Principals `protobuf:"bytes,3,opt,name=principals,proto3" json:"principals,omitempty"` - Resources *StrategyResources `protobuf:"bytes,4,opt,name=resources,proto3" json:"resources,omitempty"` - Action AuthAction `protobuf:"varint,5,opt,name=action,proto3,enum=v1.AuthAction" json:"action,omitempty"` - Comment *wrapperspb.StringValue `protobuf:"bytes,6,opt,name=comment,proto3" json:"comment,omitempty"` - Owner *wrapperspb.StringValue `protobuf:"bytes,7,opt,name=owner,proto3" json:"owner,omitempty"` - Ctime *wrapperspb.StringValue `protobuf:"bytes,8,opt,name=ctime,proto3" json:"ctime,omitempty"` - Mtime *wrapperspb.StringValue `protobuf:"bytes,9,opt,name=mtime,proto3" json:"mtime,omitempty"` - AuthToken *wrapperspb.StringValue `protobuf:"bytes,10,opt,name=auth_token,proto3" json:"auth_token,omitempty"` - DefaultStrategy *wrapperspb.BoolValue `protobuf:"bytes,11,opt,name=default_strategy,proto3" json:"default_strategy,omitempty"` - Metadata map[string]string `protobuf:"bytes,12,rep,name=metadata,proto3" json:"metadata,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` - Source *wrapperspb.StringValue `protobuf:"bytes,13,opt,name=source,proto3" json:"source,omitempty"` - Functions []string `protobuf:"bytes,14,rep,name=functions,proto3" json:"functions,omitempty"` - ResourceLabels []*StrategyResourceLabel `protobuf:"bytes,15,rep,name=resource_labels,proto3" json:"resource_labels,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *AuthStrategy) Reset() { *m = AuthStrategy{} } -func (m *AuthStrategy) String() string { return proto.CompactTextString(m) } -func (*AuthStrategy) ProtoMessage() {} -func (*AuthStrategy) Descriptor() ([]byte, []int) { - return fileDescriptor_auth_2543522910fa735a, []int{13} -} -func (m *AuthStrategy) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_AuthStrategy.Unmarshal(m, b) -} -func (m *AuthStrategy) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_AuthStrategy.Marshal(b, m, deterministic) + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id *wrapperspb.StringValue `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Name *wrapperspb.StringValue `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + Principals *Principals `protobuf:"bytes,3,opt,name=principals,proto3" json:"principals,omitempty"` + Resources *StrategyResources `protobuf:"bytes,4,opt,name=resources,proto3" json:"resources,omitempty"` + Action AuthAction `protobuf:"varint,5,opt,name=action,proto3,enum=v1.AuthAction" json:"action,omitempty"` + Comment *wrapperspb.StringValue `protobuf:"bytes,6,opt,name=comment,proto3" json:"comment,omitempty"` + Owner *wrapperspb.StringValue `protobuf:"bytes,7,opt,name=owner,proto3" json:"owner,omitempty"` + Ctime *wrapperspb.StringValue `protobuf:"bytes,8,opt,name=ctime,proto3" json:"ctime,omitempty"` + Mtime *wrapperspb.StringValue `protobuf:"bytes,9,opt,name=mtime,proto3" json:"mtime,omitempty"` + AuthToken *wrapperspb.StringValue `protobuf:"bytes,10,opt,name=auth_token,proto3" json:"auth_token,omitempty"` + DefaultStrategy *wrapperspb.BoolValue `protobuf:"bytes,11,opt,name=default_strategy,proto3" json:"default_strategy,omitempty"` + Metadata map[string]string `protobuf:"bytes,12,rep,name=metadata,proto3" json:"metadata,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + Source *wrapperspb.StringValue `protobuf:"bytes,13,opt,name=source,proto3" json:"source,omitempty"` + Functions []string `protobuf:"bytes,14,rep,name=functions,proto3" json:"functions,omitempty"` + ResourceLabels []*StrategyResourceLabel `protobuf:"bytes,15,rep,name=resource_labels,proto3" json:"resource_labels,omitempty"` } -func (dst *AuthStrategy) XXX_Merge(src proto.Message) { - xxx_messageInfo_AuthStrategy.Merge(dst, src) + +func (x *AuthStrategy) Reset() { + *x = AuthStrategy{} + if protoimpl.UnsafeEnabled { + mi := &file_auth_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (m *AuthStrategy) XXX_Size() int { - return xxx_messageInfo_AuthStrategy.Size(m) + +func (x *AuthStrategy) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *AuthStrategy) XXX_DiscardUnknown() { - xxx_messageInfo_AuthStrategy.DiscardUnknown(m) + +func (*AuthStrategy) ProtoMessage() {} + +func (x *AuthStrategy) ProtoReflect() protoreflect.Message { + mi := &file_auth_proto_msgTypes[13] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) } -var xxx_messageInfo_AuthStrategy proto.InternalMessageInfo +// Deprecated: Use AuthStrategy.ProtoReflect.Descriptor instead. +func (*AuthStrategy) Descriptor() ([]byte, []int) { + return file_auth_proto_rawDescGZIP(), []int{13} +} -func (m *AuthStrategy) GetId() *wrapperspb.StringValue { - if m != nil { - return m.Id +func (x *AuthStrategy) GetId() *wrapperspb.StringValue { + if x != nil { + return x.Id } return nil } -func (m *AuthStrategy) GetName() *wrapperspb.StringValue { - if m != nil { - return m.Name +func (x *AuthStrategy) GetName() *wrapperspb.StringValue { + if x != nil { + return x.Name } return nil } -func (m *AuthStrategy) GetPrincipals() *Principals { - if m != nil { - return m.Principals +func (x *AuthStrategy) GetPrincipals() *Principals { + if x != nil { + return x.Principals } return nil } -func (m *AuthStrategy) GetResources() *StrategyResources { - if m != nil { - return m.Resources +func (x *AuthStrategy) GetResources() *StrategyResources { + if x != nil { + return x.Resources } return nil } -func (m *AuthStrategy) GetAction() AuthAction { - if m != nil { - return m.Action +func (x *AuthStrategy) GetAction() AuthAction { + if x != nil { + return x.Action } return AuthAction_ONLY_READ } -func (m *AuthStrategy) GetComment() *wrapperspb.StringValue { - if m != nil { - return m.Comment +func (x *AuthStrategy) GetComment() *wrapperspb.StringValue { + if x != nil { + return x.Comment } return nil } -func (m *AuthStrategy) GetOwner() *wrapperspb.StringValue { - if m != nil { - return m.Owner +func (x *AuthStrategy) GetOwner() *wrapperspb.StringValue { + if x != nil { + return x.Owner } return nil } -func (m *AuthStrategy) GetCtime() *wrapperspb.StringValue { - if m != nil { - return m.Ctime +func (x *AuthStrategy) GetCtime() *wrapperspb.StringValue { + if x != nil { + return x.Ctime } return nil } -func (m *AuthStrategy) GetMtime() *wrapperspb.StringValue { - if m != nil { - return m.Mtime +func (x *AuthStrategy) GetMtime() *wrapperspb.StringValue { + if x != nil { + return x.Mtime } return nil } -func (m *AuthStrategy) GetAuthToken() *wrapperspb.StringValue { - if m != nil { - return m.AuthToken +func (x *AuthStrategy) GetAuthToken() *wrapperspb.StringValue { + if x != nil { + return x.AuthToken } return nil } -func (m *AuthStrategy) GetDefaultStrategy() *wrapperspb.BoolValue { - if m != nil { - return m.DefaultStrategy +func (x *AuthStrategy) GetDefaultStrategy() *wrapperspb.BoolValue { + if x != nil { + return x.DefaultStrategy } return nil } -func (m *AuthStrategy) GetMetadata() map[string]string { - if m != nil { - return m.Metadata +func (x *AuthStrategy) GetMetadata() map[string]string { + if x != nil { + return x.Metadata } return nil } -func (m *AuthStrategy) GetSource() *wrapperspb.StringValue { - if m != nil { - return m.Source +func (x *AuthStrategy) GetSource() *wrapperspb.StringValue { + if x != nil { + return x.Source } return nil } -func (m *AuthStrategy) GetFunctions() []string { - if m != nil { - return m.Functions +func (x *AuthStrategy) GetFunctions() []string { + if x != nil { + return x.Functions } return nil } -func (m *AuthStrategy) GetResourceLabels() []*StrategyResourceLabel { - if m != nil { - return m.ResourceLabels +func (x *AuthStrategy) GetResourceLabels() []*StrategyResourceLabel { + if x != nil { + return x.ResourceLabels } return nil } type ModifyAuthStrategy struct { - Id *wrapperspb.StringValue `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - Name *wrapperspb.StringValue `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` - AddPrincipals *Principals `protobuf:"bytes,3,opt,name=add_principals,proto3" json:"add_principals,omitempty"` - RemovePrincipals *Principals `protobuf:"bytes,4,opt,name=remove_principals,proto3" json:"remove_principals,omitempty"` - AddResources *StrategyResources `protobuf:"bytes,5,opt,name=add_resources,proto3" json:"add_resources,omitempty"` - RemoveResources *StrategyResources `protobuf:"bytes,6,opt,name=remove_resources,proto3" json:"remove_resources,omitempty"` - Action AuthAction `protobuf:"varint,7,opt,name=action,proto3,enum=v1.AuthAction" json:"action,omitempty"` - Comment *wrapperspb.StringValue `protobuf:"bytes,8,opt,name=comment,proto3" json:"comment,omitempty"` - Owner *wrapperspb.StringValue `protobuf:"bytes,9,opt,name=owner,proto3" json:"owner,omitempty"` - Metadata map[string]string `protobuf:"bytes,12,rep,name=metadata,proto3" json:"metadata,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` - Source *wrapperspb.StringValue `protobuf:"bytes,13,opt,name=source,proto3" json:"source,omitempty"` - Functions []string `protobuf:"bytes,14,rep,name=functions,proto3" json:"functions,omitempty"` - ResourceLabels []*StrategyResourceLabel `protobuf:"bytes,15,rep,name=resource_labels,proto3" json:"resource_labels,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *ModifyAuthStrategy) Reset() { *m = ModifyAuthStrategy{} } -func (m *ModifyAuthStrategy) String() string { return proto.CompactTextString(m) } -func (*ModifyAuthStrategy) ProtoMessage() {} -func (*ModifyAuthStrategy) Descriptor() ([]byte, []int) { - return fileDescriptor_auth_2543522910fa735a, []int{14} -} -func (m *ModifyAuthStrategy) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_ModifyAuthStrategy.Unmarshal(m, b) -} -func (m *ModifyAuthStrategy) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_ModifyAuthStrategy.Marshal(b, m, deterministic) + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id *wrapperspb.StringValue `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Name *wrapperspb.StringValue `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + AddPrincipals *Principals `protobuf:"bytes,3,opt,name=add_principals,proto3" json:"add_principals,omitempty"` + RemovePrincipals *Principals `protobuf:"bytes,4,opt,name=remove_principals,proto3" json:"remove_principals,omitempty"` + AddResources *StrategyResources `protobuf:"bytes,5,opt,name=add_resources,proto3" json:"add_resources,omitempty"` + RemoveResources *StrategyResources `protobuf:"bytes,6,opt,name=remove_resources,proto3" json:"remove_resources,omitempty"` + Action AuthAction `protobuf:"varint,7,opt,name=action,proto3,enum=v1.AuthAction" json:"action,omitempty"` + Comment *wrapperspb.StringValue `protobuf:"bytes,8,opt,name=comment,proto3" json:"comment,omitempty"` + Owner *wrapperspb.StringValue `protobuf:"bytes,9,opt,name=owner,proto3" json:"owner,omitempty"` + Metadata map[string]string `protobuf:"bytes,12,rep,name=metadata,proto3" json:"metadata,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + Source *wrapperspb.StringValue `protobuf:"bytes,13,opt,name=source,proto3" json:"source,omitempty"` + Functions []string `protobuf:"bytes,14,rep,name=functions,proto3" json:"functions,omitempty"` + ResourceLabels []*StrategyResourceLabel `protobuf:"bytes,15,rep,name=resource_labels,proto3" json:"resource_labels,omitempty"` } -func (dst *ModifyAuthStrategy) XXX_Merge(src proto.Message) { - xxx_messageInfo_ModifyAuthStrategy.Merge(dst, src) + +func (x *ModifyAuthStrategy) Reset() { + *x = ModifyAuthStrategy{} + if protoimpl.UnsafeEnabled { + mi := &file_auth_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (m *ModifyAuthStrategy) XXX_Size() int { - return xxx_messageInfo_ModifyAuthStrategy.Size(m) + +func (x *ModifyAuthStrategy) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *ModifyAuthStrategy) XXX_DiscardUnknown() { - xxx_messageInfo_ModifyAuthStrategy.DiscardUnknown(m) + +func (*ModifyAuthStrategy) ProtoMessage() {} + +func (x *ModifyAuthStrategy) ProtoReflect() protoreflect.Message { + mi := &file_auth_proto_msgTypes[14] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) } -var xxx_messageInfo_ModifyAuthStrategy proto.InternalMessageInfo +// Deprecated: Use ModifyAuthStrategy.ProtoReflect.Descriptor instead. +func (*ModifyAuthStrategy) Descriptor() ([]byte, []int) { + return file_auth_proto_rawDescGZIP(), []int{14} +} -func (m *ModifyAuthStrategy) GetId() *wrapperspb.StringValue { - if m != nil { - return m.Id +func (x *ModifyAuthStrategy) GetId() *wrapperspb.StringValue { + if x != nil { + return x.Id } return nil } -func (m *ModifyAuthStrategy) GetName() *wrapperspb.StringValue { - if m != nil { - return m.Name +func (x *ModifyAuthStrategy) GetName() *wrapperspb.StringValue { + if x != nil { + return x.Name } return nil } -func (m *ModifyAuthStrategy) GetAddPrincipals() *Principals { - if m != nil { - return m.AddPrincipals +func (x *ModifyAuthStrategy) GetAddPrincipals() *Principals { + if x != nil { + return x.AddPrincipals } return nil } -func (m *ModifyAuthStrategy) GetRemovePrincipals() *Principals { - if m != nil { - return m.RemovePrincipals +func (x *ModifyAuthStrategy) GetRemovePrincipals() *Principals { + if x != nil { + return x.RemovePrincipals } return nil } -func (m *ModifyAuthStrategy) GetAddResources() *StrategyResources { - if m != nil { - return m.AddResources +func (x *ModifyAuthStrategy) GetAddResources() *StrategyResources { + if x != nil { + return x.AddResources } return nil } -func (m *ModifyAuthStrategy) GetRemoveResources() *StrategyResources { - if m != nil { - return m.RemoveResources +func (x *ModifyAuthStrategy) GetRemoveResources() *StrategyResources { + if x != nil { + return x.RemoveResources } return nil } -func (m *ModifyAuthStrategy) GetAction() AuthAction { - if m != nil { - return m.Action +func (x *ModifyAuthStrategy) GetAction() AuthAction { + if x != nil { + return x.Action } return AuthAction_ONLY_READ } -func (m *ModifyAuthStrategy) GetComment() *wrapperspb.StringValue { - if m != nil { - return m.Comment +func (x *ModifyAuthStrategy) GetComment() *wrapperspb.StringValue { + if x != nil { + return x.Comment } return nil } -func (m *ModifyAuthStrategy) GetOwner() *wrapperspb.StringValue { - if m != nil { - return m.Owner - } - return nil -} +func (x *ModifyAuthStrategy) GetOwner() *wrapperspb.StringValue { + if x != nil { + return x.Owner + } + return nil +} + +func (x *ModifyAuthStrategy) GetMetadata() map[string]string { + if x != nil { + return x.Metadata + } + return nil +} + +func (x *ModifyAuthStrategy) GetSource() *wrapperspb.StringValue { + if x != nil { + return x.Source + } + return nil +} + +func (x *ModifyAuthStrategy) GetFunctions() []string { + if x != nil { + return x.Functions + } + return nil +} + +func (x *ModifyAuthStrategy) GetResourceLabels() []*StrategyResourceLabel { + if x != nil { + return x.ResourceLabels + } + return nil +} + +var File_auth_proto protoreflect.FileDescriptor + +var file_auth_proto_rawDesc = []byte{ + 0x0a, 0x0a, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x02, 0x76, 0x31, + 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x22, 0xa3, 0x02, 0x0a, 0x0c, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x32, 0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, + 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x30, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x38, 0x0a, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, + 0x6f, 0x72, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, + 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, + 0x64, 0x12, 0x37, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x3a, 0x0a, 0x0c, 0x4f, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, + 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x8f, 0x03, 0x0a, 0x0d, 0x4c, 0x6f, 0x67, 0x69, 0x6e, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x36, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, + 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, + 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, + 0x12, 0x30, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x12, 0x30, 0x0a, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x04, + 0x72, 0x6f, 0x6c, 0x65, 0x12, 0x38, 0x0a, 0x08, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x5f, 0x69, 0x64, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x12, 0x32, + 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x74, 0x6f, 0x6b, + 0x65, 0x6e, 0x12, 0x38, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x06, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x3a, 0x0a, 0x0c, + 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, + 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, + 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xbf, 0x06, 0x0a, 0x04, 0x55, 0x73, 0x65, + 0x72, 0x12, 0x2c, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x02, 0x69, 0x64, 0x12, + 0x30, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x12, 0x38, 0x0a, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x52, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x32, 0x0a, 0x05, 0x6f, + 0x77, 0x6e, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, + 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x12, + 0x34, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x06, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x3c, 0x0a, 0x0a, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x74, 0x6f, + 0x6b, 0x65, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, + 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0a, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x74, 0x6f, + 0x6b, 0x65, 0x6e, 0x12, 0x3e, 0x0a, 0x0c, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x65, 0x6e, 0x61, + 0x62, 0x6c, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, + 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0c, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x65, 0x6e, 0x61, + 0x62, 0x6c, 0x65, 0x12, 0x36, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x08, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x32, 0x0a, 0x05, 0x63, + 0x74, 0x69, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, + 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x63, 0x74, 0x69, 0x6d, 0x65, 0x12, + 0x32, 0x0a, 0x05, 0x6d, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x6d, 0x74, + 0x69, 0x6d, 0x65, 0x12, 0x3a, 0x0a, 0x09, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, + 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x52, 0x09, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x12, + 0x34, 0x0a, 0x06, 0x6d, 0x6f, 0x62, 0x69, 0x6c, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x06, 0x6d, + 0x6f, 0x62, 0x69, 0x6c, 0x65, 0x12, 0x32, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x0d, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x32, 0x0a, 0x08, 0x6d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x76, 0x31, + 0x2e, 0x55, 0x73, 0x65, 0x72, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x3b, 0x0a, + 0x0d, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, + 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, + 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xc6, 0x01, 0x0a, 0x12, 0x4d, + 0x6f, 0x64, 0x69, 0x66, 0x79, 0x55, 0x73, 0x65, 0x72, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, + 0x64, 0x12, 0x2c, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x02, 0x69, 0x64, 0x12, + 0x40, 0x0a, 0x0c, 0x6f, 0x6c, 0x64, 0x5f, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x52, 0x0c, 0x6f, 0x6c, 0x64, 0x5f, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, + 0x64, 0x12, 0x40, 0x0a, 0x0c, 0x6e, 0x65, 0x77, 0x5f, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, + 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, + 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0c, 0x6e, 0x65, 0x77, 0x5f, 0x70, 0x61, 0x73, 0x73, 0x77, + 0x6f, 0x72, 0x64, 0x22, 0x6d, 0x0a, 0x11, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, + 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x38, 0x0a, 0x08, 0x67, 0x72, 0x6f, 0x75, + 0x70, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, + 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, + 0x69, 0x64, 0x12, 0x1e, 0x0a, 0x05, 0x75, 0x73, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x08, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x05, 0x75, 0x73, 0x65, + 0x72, 0x73, 0x22, 0xda, 0x05, 0x0a, 0x09, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, + 0x12, 0x2c, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, + 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x02, 0x69, 0x64, 0x12, 0x30, + 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, + 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x12, 0x32, 0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x6f, + 0x77, 0x6e, 0x65, 0x72, 0x12, 0x3c, 0x0a, 0x0a, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x74, 0x6f, 0x6b, + 0x65, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, + 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0a, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x74, 0x6f, 0x6b, + 0x65, 0x6e, 0x12, 0x3e, 0x0a, 0x0c, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x65, 0x6e, 0x61, 0x62, + 0x6c, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0c, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x65, 0x6e, 0x61, 0x62, + 0x6c, 0x65, 0x12, 0x36, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x32, 0x0a, 0x05, 0x63, 0x74, + 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, + 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x63, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x32, + 0x0a, 0x05, 0x6d, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x6d, 0x74, 0x69, + 0x6d, 0x65, 0x12, 0x31, 0x0a, 0x08, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x09, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, + 0x6f, 0x75, 0x70, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x72, 0x65, 0x6c, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3c, 0x0a, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, + 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x12, 0x34, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x0b, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x37, 0x0a, 0x08, 0x6d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x76, 0x31, + 0x2e, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0x1a, 0x3b, 0x0a, 0x0d, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, + 0x8d, 0x05, 0x0a, 0x0f, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, + 0x6f, 0x75, 0x70, 0x12, 0x2c, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x02, 0x69, + 0x64, 0x12, 0x32, 0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, + 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x30, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x3c, 0x0a, 0x0a, 0x61, 0x75, 0x74, 0x68, 0x5f, + 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, + 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0a, 0x61, 0x75, 0x74, 0x68, 0x5f, + 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x3e, 0x0a, 0x0c, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x65, + 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, + 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0c, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x65, + 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x36, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x3b, 0x0a, + 0x0d, 0x61, 0x64, 0x64, 0x5f, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x07, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, + 0x6f, 0x75, 0x70, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0d, 0x61, 0x64, 0x64, + 0x5f, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x41, 0x0a, 0x10, 0x72, 0x65, + 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x08, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, + 0x6f, 0x75, 0x70, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x10, 0x72, 0x65, 0x6d, + 0x6f, 0x76, 0x65, 0x5f, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x3d, 0x0a, + 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x21, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x55, 0x73, 0x65, 0x72, 0x47, + 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x34, 0x0a, 0x06, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, + 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x1a, 0x3b, 0x0a, 0x0d, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, + 0x84, 0x03, 0x0a, 0x04, 0x52, 0x6f, 0x6c, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, + 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x77, 0x6e, + 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x64, 0x65, + 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x72, 0x6f, 0x6c, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x0c, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x72, 0x6f, 0x6c, 0x65, 0x12, 0x32, + 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x16, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x6f, 0x6c, 0x65, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x08, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, + 0x63, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x63, 0x74, 0x69, + 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x05, 0x6d, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x05, 0x75, 0x73, 0x65, 0x72, + 0x73, 0x18, 0x14, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x08, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, + 0x72, 0x52, 0x05, 0x75, 0x73, 0x65, 0x72, 0x73, 0x12, 0x2f, 0x0a, 0x0b, 0x75, 0x73, 0x65, 0x72, + 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x18, 0x15, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, + 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x0b, 0x75, 0x73, + 0x65, 0x72, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x1a, 0x3b, 0x0a, 0x0d, 0x4d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, + 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x6b, 0x0a, 0x09, 0x50, 0x72, 0x69, 0x6e, 0x63, 0x69, + 0x70, 0x61, 0x6c, 0x12, 0x2c, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x02, 0x69, + 0x64, 0x12, 0x30, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x22, 0x7d, 0x0a, 0x0a, 0x50, 0x72, 0x69, 0x6e, 0x63, 0x69, 0x70, 0x61, 0x6c, + 0x73, 0x12, 0x23, 0x0a, 0x05, 0x75, 0x73, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x0d, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x69, 0x6e, 0x63, 0x69, 0x70, 0x61, 0x6c, 0x52, + 0x05, 0x75, 0x73, 0x65, 0x72, 0x73, 0x12, 0x25, 0x0a, 0x06, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, + 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x69, 0x6e, + 0x63, 0x69, 0x70, 0x61, 0x6c, 0x52, 0x06, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x12, 0x23, 0x0a, + 0x05, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x76, + 0x31, 0x2e, 0x50, 0x72, 0x69, 0x6e, 0x63, 0x69, 0x70, 0x61, 0x6c, 0x52, 0x05, 0x72, 0x6f, 0x6c, + 0x65, 0x73, 0x22, 0xb3, 0x01, 0x0a, 0x15, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x52, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x2c, 0x0a, 0x02, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, + 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x02, 0x69, 0x64, 0x12, 0x3a, 0x0a, 0x09, 0x6e, 0x61, + 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x09, 0x6e, 0x61, 0x6d, + 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x30, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xbb, 0x06, 0x0a, 0x11, 0x53, 0x74, 0x72, + 0x61, 0x74, 0x65, 0x67, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x3e, + 0x0a, 0x0b, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x52, 0x0b, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x5f, 0x69, 0x64, 0x12, 0x39, + 0x0a, 0x0a, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, + 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x6e, + 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x12, 0x35, 0x0a, 0x08, 0x73, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x76, 0x31, + 0x2e, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, + 0x12, 0x3f, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, + 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x72, + 0x61, 0x74, 0x65, 0x67, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, + 0x73, 0x12, 0x3b, 0x0a, 0x0b, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, + 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x61, + 0x74, 0x65, 0x67, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x52, 0x0b, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x43, + 0x0a, 0x0f, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x72, 0x75, 0x6c, 0x65, + 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x72, + 0x61, 0x74, 0x65, 0x67, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x52, 0x0f, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x72, 0x75, + 0x6c, 0x65, 0x73, 0x12, 0x4d, 0x0a, 0x14, 0x63, 0x69, 0x72, 0x63, 0x75, 0x69, 0x74, 0x62, 0x72, + 0x65, 0x61, 0x6b, 0x65, 0x72, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x19, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x52, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x14, 0x63, 0x69, + 0x72, 0x63, 0x75, 0x69, 0x74, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x5f, 0x72, 0x75, 0x6c, + 0x65, 0x73, 0x12, 0x47, 0x0a, 0x11, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x64, 0x65, 0x74, 0x65, 0x63, + 0x74, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, + 0x76, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x11, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x64, + 0x65, 0x74, 0x65, 0x63, 0x74, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x39, 0x0a, 0x0a, 0x6c, + 0x61, 0x6e, 0x65, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x19, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x52, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x6c, 0x61, 0x6e, 0x65, + 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x2f, 0x0a, 0x05, 0x75, 0x73, 0x65, 0x72, 0x73, 0x18, + 0x15, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x61, 0x74, + 0x65, 0x67, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x52, 0x05, 0x75, 0x73, 0x65, 0x72, 0x73, 0x12, 0x3b, 0x0a, 0x0b, 0x75, 0x73, 0x65, 0x72, 0x5f, + 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x18, 0x16, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x76, + 0x31, 0x2e, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0b, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x67, 0x72, + 0x6f, 0x75, 0x70, 0x73, 0x12, 0x2f, 0x0a, 0x05, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x18, 0x17, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, + 0x79, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, + 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x12, 0x3f, 0x0a, 0x0d, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x70, 0x6f, + 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x18, 0x18, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x76, + 0x31, 0x2e, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0d, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x70, 0x6f, + 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x22, 0x63, 0x0a, 0x15, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, + 0x67, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x12, + 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, + 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x63, 0x6f, 0x6d, 0x70, 0x61, + 0x72, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, + 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0xe7, 0x06, 0x0a, 0x0c, + 0x41, 0x75, 0x74, 0x68, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x12, 0x2c, 0x0a, 0x02, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, + 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x02, 0x69, 0x64, 0x12, 0x30, 0x0a, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, + 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2e, 0x0a, 0x0a, + 0x70, 0x72, 0x69, 0x6e, 0x63, 0x69, 0x70, 0x61, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x0e, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x69, 0x6e, 0x63, 0x69, 0x70, 0x61, 0x6c, 0x73, + 0x52, 0x0a, 0x70, 0x72, 0x69, 0x6e, 0x63, 0x69, 0x70, 0x61, 0x6c, 0x73, 0x12, 0x33, 0x0a, 0x09, + 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x15, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x52, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x52, 0x09, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x73, 0x12, 0x26, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x0e, 0x32, 0x0e, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x41, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x36, 0x0a, 0x07, 0x63, 0x6f, 0x6d, + 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, + 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, + 0x74, 0x12, 0x32, 0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, + 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x32, 0x0a, 0x05, 0x63, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x08, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x52, 0x05, 0x63, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x32, 0x0a, 0x05, 0x6d, 0x74, 0x69, + 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, + 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x6d, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x3c, 0x0a, + 0x0a, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, + 0x0a, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x46, 0x0a, 0x10, 0x64, + 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x18, + 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x52, 0x10, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x73, 0x74, 0x72, 0x61, 0x74, + 0x65, 0x67, 0x79, 0x12, 0x3a, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, + 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x53, + 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, + 0x34, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x06, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x12, 0x43, 0x0a, 0x0f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, + 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x76, + 0x31, 0x2e, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x52, 0x0f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x1a, 0x3b, 0x0a, 0x0d, 0x4d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x96, 0x06, 0x0a, 0x12, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, + 0x41, 0x75, 0x74, 0x68, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x12, 0x2c, 0x0a, 0x02, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, + 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x02, 0x69, 0x64, 0x12, 0x30, 0x0a, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, + 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x36, 0x0a, 0x0e, + 0x61, 0x64, 0x64, 0x5f, 0x70, 0x72, 0x69, 0x6e, 0x63, 0x69, 0x70, 0x61, 0x6c, 0x73, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x69, 0x6e, 0x63, 0x69, + 0x70, 0x61, 0x6c, 0x73, 0x52, 0x0e, 0x61, 0x64, 0x64, 0x5f, 0x70, 0x72, 0x69, 0x6e, 0x63, 0x69, + 0x70, 0x61, 0x6c, 0x73, 0x12, 0x3c, 0x0a, 0x11, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x70, + 0x72, 0x69, 0x6e, 0x63, 0x69, 0x70, 0x61, 0x6c, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x0e, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x69, 0x6e, 0x63, 0x69, 0x70, 0x61, 0x6c, 0x73, 0x52, + 0x11, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x70, 0x72, 0x69, 0x6e, 0x63, 0x69, 0x70, 0x61, + 0x6c, 0x73, 0x12, 0x3b, 0x0a, 0x0d, 0x61, 0x64, 0x64, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x76, 0x31, 0x2e, 0x53, + 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, + 0x52, 0x0d, 0x61, 0x64, 0x64, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, + 0x41, 0x0a, 0x10, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x76, 0x31, 0x2e, 0x53, + 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, + 0x52, 0x10, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x73, 0x12, 0x26, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x0e, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x41, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x36, 0x0a, 0x07, 0x63, 0x6f, + 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, + 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, + 0x6e, 0x74, 0x12, 0x32, 0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, + 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x40, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x6f, + 0x64, 0x69, 0x66, 0x79, 0x41, 0x75, 0x74, 0x68, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, + 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, + 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x34, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, + 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x1c, + 0x0a, 0x09, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0e, 0x20, 0x03, 0x28, + 0x09, 0x52, 0x09, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x43, 0x0a, 0x0f, + 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, + 0x0f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x61, 0x74, + 0x65, 0x67, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4c, 0x61, 0x62, 0x65, 0x6c, + 0x52, 0x0f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, + 0x73, 0x1a, 0x3b, 0x0a, 0x0d, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x2a, 0x40, + 0x0a, 0x0a, 0x41, 0x75, 0x74, 0x68, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0d, 0x0a, 0x09, + 0x4f, 0x4e, 0x4c, 0x59, 0x5f, 0x52, 0x45, 0x41, 0x44, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x52, + 0x45, 0x41, 0x44, 0x5f, 0x57, 0x52, 0x49, 0x54, 0x45, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x41, + 0x4c, 0x4c, 0x4f, 0x57, 0x10, 0x0a, 0x12, 0x08, 0x0a, 0x04, 0x44, 0x45, 0x4e, 0x59, 0x10, 0x0b, + 0x2a, 0xd7, 0x01, 0x0a, 0x0c, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, + 0x65, 0x12, 0x0e, 0x0a, 0x0a, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x10, + 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x10, 0x01, 0x12, + 0x10, 0x0a, 0x0c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x10, + 0x02, 0x12, 0x0e, 0x0a, 0x0a, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x10, + 0x03, 0x12, 0x12, 0x0a, 0x0e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x52, 0x75, + 0x6c, 0x65, 0x73, 0x10, 0x04, 0x12, 0x17, 0x0a, 0x13, 0x43, 0x69, 0x72, 0x63, 0x75, 0x69, 0x74, + 0x42, 0x72, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x10, 0x05, 0x12, 0x14, + 0x0a, 0x10, 0x46, 0x61, 0x75, 0x6c, 0x74, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x52, 0x75, 0x6c, + 0x65, 0x73, 0x10, 0x06, 0x12, 0x0d, 0x0a, 0x09, 0x4c, 0x61, 0x6e, 0x65, 0x52, 0x75, 0x6c, 0x65, + 0x73, 0x10, 0x07, 0x12, 0x09, 0x0a, 0x05, 0x55, 0x73, 0x65, 0x72, 0x73, 0x10, 0x14, 0x12, 0x0e, + 0x0a, 0x0a, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x10, 0x15, 0x12, 0x09, + 0x0a, 0x05, 0x52, 0x6f, 0x6c, 0x65, 0x73, 0x10, 0x16, 0x12, 0x0f, 0x0a, 0x0b, 0x50, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x10, 0x17, 0x42, 0x82, 0x01, 0x0a, 0x31, 0x63, + 0x6f, 0x6d, 0x2e, 0x74, 0x65, 0x6e, 0x63, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x6f, 0x6c, 0x61, 0x72, + 0x69, 0x73, 0x2e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, + 0x42, 0x0d, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x5a, + 0x3e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x70, 0x6f, 0x6c, 0x61, + 0x72, 0x69, 0x73, 0x6d, 0x65, 0x73, 0x68, 0x2f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2f, 0x67, 0x6f, 0x2f, + 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x62, + 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_auth_proto_rawDescOnce sync.Once + file_auth_proto_rawDescData = file_auth_proto_rawDesc +) -func (m *ModifyAuthStrategy) GetMetadata() map[string]string { - if m != nil { - return m.Metadata - } - return nil -} - -func (m *ModifyAuthStrategy) GetSource() *wrapperspb.StringValue { - if m != nil { - return m.Source - } - return nil -} - -func (m *ModifyAuthStrategy) GetFunctions() []string { - if m != nil { - return m.Functions - } - return nil -} - -func (m *ModifyAuthStrategy) GetResourceLabels() []*StrategyResourceLabel { - if m != nil { - return m.ResourceLabels - } - return nil -} - -func init() { - proto.RegisterType((*LoginRequest)(nil), "v1.LoginRequest") - proto.RegisterMapType((map[string]string)(nil), "v1.LoginRequest.OptionsEntry") - proto.RegisterType((*LoginResponse)(nil), "v1.LoginResponse") - proto.RegisterMapType((map[string]string)(nil), "v1.LoginResponse.OptionsEntry") - proto.RegisterType((*User)(nil), "v1.User") - proto.RegisterMapType((map[string]string)(nil), "v1.User.MetadataEntry") - proto.RegisterType((*ModifyUserPassword)(nil), "v1.ModifyUserPassword") - proto.RegisterType((*UserGroupRelation)(nil), "v1.UserGroupRelation") - proto.RegisterType((*UserGroup)(nil), "v1.UserGroup") - proto.RegisterMapType((map[string]string)(nil), "v1.UserGroup.MetadataEntry") - proto.RegisterType((*ModifyUserGroup)(nil), "v1.ModifyUserGroup") - proto.RegisterMapType((map[string]string)(nil), "v1.ModifyUserGroup.MetadataEntry") - proto.RegisterType((*Role)(nil), "v1.Role") - proto.RegisterMapType((map[string]string)(nil), "v1.Role.MetadataEntry") - proto.RegisterType((*Principal)(nil), "v1.Principal") - proto.RegisterType((*Principals)(nil), "v1.Principals") - proto.RegisterType((*StrategyResourceEntry)(nil), "v1.StrategyResourceEntry") - proto.RegisterType((*StrategyResources)(nil), "v1.StrategyResources") - proto.RegisterType((*StrategyResourceLabel)(nil), "v1.StrategyResourceLabel") - proto.RegisterType((*AuthStrategy)(nil), "v1.AuthStrategy") - proto.RegisterMapType((map[string]string)(nil), "v1.AuthStrategy.MetadataEntry") - proto.RegisterType((*ModifyAuthStrategy)(nil), "v1.ModifyAuthStrategy") - proto.RegisterMapType((map[string]string)(nil), "v1.ModifyAuthStrategy.MetadataEntry") - proto.RegisterEnum("v1.AuthAction", AuthAction_name, AuthAction_value) - proto.RegisterEnum("v1.ResourceType", ResourceType_name, ResourceType_value) -} - -func init() { proto.RegisterFile("auth.proto", fileDescriptor_auth_2543522910fa735a) } - -var fileDescriptor_auth_2543522910fa735a = []byte{ - // 1639 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe4, 0x58, 0xcb, 0x6e, 0xdb, 0x46, - 0x14, 0x8d, 0xde, 0xe2, 0xd5, 0xc3, 0xf4, 0x54, 0x76, 0x58, 0x37, 0x35, 0x52, 0xf5, 0x81, 0x20, - 0x28, 0xa4, 0xd8, 0x69, 0x93, 0xd4, 0x4e, 0xd3, 0xd8, 0x89, 0x13, 0x04, 0x70, 0x12, 0x83, 0x4e, - 0x1a, 0xa4, 0x1b, 0x81, 0xa6, 0xc6, 0x32, 0x61, 0x92, 0xc3, 0x72, 0x48, 0x1b, 0x5a, 0x74, 0x53, - 0x74, 0x5b, 0x74, 0xd7, 0x1f, 0xe8, 0x27, 0x74, 0xd9, 0x45, 0x77, 0xfd, 0x85, 0x02, 0xfd, 0x81, - 0xfe, 0x46, 0x31, 0x43, 0x0e, 0x45, 0x5a, 0xb6, 0x35, 0x92, 0xe1, 0x02, 0x45, 0x77, 0xd4, 0xcc, - 0xb9, 0xf3, 0xb8, 0x8f, 0x33, 0xe7, 0x0a, 0xc0, 0x08, 0x83, 0x83, 0x8e, 0xe7, 0x93, 0x80, 0xa0, - 0xfc, 0xd1, 0xca, 0xd2, 0xf2, 0x80, 0x90, 0x81, 0x8d, 0xbb, 0x7c, 0x64, 0x2f, 0xdc, 0xef, 0x1e, - 0xfb, 0x86, 0xe7, 0x61, 0x9f, 0x46, 0x98, 0xf6, 0x2f, 0x79, 0xa8, 0x6f, 0x93, 0x81, 0xe5, 0xea, - 0xf8, 0xdb, 0x10, 0xd3, 0x00, 0xad, 0x42, 0x89, 0x1c, 0xbb, 0xd8, 0xd7, 0x72, 0xd7, 0x73, 0x37, - 0x6a, 0xab, 0xd7, 0x3a, 0xd1, 0x02, 0x1d, 0xb1, 0x40, 0x67, 0x37, 0xf0, 0x2d, 0x77, 0xf0, 0xb5, - 0x61, 0x87, 0x58, 0x8f, 0xa0, 0xe8, 0x16, 0x14, 0x5d, 0xc3, 0xc1, 0x5a, 0x5e, 0xc2, 0x84, 0x23, - 0xd1, 0x3d, 0xa8, 0x7a, 0x06, 0xa5, 0xc7, 0xc4, 0xef, 0x6b, 0x05, 0x09, 0xab, 0x04, 0x8d, 0xee, - 0x42, 0x85, 0x78, 0x81, 0x45, 0x5c, 0xaa, 0x15, 0xaf, 0x17, 0x6e, 0xd4, 0x56, 0xdf, 0xef, 0x1c, - 0xad, 0x74, 0xd2, 0x57, 0xe8, 0xbc, 0x8c, 0xe6, 0xb7, 0xdc, 0xc0, 0x1f, 0xea, 0x02, 0xbd, 0xb4, - 0x06, 0xf5, 0xf4, 0x04, 0x52, 0xa1, 0x70, 0x88, 0x87, 0xfc, 0x9a, 0x8a, 0xce, 0x3e, 0x51, 0x0b, - 0x4a, 0x47, 0x6c, 0x37, 0x7e, 0x0f, 0x45, 0x8f, 0x7e, 0xac, 0xe5, 0xef, 0xe5, 0xda, 0x3f, 0x15, - 0xa0, 0x11, 0x6f, 0x41, 0x3d, 0xe2, 0x52, 0x8c, 0xee, 0x40, 0x25, 0xa4, 0xd8, 0xef, 0x59, 0x7d, - 0x29, 0x47, 0x09, 0xf0, 0x0c, 0xae, 0xba, 0x05, 0x45, 0x9f, 0xd8, 0x58, 0xca, 0x4d, 0x1c, 0xc9, - 0x9c, 0xcb, 0xe3, 0xc2, 0x0e, 0x57, 0x94, 0x71, 0xae, 0x40, 0xb3, 0xe0, 0x07, 0xe4, 0x10, 0xbb, - 0x5a, 0x49, 0x26, 0xf8, 0x1c, 0x8a, 0xee, 0x8d, 0x02, 0x52, 0xe6, 0x01, 0x59, 0x4e, 0x05, 0x24, - 0xf2, 0xd6, 0x25, 0x44, 0xe4, 0xf7, 0x32, 0x14, 0x5f, 0x53, 0xec, 0xa3, 0x4f, 0x21, 0x2f, 0x19, - 0x83, 0xfc, 0x4c, 0xee, 0x9f, 0x3d, 0x53, 0x93, 0x4a, 0x2a, 0xca, 0x57, 0xd2, 0x67, 0x50, 0xa6, - 0x24, 0xf4, 0x4d, 0x2c, 0x15, 0x81, 0x18, 0x8b, 0xee, 0x47, 0x65, 0xdf, 0x8b, 0x62, 0x57, 0x96, - 0xb0, 0x4c, 0xe1, 0xd1, 0x03, 0xa8, 0xf3, 0x8f, 0x1e, 0x76, 0x8d, 0x3d, 0x1b, 0x6b, 0x15, 0x6e, - 0xbf, 0x34, 0x66, 0xbf, 0x49, 0x88, 0x1d, 0x59, 0x67, 0xf0, 0xac, 0x14, 0x4c, 0xe2, 0x38, 0xd8, - 0x0d, 0xb4, 0xaa, 0x4c, 0x29, 0xc4, 0x60, 0xe6, 0x1f, 0x33, 0xb0, 0x1c, 0xac, 0x29, 0x32, 0xfe, - 0xe1, 0x50, 0x66, 0xe3, 0x70, 0x1b, 0x90, 0xb1, 0xe1, 0x50, 0xb4, 0x06, 0x0a, 0xaf, 0xbe, 0x60, - 0xe8, 0x61, 0xad, 0x26, 0x61, 0x37, 0x82, 0xb3, 0x78, 0x38, 0x64, 0xcf, 0xb2, 0xb1, 0x56, 0x97, - 0x89, 0x47, 0x84, 0x65, 0xa7, 0xc4, 0x8e, 0x61, 0xd9, 0x5a, 0x43, 0xe6, 0x94, 0x1c, 0x8a, 0x56, - 0xa1, 0xea, 0xe0, 0xc0, 0xe8, 0x1b, 0x81, 0xa1, 0x35, 0x79, 0x1d, 0x2d, 0xb2, 0x3a, 0x62, 0x39, - 0xde, 0x79, 0x1e, 0x4f, 0x44, 0xf5, 0x93, 0xe0, 0x96, 0xd6, 0xa1, 0x91, 0x99, 0x9a, 0xaa, 0x82, - 0xfe, 0xc8, 0x01, 0x7a, 0x4e, 0xfa, 0xd6, 0xfe, 0x90, 0xed, 0xb1, 0x23, 0xb2, 0x76, 0xba, 0x7a, - 0x7a, 0x08, 0x75, 0x62, 0xf7, 0x7b, 0x49, 0x85, 0xc8, 0xd4, 0x55, 0xc6, 0x82, 0xad, 0xe0, 0xe2, - 0xe3, 0xde, 0x54, 0x35, 0x96, 0xb1, 0x68, 0x3b, 0x30, 0xcf, 0x6e, 0xf0, 0xd4, 0x27, 0xa1, 0xa7, - 0x63, 0xdb, 0x60, 0x8c, 0xc2, 0xca, 0x76, 0xc0, 0x06, 0x64, 0x09, 0x3a, 0x41, 0xa3, 0x65, 0x28, - 0xb1, 0xf8, 0x53, 0x2d, 0xcf, 0xa3, 0x50, 0x15, 0x51, 0xd0, 0xa3, 0xe1, 0xf6, 0x5f, 0x25, 0x50, - 0x92, 0xfd, 0x2e, 0x9d, 0x7e, 0x12, 0x12, 0x29, 0xc8, 0x93, 0x48, 0x96, 0x0e, 0x8a, 0x17, 0xa4, - 0x83, 0xd2, 0xec, 0x74, 0x50, 0x9e, 0x89, 0x0e, 0x2a, 0x33, 0xd0, 0x41, 0x55, 0x9e, 0x0e, 0x56, - 0xa0, 0xea, 0xc7, 0x59, 0x12, 0x33, 0xcf, 0x82, 0x08, 0x71, 0x26, 0x85, 0xf4, 0x04, 0xc6, 0x1c, - 0xca, 0x29, 0xc1, 0x24, 0xa1, 0x1b, 0x9c, 0x49, 0x3d, 0xaf, 0x9f, 0xb9, 0xc1, 0xed, 0xd5, 0xd8, - 0xa1, 0x23, 0x7c, 0x8a, 0xd3, 0x6b, 0x53, 0x70, 0xfa, 0xdd, 0x14, 0x1f, 0xd4, 0x79, 0x26, 0xbe, - 0x97, 0x39, 0xe6, 0xe5, 0x90, 0xc2, 0x8f, 0x25, 0x98, 0x1b, 0x91, 0xc2, 0x2c, 0x29, 0x9e, 0x24, - 0x6c, 0x7e, 0x7a, 0xfd, 0x58, 0x90, 0x2e, 0x8b, 0xff, 0x66, 0x8a, 0xaf, 0x43, 0xc3, 0xe8, 0xf7, - 0x7b, 0x22, 0xaf, 0x68, 0x9c, 0xea, 0x67, 0xe4, 0x5f, 0x16, 0x8b, 0x36, 0x40, 0xf5, 0xb1, 0x43, - 0x8e, 0x70, 0xca, 0xbe, 0x7a, 0x9e, 0xfd, 0x18, 0x1c, 0x7d, 0x99, 0xca, 0x29, 0x85, 0xe7, 0xd4, - 0x07, 0xcc, 0xf4, 0x44, 0xc0, 0xcf, 0xca, 0xac, 0x54, 0x22, 0x83, 0x7c, 0x22, 0x5f, 0x2c, 0x1f, - 0x7f, 0x28, 0x40, 0x51, 0x67, 0x9a, 0xb6, 0x99, 0x24, 0xa1, 0xc2, 0xd3, 0x0c, 0xa5, 0x98, 0x54, - 0x89, 0x93, 0xa2, 0x95, 0x16, 0x5c, 0x8a, 0x48, 0xae, 0xc5, 0x8c, 0xa4, 0x52, 0x92, 0x02, 0x6b, - 0x43, 0xbd, 0x8f, 0xf7, 0x8d, 0xd0, 0x0e, 0x7a, 0x5c, 0x5f, 0xb3, 0x48, 0x56, 0xf5, 0xcc, 0x58, - 0xe6, 0x51, 0xae, 0x8c, 0x1e, 0x65, 0x76, 0xa2, 0x33, 0xbd, 0xa4, 0x65, 0xe5, 0x90, 0x32, 0x0a, - 0x7f, 0x2b, 0x2d, 0x78, 0x14, 0xc1, 0x61, 0xad, 0xb4, 0xa4, 0x51, 0x04, 0x4b, 0x25, 0xaf, 0x50, - 0xeb, 0xd4, 0x57, 0x08, 0x75, 0xa1, 0xc6, 0x29, 0x86, 0x3f, 0x5b, 0x54, 0x5b, 0xe0, 0xa8, 0x46, - 0x36, 0x11, 0xd2, 0x88, 0x8b, 0x85, 0xe1, 0x10, 0x94, 0x1d, 0xdf, 0x72, 0x4d, 0xcb, 0x33, 0xec, - 0xcb, 0x7e, 0xf2, 0xda, 0xdf, 0x01, 0x24, 0x9b, 0x51, 0xf4, 0xa1, 0x70, 0x44, 0x6e, 0x74, 0xc5, - 0x64, 0x5a, 0x78, 0xe3, 0x63, 0x28, 0xc7, 0x8e, 0xc8, 0x9f, 0x86, 0x8a, 0x27, 0xd9, 0x5a, 0x2c, - 0xac, 0x54, 0x2b, 0x9c, 0xba, 0x16, 0x9f, 0x6b, 0xff, 0x9a, 0x83, 0x85, 0xdd, 0xc0, 0x37, 0x02, - 0x3c, 0x18, 0xea, 0x38, 0x4a, 0x96, 0xc8, 0x63, 0xd3, 0x5d, 0x7c, 0x0d, 0x14, 0x76, 0x1d, 0xea, - 0x19, 0xa6, 0xdc, 0xed, 0x47, 0xf0, 0xe9, 0x09, 0xb1, 0xfd, 0x5b, 0x19, 0xe6, 0x4f, 0x9e, 0x9a, - 0xa2, 0x07, 0x50, 0xa3, 0xf1, 0xa0, 0xac, 0x10, 0x4a, 0x1b, 0xa0, 0x2f, 0x00, 0x92, 0x43, 0x09, - 0xdf, 0xbe, 0xcb, 0xbc, 0x76, 0xaa, 0x83, 0xf4, 0x14, 0x18, 0x7d, 0x0e, 0x55, 0x8a, 0xfd, 0x23, - 0xcb, 0x4c, 0xdc, 0x7d, 0x8e, 0x61, 0x02, 0x45, 0x5f, 0x41, 0xc3, 0x24, 0xee, 0xbe, 0x35, 0x10, - 0x99, 0x5d, 0x9c, 0x64, 0x9b, 0xc5, 0xa3, 0x75, 0xa8, 0xf9, 0x24, 0x0c, 0x70, 0xcf, 0x0f, 0x59, - 0xa4, 0x4b, 0x93, 0xcc, 0xd3, 0x68, 0xf4, 0x08, 0xe6, 0x18, 0xc6, 0xb6, 0x1c, 0x2b, 0x88, 0x17, - 0x28, 0x4f, 0x5a, 0xe0, 0xa4, 0x05, 0x7a, 0x0e, 0x2d, 0xd3, 0xf2, 0xcd, 0xd0, 0x0a, 0xf6, 0x7c, - 0x6c, 0x1c, 0x62, 0x3f, 0x5e, 0xa9, 0x32, 0x69, 0xa5, 0x53, 0xcd, 0xd0, 0x53, 0x98, 0xe7, 0x8c, - 0xd4, 0xc7, 0x01, 0x36, 0xc5, 0xa9, 0xaa, 0x93, 0xd6, 0x1a, 0xb7, 0x61, 0xc1, 0xb4, 0x0d, 0x57, - 0x38, 0x46, 0x99, 0x18, 0xcc, 0x11, 0x18, 0x75, 0x45, 0x11, 0x2e, 0x4c, 0xb2, 0x8a, 0x0b, 0x72, - 0x3d, 0x4b, 0x4f, 0x8b, 0x13, 0xa3, 0x90, 0x42, 0xb3, 0xdd, 0xa2, 0x32, 0xbd, 0x3a, 0x71, 0x37, - 0x8e, 0x63, 0x49, 0xc3, 0x5f, 0x77, 0x8f, 0xd8, 0x96, 0x69, 0x61, 0xaa, 0x69, 0x13, 0x93, 0x26, - 0x83, 0x6f, 0x9b, 0xe3, 0x25, 0xbf, 0x6d, 0xec, 0x61, 0x5b, 0x96, 0x24, 0xd9, 0x63, 0x62, 0x12, - 0xc7, 0x33, 0x7c, 0x1c, 0xb5, 0x99, 0x05, 0x3e, 0x99, 0x19, 0x6b, 0xff, 0x5d, 0x86, 0xfa, 0x46, - 0x18, 0x1c, 0x88, 0x9d, 0x2e, 0xbd, 0x77, 0xe8, 0x00, 0x78, 0x09, 0x91, 0xc6, 0x5c, 0xd2, 0xcc, - 0x70, 0x1e, 0xd5, 0x53, 0x08, 0x74, 0x1b, 0x14, 0x5f, 0x50, 0x47, 0xac, 0xa9, 0x16, 0x4e, 0x73, - 0x21, 0xd5, 0x47, 0x38, 0xf4, 0x09, 0x94, 0x0d, 0x93, 0x8b, 0x69, 0xf6, 0xbc, 0x36, 0xa3, 0x0d, - 0xd8, 0x35, 0x37, 0xf8, 0xa8, 0x1e, 0xcf, 0x5e, 0xa4, 0x2d, 0x88, 0x1e, 0xf5, 0x8a, 0xbc, 0x9e, - 0x4c, 0x5a, 0x89, 0xea, 0x0c, 0xad, 0x84, 0x22, 0xdf, 0x4a, 0x64, 0x55, 0x28, 0x4c, 0xa9, 0x42, - 0x9f, 0x80, 0x2a, 0xc4, 0x86, 0xe0, 0xdc, 0xb8, 0x43, 0x38, 0x4f, 0x89, 0x8e, 0xd9, 0xa0, 0xb5, - 0xb1, 0x4e, 0x61, 0x59, 0xc4, 0x40, 0x44, 0x4e, 0x42, 0xd2, 0x35, 0xa6, 0xe8, 0x4d, 0xae, 0x81, - 0xb2, 0x1f, 0xba, 0x66, 0xa4, 0x41, 0x9b, 0xd7, 0x0b, 0x37, 0x14, 0x7d, 0x34, 0xc0, 0x49, 0x34, - 0x4e, 0x8f, 0x9e, 0xcd, 0xaa, 0x88, 0x6a, 0x73, 0x67, 0xd7, 0x23, 0xaf, 0x33, 0xfd, 0xa4, 0xc5, - 0xc5, 0xe4, 0xca, 0xcf, 0x65, 0xf1, 0xd7, 0xc6, 0xbf, 0x5a, 0x6f, 0x77, 0xa0, 0xc9, 0x24, 0xfb, - 0xc4, 0x9a, 0x3b, 0x81, 0x42, 0xf7, 0x61, 0x3e, 0x96, 0xea, 0x29, 0xd3, 0xe2, 0xa9, 0xa6, 0xe3, - 0xc0, 0x51, 0x53, 0x21, 0x2a, 0xb7, 0x74, 0x5e, 0xe5, 0x66, 0xb1, 0x99, 0xa6, 0x42, 0xd8, 0x97, - 0xcf, 0xb3, 0x1f, 0x83, 0xa7, 0x08, 0xa0, 0x22, 0x4b, 0x00, 0xd5, 0x99, 0x08, 0x40, 0x91, 0x27, - 0x80, 0x87, 0x63, 0x25, 0xf1, 0xd1, 0xa8, 0xd1, 0xf9, 0xff, 0x16, 0xc6, 0xcd, 0x87, 0x00, 0xa3, - 0xc8, 0xa0, 0x06, 0x28, 0x2f, 0x5f, 0x6c, 0xbf, 0xed, 0xe9, 0x5b, 0x1b, 0x8f, 0xd5, 0x2b, 0xa8, - 0x09, 0xc0, 0xbe, 0x7a, 0x6f, 0xf4, 0x67, 0xaf, 0xb6, 0xd4, 0x1c, 0x52, 0xa0, 0xb4, 0xb1, 0xbd, - 0xfd, 0xf2, 0x8d, 0x0a, 0xa8, 0x0a, 0xc5, 0xc7, 0x5b, 0x2f, 0xde, 0xaa, 0xb5, 0x9b, 0x7f, 0xe6, - 0xa0, 0x2e, 0x4e, 0xf8, 0x6a, 0xe8, 0xb1, 0xc6, 0x0c, 0x5e, 0x24, 0xaa, 0x4f, 0xbd, 0x82, 0xea, - 0x50, 0xdd, 0x8d, 0xc5, 0x9c, 0x9a, 0x43, 0x2a, 0xd4, 0x1f, 0x71, 0x79, 0xc6, 0x3b, 0x12, 0xaa, - 0xe6, 0xf9, 0x2e, 0x4c, 0x71, 0xe9, 0x4c, 0x58, 0xa8, 0x05, 0x84, 0xa0, 0xa9, 0x1b, 0x01, 0xde, - 0x66, 0x02, 0x2a, 0x1a, 0x2b, 0xa2, 0xab, 0xf0, 0xce, 0xa3, 0x48, 0x0a, 0x6d, 0x46, 0x52, 0x28, - 0x9a, 0x28, 0xa1, 0x16, 0xa8, 0x4f, 0x18, 0xf9, 0x3d, 0xe6, 0xba, 0x26, 0x1a, 0x2d, 0xb3, 0x7b, - 0x6c, 0x1b, 0x6e, 0xbc, 0x62, 0x85, 0x9d, 0x9b, 0xf5, 0x40, 0x54, 0x6d, 0xb1, 0xcd, 0x92, 0x76, - 0x88, 0xaa, 0x0b, 0x6c, 0x8a, 0xf5, 0x6e, 0x54, 0x5d, 0x44, 0x73, 0x50, 0xdb, 0x61, 0xcf, 0xff, - 0x30, 0x32, 0xbb, 0xba, 0xf9, 0x7d, 0x0e, 0x56, 0x4c, 0xe2, 0x74, 0x02, 0xec, 0x9a, 0xd8, 0x0d, - 0x3a, 0x1e, 0xb1, 0x0d, 0xdf, 0xa2, 0x1d, 0xea, 0x61, 0xd3, 0xda, 0xb7, 0x4c, 0xde, 0x43, 0x77, - 0x0c, 0xcf, 0x62, 0xc1, 0xa2, 0xd8, 0x0c, 0x7d, 0x2b, 0x18, 0x6e, 0x36, 0x76, 0xe3, 0xaf, 0x1d, - 0x96, 0x17, 0xdf, 0x3c, 0x18, 0x58, 0xc1, 0x41, 0xb8, 0xd7, 0x31, 0x89, 0xd3, 0x8d, 0x17, 0x70, - 0x30, 0x3d, 0xe8, 0x66, 0x16, 0xe9, 0x46, 0xee, 0xeb, 0x0e, 0x48, 0xd7, 0xf0, 0xac, 0xee, 0xd1, - 0x4a, 0x57, 0x2c, 0xb7, 0x57, 0xe6, 0xe9, 0x75, 0xfb, 0x9f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x5b, - 0x9d, 0xbb, 0x0c, 0xc7, 0x1b, 0x00, 0x00, +func file_auth_proto_rawDescGZIP() []byte { + file_auth_proto_rawDescOnce.Do(func() { + file_auth_proto_rawDescData = protoimpl.X.CompressGZIP(file_auth_proto_rawDescData) + }) + return file_auth_proto_rawDescData +} + +var file_auth_proto_enumTypes = make([]protoimpl.EnumInfo, 2) +var file_auth_proto_msgTypes = make([]protoimpl.MessageInfo, 23) +var file_auth_proto_goTypes = []interface{}{ + (AuthAction)(0), // 0: v1.AuthAction + (ResourceType)(0), // 1: v1.ResourceType + (*LoginRequest)(nil), // 2: v1.LoginRequest + (*LoginResponse)(nil), // 3: v1.LoginResponse + (*User)(nil), // 4: v1.User + (*ModifyUserPassword)(nil), // 5: v1.ModifyUserPassword + (*UserGroupRelation)(nil), // 6: v1.UserGroupRelation + (*UserGroup)(nil), // 7: v1.UserGroup + (*ModifyUserGroup)(nil), // 8: v1.ModifyUserGroup + (*Role)(nil), // 9: v1.Role + (*Principal)(nil), // 10: v1.Principal + (*Principals)(nil), // 11: v1.Principals + (*StrategyResourceEntry)(nil), // 12: v1.StrategyResourceEntry + (*StrategyResources)(nil), // 13: v1.StrategyResources + (*StrategyResourceLabel)(nil), // 14: v1.StrategyResourceLabel + (*AuthStrategy)(nil), // 15: v1.AuthStrategy + (*ModifyAuthStrategy)(nil), // 16: v1.ModifyAuthStrategy + nil, // 17: v1.LoginRequest.OptionsEntry + nil, // 18: v1.LoginResponse.OptionsEntry + nil, // 19: v1.User.MetadataEntry + nil, // 20: v1.UserGroup.MetadataEntry + nil, // 21: v1.ModifyUserGroup.MetadataEntry + nil, // 22: v1.Role.MetadataEntry + nil, // 23: v1.AuthStrategy.MetadataEntry + nil, // 24: v1.ModifyAuthStrategy.MetadataEntry + (*wrapperspb.StringValue)(nil), // 25: google.protobuf.StringValue + (*wrapperspb.BoolValue)(nil), // 26: google.protobuf.BoolValue + (*wrapperspb.UInt32Value)(nil), // 27: google.protobuf.UInt32Value +} +var file_auth_proto_depIdxs = []int32{ + 25, // 0: v1.LoginRequest.owner:type_name -> google.protobuf.StringValue + 25, // 1: v1.LoginRequest.name:type_name -> google.protobuf.StringValue + 25, // 2: v1.LoginRequest.password:type_name -> google.protobuf.StringValue + 17, // 3: v1.LoginRequest.options:type_name -> v1.LoginRequest.OptionsEntry + 25, // 4: v1.LoginResponse.user_id:type_name -> google.protobuf.StringValue + 25, // 5: v1.LoginResponse.name:type_name -> google.protobuf.StringValue + 25, // 6: v1.LoginResponse.role:type_name -> google.protobuf.StringValue + 25, // 7: v1.LoginResponse.owner_id:type_name -> google.protobuf.StringValue + 25, // 8: v1.LoginResponse.token:type_name -> google.protobuf.StringValue + 18, // 9: v1.LoginResponse.options:type_name -> v1.LoginResponse.OptionsEntry + 25, // 10: v1.User.id:type_name -> google.protobuf.StringValue + 25, // 11: v1.User.name:type_name -> google.protobuf.StringValue + 25, // 12: v1.User.password:type_name -> google.protobuf.StringValue + 25, // 13: v1.User.owner:type_name -> google.protobuf.StringValue + 25, // 14: v1.User.source:type_name -> google.protobuf.StringValue + 25, // 15: v1.User.auth_token:type_name -> google.protobuf.StringValue + 26, // 16: v1.User.token_enable:type_name -> google.protobuf.BoolValue + 25, // 17: v1.User.comment:type_name -> google.protobuf.StringValue + 25, // 18: v1.User.ctime:type_name -> google.protobuf.StringValue + 25, // 19: v1.User.mtime:type_name -> google.protobuf.StringValue + 25, // 20: v1.User.user_type:type_name -> google.protobuf.StringValue + 25, // 21: v1.User.mobile:type_name -> google.protobuf.StringValue + 25, // 22: v1.User.email:type_name -> google.protobuf.StringValue + 19, // 23: v1.User.metadata:type_name -> v1.User.MetadataEntry + 25, // 24: v1.ModifyUserPassword.id:type_name -> google.protobuf.StringValue + 25, // 25: v1.ModifyUserPassword.old_password:type_name -> google.protobuf.StringValue + 25, // 26: v1.ModifyUserPassword.new_password:type_name -> google.protobuf.StringValue + 25, // 27: v1.UserGroupRelation.group_id:type_name -> google.protobuf.StringValue + 4, // 28: v1.UserGroupRelation.users:type_name -> v1.User + 25, // 29: v1.UserGroup.id:type_name -> google.protobuf.StringValue + 25, // 30: v1.UserGroup.name:type_name -> google.protobuf.StringValue + 25, // 31: v1.UserGroup.owner:type_name -> google.protobuf.StringValue + 25, // 32: v1.UserGroup.auth_token:type_name -> google.protobuf.StringValue + 26, // 33: v1.UserGroup.token_enable:type_name -> google.protobuf.BoolValue + 25, // 34: v1.UserGroup.comment:type_name -> google.protobuf.StringValue + 25, // 35: v1.UserGroup.ctime:type_name -> google.protobuf.StringValue + 25, // 36: v1.UserGroup.mtime:type_name -> google.protobuf.StringValue + 6, // 37: v1.UserGroup.relation:type_name -> v1.UserGroupRelation + 27, // 38: v1.UserGroup.user_count:type_name -> google.protobuf.UInt32Value + 25, // 39: v1.UserGroup.source:type_name -> google.protobuf.StringValue + 20, // 40: v1.UserGroup.metadata:type_name -> v1.UserGroup.MetadataEntry + 25, // 41: v1.ModifyUserGroup.id:type_name -> google.protobuf.StringValue + 25, // 42: v1.ModifyUserGroup.owner:type_name -> google.protobuf.StringValue + 25, // 43: v1.ModifyUserGroup.name:type_name -> google.protobuf.StringValue + 25, // 44: v1.ModifyUserGroup.auth_token:type_name -> google.protobuf.StringValue + 26, // 45: v1.ModifyUserGroup.token_enable:type_name -> google.protobuf.BoolValue + 25, // 46: v1.ModifyUserGroup.comment:type_name -> google.protobuf.StringValue + 6, // 47: v1.ModifyUserGroup.add_relations:type_name -> v1.UserGroupRelation + 6, // 48: v1.ModifyUserGroup.remove_relations:type_name -> v1.UserGroupRelation + 21, // 49: v1.ModifyUserGroup.metadata:type_name -> v1.ModifyUserGroup.MetadataEntry + 25, // 50: v1.ModifyUserGroup.source:type_name -> google.protobuf.StringValue + 22, // 51: v1.Role.metadata:type_name -> v1.Role.MetadataEntry + 4, // 52: v1.Role.users:type_name -> v1.User + 7, // 53: v1.Role.user_groups:type_name -> v1.UserGroup + 25, // 54: v1.Principal.id:type_name -> google.protobuf.StringValue + 25, // 55: v1.Principal.name:type_name -> google.protobuf.StringValue + 10, // 56: v1.Principals.users:type_name -> v1.Principal + 10, // 57: v1.Principals.groups:type_name -> v1.Principal + 10, // 58: v1.Principals.roles:type_name -> v1.Principal + 25, // 59: v1.StrategyResourceEntry.id:type_name -> google.protobuf.StringValue + 25, // 60: v1.StrategyResourceEntry.namespace:type_name -> google.protobuf.StringValue + 25, // 61: v1.StrategyResourceEntry.name:type_name -> google.protobuf.StringValue + 25, // 62: v1.StrategyResources.strategy_id:type_name -> google.protobuf.StringValue + 12, // 63: v1.StrategyResources.namespaces:type_name -> v1.StrategyResourceEntry + 12, // 64: v1.StrategyResources.services:type_name -> v1.StrategyResourceEntry + 12, // 65: v1.StrategyResources.config_groups:type_name -> v1.StrategyResourceEntry + 12, // 66: v1.StrategyResources.route_rules:type_name -> v1.StrategyResourceEntry + 12, // 67: v1.StrategyResources.ratelimit_rules:type_name -> v1.StrategyResourceEntry + 12, // 68: v1.StrategyResources.circuitbreaker_rules:type_name -> v1.StrategyResourceEntry + 12, // 69: v1.StrategyResources.faultdetect_rules:type_name -> v1.StrategyResourceEntry + 12, // 70: v1.StrategyResources.lane_rules:type_name -> v1.StrategyResourceEntry + 12, // 71: v1.StrategyResources.users:type_name -> v1.StrategyResourceEntry + 12, // 72: v1.StrategyResources.user_groups:type_name -> v1.StrategyResourceEntry + 12, // 73: v1.StrategyResources.roles:type_name -> v1.StrategyResourceEntry + 12, // 74: v1.StrategyResources.auth_policies:type_name -> v1.StrategyResourceEntry + 25, // 75: v1.AuthStrategy.id:type_name -> google.protobuf.StringValue + 25, // 76: v1.AuthStrategy.name:type_name -> google.protobuf.StringValue + 11, // 77: v1.AuthStrategy.principals:type_name -> v1.Principals + 13, // 78: v1.AuthStrategy.resources:type_name -> v1.StrategyResources + 0, // 79: v1.AuthStrategy.action:type_name -> v1.AuthAction + 25, // 80: v1.AuthStrategy.comment:type_name -> google.protobuf.StringValue + 25, // 81: v1.AuthStrategy.owner:type_name -> google.protobuf.StringValue + 25, // 82: v1.AuthStrategy.ctime:type_name -> google.protobuf.StringValue + 25, // 83: v1.AuthStrategy.mtime:type_name -> google.protobuf.StringValue + 25, // 84: v1.AuthStrategy.auth_token:type_name -> google.protobuf.StringValue + 26, // 85: v1.AuthStrategy.default_strategy:type_name -> google.protobuf.BoolValue + 23, // 86: v1.AuthStrategy.metadata:type_name -> v1.AuthStrategy.MetadataEntry + 25, // 87: v1.AuthStrategy.source:type_name -> google.protobuf.StringValue + 14, // 88: v1.AuthStrategy.resource_labels:type_name -> v1.StrategyResourceLabel + 25, // 89: v1.ModifyAuthStrategy.id:type_name -> google.protobuf.StringValue + 25, // 90: v1.ModifyAuthStrategy.name:type_name -> google.protobuf.StringValue + 11, // 91: v1.ModifyAuthStrategy.add_principals:type_name -> v1.Principals + 11, // 92: v1.ModifyAuthStrategy.remove_principals:type_name -> v1.Principals + 13, // 93: v1.ModifyAuthStrategy.add_resources:type_name -> v1.StrategyResources + 13, // 94: v1.ModifyAuthStrategy.remove_resources:type_name -> v1.StrategyResources + 0, // 95: v1.ModifyAuthStrategy.action:type_name -> v1.AuthAction + 25, // 96: v1.ModifyAuthStrategy.comment:type_name -> google.protobuf.StringValue + 25, // 97: v1.ModifyAuthStrategy.owner:type_name -> google.protobuf.StringValue + 24, // 98: v1.ModifyAuthStrategy.metadata:type_name -> v1.ModifyAuthStrategy.MetadataEntry + 25, // 99: v1.ModifyAuthStrategy.source:type_name -> google.protobuf.StringValue + 14, // 100: v1.ModifyAuthStrategy.resource_labels:type_name -> v1.StrategyResourceLabel + 101, // [101:101] is the sub-list for method output_type + 101, // [101:101] is the sub-list for method input_type + 101, // [101:101] is the sub-list for extension type_name + 101, // [101:101] is the sub-list for extension extendee + 0, // [0:101] is the sub-list for field type_name +} + +func init() { file_auth_proto_init() } +func file_auth_proto_init() { + if File_auth_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_auth_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*LoginRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_auth_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*LoginResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_auth_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*User); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_auth_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ModifyUserPassword); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_auth_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UserGroupRelation); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_auth_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UserGroup); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_auth_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ModifyUserGroup); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_auth_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Role); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_auth_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Principal); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_auth_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Principals); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_auth_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StrategyResourceEntry); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_auth_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StrategyResources); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_auth_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StrategyResourceLabel); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_auth_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AuthStrategy); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_auth_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ModifyAuthStrategy); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_auth_proto_rawDesc, + NumEnums: 2, + NumMessages: 23, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_auth_proto_goTypes, + DependencyIndexes: file_auth_proto_depIdxs, + EnumInfos: file_auth_proto_enumTypes, + MessageInfos: file_auth_proto_msgTypes, + }.Build() + File_auth_proto = out.File + file_auth_proto_rawDesc = nil + file_auth_proto_goTypes = nil + file_auth_proto_depIdxs = nil } diff --git a/source/go/api/v1/service_manage/client.pb.go b/source/go/api/v1/service_manage/client.pb.go index 10e4017c..9e9afa10 100644 --- a/source/go/api/v1/service_manage/client.pb.go +++ b/source/go/api/v1/service_manage/client.pb.go @@ -1,24 +1,26 @@ // Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.33.0 +// protoc v5.27.3 // source: client.proto -package service_manage // import "github.com/polarismesh/specification/source/go/api/v1/service_manage" +package service_manage -import proto "github.com/golang/protobuf/proto" -import fmt "fmt" -import math "math" -import model "github.com/polarismesh/specification/source/go/api/v1/model" -import wrapperspb "google.golang.org/protobuf/types/known/wrapperspb" - -// Reference imports to suppress errors if they are not otherwise used. -var _ = proto.Marshal -var _ = fmt.Errorf -var _ = math.Inf +import ( + model "github.com/polarismesh/specification/source/go/api/v1/model" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + wrapperspb "google.golang.org/protobuf/types/known/wrapperspb" + reflect "reflect" + sync "sync" +) -// This is a compile-time assertion to ensure that this generated file -// is compatible with the proto package it is being compiled against. -// A compilation error at this line likely means your copy of the -// proto package needs to be updated. -const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) type Client_ClientType int32 @@ -28,216 +30,371 @@ const ( Client_AGENT Client_ClientType = 2 ) -var Client_ClientType_name = map[int32]string{ - 0: "UNKNOWN", - 1: "SDK", - 2: "AGENT", -} -var Client_ClientType_value = map[string]int32{ - "UNKNOWN": 0, - "SDK": 1, - "AGENT": 2, +// Enum value maps for Client_ClientType. +var ( + Client_ClientType_name = map[int32]string{ + 0: "UNKNOWN", + 1: "SDK", + 2: "AGENT", + } + Client_ClientType_value = map[string]int32{ + "UNKNOWN": 0, + "SDK": 1, + "AGENT": 2, + } +) + +func (x Client_ClientType) Enum() *Client_ClientType { + p := new(Client_ClientType) + *p = x + return p } func (x Client_ClientType) String() string { - return proto.EnumName(Client_ClientType_name, int32(x)) + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } -func (Client_ClientType) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_client_8c42d25563430f24, []int{0, 0} + +func (Client_ClientType) Descriptor() protoreflect.EnumDescriptor { + return file_client_proto_enumTypes[0].Descriptor() } -type Client struct { - Host *wrapperspb.StringValue `protobuf:"bytes,1,opt,name=host,proto3" json:"host,omitempty"` - Type Client_ClientType `protobuf:"varint,2,opt,name=type,proto3,enum=v1.Client_ClientType" json:"type,omitempty"` - Version *wrapperspb.StringValue `protobuf:"bytes,3,opt,name=version,proto3" json:"version,omitempty"` - Location *model.Location `protobuf:"bytes,4,opt,name=location,proto3" json:"location,omitempty"` - Id *wrapperspb.StringValue `protobuf:"bytes,5,opt,name=id,proto3" json:"id,omitempty"` - Stat []*StatInfo `protobuf:"bytes,6,rep,name=stat,proto3" json:"stat,omitempty"` - Ctime *wrapperspb.StringValue `protobuf:"bytes,7,opt,name=ctime,proto3" json:"ctime,omitempty"` - Mtime *wrapperspb.StringValue `protobuf:"bytes,8,opt,name=mtime,proto3" json:"mtime,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *Client) Reset() { *m = Client{} } -func (m *Client) String() string { return proto.CompactTextString(m) } -func (*Client) ProtoMessage() {} -func (*Client) Descriptor() ([]byte, []int) { - return fileDescriptor_client_8c42d25563430f24, []int{0} +func (Client_ClientType) Type() protoreflect.EnumType { + return &file_client_proto_enumTypes[0] } -func (m *Client) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_Client.Unmarshal(m, b) + +func (x Client_ClientType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) } -func (m *Client) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_Client.Marshal(b, m, deterministic) + +// Deprecated: Use Client_ClientType.Descriptor instead. +func (Client_ClientType) EnumDescriptor() ([]byte, []int) { + return file_client_proto_rawDescGZIP(), []int{0, 0} } -func (dst *Client) XXX_Merge(src proto.Message) { - xxx_messageInfo_Client.Merge(dst, src) + +type Client struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Host *wrapperspb.StringValue `protobuf:"bytes,1,opt,name=host,proto3" json:"host,omitempty"` + Type Client_ClientType `protobuf:"varint,2,opt,name=type,proto3,enum=v1.Client_ClientType" json:"type,omitempty"` + Version *wrapperspb.StringValue `protobuf:"bytes,3,opt,name=version,proto3" json:"version,omitempty"` + Location *model.Location `protobuf:"bytes,4,opt,name=location,proto3" json:"location,omitempty"` + Id *wrapperspb.StringValue `protobuf:"bytes,5,opt,name=id,proto3" json:"id,omitempty"` + Stat []*StatInfo `protobuf:"bytes,6,rep,name=stat,proto3" json:"stat,omitempty"` + Ctime *wrapperspb.StringValue `protobuf:"bytes,7,opt,name=ctime,proto3" json:"ctime,omitempty"` + Mtime *wrapperspb.StringValue `protobuf:"bytes,8,opt,name=mtime,proto3" json:"mtime,omitempty"` } -func (m *Client) XXX_Size() int { - return xxx_messageInfo_Client.Size(m) + +func (x *Client) Reset() { + *x = Client{} + if protoimpl.UnsafeEnabled { + mi := &file_client_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (m *Client) XXX_DiscardUnknown() { - xxx_messageInfo_Client.DiscardUnknown(m) + +func (x *Client) String() string { + return protoimpl.X.MessageStringOf(x) } -var xxx_messageInfo_Client proto.InternalMessageInfo +func (*Client) ProtoMessage() {} -func (m *Client) GetHost() *wrapperspb.StringValue { - if m != nil { - return m.Host +func (x *Client) ProtoReflect() protoreflect.Message { + mi := &file_client_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Client.ProtoReflect.Descriptor instead. +func (*Client) Descriptor() ([]byte, []int) { + return file_client_proto_rawDescGZIP(), []int{0} +} + +func (x *Client) GetHost() *wrapperspb.StringValue { + if x != nil { + return x.Host } return nil } -func (m *Client) GetType() Client_ClientType { - if m != nil { - return m.Type +func (x *Client) GetType() Client_ClientType { + if x != nil { + return x.Type } return Client_UNKNOWN } -func (m *Client) GetVersion() *wrapperspb.StringValue { - if m != nil { - return m.Version +func (x *Client) GetVersion() *wrapperspb.StringValue { + if x != nil { + return x.Version } return nil } -func (m *Client) GetLocation() *model.Location { - if m != nil { - return m.Location +func (x *Client) GetLocation() *model.Location { + if x != nil { + return x.Location } return nil } -func (m *Client) GetId() *wrapperspb.StringValue { - if m != nil { - return m.Id +func (x *Client) GetId() *wrapperspb.StringValue { + if x != nil { + return x.Id } return nil } -func (m *Client) GetStat() []*StatInfo { - if m != nil { - return m.Stat +func (x *Client) GetStat() []*StatInfo { + if x != nil { + return x.Stat } return nil } -func (m *Client) GetCtime() *wrapperspb.StringValue { - if m != nil { - return m.Ctime +func (x *Client) GetCtime() *wrapperspb.StringValue { + if x != nil { + return x.Ctime } return nil } -func (m *Client) GetMtime() *wrapperspb.StringValue { - if m != nil { - return m.Mtime +func (x *Client) GetMtime() *wrapperspb.StringValue { + if x != nil { + return x.Mtime } return nil } type StatInfo struct { - Target *wrapperspb.StringValue `protobuf:"bytes,1,opt,name=target,proto3" json:"target,omitempty"` - Port *wrapperspb.UInt32Value `protobuf:"bytes,2,opt,name=port,proto3" json:"port,omitempty"` - Path *wrapperspb.StringValue `protobuf:"bytes,3,opt,name=path,proto3" json:"path,omitempty"` - Protocol *wrapperspb.StringValue `protobuf:"bytes,4,opt,name=protocol,proto3" json:"protocol,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *StatInfo) Reset() { *m = StatInfo{} } -func (m *StatInfo) String() string { return proto.CompactTextString(m) } -func (*StatInfo) ProtoMessage() {} -func (*StatInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_client_8c42d25563430f24, []int{1} -} -func (m *StatInfo) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_StatInfo.Unmarshal(m, b) -} -func (m *StatInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_StatInfo.Marshal(b, m, deterministic) + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Target *wrapperspb.StringValue `protobuf:"bytes,1,opt,name=target,proto3" json:"target,omitempty"` + Port *wrapperspb.UInt32Value `protobuf:"bytes,2,opt,name=port,proto3" json:"port,omitempty"` + Path *wrapperspb.StringValue `protobuf:"bytes,3,opt,name=path,proto3" json:"path,omitempty"` + Protocol *wrapperspb.StringValue `protobuf:"bytes,4,opt,name=protocol,proto3" json:"protocol,omitempty"` } -func (dst *StatInfo) XXX_Merge(src proto.Message) { - xxx_messageInfo_StatInfo.Merge(dst, src) + +func (x *StatInfo) Reset() { + *x = StatInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_client_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (m *StatInfo) XXX_Size() int { - return xxx_messageInfo_StatInfo.Size(m) + +func (x *StatInfo) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *StatInfo) XXX_DiscardUnknown() { - xxx_messageInfo_StatInfo.DiscardUnknown(m) + +func (*StatInfo) ProtoMessage() {} + +func (x *StatInfo) ProtoReflect() protoreflect.Message { + mi := &file_client_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) } -var xxx_messageInfo_StatInfo proto.InternalMessageInfo +// Deprecated: Use StatInfo.ProtoReflect.Descriptor instead. +func (*StatInfo) Descriptor() ([]byte, []int) { + return file_client_proto_rawDescGZIP(), []int{1} +} -func (m *StatInfo) GetTarget() *wrapperspb.StringValue { - if m != nil { - return m.Target +func (x *StatInfo) GetTarget() *wrapperspb.StringValue { + if x != nil { + return x.Target } return nil } -func (m *StatInfo) GetPort() *wrapperspb.UInt32Value { - if m != nil { - return m.Port +func (x *StatInfo) GetPort() *wrapperspb.UInt32Value { + if x != nil { + return x.Port } return nil } -func (m *StatInfo) GetPath() *wrapperspb.StringValue { - if m != nil { - return m.Path +func (x *StatInfo) GetPath() *wrapperspb.StringValue { + if x != nil { + return x.Path } return nil } -func (m *StatInfo) GetProtocol() *wrapperspb.StringValue { - if m != nil { - return m.Protocol +func (x *StatInfo) GetProtocol() *wrapperspb.StringValue { + if x != nil { + return x.Protocol } return nil } -func init() { - proto.RegisterType((*Client)(nil), "v1.Client") - proto.RegisterType((*StatInfo)(nil), "v1.StatInfo") - proto.RegisterEnum("v1.Client_ClientType", Client_ClientType_name, Client_ClientType_value) -} - -func init() { proto.RegisterFile("client.proto", fileDescriptor_client_8c42d25563430f24) } - -var fileDescriptor_client_8c42d25563430f24 = []byte{ - // 437 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x92, 0xdf, 0x8a, 0xd3, 0x40, - 0x14, 0xc6, 0x4d, 0xfa, 0xd7, 0xd3, 0x45, 0xca, 0x80, 0x10, 0x16, 0x91, 0xd2, 0xab, 0x0a, 0x3a, - 0x63, 0xbb, 0xa2, 0xde, 0xba, 0xae, 0xc8, 0xb2, 0x52, 0xa5, 0xdd, 0x55, 0xf0, 0x46, 0xa6, 0xd3, - 0xd3, 0x74, 0x20, 0xc9, 0x0c, 0x33, 0xa7, 0x91, 0x7d, 0x07, 0x9f, 0xc5, 0x47, 0xf2, 0x59, 0x24, - 0x93, 0x74, 0x45, 0x10, 0xc9, 0x55, 0xc8, 0x9c, 0xdf, 0xf7, 0xcb, 0x70, 0xbe, 0xc0, 0x89, 0xca, - 0x34, 0x16, 0xc4, 0xad, 0x33, 0x64, 0x58, 0x5c, 0xce, 0x4f, 0x1f, 0xa7, 0xc6, 0xa4, 0x19, 0x8a, - 0x70, 0xb2, 0x39, 0xec, 0xc4, 0x77, 0x27, 0xad, 0x45, 0xe7, 0x6b, 0xe6, 0x74, 0x94, 0x9b, 0x2d, - 0x66, 0xf5, 0xcb, 0xf4, 0x67, 0x07, 0xfa, 0x6f, 0x83, 0x81, 0x3d, 0x87, 0xee, 0xde, 0x78, 0x4a, - 0xa2, 0x49, 0x34, 0x1b, 0x2d, 0x1e, 0xf1, 0x5a, 0xc3, 0x8f, 0x1a, 0xbe, 0x26, 0xa7, 0x8b, 0xf4, - 0xb3, 0xcc, 0x0e, 0xb8, 0x0a, 0x24, 0x7b, 0x02, 0x5d, 0xba, 0xb5, 0x98, 0xc4, 0x93, 0x68, 0xf6, - 0x60, 0xf1, 0x90, 0x97, 0x73, 0x5e, 0xbb, 0x9a, 0xc7, 0xf5, 0xad, 0xc5, 0x55, 0x40, 0xd8, 0x4b, - 0x18, 0x94, 0xe8, 0xbc, 0x36, 0x45, 0xd2, 0x69, 0xe1, 0x3f, 0xc2, 0x6c, 0x06, 0xc3, 0xcc, 0x28, - 0x49, 0x55, 0xb0, 0x1b, 0x82, 0x27, 0xd5, 0x67, 0x3e, 0x34, 0x67, 0xab, 0xbb, 0x29, 0x7b, 0x0a, - 0xb1, 0xde, 0x26, 0xbd, 0x16, 0xf2, 0x58, 0x6f, 0xd9, 0x04, 0xba, 0x9e, 0x24, 0x25, 0xfd, 0x49, - 0xe7, 0xe8, 0x5c, 0x93, 0xa4, 0xcb, 0x62, 0x67, 0x56, 0x61, 0xc2, 0x16, 0xd0, 0x53, 0xa4, 0x73, - 0x4c, 0x06, 0x2d, 0x94, 0x35, 0x5a, 0x65, 0xf2, 0x90, 0x19, 0xb6, 0xc9, 0x04, 0x74, 0xfa, 0x0c, - 0xe0, 0xcf, 0xb6, 0xd8, 0x08, 0x06, 0x37, 0xcb, 0xab, 0xe5, 0xc7, 0x2f, 0xcb, 0xf1, 0x3d, 0x36, - 0x80, 0xce, 0xfa, 0xe2, 0x6a, 0x1c, 0xb1, 0xfb, 0xd0, 0x7b, 0xf3, 0xfe, 0xdd, 0xf2, 0x7a, 0x1c, - 0x4f, 0x7f, 0x45, 0x30, 0x3c, 0xde, 0x94, 0xbd, 0x80, 0x3e, 0x49, 0x97, 0x62, 0xbb, 0xd2, 0x1a, - 0xb6, 0x2a, 0xda, 0x1a, 0x47, 0xa1, 0xb6, 0x7f, 0x65, 0x6e, 0x2e, 0x0b, 0x3a, 0x5b, 0x34, 0x45, - 0x57, 0x64, 0x48, 0x48, 0xda, 0xb7, 0xaa, 0x2e, 0x90, 0xec, 0x35, 0x0c, 0xc3, 0x54, 0x99, 0xac, - 0xe9, 0xed, 0xff, 0xa9, 0x3b, 0xfa, 0xfc, 0x47, 0x04, 0xaf, 0x94, 0xc9, 0x39, 0x61, 0xa1, 0xc2, - 0x8f, 0x6d, 0x32, 0xe9, 0xb4, 0xe7, 0xde, 0xa2, 0xd2, 0x3b, 0x5d, 0xb7, 0xcd, 0xa5, 0xd5, 0x55, - 0x67, 0x1e, 0x5d, 0xa9, 0x15, 0xf2, 0x5c, 0x16, 0x32, 0xc5, 0xf3, 0x51, 0xbd, 0xc9, 0x4f, 0x95, - 0xeb, 0xeb, 0x45, 0xaa, 0x69, 0x7f, 0xd8, 0x70, 0x65, 0x72, 0xd1, 0x48, 0x72, 0xf4, 0x7b, 0xf1, - 0x97, 0x48, 0x78, 0x73, 0x70, 0x0a, 0x45, 0x6a, 0x84, 0xb4, 0x5a, 0x94, 0x73, 0xd1, 0x28, 0xbf, - 0xd5, 0xca, 0x4d, 0x3f, 0x5c, 0xec, 0xec, 0x77, 0x00, 0x00, 0x00, 0xff, 0xff, 0x08, 0xf4, 0x49, - 0x5d, 0x68, 0x03, 0x00, 0x00, +var File_client_proto protoreflect.FileDescriptor + +var file_client_proto_rawDesc = []byte{ + 0x0a, 0x0c, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x02, + 0x76, 0x31, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x1a, 0x0b, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, + 0xae, 0x03, 0x0a, 0x06, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x12, 0x30, 0x0a, 0x04, 0x68, 0x6f, + 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, + 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x12, 0x29, 0x0a, 0x04, + 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x76, 0x31, 0x2e, + 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, + 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x36, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, + 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, + 0x28, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x0c, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, + 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2c, 0x0a, 0x02, 0x69, 0x64, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x52, 0x02, 0x69, 0x64, 0x12, 0x20, 0x0a, 0x04, 0x73, 0x74, 0x61, 0x74, 0x18, + 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x49, + 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x73, 0x74, 0x61, 0x74, 0x12, 0x32, 0x0a, 0x05, 0x63, 0x74, 0x69, + 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, + 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x63, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x32, 0x0a, + 0x05, 0x6d, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, + 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x6d, 0x74, 0x69, 0x6d, + 0x65, 0x22, 0x2d, 0x0a, 0x0a, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, + 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, + 0x53, 0x44, 0x4b, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x41, 0x47, 0x45, 0x4e, 0x54, 0x10, 0x02, + 0x22, 0xde, 0x01, 0x0a, 0x08, 0x53, 0x74, 0x61, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x34, 0x0a, + 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x06, 0x74, 0x61, 0x72, + 0x67, 0x65, 0x74, 0x12, 0x30, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, + 0x04, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x30, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x38, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x63, 0x6f, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, + 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, + 0x6c, 0x42, 0x8c, 0x01, 0x0a, 0x37, 0x63, 0x6f, 0x6d, 0x2e, 0x74, 0x65, 0x6e, 0x63, 0x65, 0x6e, + 0x74, 0x2e, 0x70, 0x6f, 0x6c, 0x61, 0x72, 0x69, 0x73, 0x2e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, + 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x73, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x42, 0x0b, 0x43, + 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x5a, 0x44, 0x67, 0x69, 0x74, 0x68, + 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x70, 0x6f, 0x6c, 0x61, 0x72, 0x69, 0x73, 0x6d, 0x65, + 0x73, 0x68, 0x2f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x2f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2f, 0x67, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, + 0x31, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, + 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_client_proto_rawDescOnce sync.Once + file_client_proto_rawDescData = file_client_proto_rawDesc +) + +func file_client_proto_rawDescGZIP() []byte { + file_client_proto_rawDescOnce.Do(func() { + file_client_proto_rawDescData = protoimpl.X.CompressGZIP(file_client_proto_rawDescData) + }) + return file_client_proto_rawDescData +} + +var file_client_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_client_proto_msgTypes = make([]protoimpl.MessageInfo, 2) +var file_client_proto_goTypes = []interface{}{ + (Client_ClientType)(0), // 0: v1.Client.ClientType + (*Client)(nil), // 1: v1.Client + (*StatInfo)(nil), // 2: v1.StatInfo + (*wrapperspb.StringValue)(nil), // 3: google.protobuf.StringValue + (*model.Location)(nil), // 4: v1.Location + (*wrapperspb.UInt32Value)(nil), // 5: google.protobuf.UInt32Value +} +var file_client_proto_depIdxs = []int32{ + 3, // 0: v1.Client.host:type_name -> google.protobuf.StringValue + 0, // 1: v1.Client.type:type_name -> v1.Client.ClientType + 3, // 2: v1.Client.version:type_name -> google.protobuf.StringValue + 4, // 3: v1.Client.location:type_name -> v1.Location + 3, // 4: v1.Client.id:type_name -> google.protobuf.StringValue + 2, // 5: v1.Client.stat:type_name -> v1.StatInfo + 3, // 6: v1.Client.ctime:type_name -> google.protobuf.StringValue + 3, // 7: v1.Client.mtime:type_name -> google.protobuf.StringValue + 3, // 8: v1.StatInfo.target:type_name -> google.protobuf.StringValue + 5, // 9: v1.StatInfo.port:type_name -> google.protobuf.UInt32Value + 3, // 10: v1.StatInfo.path:type_name -> google.protobuf.StringValue + 3, // 11: v1.StatInfo.protocol:type_name -> google.protobuf.StringValue + 12, // [12:12] is the sub-list for method output_type + 12, // [12:12] is the sub-list for method input_type + 12, // [12:12] is the sub-list for extension type_name + 12, // [12:12] is the sub-list for extension extendee + 0, // [0:12] is the sub-list for field type_name +} + +func init() { file_client_proto_init() } +func file_client_proto_init() { + if File_client_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_client_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Client); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_client_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StatInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_client_proto_rawDesc, + NumEnums: 1, + NumMessages: 2, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_client_proto_goTypes, + DependencyIndexes: file_client_proto_depIdxs, + EnumInfos: file_client_proto_enumTypes, + MessageInfos: file_client_proto_msgTypes, + }.Build() + File_client_proto = out.File + file_client_proto_rawDesc = nil + file_client_proto_goTypes = nil + file_client_proto_depIdxs = nil } diff --git a/source/go/api/v1/service_manage/configrelease.pb.go b/source/go/api/v1/service_manage/configrelease.pb.go index 9cf9ccfb..cdaa19ec 100644 --- a/source/go/api/v1/service_manage/configrelease.pb.go +++ b/source/go/api/v1/service_manage/configrelease.pb.go @@ -1,161 +1,278 @@ // Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.33.0 +// protoc v5.27.3 // source: configrelease.proto -package service_manage // import "github.com/polarismesh/specification/source/go/api/v1/service_manage" +package service_manage -import proto "github.com/golang/protobuf/proto" -import fmt "fmt" -import math "math" -import fault_tolerance "github.com/polarismesh/specification/source/go/api/v1/fault_tolerance" -import wrapperspb "google.golang.org/protobuf/types/known/wrapperspb" +import ( + fault_tolerance "github.com/polarismesh/specification/source/go/api/v1/fault_tolerance" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + wrapperspb "google.golang.org/protobuf/types/known/wrapperspb" + reflect "reflect" + sync "sync" +) -// Reference imports to suppress errors if they are not otherwise used. -var _ = proto.Marshal -var _ = fmt.Errorf -var _ = math.Inf - -// This is a compile-time assertion to ensure that this generated file -// is compatible with the proto package it is being compiled against. -// A compilation error at this line likely means your copy of the -// proto package needs to be updated. -const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) type ConfigRelease struct { - Service *Service `protobuf:"bytes,1,opt,name=service,proto3" json:"service,omitempty"` - Ctime *wrapperspb.StringValue `protobuf:"bytes,2,opt,name=ctime,proto3" json:"ctime,omitempty"` - Mtime *wrapperspb.StringValue `protobuf:"bytes,3,opt,name=mtime,proto3" json:"mtime,omitempty"` - CircuitBreaker *fault_tolerance.CircuitBreaker `protobuf:"bytes,4,opt,name=circuitBreaker,proto3" json:"circuitBreaker,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *ConfigRelease) Reset() { *m = ConfigRelease{} } -func (m *ConfigRelease) String() string { return proto.CompactTextString(m) } -func (*ConfigRelease) ProtoMessage() {} -func (*ConfigRelease) Descriptor() ([]byte, []int) { - return fileDescriptor_configrelease_bc898875b762a95a, []int{0} -} -func (m *ConfigRelease) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_ConfigRelease.Unmarshal(m, b) -} -func (m *ConfigRelease) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_ConfigRelease.Marshal(b, m, deterministic) + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Service *Service `protobuf:"bytes,1,opt,name=service,proto3" json:"service,omitempty"` + Ctime *wrapperspb.StringValue `protobuf:"bytes,2,opt,name=ctime,proto3" json:"ctime,omitempty"` + Mtime *wrapperspb.StringValue `protobuf:"bytes,3,opt,name=mtime,proto3" json:"mtime,omitempty"` + CircuitBreaker *fault_tolerance.CircuitBreaker `protobuf:"bytes,4,opt,name=circuitBreaker,proto3" json:"circuitBreaker,omitempty"` } -func (dst *ConfigRelease) XXX_Merge(src proto.Message) { - xxx_messageInfo_ConfigRelease.Merge(dst, src) + +func (x *ConfigRelease) Reset() { + *x = ConfigRelease{} + if protoimpl.UnsafeEnabled { + mi := &file_configrelease_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (m *ConfigRelease) XXX_Size() int { - return xxx_messageInfo_ConfigRelease.Size(m) + +func (x *ConfigRelease) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *ConfigRelease) XXX_DiscardUnknown() { - xxx_messageInfo_ConfigRelease.DiscardUnknown(m) + +func (*ConfigRelease) ProtoMessage() {} + +func (x *ConfigRelease) ProtoReflect() protoreflect.Message { + mi := &file_configrelease_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) } -var xxx_messageInfo_ConfigRelease proto.InternalMessageInfo +// Deprecated: Use ConfigRelease.ProtoReflect.Descriptor instead. +func (*ConfigRelease) Descriptor() ([]byte, []int) { + return file_configrelease_proto_rawDescGZIP(), []int{0} +} -func (m *ConfigRelease) GetService() *Service { - if m != nil { - return m.Service +func (x *ConfigRelease) GetService() *Service { + if x != nil { + return x.Service } return nil } -func (m *ConfigRelease) GetCtime() *wrapperspb.StringValue { - if m != nil { - return m.Ctime +func (x *ConfigRelease) GetCtime() *wrapperspb.StringValue { + if x != nil { + return x.Ctime } return nil } -func (m *ConfigRelease) GetMtime() *wrapperspb.StringValue { - if m != nil { - return m.Mtime +func (x *ConfigRelease) GetMtime() *wrapperspb.StringValue { + if x != nil { + return x.Mtime } return nil } -func (m *ConfigRelease) GetCircuitBreaker() *fault_tolerance.CircuitBreaker { - if m != nil { - return m.CircuitBreaker +func (x *ConfigRelease) GetCircuitBreaker() *fault_tolerance.CircuitBreaker { + if x != nil { + return x.CircuitBreaker } return nil } type ConfigWithService struct { - Services []*Service `protobuf:"bytes,1,rep,name=services,proto3" json:"services,omitempty"` - CircuitBreaker *fault_tolerance.CircuitBreaker `protobuf:"bytes,2,opt,name=circuitBreaker,proto3" json:"circuitBreaker,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields -func (m *ConfigWithService) Reset() { *m = ConfigWithService{} } -func (m *ConfigWithService) String() string { return proto.CompactTextString(m) } -func (*ConfigWithService) ProtoMessage() {} -func (*ConfigWithService) Descriptor() ([]byte, []int) { - return fileDescriptor_configrelease_bc898875b762a95a, []int{1} -} -func (m *ConfigWithService) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_ConfigWithService.Unmarshal(m, b) + Services []*Service `protobuf:"bytes,1,rep,name=services,proto3" json:"services,omitempty"` + CircuitBreaker *fault_tolerance.CircuitBreaker `protobuf:"bytes,2,opt,name=circuitBreaker,proto3" json:"circuitBreaker,omitempty"` } -func (m *ConfigWithService) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_ConfigWithService.Marshal(b, m, deterministic) -} -func (dst *ConfigWithService) XXX_Merge(src proto.Message) { - xxx_messageInfo_ConfigWithService.Merge(dst, src) + +func (x *ConfigWithService) Reset() { + *x = ConfigWithService{} + if protoimpl.UnsafeEnabled { + mi := &file_configrelease_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (m *ConfigWithService) XXX_Size() int { - return xxx_messageInfo_ConfigWithService.Size(m) + +func (x *ConfigWithService) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *ConfigWithService) XXX_DiscardUnknown() { - xxx_messageInfo_ConfigWithService.DiscardUnknown(m) + +func (*ConfigWithService) ProtoMessage() {} + +func (x *ConfigWithService) ProtoReflect() protoreflect.Message { + mi := &file_configrelease_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) } -var xxx_messageInfo_ConfigWithService proto.InternalMessageInfo +// Deprecated: Use ConfigWithService.ProtoReflect.Descriptor instead. +func (*ConfigWithService) Descriptor() ([]byte, []int) { + return file_configrelease_proto_rawDescGZIP(), []int{1} +} -func (m *ConfigWithService) GetServices() []*Service { - if m != nil { - return m.Services +func (x *ConfigWithService) GetServices() []*Service { + if x != nil { + return x.Services } return nil } -func (m *ConfigWithService) GetCircuitBreaker() *fault_tolerance.CircuitBreaker { - if m != nil { - return m.CircuitBreaker +func (x *ConfigWithService) GetCircuitBreaker() *fault_tolerance.CircuitBreaker { + if x != nil { + return x.CircuitBreaker } return nil } -func init() { - proto.RegisterType((*ConfigRelease)(nil), "v1.ConfigRelease") - proto.RegisterType((*ConfigWithService)(nil), "v1.ConfigWithService") -} - -func init() { proto.RegisterFile("configrelease.proto", fileDescriptor_configrelease_bc898875b762a95a) } - -var fileDescriptor_configrelease_bc898875b762a95a = []byte{ - // 324 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x51, 0xcd, 0x4a, 0x3b, 0x31, - 0x10, 0x67, 0xdb, 0xff, 0x17, 0x29, 0xfd, 0x83, 0xd1, 0xc3, 0x52, 0x44, 0x4a, 0x41, 0xf4, 0x94, - 0xd0, 0x7a, 0x10, 0x3c, 0xb6, 0x3e, 0x80, 0x6c, 0x41, 0xc1, 0x8b, 0x64, 0xc3, 0x34, 0x1d, 0xdc, - 0xdd, 0x84, 0x24, 0xbb, 0xfa, 0x1e, 0xbe, 0x9d, 0x4f, 0x23, 0x9b, 0xa4, 0x42, 0x8b, 0x87, 0x5e, - 0x67, 0x7e, 0x9f, 0x33, 0xe4, 0x54, 0xea, 0x66, 0x83, 0xca, 0x42, 0x05, 0xc2, 0x01, 0x33, 0x56, - 0x7b, 0x4d, 0x07, 0xdd, 0x7c, 0x72, 0xa1, 0xb4, 0x56, 0x15, 0xf0, 0x30, 0x29, 0xdb, 0x0d, 0x7f, - 0xb3, 0xc2, 0x18, 0xb0, 0x2e, 0x62, 0x26, 0x63, 0x07, 0xb6, 0x43, 0x99, 0x28, 0x93, 0x33, 0x89, - 0x56, 0xb6, 0xe8, 0x4b, 0x0b, 0xe2, 0x15, 0x6c, 0x9c, 0xce, 0x3e, 0x33, 0x32, 0x5e, 0x05, 0x83, - 0x22, 0x1a, 0xd0, 0x4b, 0xf2, 0x37, 0x11, 0xf3, 0x6c, 0x9a, 0x5d, 0x8f, 0x16, 0x23, 0xd6, 0xcd, - 0xd9, 0x3a, 0x8e, 0x8a, 0xdd, 0x8e, 0x2e, 0xc8, 0x6f, 0xe9, 0xb1, 0x86, 0x7c, 0x10, 0x40, 0xe7, - 0x2c, 0xa6, 0x61, 0xbb, 0x34, 0x6c, 0xed, 0x2d, 0x36, 0xea, 0x51, 0x54, 0x2d, 0x14, 0x11, 0xda, - 0x73, 0xea, 0xc0, 0x19, 0x1e, 0xc3, 0x09, 0x50, 0x7a, 0x47, 0xfe, 0xa7, 0xe0, 0xcb, 0x18, 0x3c, - 0xff, 0x15, 0xc8, 0xb4, 0x4f, 0xb5, 0xda, 0xdb, 0x14, 0x07, 0xc8, 0xd9, 0x3b, 0x39, 0x89, 0xdd, - 0x9e, 0xd0, 0x6f, 0x53, 0x03, 0x7a, 0x45, 0xfe, 0xa5, 0x0e, 0x2e, 0xcf, 0xa6, 0xc3, 0xc3, 0x82, - 0xdf, 0xcb, 0x1f, 0x9c, 0x07, 0xc7, 0x3a, 0x2f, 0x3f, 0x32, 0x72, 0x2b, 0x75, 0xcd, 0x3c, 0x34, - 0x12, 0x1a, 0xcf, 0x8c, 0xae, 0x84, 0x45, 0xc7, 0x9c, 0x01, 0x89, 0x1b, 0x94, 0xc2, 0xa3, 0x6e, - 0x98, 0x30, 0xd8, 0x6b, 0xed, 0xfe, 0x54, 0x8b, 0x46, 0x28, 0x58, 0xd2, 0xbd, 0x7f, 0x3c, 0xf4, - 0xb7, 0x79, 0xbe, 0x57, 0xe8, 0xb7, 0x6d, 0xc9, 0xa4, 0xae, 0x79, 0xd2, 0xaa, 0xc1, 0x6d, 0xf9, - 0x9e, 0x1e, 0x77, 0xba, 0xb5, 0x12, 0xb8, 0xd2, 0x5c, 0x18, 0xe4, 0xdd, 0x9c, 0x27, 0xe5, 0x97, - 0xa8, 0x5c, 0xfe, 0x09, 0x87, 0xbe, 0xf9, 0x0a, 0x00, 0x00, 0xff, 0xff, 0x2e, 0x7c, 0x63, 0xf5, - 0x53, 0x02, 0x00, 0x00, +var File_configrelease_proto protoreflect.FileDescriptor + +var file_configrelease_proto_rawDesc = []byte{ + 0x0a, 0x13, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x02, 0x76, 0x31, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, + 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0d, 0x73, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x14, 0x63, 0x69, 0x72, 0x63, 0x75, 0x69, + 0x74, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xda, + 0x01, 0x0a, 0x0d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, + 0x12, 0x25, 0x0a, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x0b, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x07, + 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x32, 0x0a, 0x05, 0x63, 0x74, 0x69, 0x6d, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x63, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x32, 0x0a, 0x05, 0x6d, + 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, + 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x6d, 0x74, 0x69, 0x6d, 0x65, 0x12, + 0x3a, 0x0a, 0x0e, 0x63, 0x69, 0x72, 0x63, 0x75, 0x69, 0x74, 0x42, 0x72, 0x65, 0x61, 0x6b, 0x65, + 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x69, 0x72, + 0x63, 0x75, 0x69, 0x74, 0x42, 0x72, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x52, 0x0e, 0x63, 0x69, 0x72, + 0x63, 0x75, 0x69, 0x74, 0x42, 0x72, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x22, 0x78, 0x0a, 0x11, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x57, 0x69, 0x74, 0x68, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x12, 0x27, 0x0a, 0x08, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, + 0x08, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x12, 0x3a, 0x0a, 0x0e, 0x63, 0x69, 0x72, + 0x63, 0x75, 0x69, 0x74, 0x42, 0x72, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x12, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x69, 0x72, 0x63, 0x75, 0x69, 0x74, 0x42, 0x72, + 0x65, 0x61, 0x6b, 0x65, 0x72, 0x52, 0x0e, 0x63, 0x69, 0x72, 0x63, 0x75, 0x69, 0x74, 0x42, 0x72, + 0x65, 0x61, 0x6b, 0x65, 0x72, 0x42, 0x93, 0x01, 0x0a, 0x37, 0x63, 0x6f, 0x6d, 0x2e, 0x74, 0x65, + 0x6e, 0x63, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x6f, 0x6c, 0x61, 0x72, 0x69, 0x73, 0x2e, 0x73, 0x70, + 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x61, 0x70, 0x69, 0x2e, + 0x76, 0x31, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, + 0x65, 0x42, 0x12, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, + 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x5a, 0x44, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x70, 0x6f, 0x6c, 0x61, 0x72, 0x69, 0x73, 0x6d, 0x65, 0x73, 0x68, 0x2f, 0x73, 0x70, + 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x2f, 0x67, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x33, +} + +var ( + file_configrelease_proto_rawDescOnce sync.Once + file_configrelease_proto_rawDescData = file_configrelease_proto_rawDesc +) + +func file_configrelease_proto_rawDescGZIP() []byte { + file_configrelease_proto_rawDescOnce.Do(func() { + file_configrelease_proto_rawDescData = protoimpl.X.CompressGZIP(file_configrelease_proto_rawDescData) + }) + return file_configrelease_proto_rawDescData +} + +var file_configrelease_proto_msgTypes = make([]protoimpl.MessageInfo, 2) +var file_configrelease_proto_goTypes = []interface{}{ + (*ConfigRelease)(nil), // 0: v1.ConfigRelease + (*ConfigWithService)(nil), // 1: v1.ConfigWithService + (*Service)(nil), // 2: v1.Service + (*wrapperspb.StringValue)(nil), // 3: google.protobuf.StringValue + (*fault_tolerance.CircuitBreaker)(nil), // 4: v1.CircuitBreaker +} +var file_configrelease_proto_depIdxs = []int32{ + 2, // 0: v1.ConfigRelease.service:type_name -> v1.Service + 3, // 1: v1.ConfigRelease.ctime:type_name -> google.protobuf.StringValue + 3, // 2: v1.ConfigRelease.mtime:type_name -> google.protobuf.StringValue + 4, // 3: v1.ConfigRelease.circuitBreaker:type_name -> v1.CircuitBreaker + 2, // 4: v1.ConfigWithService.services:type_name -> v1.Service + 4, // 5: v1.ConfigWithService.circuitBreaker:type_name -> v1.CircuitBreaker + 6, // [6:6] is the sub-list for method output_type + 6, // [6:6] is the sub-list for method input_type + 6, // [6:6] is the sub-list for extension type_name + 6, // [6:6] is the sub-list for extension extendee + 0, // [0:6] is the sub-list for field type_name +} + +func init() { file_configrelease_proto_init() } +func file_configrelease_proto_init() { + if File_configrelease_proto != nil { + return + } + file_service_proto_init() + if !protoimpl.UnsafeEnabled { + file_configrelease_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ConfigRelease); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_configrelease_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ConfigWithService); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_configrelease_proto_rawDesc, + NumEnums: 0, + NumMessages: 2, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_configrelease_proto_goTypes, + DependencyIndexes: file_configrelease_proto_depIdxs, + MessageInfos: file_configrelease_proto_msgTypes, + }.Build() + File_configrelease_proto = out.File + file_configrelease_proto_rawDesc = nil + file_configrelease_proto_goTypes = nil + file_configrelease_proto_depIdxs = nil } diff --git a/source/go/api/v1/service_manage/contract.pb.go b/source/go/api/v1/service_manage/contract.pb.go index b50c0572..b6cd402d 100644 --- a/source/go/api/v1/service_manage/contract.pb.go +++ b/source/go/api/v1/service_manage/contract.pb.go @@ -1,22 +1,24 @@ // Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.33.0 +// protoc v5.27.3 // source: contract.proto -package service_manage // import "github.com/polarismesh/specification/source/go/api/v1/service_manage" +package service_manage -import proto "github.com/golang/protobuf/proto" -import fmt "fmt" -import math "math" - -// Reference imports to suppress errors if they are not otherwise used. -var _ = proto.Marshal -var _ = fmt.Errorf -var _ = math.Inf +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) -// This is a compile-time assertion to ensure that this generated file -// is compatible with the proto package it is being compiled against. -// A compilation error at this line likely means your copy of the -// proto package needs to be updated. -const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) type InterfaceDescriptor_Source int32 @@ -26,25 +28,52 @@ const ( InterfaceDescriptor_Client InterfaceDescriptor_Source = 2 ) -var InterfaceDescriptor_Source_name = map[int32]string{ - 0: "UNKNOWN", - 1: "Manual", - 2: "Client", -} -var InterfaceDescriptor_Source_value = map[string]int32{ - "UNKNOWN": 0, - "Manual": 1, - "Client": 2, +// Enum value maps for InterfaceDescriptor_Source. +var ( + InterfaceDescriptor_Source_name = map[int32]string{ + 0: "UNKNOWN", + 1: "Manual", + 2: "Client", + } + InterfaceDescriptor_Source_value = map[string]int32{ + "UNKNOWN": 0, + "Manual": 1, + "Client": 2, + } +) + +func (x InterfaceDescriptor_Source) Enum() *InterfaceDescriptor_Source { + p := new(InterfaceDescriptor_Source) + *p = x + return p } func (x InterfaceDescriptor_Source) String() string { - return proto.EnumName(InterfaceDescriptor_Source_name, int32(x)) + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (InterfaceDescriptor_Source) Descriptor() protoreflect.EnumDescriptor { + return file_contract_proto_enumTypes[0].Descriptor() +} + +func (InterfaceDescriptor_Source) Type() protoreflect.EnumType { + return &file_contract_proto_enumTypes[0] +} + +func (x InterfaceDescriptor_Source) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) } + +// Deprecated: Use InterfaceDescriptor_Source.Descriptor instead. func (InterfaceDescriptor_Source) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_contract_1b36befaccc84d00, []int{1, 0} + return file_contract_proto_rawDescGZIP(), []int{1, 0} } type ServiceContract struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + // 契约ID Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` // 契约名称 @@ -71,128 +100,146 @@ type ServiceContract struct { // 接口状态,Offline/Online Status string `protobuf:"bytes,12,opt,name=status,proto3" json:"status,omitempty"` // 类型 - Type string `protobuf:"bytes,14,opt,name=type,proto3" json:"type,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + Type string `protobuf:"bytes,14,opt,name=type,proto3" json:"type,omitempty"` + // 标签 + Metadata map[string]string `protobuf:"bytes,15,rep,name=metadata,proto3" json:"metadata,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } -func (m *ServiceContract) Reset() { *m = ServiceContract{} } -func (m *ServiceContract) String() string { return proto.CompactTextString(m) } -func (*ServiceContract) ProtoMessage() {} -func (*ServiceContract) Descriptor() ([]byte, []int) { - return fileDescriptor_contract_1b36befaccc84d00, []int{0} -} -func (m *ServiceContract) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_ServiceContract.Unmarshal(m, b) -} -func (m *ServiceContract) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_ServiceContract.Marshal(b, m, deterministic) -} -func (dst *ServiceContract) XXX_Merge(src proto.Message) { - xxx_messageInfo_ServiceContract.Merge(dst, src) +func (x *ServiceContract) Reset() { + *x = ServiceContract{} + if protoimpl.UnsafeEnabled { + mi := &file_contract_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (m *ServiceContract) XXX_Size() int { - return xxx_messageInfo_ServiceContract.Size(m) + +func (x *ServiceContract) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *ServiceContract) XXX_DiscardUnknown() { - xxx_messageInfo_ServiceContract.DiscardUnknown(m) + +func (*ServiceContract) ProtoMessage() {} + +func (x *ServiceContract) ProtoReflect() protoreflect.Message { + mi := &file_contract_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) } -var xxx_messageInfo_ServiceContract proto.InternalMessageInfo +// Deprecated: Use ServiceContract.ProtoReflect.Descriptor instead. +func (*ServiceContract) Descriptor() ([]byte, []int) { + return file_contract_proto_rawDescGZIP(), []int{0} +} -func (m *ServiceContract) GetId() string { - if m != nil { - return m.Id +func (x *ServiceContract) GetId() string { + if x != nil { + return x.Id } return "" } -func (m *ServiceContract) GetName() string { - if m != nil { - return m.Name +func (x *ServiceContract) GetName() string { + if x != nil { + return x.Name } return "" } -func (m *ServiceContract) GetNamespace() string { - if m != nil { - return m.Namespace +func (x *ServiceContract) GetNamespace() string { + if x != nil { + return x.Namespace } return "" } -func (m *ServiceContract) GetService() string { - if m != nil { - return m.Service +func (x *ServiceContract) GetService() string { + if x != nil { + return x.Service } return "" } -func (m *ServiceContract) GetProtocol() string { - if m != nil { - return m.Protocol +func (x *ServiceContract) GetProtocol() string { + if x != nil { + return x.Protocol } return "" } -func (m *ServiceContract) GetVersion() string { - if m != nil { - return m.Version +func (x *ServiceContract) GetVersion() string { + if x != nil { + return x.Version } return "" } -func (m *ServiceContract) GetRevision() string { - if m != nil { - return m.Revision +func (x *ServiceContract) GetRevision() string { + if x != nil { + return x.Revision } return "" } -func (m *ServiceContract) GetContent() string { - if m != nil { - return m.Content +func (x *ServiceContract) GetContent() string { + if x != nil { + return x.Content } return "" } -func (m *ServiceContract) GetInterfaces() []*InterfaceDescriptor { - if m != nil { - return m.Interfaces +func (x *ServiceContract) GetInterfaces() []*InterfaceDescriptor { + if x != nil { + return x.Interfaces } return nil } -func (m *ServiceContract) GetCtime() string { - if m != nil { - return m.Ctime +func (x *ServiceContract) GetCtime() string { + if x != nil { + return x.Ctime } return "" } -func (m *ServiceContract) GetMtime() string { - if m != nil { - return m.Mtime +func (x *ServiceContract) GetMtime() string { + if x != nil { + return x.Mtime } return "" } -func (m *ServiceContract) GetStatus() string { - if m != nil { - return m.Status +func (x *ServiceContract) GetStatus() string { + if x != nil { + return x.Status } return "" } -func (m *ServiceContract) GetType() string { - if m != nil { - return m.Type +func (x *ServiceContract) GetType() string { + if x != nil { + return x.Type } return "" } +func (x *ServiceContract) GetMetadata() map[string]string { + if x != nil { + return x.Metadata + } + return nil +} + type InterfaceDescriptor struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + // 接口ID Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` // 方法名称,对应 http method/ dubbo interface func/grpc service func @@ -221,172 +268,292 @@ type InterfaceDescriptor struct { // 契约版本 Version string `protobuf:"bytes,13,opt,name=version,proto3" json:"version,omitempty"` // 类型 - Type string `protobuf:"bytes,14,opt,name=type,proto3" json:"type,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + Type string `protobuf:"bytes,14,opt,name=type,proto3" json:"type,omitempty"` } -func (m *InterfaceDescriptor) Reset() { *m = InterfaceDescriptor{} } -func (m *InterfaceDescriptor) String() string { return proto.CompactTextString(m) } -func (*InterfaceDescriptor) ProtoMessage() {} -func (*InterfaceDescriptor) Descriptor() ([]byte, []int) { - return fileDescriptor_contract_1b36befaccc84d00, []int{1} -} -func (m *InterfaceDescriptor) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_InterfaceDescriptor.Unmarshal(m, b) -} -func (m *InterfaceDescriptor) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_InterfaceDescriptor.Marshal(b, m, deterministic) -} -func (dst *InterfaceDescriptor) XXX_Merge(src proto.Message) { - xxx_messageInfo_InterfaceDescriptor.Merge(dst, src) +func (x *InterfaceDescriptor) Reset() { + *x = InterfaceDescriptor{} + if protoimpl.UnsafeEnabled { + mi := &file_contract_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (m *InterfaceDescriptor) XXX_Size() int { - return xxx_messageInfo_InterfaceDescriptor.Size(m) + +func (x *InterfaceDescriptor) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *InterfaceDescriptor) XXX_DiscardUnknown() { - xxx_messageInfo_InterfaceDescriptor.DiscardUnknown(m) + +func (*InterfaceDescriptor) ProtoMessage() {} + +func (x *InterfaceDescriptor) ProtoReflect() protoreflect.Message { + mi := &file_contract_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) } -var xxx_messageInfo_InterfaceDescriptor proto.InternalMessageInfo +// Deprecated: Use InterfaceDescriptor.ProtoReflect.Descriptor instead. +func (*InterfaceDescriptor) Descriptor() ([]byte, []int) { + return file_contract_proto_rawDescGZIP(), []int{1} +} -func (m *InterfaceDescriptor) GetId() string { - if m != nil { - return m.Id +func (x *InterfaceDescriptor) GetId() string { + if x != nil { + return x.Id } return "" } -func (m *InterfaceDescriptor) GetMethod() string { - if m != nil { - return m.Method +func (x *InterfaceDescriptor) GetMethod() string { + if x != nil { + return x.Method } return "" } -func (m *InterfaceDescriptor) GetPath() string { - if m != nil { - return m.Path +func (x *InterfaceDescriptor) GetPath() string { + if x != nil { + return x.Path } return "" } -func (m *InterfaceDescriptor) GetContent() string { - if m != nil { - return m.Content +func (x *InterfaceDescriptor) GetContent() string { + if x != nil { + return x.Content } return "" } -func (m *InterfaceDescriptor) GetSource() InterfaceDescriptor_Source { - if m != nil { - return m.Source +func (x *InterfaceDescriptor) GetSource() InterfaceDescriptor_Source { + if x != nil { + return x.Source } return InterfaceDescriptor_UNKNOWN } -func (m *InterfaceDescriptor) GetRevision() string { - if m != nil { - return m.Revision +func (x *InterfaceDescriptor) GetRevision() string { + if x != nil { + return x.Revision } return "" } -func (m *InterfaceDescriptor) GetCtime() string { - if m != nil { - return m.Ctime +func (x *InterfaceDescriptor) GetCtime() string { + if x != nil { + return x.Ctime } return "" } -func (m *InterfaceDescriptor) GetMtime() string { - if m != nil { - return m.Mtime +func (x *InterfaceDescriptor) GetMtime() string { + if x != nil { + return x.Mtime } return "" } -func (m *InterfaceDescriptor) GetName() string { - if m != nil { - return m.Name +func (x *InterfaceDescriptor) GetName() string { + if x != nil { + return x.Name } return "" } -func (m *InterfaceDescriptor) GetNamespace() string { - if m != nil { - return m.Namespace +func (x *InterfaceDescriptor) GetNamespace() string { + if x != nil { + return x.Namespace } return "" } -func (m *InterfaceDescriptor) GetService() string { - if m != nil { - return m.Service +func (x *InterfaceDescriptor) GetService() string { + if x != nil { + return x.Service } return "" } -func (m *InterfaceDescriptor) GetProtocol() string { - if m != nil { - return m.Protocol +func (x *InterfaceDescriptor) GetProtocol() string { + if x != nil { + return x.Protocol } return "" } -func (m *InterfaceDescriptor) GetVersion() string { - if m != nil { - return m.Version +func (x *InterfaceDescriptor) GetVersion() string { + if x != nil { + return x.Version } return "" } -func (m *InterfaceDescriptor) GetType() string { - if m != nil { - return m.Type +func (x *InterfaceDescriptor) GetType() string { + if x != nil { + return x.Type } return "" } -func init() { - proto.RegisterType((*ServiceContract)(nil), "v1.ServiceContract") - proto.RegisterType((*InterfaceDescriptor)(nil), "v1.InterfaceDescriptor") - proto.RegisterEnum("v1.InterfaceDescriptor_Source", InterfaceDescriptor_Source_name, InterfaceDescriptor_Source_value) -} - -func init() { proto.RegisterFile("contract.proto", fileDescriptor_contract_1b36befaccc84d00) } - -var fileDescriptor_contract_1b36befaccc84d00 = []byte{ - // 472 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x53, 0xcd, 0x6e, 0x13, 0x31, - 0x10, 0x26, 0x9b, 0x74, 0x93, 0x4c, 0x4a, 0x88, 0x4c, 0x55, 0x2c, 0x84, 0x50, 0xd5, 0x53, 0x2f, - 0x78, 0x95, 0x22, 0xd1, 0x7b, 0xdb, 0x0b, 0x42, 0x04, 0x94, 0x0a, 0x21, 0x71, 0x41, 0xae, 0x33, - 0x4d, 0x2c, 0x65, 0x6d, 0xcb, 0x76, 0x56, 0xe2, 0x41, 0x78, 0x0f, 0x9e, 0x8b, 0xa7, 0x40, 0xfe, - 0x49, 0x49, 0x42, 0xc2, 0x69, 0xe7, 0xfb, 0x66, 0xe6, 0xb3, 0xe7, 0xf3, 0x2c, 0x0c, 0x85, 0x56, - 0xde, 0x72, 0xe1, 0x99, 0xb1, 0xda, 0x6b, 0x52, 0x34, 0xe3, 0xf3, 0xdf, 0x05, 0x3c, 0xbb, 0x43, - 0xdb, 0x48, 0x81, 0x37, 0x39, 0x4b, 0x86, 0x50, 0xc8, 0x19, 0x6d, 0x9d, 0xb5, 0x2e, 0xfa, 0xd3, - 0x42, 0xce, 0x08, 0x81, 0x8e, 0xe2, 0x35, 0xd2, 0x22, 0x32, 0x31, 0x26, 0xaf, 0xa0, 0x1f, 0xbe, - 0xce, 0x70, 0x81, 0xb4, 0x1d, 0x13, 0x7f, 0x09, 0x42, 0xa1, 0xeb, 0x92, 0x28, 0xed, 0xc4, 0xdc, - 0x1a, 0x92, 0x97, 0xd0, 0x8b, 0x87, 0x0b, 0xbd, 0xa4, 0x47, 0x31, 0xf5, 0x88, 0x43, 0x57, 0x83, - 0xd6, 0x49, 0xad, 0x68, 0x99, 0xba, 0x32, 0x0c, 0x5d, 0x16, 0x1b, 0x19, 0x53, 0xdd, 0xd4, 0xb5, - 0xc6, 0xa1, 0x2b, 0xcc, 0x85, 0xca, 0xd3, 0x5e, 0xea, 0xca, 0x90, 0x5c, 0x01, 0x48, 0xe5, 0xd1, - 0x3e, 0x70, 0x81, 0x8e, 0xf6, 0xcf, 0xda, 0x17, 0x83, 0xcb, 0x17, 0xac, 0x19, 0xb3, 0xf7, 0x6b, - 0xf6, 0x16, 0x9d, 0xb0, 0xd2, 0x78, 0x6d, 0xa7, 0x1b, 0xa5, 0xe4, 0x04, 0x8e, 0x84, 0x97, 0x35, - 0x52, 0x88, 0x82, 0x09, 0x04, 0xb6, 0x8e, 0xec, 0x20, 0xb1, 0x11, 0x90, 0x53, 0x28, 0x9d, 0xe7, - 0x7e, 0xe5, 0xe8, 0x71, 0xa4, 0x33, 0x0a, 0xa6, 0xf9, 0x1f, 0x06, 0xe9, 0x30, 0x99, 0x16, 0xe2, - 0xf3, 0x5f, 0x6d, 0x78, 0xbe, 0xe7, 0xec, 0x7f, 0x0c, 0x3f, 0x85, 0xb2, 0x46, 0xbf, 0xd0, 0xb3, - 0x6c, 0x79, 0x46, 0x41, 0xd3, 0x70, 0xbf, 0xc8, 0x7e, 0xc7, 0x78, 0x73, 0xfc, 0xce, 0xf6, 0xf8, - 0xef, 0xa0, 0x74, 0x7a, 0x65, 0x05, 0x46, 0xa3, 0x87, 0x97, 0xaf, 0x0f, 0x8c, 0xce, 0xee, 0x62, - 0xd5, 0x34, 0x57, 0x6f, 0x99, 0x5d, 0xee, 0x98, 0xfd, 0xe8, 0x4c, 0x77, 0xaf, 0x33, 0xbd, 0x4d, - 0x67, 0xd6, 0x6b, 0xd3, 0x3f, 0xb4, 0x36, 0xf0, 0x9f, 0xb5, 0x19, 0x1c, 0x5e, 0x9b, 0xe3, 0xc3, - 0x6b, 0xf3, 0x74, 0x7b, 0x6d, 0xf6, 0xbd, 0xc1, 0x1b, 0x28, 0xd3, 0xbc, 0x64, 0x00, 0xdd, 0x2f, - 0x93, 0x0f, 0x93, 0x4f, 0x5f, 0x27, 0xa3, 0x27, 0x04, 0xa0, 0xfc, 0xc8, 0xd5, 0x8a, 0x2f, 0x47, - 0xad, 0x10, 0xdf, 0x2c, 0x25, 0x2a, 0x3f, 0x2a, 0xae, 0x7f, 0xb6, 0xe0, 0x4a, 0xe8, 0x9a, 0x79, - 0x54, 0x02, 0x95, 0x67, 0x46, 0x2f, 0xb9, 0x95, 0x8e, 0x39, 0x83, 0x42, 0x3e, 0x48, 0xc1, 0xbd, - 0xd4, 0x8a, 0x71, 0x23, 0x83, 0xb9, 0xf9, 0xb6, 0xac, 0xe6, 0x8a, 0xcf, 0xf1, 0xfa, 0x64, 0xe7, - 0xc7, 0xfa, 0x1c, 0x6e, 0xfc, 0xed, 0x76, 0x2e, 0xfd, 0x62, 0x75, 0xcf, 0x84, 0xae, 0xab, 0xac, - 0x56, 0xa3, 0x5b, 0x54, 0x5b, 0x8a, 0x55, 0x7a, 0x8b, 0x6a, 0xae, 0x2b, 0x6e, 0x64, 0xd5, 0x8c, - 0xab, 0xac, 0xfd, 0x3d, 0x69, 0xdf, 0x97, 0x71, 0xfc, 0xb7, 0x7f, 0x02, 0x00, 0x00, 0xff, 0xff, - 0x0e, 0x34, 0x28, 0x33, 0xd4, 0x03, 0x00, 0x00, +var File_contract_proto protoreflect.FileDescriptor + +var file_contract_proto_rawDesc = []byte{ + 0x0a, 0x0e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x12, 0x02, 0x76, 0x31, 0x22, 0xe6, 0x03, 0x0a, 0x0f, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, + 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, + 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, + 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, + 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, + 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, + 0x12, 0x37, 0x0a, 0x0a, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x73, 0x18, 0x09, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, + 0x61, 0x63, 0x65, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x52, 0x0a, 0x69, + 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x74, 0x69, + 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x63, 0x74, 0x69, 0x6d, 0x65, 0x12, + 0x14, 0x0a, 0x05, 0x6d, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, + 0x6d, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, + 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x12, 0x0a, + 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, + 0x65, 0x12, 0x3d, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x0f, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x1a, 0x3b, 0x0a, 0x0d, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, + 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xb0, 0x03, + 0x0a, 0x13, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x44, 0x65, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x6f, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x12, 0x0a, + 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, + 0x68, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x36, 0x0a, 0x06, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x76, 0x31, + 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, + 0x70, 0x74, 0x6f, 0x72, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x06, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x12, + 0x14, 0x0a, 0x05, 0x63, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, + 0x63, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x08, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6d, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, + 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x0a, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x18, 0x0a, + 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, + 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x63, 0x6f, 0x6c, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x63, 0x6f, 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x0d, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, + 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, + 0x65, 0x22, 0x2d, 0x0a, 0x06, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x55, + 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x4d, 0x61, 0x6e, 0x75, + 0x61, 0x6c, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x10, 0x02, + 0x42, 0x95, 0x01, 0x0a, 0x37, 0x63, 0x6f, 0x6d, 0x2e, 0x74, 0x65, 0x6e, 0x63, 0x65, 0x6e, 0x74, + 0x2e, 0x70, 0x6f, 0x6c, 0x61, 0x72, 0x69, 0x73, 0x2e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x73, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x42, 0x14, 0x53, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x50, 0x72, 0x6f, + 0x74, 0x6f, 0x5a, 0x44, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x70, + 0x6f, 0x6c, 0x61, 0x72, 0x69, 0x73, 0x6d, 0x65, 0x73, 0x68, 0x2f, 0x73, 0x70, 0x65, 0x63, 0x69, + 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2f, + 0x67, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_contract_proto_rawDescOnce sync.Once + file_contract_proto_rawDescData = file_contract_proto_rawDesc +) + +func file_contract_proto_rawDescGZIP() []byte { + file_contract_proto_rawDescOnce.Do(func() { + file_contract_proto_rawDescData = protoimpl.X.CompressGZIP(file_contract_proto_rawDescData) + }) + return file_contract_proto_rawDescData +} + +var file_contract_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_contract_proto_msgTypes = make([]protoimpl.MessageInfo, 3) +var file_contract_proto_goTypes = []interface{}{ + (InterfaceDescriptor_Source)(0), // 0: v1.InterfaceDescriptor.Source + (*ServiceContract)(nil), // 1: v1.ServiceContract + (*InterfaceDescriptor)(nil), // 2: v1.InterfaceDescriptor + nil, // 3: v1.ServiceContract.MetadataEntry +} +var file_contract_proto_depIdxs = []int32{ + 2, // 0: v1.ServiceContract.interfaces:type_name -> v1.InterfaceDescriptor + 3, // 1: v1.ServiceContract.metadata:type_name -> v1.ServiceContract.MetadataEntry + 0, // 2: v1.InterfaceDescriptor.source:type_name -> v1.InterfaceDescriptor.Source + 3, // [3:3] is the sub-list for method output_type + 3, // [3:3] is the sub-list for method input_type + 3, // [3:3] is the sub-list for extension type_name + 3, // [3:3] is the sub-list for extension extendee + 0, // [0:3] is the sub-list for field type_name +} + +func init() { file_contract_proto_init() } +func file_contract_proto_init() { + if File_contract_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_contract_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ServiceContract); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_contract_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*InterfaceDescriptor); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_contract_proto_rawDesc, + NumEnums: 1, + NumMessages: 3, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_contract_proto_goTypes, + DependencyIndexes: file_contract_proto_depIdxs, + EnumInfos: file_contract_proto_enumTypes, + MessageInfos: file_contract_proto_msgTypes, + }.Build() + File_contract_proto = out.File + file_contract_proto_rawDesc = nil + file_contract_proto_goTypes = nil + file_contract_proto_depIdxs = nil } diff --git a/source/go/api/v1/service_manage/grpcapi.pb.go b/source/go/api/v1/service_manage/grpcapi.pb.go index 4d4c9f09..ae2c859e 100644 --- a/source/go/api/v1/service_manage/grpcapi.pb.go +++ b/source/go/api/v1/service_manage/grpcapi.pb.go @@ -1,35 +1,171 @@ // Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.33.0 +// protoc v5.27.3 // source: grpcapi.proto -package service_manage // import "github.com/polarismesh/specification/source/go/api/v1/service_manage" - -import proto "github.com/golang/protobuf/proto" -import fmt "fmt" -import math "math" +package service_manage import ( - context "golang.org/x/net/context" + context "context" grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" ) -// Reference imports to suppress errors if they are not otherwise used. -var _ = proto.Marshal -var _ = fmt.Errorf -var _ = math.Inf +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) -// This is a compile-time assertion to ensure that this generated file -// is compatible with the proto package it is being compiled against. -// A compilation error at this line likely means your copy of the -// proto package needs to be updated. -const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package +var File_grpcapi_proto protoreflect.FileDescriptor + +var file_grpcapi_proto_rawDesc = []byte{ + 0x0a, 0x0d, 0x67, 0x72, 0x70, 0x63, 0x61, 0x70, 0x69, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, + 0x02, 0x76, 0x31, 0x1a, 0x0c, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x1a, 0x0d, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x1a, 0x0d, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, + 0x0e, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, + 0x0f, 0x68, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x1a, 0x0e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x32, 0x87, 0x02, 0x0a, 0x0b, 0x50, 0x6f, 0x6c, 0x61, 0x72, 0x69, 0x73, 0x47, 0x52, 0x50, 0x43, + 0x12, 0x2a, 0x0a, 0x0c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, + 0x12, 0x0a, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x1a, 0x0c, 0x2e, 0x76, + 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x30, 0x0a, 0x10, + 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x12, 0x0c, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x1a, 0x0c, + 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x32, + 0x0a, 0x12, 0x44, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x49, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x12, 0x0c, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x1a, 0x0c, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x00, 0x12, 0x3b, 0x0a, 0x08, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x12, 0x13, + 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, + 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x28, 0x01, 0x30, 0x01, 0x12, + 0x29, 0x0a, 0x09, 0x48, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x12, 0x0c, 0x2e, 0x76, + 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x1a, 0x0c, 0x2e, 0x76, 0x31, 0x2e, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x32, 0xf5, 0x01, 0x0a, 0x14, 0x50, + 0x6f, 0x6c, 0x61, 0x72, 0x69, 0x73, 0x48, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x47, + 0x52, 0x50, 0x43, 0x12, 0x45, 0x0a, 0x0e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x48, 0x65, 0x61, 0x72, + 0x74, 0x62, 0x65, 0x61, 0x74, 0x12, 0x15, 0x2e, 0x76, 0x31, 0x2e, 0x48, 0x65, 0x61, 0x72, 0x74, + 0x62, 0x65, 0x61, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x76, + 0x31, 0x2e, 0x48, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x28, 0x01, 0x30, 0x01, 0x12, 0x4a, 0x0a, 0x11, 0x42, 0x61, + 0x74, 0x63, 0x68, 0x47, 0x65, 0x74, 0x48, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x12, + 0x18, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x48, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, + 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x76, 0x31, 0x2e, 0x47, + 0x65, 0x74, 0x48, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4a, 0x0a, 0x11, 0x42, 0x61, 0x74, 0x63, 0x68, 0x44, + 0x65, 0x6c, 0x48, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x12, 0x18, 0x2e, 0x76, 0x31, + 0x2e, 0x44, 0x65, 0x6c, 0x48, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x48, 0x65, + 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x00, 0x32, 0x95, 0x01, 0x0a, 0x1a, 0x50, 0x6f, 0x6c, 0x61, 0x72, 0x69, 0x73, 0x53, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x47, 0x52, 0x50, + 0x43, 0x12, 0x3c, 0x0a, 0x15, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x12, 0x13, 0x2e, 0x76, 0x31, 0x2e, + 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x1a, + 0x0c, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, + 0x39, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6e, + 0x74, 0x72, 0x61, 0x63, 0x74, 0x12, 0x13, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x1a, 0x0c, 0x2e, 0x76, 0x31, 0x2e, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0x93, 0x01, 0x0a, 0x37, 0x63, + 0x6f, 0x6d, 0x2e, 0x74, 0x65, 0x6e, 0x63, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x6f, 0x6c, 0x61, 0x72, + 0x69, 0x73, 0x2e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, + 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x42, 0x12, 0x50, 0x6f, 0x6c, 0x61, 0x72, 0x69, 0x73, 0x47, + 0x52, 0x50, 0x43, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5a, 0x44, 0x67, 0x69, 0x74, 0x68, + 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x70, 0x6f, 0x6c, 0x61, 0x72, 0x69, 0x73, 0x6d, 0x65, + 0x73, 0x68, 0x2f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x2f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2f, 0x67, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, + 0x31, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, + 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var file_grpcapi_proto_goTypes = []interface{}{ + (*Client)(nil), // 0: v1.Client + (*Instance)(nil), // 1: v1.Instance + (*DiscoverRequest)(nil), // 2: v1.DiscoverRequest + (*HeartbeatsRequest)(nil), // 3: v1.HeartbeatsRequest + (*GetHeartbeatsRequest)(nil), // 4: v1.GetHeartbeatsRequest + (*DelHeartbeatsRequest)(nil), // 5: v1.DelHeartbeatsRequest + (*ServiceContract)(nil), // 6: v1.ServiceContract + (*Response)(nil), // 7: v1.Response + (*DiscoverResponse)(nil), // 8: v1.DiscoverResponse + (*HeartbeatsResponse)(nil), // 9: v1.HeartbeatsResponse + (*GetHeartbeatsResponse)(nil), // 10: v1.GetHeartbeatsResponse + (*DelHeartbeatsResponse)(nil), // 11: v1.DelHeartbeatsResponse +} +var file_grpcapi_proto_depIdxs = []int32{ + 0, // 0: v1.PolarisGRPC.ReportClient:input_type -> v1.Client + 1, // 1: v1.PolarisGRPC.RegisterInstance:input_type -> v1.Instance + 1, // 2: v1.PolarisGRPC.DeregisterInstance:input_type -> v1.Instance + 2, // 3: v1.PolarisGRPC.Discover:input_type -> v1.DiscoverRequest + 1, // 4: v1.PolarisGRPC.Heartbeat:input_type -> v1.Instance + 3, // 5: v1.PolarisHeartbeatGRPC.BatchHeartbeat:input_type -> v1.HeartbeatsRequest + 4, // 6: v1.PolarisHeartbeatGRPC.BatchGetHeartbeat:input_type -> v1.GetHeartbeatsRequest + 5, // 7: v1.PolarisHeartbeatGRPC.BatchDelHeartbeat:input_type -> v1.DelHeartbeatsRequest + 6, // 8: v1.PolarisServiceContractGRPC.ReportServiceContract:input_type -> v1.ServiceContract + 6, // 9: v1.PolarisServiceContractGRPC.GetServiceContract:input_type -> v1.ServiceContract + 7, // 10: v1.PolarisGRPC.ReportClient:output_type -> v1.Response + 7, // 11: v1.PolarisGRPC.RegisterInstance:output_type -> v1.Response + 7, // 12: v1.PolarisGRPC.DeregisterInstance:output_type -> v1.Response + 8, // 13: v1.PolarisGRPC.Discover:output_type -> v1.DiscoverResponse + 7, // 14: v1.PolarisGRPC.Heartbeat:output_type -> v1.Response + 9, // 15: v1.PolarisHeartbeatGRPC.BatchHeartbeat:output_type -> v1.HeartbeatsResponse + 10, // 16: v1.PolarisHeartbeatGRPC.BatchGetHeartbeat:output_type -> v1.GetHeartbeatsResponse + 11, // 17: v1.PolarisHeartbeatGRPC.BatchDelHeartbeat:output_type -> v1.DelHeartbeatsResponse + 7, // 18: v1.PolarisServiceContractGRPC.ReportServiceContract:output_type -> v1.Response + 7, // 19: v1.PolarisServiceContractGRPC.GetServiceContract:output_type -> v1.Response + 10, // [10:20] is the sub-list for method output_type + 0, // [0:10] is the sub-list for method input_type + 0, // [0:0] is the sub-list for extension type_name + 0, // [0:0] is the sub-list for extension extendee + 0, // [0:0] is the sub-list for field type_name +} + +func init() { file_grpcapi_proto_init() } +func file_grpcapi_proto_init() { + if File_grpcapi_proto != nil { + return + } + file_client_proto_init() + file_service_proto_init() + file_request_proto_init() + file_response_proto_init() + file_heartbeat_proto_init() + file_contract_proto_init() + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_grpcapi_proto_rawDesc, + NumEnums: 0, + NumMessages: 0, + NumExtensions: 0, + NumServices: 3, + }, + GoTypes: file_grpcapi_proto_goTypes, + DependencyIndexes: file_grpcapi_proto_depIdxs, + }.Build() + File_grpcapi_proto = out.File + file_grpcapi_proto_rawDesc = nil + file_grpcapi_proto_goTypes = nil + file_grpcapi_proto_depIdxs = nil +} // Reference imports to suppress errors if they are not otherwise used. var _ context.Context -var _ grpc.ClientConn +var _ grpc.ClientConnInterface // This is a compile-time assertion to ensure that this generated file // is compatible with the grpc package it is being compiled against. -const _ = grpc.SupportPackageIsVersion4 +const _ = grpc.SupportPackageIsVersion6 // PolarisGRPCClient is the client API for PolarisGRPC service. // @@ -48,10 +184,10 @@ type PolarisGRPCClient interface { } type polarisGRPCClient struct { - cc *grpc.ClientConn + cc grpc.ClientConnInterface } -func NewPolarisGRPCClient(cc *grpc.ClientConn) PolarisGRPCClient { +func NewPolarisGRPCClient(cc grpc.ClientConnInterface) PolarisGRPCClient { return &polarisGRPCClient{cc} } @@ -136,6 +272,26 @@ type PolarisGRPCServer interface { Heartbeat(context.Context, *Instance) (*Response, error) } +// UnimplementedPolarisGRPCServer can be embedded to have forward compatible implementations. +type UnimplementedPolarisGRPCServer struct { +} + +func (*UnimplementedPolarisGRPCServer) ReportClient(context.Context, *Client) (*Response, error) { + return nil, status.Errorf(codes.Unimplemented, "method ReportClient not implemented") +} +func (*UnimplementedPolarisGRPCServer) RegisterInstance(context.Context, *Instance) (*Response, error) { + return nil, status.Errorf(codes.Unimplemented, "method RegisterInstance not implemented") +} +func (*UnimplementedPolarisGRPCServer) DeregisterInstance(context.Context, *Instance) (*Response, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeregisterInstance not implemented") +} +func (*UnimplementedPolarisGRPCServer) Discover(PolarisGRPC_DiscoverServer) error { + return status.Errorf(codes.Unimplemented, "method Discover not implemented") +} +func (*UnimplementedPolarisGRPCServer) Heartbeat(context.Context, *Instance) (*Response, error) { + return nil, status.Errorf(codes.Unimplemented, "method Heartbeat not implemented") +} + func RegisterPolarisGRPCServer(s *grpc.Server, srv PolarisGRPCServer) { s.RegisterService(&_PolarisGRPC_serviceDesc, srv) } @@ -283,10 +439,10 @@ type PolarisHeartbeatGRPCClient interface { } type polarisHeartbeatGRPCClient struct { - cc *grpc.ClientConn + cc grpc.ClientConnInterface } -func NewPolarisHeartbeatGRPCClient(cc *grpc.ClientConn) PolarisHeartbeatGRPCClient { +func NewPolarisHeartbeatGRPCClient(cc grpc.ClientConnInterface) PolarisHeartbeatGRPCClient { return &polarisHeartbeatGRPCClient{cc} } @@ -349,6 +505,20 @@ type PolarisHeartbeatGRPCServer interface { BatchDelHeartbeat(context.Context, *DelHeartbeatsRequest) (*DelHeartbeatsResponse, error) } +// UnimplementedPolarisHeartbeatGRPCServer can be embedded to have forward compatible implementations. +type UnimplementedPolarisHeartbeatGRPCServer struct { +} + +func (*UnimplementedPolarisHeartbeatGRPCServer) BatchHeartbeat(PolarisHeartbeatGRPC_BatchHeartbeatServer) error { + return status.Errorf(codes.Unimplemented, "method BatchHeartbeat not implemented") +} +func (*UnimplementedPolarisHeartbeatGRPCServer) BatchGetHeartbeat(context.Context, *GetHeartbeatsRequest) (*GetHeartbeatsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method BatchGetHeartbeat not implemented") +} +func (*UnimplementedPolarisHeartbeatGRPCServer) BatchDelHeartbeat(context.Context, *DelHeartbeatsRequest) (*DelHeartbeatsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method BatchDelHeartbeat not implemented") +} + func RegisterPolarisHeartbeatGRPCServer(s *grpc.Server, srv PolarisHeartbeatGRPCServer) { s.RegisterService(&_PolarisHeartbeatGRPC_serviceDesc, srv) } @@ -450,10 +620,10 @@ type PolarisServiceContractGRPCClient interface { } type polarisServiceContractGRPCClient struct { - cc *grpc.ClientConn + cc grpc.ClientConnInterface } -func NewPolarisServiceContractGRPCClient(cc *grpc.ClientConn) PolarisServiceContractGRPCClient { +func NewPolarisServiceContractGRPCClient(cc grpc.ClientConnInterface) PolarisServiceContractGRPCClient { return &polarisServiceContractGRPCClient{cc} } @@ -483,6 +653,17 @@ type PolarisServiceContractGRPCServer interface { GetServiceContract(context.Context, *ServiceContract) (*Response, error) } +// UnimplementedPolarisServiceContractGRPCServer can be embedded to have forward compatible implementations. +type UnimplementedPolarisServiceContractGRPCServer struct { +} + +func (*UnimplementedPolarisServiceContractGRPCServer) ReportServiceContract(context.Context, *ServiceContract) (*Response, error) { + return nil, status.Errorf(codes.Unimplemented, "method ReportServiceContract not implemented") +} +func (*UnimplementedPolarisServiceContractGRPCServer) GetServiceContract(context.Context, *ServiceContract) (*Response, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetServiceContract not implemented") +} + func RegisterPolarisServiceContractGRPCServer(s *grpc.Server, srv PolarisServiceContractGRPCServer) { s.RegisterService(&_PolarisServiceContractGRPC_serviceDesc, srv) } @@ -539,35 +720,3 @@ var _PolarisServiceContractGRPC_serviceDesc = grpc.ServiceDesc{ Streams: []grpc.StreamDesc{}, Metadata: "grpcapi.proto", } - -func init() { proto.RegisterFile("grpcapi.proto", fileDescriptor_grpcapi_28730f5c35450f06) } - -var fileDescriptor_grpcapi_28730f5c35450f06 = []byte{ - // 409 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x53, 0xb1, 0x6e, 0xdb, 0x30, - 0x10, 0xad, 0x3c, 0x14, 0x2d, 0x6b, 0xbb, 0x2d, 0x6b, 0x17, 0xad, 0xc6, 0x4e, 0x6d, 0x07, 0xca, - 0x72, 0x87, 0xa2, 0x68, 0x27, 0x5b, 0x85, 0x93, 0x4c, 0x86, 0xb2, 0x65, 0x09, 0x68, 0xe2, 0x22, - 0x11, 0xb0, 0x48, 0x85, 0xa4, 0xf5, 0x0b, 0xf9, 0x80, 0x20, 0x9f, 0x9a, 0x3d, 0x90, 0x48, 0xca, - 0x96, 0x1c, 0x04, 0x48, 0x36, 0xde, 0x7b, 0x7c, 0xef, 0x78, 0xc7, 0x3b, 0x34, 0xca, 0x54, 0xc9, - 0x68, 0xc9, 0x49, 0xa9, 0xa4, 0x91, 0x78, 0x50, 0xc5, 0xe1, 0x90, 0x6d, 0x39, 0x08, 0x63, 0x91, - 0x70, 0xa4, 0x41, 0x55, 0x9c, 0x81, 0x0f, 0x15, 0x5c, 0xef, 0x40, 0x7b, 0x76, 0xac, 0x40, 0x97, - 0x52, 0x68, 0x4f, 0xbf, 0xcf, 0x81, 0x2a, 0xb3, 0x01, 0xda, 0x5e, 0x60, 0x52, 0x18, 0x45, 0x99, - 0x8b, 0xe7, 0x37, 0x03, 0xf4, 0x6e, 0x2d, 0xb7, 0x54, 0x71, 0xbd, 0x4a, 0xd7, 0x4b, 0xfc, 0x13, - 0x0d, 0x53, 0x28, 0xa5, 0x32, 0xcb, 0x26, 0x29, 0x46, 0xa4, 0x8a, 0x89, 0x3d, 0x87, 0xc3, 0xfa, - 0x9c, 0xba, 0x04, 0xdf, 0x5e, 0xe1, 0x19, 0xfa, 0x90, 0x42, 0xc6, 0xb5, 0x01, 0x75, 0x2a, 0xb4, - 0xa1, 0x82, 0x01, 0x6e, 0xee, 0xf8, 0xe8, 0x48, 0x31, 0x47, 0x38, 0x01, 0xf5, 0x3c, 0xcd, 0x5f, - 0xf4, 0x26, 0xe1, 0x9a, 0xc9, 0x0a, 0x14, 0xfe, 0x54, 0x73, 0x3e, 0x4a, 0x6d, 0xe5, 0xe1, 0xa4, - 0x0b, 0x7a, 0xe1, 0xf7, 0x60, 0x16, 0xe0, 0x1f, 0xe8, 0xed, 0x89, 0xef, 0xc0, 0xd3, 0x79, 0xe6, - 0xf7, 0x01, 0x9a, 0xb8, 0x4e, 0xb4, 0x92, 0xa6, 0x25, 0xff, 0xd1, 0x78, 0x41, 0x0d, 0xcb, 0xf7, - 0x46, 0xd3, 0x5a, 0xda, 0x86, 0xda, 0x3f, 0xe4, 0x73, 0x1f, 0xee, 0x3c, 0xe5, 0x0c, 0x7d, 0x6c, - 0x6c, 0x56, 0x60, 0xf6, 0x4e, 0x5f, 0x6a, 0xc9, 0x21, 0xd2, 0x9a, 0x7d, 0x7d, 0x84, 0x69, 0x7b, - 0xe2, 0xbd, 0x12, 0xd8, 0xf6, 0xbc, 0x0e, 0x91, 0xae, 0x57, 0x8f, 0x69, 0xeb, 0xbe, 0x0b, 0x50, - 0xe8, 0xea, 0x3e, 0xb7, 0xa3, 0xb5, 0x74, 0x23, 0xd2, 0x54, 0xff, 0x0f, 0x4d, 0xed, 0x40, 0xf4, - 0x48, 0xfb, 0x17, 0x3d, 0xf0, 0xe8, 0xf3, 0xfe, 0x20, 0xbc, 0x82, 0x17, 0x49, 0x17, 0xb7, 0x01, - 0xfa, 0xcd, 0x64, 0x41, 0x0c, 0x08, 0xd6, 0x8c, 0xbf, 0x7d, 0x23, 0xd1, 0x25, 0x30, 0x7e, 0xc5, - 0x19, 0x35, 0x5c, 0x0a, 0x52, 0xaf, 0x4a, 0x15, 0x13, 0xbf, 0x14, 0x05, 0x15, 0x34, 0x83, 0x05, - 0x3e, 0x18, 0x69, 0x97, 0xe7, 0x22, 0xc9, 0xb8, 0xc9, 0x77, 0x1b, 0xc2, 0x64, 0x11, 0x39, 0xaf, - 0x02, 0x74, 0x1e, 0x75, 0xfc, 0x22, 0x2d, 0x77, 0x8a, 0x41, 0x94, 0xc9, 0x88, 0x96, 0x3c, 0xaa, - 0xe2, 0xc8, 0x39, 0x5f, 0x5a, 0xe7, 0xcd, 0xeb, 0x66, 0x6d, 0x7e, 0x3d, 0x04, 0x00, 0x00, 0xff, - 0xff, 0x47, 0xcd, 0xe1, 0x6d, 0xa8, 0x03, 0x00, 0x00, -} diff --git a/source/go/api/v1/service_manage/heartbeat.pb.go b/source/go/api/v1/service_manage/heartbeat.pb.go index 10a6c2e3..e2daa283 100644 --- a/source/go/api/v1/service_manage/heartbeat.pb.go +++ b/source/go/api/v1/service_manage/heartbeat.pb.go @@ -1,415 +1,657 @@ // Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.33.0 +// protoc v5.27.3 // source: heartbeat.proto -package service_manage // import "github.com/polarismesh/specification/source/go/api/v1/service_manage" +package service_manage -import proto "github.com/golang/protobuf/proto" -import fmt "fmt" -import math "math" +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) -// Reference imports to suppress errors if they are not otherwise used. -var _ = proto.Marshal -var _ = fmt.Errorf -var _ = math.Inf - -// This is a compile-time assertion to ensure that this generated file -// is compatible with the proto package it is being compiled against. -// A compilation error at this line likely means your copy of the -// proto package needs to be updated. -const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) type HeartbeatRecord struct { - InstanceId string `protobuf:"bytes,1,opt,name=instanceId,json=instance_id,proto3" json:"instanceId,omitempty"` - LastHeartbeatSec int64 `protobuf:"varint,6,opt,name=lastHeartbeatSec,json=last_heartbeat_sec,proto3" json:"lastHeartbeatSec,omitempty"` - Exist bool `protobuf:"varint,7,opt,name=exist,proto3" json:"exist,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields -func (m *HeartbeatRecord) Reset() { *m = HeartbeatRecord{} } -func (m *HeartbeatRecord) String() string { return proto.CompactTextString(m) } -func (*HeartbeatRecord) ProtoMessage() {} -func (*HeartbeatRecord) Descriptor() ([]byte, []int) { - return fileDescriptor_heartbeat_444c95e923f2483e, []int{0} -} -func (m *HeartbeatRecord) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_HeartbeatRecord.Unmarshal(m, b) + InstanceId string `protobuf:"bytes,1,opt,name=instanceId,json=instance_id,proto3" json:"instanceId,omitempty"` + LastHeartbeatSec int64 `protobuf:"varint,6,opt,name=lastHeartbeatSec,json=last_heartbeat_sec,proto3" json:"lastHeartbeatSec,omitempty"` + Exist bool `protobuf:"varint,7,opt,name=exist,proto3" json:"exist,omitempty"` } -func (m *HeartbeatRecord) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_HeartbeatRecord.Marshal(b, m, deterministic) -} -func (dst *HeartbeatRecord) XXX_Merge(src proto.Message) { - xxx_messageInfo_HeartbeatRecord.Merge(dst, src) + +func (x *HeartbeatRecord) Reset() { + *x = HeartbeatRecord{} + if protoimpl.UnsafeEnabled { + mi := &file_heartbeat_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (m *HeartbeatRecord) XXX_Size() int { - return xxx_messageInfo_HeartbeatRecord.Size(m) + +func (x *HeartbeatRecord) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *HeartbeatRecord) XXX_DiscardUnknown() { - xxx_messageInfo_HeartbeatRecord.DiscardUnknown(m) + +func (*HeartbeatRecord) ProtoMessage() {} + +func (x *HeartbeatRecord) ProtoReflect() protoreflect.Message { + mi := &file_heartbeat_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) } -var xxx_messageInfo_HeartbeatRecord proto.InternalMessageInfo +// Deprecated: Use HeartbeatRecord.ProtoReflect.Descriptor instead. +func (*HeartbeatRecord) Descriptor() ([]byte, []int) { + return file_heartbeat_proto_rawDescGZIP(), []int{0} +} -func (m *HeartbeatRecord) GetInstanceId() string { - if m != nil { - return m.InstanceId +func (x *HeartbeatRecord) GetInstanceId() string { + if x != nil { + return x.InstanceId } return "" } -func (m *HeartbeatRecord) GetLastHeartbeatSec() int64 { - if m != nil { - return m.LastHeartbeatSec +func (x *HeartbeatRecord) GetLastHeartbeatSec() int64 { + if x != nil { + return x.LastHeartbeatSec } return 0 } -func (m *HeartbeatRecord) GetExist() bool { - if m != nil { - return m.Exist +func (x *HeartbeatRecord) GetExist() bool { + if x != nil { + return x.Exist } return false } type InstanceHeartbeat struct { - InstanceId string `protobuf:"bytes,1,opt,name=instanceId,json=instance_id,proto3" json:"instanceId,omitempty"` - Service string `protobuf:"bytes,2,opt,name=service,proto3" json:"service,omitempty"` - Namespace string `protobuf:"bytes,3,opt,name=namespace,proto3" json:"namespace,omitempty"` - Host string `protobuf:"bytes,4,opt,name=host,proto3" json:"host,omitempty"` - Port uint32 `protobuf:"varint,5,opt,name=port,proto3" json:"port,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *InstanceHeartbeat) Reset() { *m = InstanceHeartbeat{} } -func (m *InstanceHeartbeat) String() string { return proto.CompactTextString(m) } -func (*InstanceHeartbeat) ProtoMessage() {} -func (*InstanceHeartbeat) Descriptor() ([]byte, []int) { - return fileDescriptor_heartbeat_444c95e923f2483e, []int{1} -} -func (m *InstanceHeartbeat) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_InstanceHeartbeat.Unmarshal(m, b) -} -func (m *InstanceHeartbeat) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_InstanceHeartbeat.Marshal(b, m, deterministic) -} -func (dst *InstanceHeartbeat) XXX_Merge(src proto.Message) { - xxx_messageInfo_InstanceHeartbeat.Merge(dst, src) + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + InstanceId string `protobuf:"bytes,1,opt,name=instanceId,json=instance_id,proto3" json:"instanceId,omitempty"` + Service string `protobuf:"bytes,2,opt,name=service,proto3" json:"service,omitempty"` + Namespace string `protobuf:"bytes,3,opt,name=namespace,proto3" json:"namespace,omitempty"` + Host string `protobuf:"bytes,4,opt,name=host,proto3" json:"host,omitempty"` + Port uint32 `protobuf:"varint,5,opt,name=port,proto3" json:"port,omitempty"` +} + +func (x *InstanceHeartbeat) Reset() { + *x = InstanceHeartbeat{} + if protoimpl.UnsafeEnabled { + mi := &file_heartbeat_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (m *InstanceHeartbeat) XXX_Size() int { - return xxx_messageInfo_InstanceHeartbeat.Size(m) + +func (x *InstanceHeartbeat) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *InstanceHeartbeat) XXX_DiscardUnknown() { - xxx_messageInfo_InstanceHeartbeat.DiscardUnknown(m) + +func (*InstanceHeartbeat) ProtoMessage() {} + +func (x *InstanceHeartbeat) ProtoReflect() protoreflect.Message { + mi := &file_heartbeat_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) } -var xxx_messageInfo_InstanceHeartbeat proto.InternalMessageInfo +// Deprecated: Use InstanceHeartbeat.ProtoReflect.Descriptor instead. +func (*InstanceHeartbeat) Descriptor() ([]byte, []int) { + return file_heartbeat_proto_rawDescGZIP(), []int{1} +} -func (m *InstanceHeartbeat) GetInstanceId() string { - if m != nil { - return m.InstanceId +func (x *InstanceHeartbeat) GetInstanceId() string { + if x != nil { + return x.InstanceId } return "" } -func (m *InstanceHeartbeat) GetService() string { - if m != nil { - return m.Service +func (x *InstanceHeartbeat) GetService() string { + if x != nil { + return x.Service } return "" } -func (m *InstanceHeartbeat) GetNamespace() string { - if m != nil { - return m.Namespace +func (x *InstanceHeartbeat) GetNamespace() string { + if x != nil { + return x.Namespace } return "" } -func (m *InstanceHeartbeat) GetHost() string { - if m != nil { - return m.Host +func (x *InstanceHeartbeat) GetHost() string { + if x != nil { + return x.Host } return "" } -func (m *InstanceHeartbeat) GetPort() uint32 { - if m != nil { - return m.Port +func (x *InstanceHeartbeat) GetPort() uint32 { + if x != nil { + return x.Port } return 0 } type HeartbeatsRequest struct { - Heartbeats []*InstanceHeartbeat `protobuf:"bytes,1,rep,name=heartbeats,proto3" json:"heartbeats,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields -func (m *HeartbeatsRequest) Reset() { *m = HeartbeatsRequest{} } -func (m *HeartbeatsRequest) String() string { return proto.CompactTextString(m) } -func (*HeartbeatsRequest) ProtoMessage() {} -func (*HeartbeatsRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_heartbeat_444c95e923f2483e, []int{2} -} -func (m *HeartbeatsRequest) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_HeartbeatsRequest.Unmarshal(m, b) -} -func (m *HeartbeatsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_HeartbeatsRequest.Marshal(b, m, deterministic) + Heartbeats []*InstanceHeartbeat `protobuf:"bytes,1,rep,name=heartbeats,proto3" json:"heartbeats,omitempty"` } -func (dst *HeartbeatsRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_HeartbeatsRequest.Merge(dst, src) + +func (x *HeartbeatsRequest) Reset() { + *x = HeartbeatsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_heartbeat_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (m *HeartbeatsRequest) XXX_Size() int { - return xxx_messageInfo_HeartbeatsRequest.Size(m) + +func (x *HeartbeatsRequest) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *HeartbeatsRequest) XXX_DiscardUnknown() { - xxx_messageInfo_HeartbeatsRequest.DiscardUnknown(m) + +func (*HeartbeatsRequest) ProtoMessage() {} + +func (x *HeartbeatsRequest) ProtoReflect() protoreflect.Message { + mi := &file_heartbeat_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) } -var xxx_messageInfo_HeartbeatsRequest proto.InternalMessageInfo +// Deprecated: Use HeartbeatsRequest.ProtoReflect.Descriptor instead. +func (*HeartbeatsRequest) Descriptor() ([]byte, []int) { + return file_heartbeat_proto_rawDescGZIP(), []int{2} +} -func (m *HeartbeatsRequest) GetHeartbeats() []*InstanceHeartbeat { - if m != nil { - return m.Heartbeats +func (x *HeartbeatsRequest) GetHeartbeats() []*InstanceHeartbeat { + if x != nil { + return x.Heartbeats } return nil } type HeartbeatsResponse struct { - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields } -func (m *HeartbeatsResponse) Reset() { *m = HeartbeatsResponse{} } -func (m *HeartbeatsResponse) String() string { return proto.CompactTextString(m) } -func (*HeartbeatsResponse) ProtoMessage() {} -func (*HeartbeatsResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_heartbeat_444c95e923f2483e, []int{3} -} -func (m *HeartbeatsResponse) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_HeartbeatsResponse.Unmarshal(m, b) -} -func (m *HeartbeatsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_HeartbeatsResponse.Marshal(b, m, deterministic) -} -func (dst *HeartbeatsResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_HeartbeatsResponse.Merge(dst, src) -} -func (m *HeartbeatsResponse) XXX_Size() int { - return xxx_messageInfo_HeartbeatsResponse.Size(m) +func (x *HeartbeatsResponse) Reset() { + *x = HeartbeatsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_heartbeat_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (m *HeartbeatsResponse) XXX_DiscardUnknown() { - xxx_messageInfo_HeartbeatsResponse.DiscardUnknown(m) + +func (x *HeartbeatsResponse) String() string { + return protoimpl.X.MessageStringOf(x) } -var xxx_messageInfo_HeartbeatsResponse proto.InternalMessageInfo +func (*HeartbeatsResponse) ProtoMessage() {} -type GetHeartbeatsRequest struct { - InstanceIds []string `protobuf:"bytes,1,rep,name=instanceIds,json=instance_ids,proto3" json:"instanceIds,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` +func (x *HeartbeatsResponse) ProtoReflect() protoreflect.Message { + mi := &file_heartbeat_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) } -func (m *GetHeartbeatsRequest) Reset() { *m = GetHeartbeatsRequest{} } -func (m *GetHeartbeatsRequest) String() string { return proto.CompactTextString(m) } -func (*GetHeartbeatsRequest) ProtoMessage() {} -func (*GetHeartbeatsRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_heartbeat_444c95e923f2483e, []int{4} -} -func (m *GetHeartbeatsRequest) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_GetHeartbeatsRequest.Unmarshal(m, b) +// Deprecated: Use HeartbeatsResponse.ProtoReflect.Descriptor instead. +func (*HeartbeatsResponse) Descriptor() ([]byte, []int) { + return file_heartbeat_proto_rawDescGZIP(), []int{3} } -func (m *GetHeartbeatsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_GetHeartbeatsRequest.Marshal(b, m, deterministic) + +type GetHeartbeatsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + InstanceIds []string `protobuf:"bytes,1,rep,name=instanceIds,json=instance_ids,proto3" json:"instanceIds,omitempty"` } -func (dst *GetHeartbeatsRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_GetHeartbeatsRequest.Merge(dst, src) + +func (x *GetHeartbeatsRequest) Reset() { + *x = GetHeartbeatsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_heartbeat_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (m *GetHeartbeatsRequest) XXX_Size() int { - return xxx_messageInfo_GetHeartbeatsRequest.Size(m) + +func (x *GetHeartbeatsRequest) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *GetHeartbeatsRequest) XXX_DiscardUnknown() { - xxx_messageInfo_GetHeartbeatsRequest.DiscardUnknown(m) + +func (*GetHeartbeatsRequest) ProtoMessage() {} + +func (x *GetHeartbeatsRequest) ProtoReflect() protoreflect.Message { + mi := &file_heartbeat_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) } -var xxx_messageInfo_GetHeartbeatsRequest proto.InternalMessageInfo +// Deprecated: Use GetHeartbeatsRequest.ProtoReflect.Descriptor instead. +func (*GetHeartbeatsRequest) Descriptor() ([]byte, []int) { + return file_heartbeat_proto_rawDescGZIP(), []int{4} +} -func (m *GetHeartbeatsRequest) GetInstanceIds() []string { - if m != nil { - return m.InstanceIds +func (x *GetHeartbeatsRequest) GetInstanceIds() []string { + if x != nil { + return x.InstanceIds } return nil } type GetHeartbeatsResponse struct { - Records []*HeartbeatRecord `protobuf:"bytes,1,rep,name=records,proto3" json:"records,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields -func (m *GetHeartbeatsResponse) Reset() { *m = GetHeartbeatsResponse{} } -func (m *GetHeartbeatsResponse) String() string { return proto.CompactTextString(m) } -func (*GetHeartbeatsResponse) ProtoMessage() {} -func (*GetHeartbeatsResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_heartbeat_444c95e923f2483e, []int{5} + Records []*HeartbeatRecord `protobuf:"bytes,1,rep,name=records,proto3" json:"records,omitempty"` } -func (m *GetHeartbeatsResponse) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_GetHeartbeatsResponse.Unmarshal(m, b) -} -func (m *GetHeartbeatsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_GetHeartbeatsResponse.Marshal(b, m, deterministic) -} -func (dst *GetHeartbeatsResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_GetHeartbeatsResponse.Merge(dst, src) + +func (x *GetHeartbeatsResponse) Reset() { + *x = GetHeartbeatsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_heartbeat_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (m *GetHeartbeatsResponse) XXX_Size() int { - return xxx_messageInfo_GetHeartbeatsResponse.Size(m) + +func (x *GetHeartbeatsResponse) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *GetHeartbeatsResponse) XXX_DiscardUnknown() { - xxx_messageInfo_GetHeartbeatsResponse.DiscardUnknown(m) + +func (*GetHeartbeatsResponse) ProtoMessage() {} + +func (x *GetHeartbeatsResponse) ProtoReflect() protoreflect.Message { + mi := &file_heartbeat_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) } -var xxx_messageInfo_GetHeartbeatsResponse proto.InternalMessageInfo +// Deprecated: Use GetHeartbeatsResponse.ProtoReflect.Descriptor instead. +func (*GetHeartbeatsResponse) Descriptor() ([]byte, []int) { + return file_heartbeat_proto_rawDescGZIP(), []int{5} +} -func (m *GetHeartbeatsResponse) GetRecords() []*HeartbeatRecord { - if m != nil { - return m.Records +func (x *GetHeartbeatsResponse) GetRecords() []*HeartbeatRecord { + if x != nil { + return x.Records } return nil } type DelHeartbeatsRequest struct { - InstanceIds []string `protobuf:"bytes,1,rep,name=instanceIds,json=instance_ids,proto3" json:"instanceIds,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields -func (m *DelHeartbeatsRequest) Reset() { *m = DelHeartbeatsRequest{} } -func (m *DelHeartbeatsRequest) String() string { return proto.CompactTextString(m) } -func (*DelHeartbeatsRequest) ProtoMessage() {} -func (*DelHeartbeatsRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_heartbeat_444c95e923f2483e, []int{6} + InstanceIds []string `protobuf:"bytes,1,rep,name=instanceIds,json=instance_ids,proto3" json:"instanceIds,omitempty"` } -func (m *DelHeartbeatsRequest) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_DelHeartbeatsRequest.Unmarshal(m, b) -} -func (m *DelHeartbeatsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_DelHeartbeatsRequest.Marshal(b, m, deterministic) -} -func (dst *DelHeartbeatsRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_DelHeartbeatsRequest.Merge(dst, src) + +func (x *DelHeartbeatsRequest) Reset() { + *x = DelHeartbeatsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_heartbeat_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (m *DelHeartbeatsRequest) XXX_Size() int { - return xxx_messageInfo_DelHeartbeatsRequest.Size(m) + +func (x *DelHeartbeatsRequest) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *DelHeartbeatsRequest) XXX_DiscardUnknown() { - xxx_messageInfo_DelHeartbeatsRequest.DiscardUnknown(m) + +func (*DelHeartbeatsRequest) ProtoMessage() {} + +func (x *DelHeartbeatsRequest) ProtoReflect() protoreflect.Message { + mi := &file_heartbeat_proto_msgTypes[6] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) } -var xxx_messageInfo_DelHeartbeatsRequest proto.InternalMessageInfo +// Deprecated: Use DelHeartbeatsRequest.ProtoReflect.Descriptor instead. +func (*DelHeartbeatsRequest) Descriptor() ([]byte, []int) { + return file_heartbeat_proto_rawDescGZIP(), []int{6} +} -func (m *DelHeartbeatsRequest) GetInstanceIds() []string { - if m != nil { - return m.InstanceIds +func (x *DelHeartbeatsRequest) GetInstanceIds() []string { + if x != nil { + return x.InstanceIds } return nil } type DelHeartbeatsResponse struct { - Code uint32 `protobuf:"varint,1,opt,name=code,proto3" json:"code,omitempty"` - Info string `protobuf:"bytes,2,opt,name=info,proto3" json:"info,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields -func (m *DelHeartbeatsResponse) Reset() { *m = DelHeartbeatsResponse{} } -func (m *DelHeartbeatsResponse) String() string { return proto.CompactTextString(m) } -func (*DelHeartbeatsResponse) ProtoMessage() {} -func (*DelHeartbeatsResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_heartbeat_444c95e923f2483e, []int{7} + Code uint32 `protobuf:"varint,1,opt,name=code,proto3" json:"code,omitempty"` + Info string `protobuf:"bytes,2,opt,name=info,proto3" json:"info,omitempty"` } -func (m *DelHeartbeatsResponse) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_DelHeartbeatsResponse.Unmarshal(m, b) -} -func (m *DelHeartbeatsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_DelHeartbeatsResponse.Marshal(b, m, deterministic) -} -func (dst *DelHeartbeatsResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_DelHeartbeatsResponse.Merge(dst, src) + +func (x *DelHeartbeatsResponse) Reset() { + *x = DelHeartbeatsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_heartbeat_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (m *DelHeartbeatsResponse) XXX_Size() int { - return xxx_messageInfo_DelHeartbeatsResponse.Size(m) + +func (x *DelHeartbeatsResponse) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *DelHeartbeatsResponse) XXX_DiscardUnknown() { - xxx_messageInfo_DelHeartbeatsResponse.DiscardUnknown(m) + +func (*DelHeartbeatsResponse) ProtoMessage() {} + +func (x *DelHeartbeatsResponse) ProtoReflect() protoreflect.Message { + mi := &file_heartbeat_proto_msgTypes[7] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) } -var xxx_messageInfo_DelHeartbeatsResponse proto.InternalMessageInfo +// Deprecated: Use DelHeartbeatsResponse.ProtoReflect.Descriptor instead. +func (*DelHeartbeatsResponse) Descriptor() ([]byte, []int) { + return file_heartbeat_proto_rawDescGZIP(), []int{7} +} -func (m *DelHeartbeatsResponse) GetCode() uint32 { - if m != nil { - return m.Code +func (x *DelHeartbeatsResponse) GetCode() uint32 { + if x != nil { + return x.Code } return 0 } -func (m *DelHeartbeatsResponse) GetInfo() string { - if m != nil { - return m.Info +func (x *DelHeartbeatsResponse) GetInfo() string { + if x != nil { + return x.Info } return "" } -func init() { - proto.RegisterType((*HeartbeatRecord)(nil), "v1.HeartbeatRecord") - proto.RegisterType((*InstanceHeartbeat)(nil), "v1.InstanceHeartbeat") - proto.RegisterType((*HeartbeatsRequest)(nil), "v1.HeartbeatsRequest") - proto.RegisterType((*HeartbeatsResponse)(nil), "v1.HeartbeatsResponse") - proto.RegisterType((*GetHeartbeatsRequest)(nil), "v1.GetHeartbeatsRequest") - proto.RegisterType((*GetHeartbeatsResponse)(nil), "v1.GetHeartbeatsResponse") - proto.RegisterType((*DelHeartbeatsRequest)(nil), "v1.DelHeartbeatsRequest") - proto.RegisterType((*DelHeartbeatsResponse)(nil), "v1.DelHeartbeatsResponse") -} - -func init() { proto.RegisterFile("heartbeat.proto", fileDescriptor_heartbeat_444c95e923f2483e) } - -var fileDescriptor_heartbeat_444c95e923f2483e = []byte{ - // 423 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x52, 0x4d, 0x8b, 0x13, 0x41, - 0x10, 0x65, 0x92, 0x6c, 0xb2, 0xa9, 0x18, 0x76, 0xb7, 0x4d, 0xa0, 0x11, 0xc1, 0x71, 0x4e, 0x73, - 0xd0, 0x19, 0xa2, 0x88, 0x78, 0x12, 0x64, 0x51, 0x77, 0x8f, 0xed, 0xcd, 0x4b, 0xe8, 0x74, 0x6a, - 0x93, 0x86, 0x4c, 0xf7, 0xd8, 0xd5, 0x09, 0x1e, 0x04, 0xff, 0x84, 0x3f, 0x58, 0xa6, 0xe7, 0x63, - 0x63, 0xf6, 0x20, 0xec, 0xad, 0xfa, 0x55, 0xbd, 0x57, 0xef, 0x51, 0x0d, 0x17, 0x5b, 0x94, 0xce, - 0xaf, 0x50, 0xfa, 0xac, 0x74, 0xd6, 0x5b, 0xd6, 0x3b, 0x2c, 0x9e, 0x4d, 0x09, 0xdd, 0x41, 0x2b, - 0xac, 0xa1, 0xe4, 0x17, 0x5c, 0x7c, 0x6d, 0xa7, 0x04, 0x2a, 0xeb, 0xd6, 0xec, 0x05, 0x80, 0x36, - 0xe4, 0xa5, 0x51, 0x78, 0xb3, 0xe6, 0x51, 0x1c, 0xa5, 0x63, 0x31, 0x69, 0x91, 0xa5, 0x5e, 0xb3, - 0x57, 0x70, 0xb9, 0x93, 0xe4, 0x3b, 0xde, 0x37, 0x54, 0x7c, 0x18, 0x47, 0x69, 0x5f, 0xb0, 0x0a, - 0x5f, 0x76, 0x6b, 0x97, 0x84, 0x8a, 0xcd, 0xe0, 0x0c, 0x7f, 0x6a, 0xf2, 0x7c, 0x14, 0x47, 0xe9, - 0xb9, 0xa8, 0x1f, 0xb7, 0x83, 0xf3, 0xde, 0xe5, 0x30, 0xf9, 0x13, 0xc1, 0xd5, 0x4d, 0xa3, 0xdc, - 0xc9, 0xfd, 0xdf, 0x00, 0x87, 0x51, 0x93, 0x82, 0xf7, 0x42, 0xb7, 0x7d, 0xb2, 0xe7, 0x30, 0x36, - 0xb2, 0x40, 0x2a, 0xa5, 0x42, 0xde, 0x0f, 0xbd, 0x7b, 0x80, 0x31, 0x18, 0x6c, 0x2d, 0x79, 0x3e, - 0x08, 0x8d, 0x50, 0x57, 0x58, 0x69, 0x9d, 0xe7, 0x67, 0x71, 0x94, 0x4e, 0x45, 0xa8, 0x93, 0x5b, - 0xb8, 0xea, 0xdc, 0x90, 0xc0, 0x1f, 0x7b, 0x24, 0xcf, 0xde, 0x01, 0x74, 0xc1, 0x88, 0x47, 0x71, - 0x3f, 0x9d, 0xbc, 0x99, 0x67, 0x87, 0x45, 0xf6, 0x20, 0x80, 0x38, 0x1a, 0x4c, 0x66, 0xc0, 0x8e, - 0xb5, 0xa8, 0xb4, 0x86, 0x30, 0xf9, 0x00, 0xb3, 0x2f, 0xe8, 0x1f, 0x2e, 0x79, 0x09, 0x93, 0xfb, - 0xe8, 0xf5, 0x96, 0xb1, 0x78, 0x72, 0x94, 0x9d, 0x92, 0xcf, 0x30, 0x3f, 0xa1, 0xd6, 0x9a, 0xec, - 0x35, 0x8c, 0x5c, 0xb8, 0x60, 0xeb, 0xee, 0x69, 0xe5, 0xee, 0xe4, 0xba, 0xa2, 0x9d, 0xa9, 0x2c, - 0x5c, 0xe3, 0xee, 0x51, 0x16, 0x3e, 0xc2, 0xfc, 0x84, 0xda, 0x58, 0x60, 0x30, 0x50, 0x76, 0x8d, - 0xe1, 0x66, 0x53, 0x11, 0xea, 0x0a, 0xd3, 0xe6, 0xce, 0x36, 0x97, 0x0a, 0xf5, 0xa7, 0xdf, 0xf0, - 0x5e, 0xd9, 0x22, 0xf3, 0x68, 0x14, 0x1a, 0x9f, 0x95, 0x76, 0x27, 0x9d, 0xa6, 0x8c, 0x4a, 0x54, - 0xfa, 0x4e, 0x2b, 0xe9, 0xb5, 0x35, 0x99, 0x2c, 0x75, 0x15, 0xa0, 0xfd, 0xaf, 0x85, 0x34, 0x72, - 0x83, 0xdf, 0xaf, 0x37, 0xda, 0x6f, 0xf7, 0xab, 0x4c, 0xd9, 0x22, 0x6f, 0x78, 0x05, 0xd2, 0x36, - 0xff, 0x87, 0x9b, 0x93, 0xdd, 0x3b, 0x85, 0xf9, 0xc6, 0xe6, 0xb2, 0xd4, 0xf9, 0x61, 0x91, 0x37, - 0x2a, 0xcb, 0x5a, 0x65, 0x35, 0x0c, 0xbf, 0xff, 0xed, 0xdf, 0x00, 0x00, 0x00, 0xff, 0xff, 0x83, - 0x12, 0x25, 0xbc, 0x23, 0x03, 0x00, 0x00, +var File_heartbeat_proto protoreflect.FileDescriptor + +var file_heartbeat_proto_rawDesc = []byte{ + 0x0a, 0x0f, 0x68, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x12, 0x02, 0x76, 0x31, 0x1a, 0x0d, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x7c, 0x0a, 0x0f, 0x48, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, + 0x74, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x1f, 0x0a, 0x0a, 0x69, 0x6e, 0x73, 0x74, 0x61, + 0x6e, 0x63, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x69, 0x6e, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x12, 0x2c, 0x0a, 0x10, 0x6c, 0x61, 0x73, 0x74, + 0x48, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x53, 0x65, 0x63, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x03, 0x52, 0x12, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x68, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, + 0x61, 0x74, 0x5f, 0x73, 0x65, 0x63, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x78, 0x69, 0x73, 0x74, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x65, 0x78, 0x69, 0x73, 0x74, 0x4a, 0x04, 0x08, 0x02, + 0x10, 0x06, 0x22, 0x94, 0x01, 0x0a, 0x11, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x48, + 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x12, 0x1f, 0x0a, 0x0a, 0x69, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x69, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, + 0x65, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x68, 0x6f, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x22, 0x4a, 0x0a, 0x11, 0x48, 0x65, 0x61, + 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x35, + 0x0a, 0x0a, 0x68, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x48, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x52, 0x0a, 0x68, 0x65, 0x61, 0x72, 0x74, + 0x62, 0x65, 0x61, 0x74, 0x73, 0x22, 0x14, 0x0a, 0x12, 0x48, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, + 0x61, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x39, 0x0a, 0x14, 0x47, + 0x65, 0x74, 0x48, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x21, 0x0a, 0x0b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, + 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x5f, 0x69, 0x64, 0x73, 0x22, 0x46, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x48, 0x65, 0x61, + 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x2d, 0x0a, 0x07, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x13, 0x2e, 0x76, 0x31, 0x2e, 0x48, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x52, + 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x07, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x22, 0x39, + 0x0a, 0x14, 0x44, 0x65, 0x6c, 0x48, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x21, 0x0a, 0x0b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x49, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x69, 0x6e, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x73, 0x22, 0x3f, 0x0a, 0x15, 0x44, 0x65, 0x6c, + 0x48, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x42, 0x7f, 0x0a, 0x37, 0x63, 0x6f, + 0x6d, 0x2e, 0x74, 0x65, 0x6e, 0x63, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x6f, 0x6c, 0x61, 0x72, 0x69, + 0x73, 0x2e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, + 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x6d, + 0x61, 0x6e, 0x61, 0x67, 0x65, 0x5a, 0x44, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x70, 0x6f, 0x6c, 0x61, 0x72, 0x69, 0x73, 0x6d, 0x65, 0x73, 0x68, 0x2f, 0x73, 0x70, + 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x2f, 0x67, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x33, +} + +var ( + file_heartbeat_proto_rawDescOnce sync.Once + file_heartbeat_proto_rawDescData = file_heartbeat_proto_rawDesc +) + +func file_heartbeat_proto_rawDescGZIP() []byte { + file_heartbeat_proto_rawDescOnce.Do(func() { + file_heartbeat_proto_rawDescData = protoimpl.X.CompressGZIP(file_heartbeat_proto_rawDescData) + }) + return file_heartbeat_proto_rawDescData +} + +var file_heartbeat_proto_msgTypes = make([]protoimpl.MessageInfo, 8) +var file_heartbeat_proto_goTypes = []interface{}{ + (*HeartbeatRecord)(nil), // 0: v1.HeartbeatRecord + (*InstanceHeartbeat)(nil), // 1: v1.InstanceHeartbeat + (*HeartbeatsRequest)(nil), // 2: v1.HeartbeatsRequest + (*HeartbeatsResponse)(nil), // 3: v1.HeartbeatsResponse + (*GetHeartbeatsRequest)(nil), // 4: v1.GetHeartbeatsRequest + (*GetHeartbeatsResponse)(nil), // 5: v1.GetHeartbeatsResponse + (*DelHeartbeatsRequest)(nil), // 6: v1.DelHeartbeatsRequest + (*DelHeartbeatsResponse)(nil), // 7: v1.DelHeartbeatsResponse +} +var file_heartbeat_proto_depIdxs = []int32{ + 1, // 0: v1.HeartbeatsRequest.heartbeats:type_name -> v1.InstanceHeartbeat + 0, // 1: v1.GetHeartbeatsResponse.records:type_name -> v1.HeartbeatRecord + 2, // [2:2] is the sub-list for method output_type + 2, // [2:2] is the sub-list for method input_type + 2, // [2:2] is the sub-list for extension type_name + 2, // [2:2] is the sub-list for extension extendee + 0, // [0:2] is the sub-list for field type_name +} + +func init() { file_heartbeat_proto_init() } +func file_heartbeat_proto_init() { + if File_heartbeat_proto != nil { + return + } + file_service_proto_init() + if !protoimpl.UnsafeEnabled { + file_heartbeat_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*HeartbeatRecord); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_heartbeat_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*InstanceHeartbeat); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_heartbeat_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*HeartbeatsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_heartbeat_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*HeartbeatsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_heartbeat_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetHeartbeatsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_heartbeat_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetHeartbeatsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_heartbeat_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DelHeartbeatsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_heartbeat_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DelHeartbeatsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_heartbeat_proto_rawDesc, + NumEnums: 0, + NumMessages: 8, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_heartbeat_proto_goTypes, + DependencyIndexes: file_heartbeat_proto_depIdxs, + MessageInfos: file_heartbeat_proto_msgTypes, + }.Build() + File_heartbeat_proto = out.File + file_heartbeat_proto_rawDesc = nil + file_heartbeat_proto_goTypes = nil + file_heartbeat_proto_depIdxs = nil } diff --git a/source/go/api/v1/service_manage/request.pb.go b/source/go/api/v1/service_manage/request.pb.go index 209e55fd..68a7f3a0 100644 --- a/source/go/api/v1/service_manage/request.pb.go +++ b/source/go/api/v1/service_manage/request.pb.go @@ -1,22 +1,24 @@ // Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.33.0 +// protoc v5.27.3 // source: request.proto -package service_manage // import "github.com/polarismesh/specification/source/go/api/v1/service_manage" +package service_manage -import proto "github.com/golang/protobuf/proto" -import fmt "fmt" -import math "math" - -// Reference imports to suppress errors if they are not otherwise used. -var _ = proto.Marshal -var _ = fmt.Errorf -var _ = math.Inf +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) -// This is a compile-time assertion to ensure that this generated file -// is compatible with the proto package it is being compiled against. -// A compilation error at this line likely means your copy of the -// proto package needs to be updated. -const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) type DiscoverRequest_DiscoverRequestType int32 @@ -35,173 +37,310 @@ const ( DiscoverRequest_CUSTOM_ROUTE_RULE DiscoverRequest_DiscoverRequestType = 101 // 就近路由规则 DiscoverRequest_NEARBY_ROUTE_RULE DiscoverRequest_DiscoverRequestType = 102 + // 无损上下线规则 + DiscoverRequest_LOSSLESS DiscoverRequest_DiscoverRequestType = 103 ) -var DiscoverRequest_DiscoverRequestType_name = map[int32]string{ - 0: "UNKNOWN", - 1: "INSTANCE", - 2: "CLUSTER", - 3: "ROUTING", - 4: "RATE_LIMIT", - 5: "CIRCUIT_BREAKER", - 6: "SERVICES", - 12: "NAMESPACES", - 13: "FAULT_DETECTOR", - 100: "LANE", - 101: "CUSTOM_ROUTE_RULE", - 102: "NEARBY_ROUTE_RULE", -} -var DiscoverRequest_DiscoverRequestType_value = map[string]int32{ - "UNKNOWN": 0, - "INSTANCE": 1, - "CLUSTER": 2, - "ROUTING": 3, - "RATE_LIMIT": 4, - "CIRCUIT_BREAKER": 5, - "SERVICES": 6, - "NAMESPACES": 12, - "FAULT_DETECTOR": 13, - "LANE": 100, - "CUSTOM_ROUTE_RULE": 101, - "NEARBY_ROUTE_RULE": 102, +// Enum value maps for DiscoverRequest_DiscoverRequestType. +var ( + DiscoverRequest_DiscoverRequestType_name = map[int32]string{ + 0: "UNKNOWN", + 1: "INSTANCE", + 2: "CLUSTER", + 3: "ROUTING", + 4: "RATE_LIMIT", + 5: "CIRCUIT_BREAKER", + 6: "SERVICES", + 12: "NAMESPACES", + 13: "FAULT_DETECTOR", + 100: "LANE", + 101: "CUSTOM_ROUTE_RULE", + 102: "NEARBY_ROUTE_RULE", + 103: "LOSSLESS", + } + DiscoverRequest_DiscoverRequestType_value = map[string]int32{ + "UNKNOWN": 0, + "INSTANCE": 1, + "CLUSTER": 2, + "ROUTING": 3, + "RATE_LIMIT": 4, + "CIRCUIT_BREAKER": 5, + "SERVICES": 6, + "NAMESPACES": 12, + "FAULT_DETECTOR": 13, + "LANE": 100, + "CUSTOM_ROUTE_RULE": 101, + "NEARBY_ROUTE_RULE": 102, + "LOSSLESS": 103, + } +) + +func (x DiscoverRequest_DiscoverRequestType) Enum() *DiscoverRequest_DiscoverRequestType { + p := new(DiscoverRequest_DiscoverRequestType) + *p = x + return p } func (x DiscoverRequest_DiscoverRequestType) String() string { - return proto.EnumName(DiscoverRequest_DiscoverRequestType_name, int32(x)) + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } -func (DiscoverRequest_DiscoverRequestType) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_request_2aa6dfc510952749, []int{1, 0} + +func (DiscoverRequest_DiscoverRequestType) Descriptor() protoreflect.EnumDescriptor { + return file_request_proto_enumTypes[0].Descriptor() } -type DiscoverFilter struct { - OnlyHealthyInstance bool `protobuf:"varint,1,opt,name=OnlyHealthyInstance,proto3" json:"OnlyHealthyInstance,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` +func (DiscoverRequest_DiscoverRequestType) Type() protoreflect.EnumType { + return &file_request_proto_enumTypes[0] } -func (m *DiscoverFilter) Reset() { *m = DiscoverFilter{} } -func (m *DiscoverFilter) String() string { return proto.CompactTextString(m) } -func (*DiscoverFilter) ProtoMessage() {} -func (*DiscoverFilter) Descriptor() ([]byte, []int) { - return fileDescriptor_request_2aa6dfc510952749, []int{0} +func (x DiscoverRequest_DiscoverRequestType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) } -func (m *DiscoverFilter) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_DiscoverFilter.Unmarshal(m, b) + +// Deprecated: Use DiscoverRequest_DiscoverRequestType.Descriptor instead. +func (DiscoverRequest_DiscoverRequestType) EnumDescriptor() ([]byte, []int) { + return file_request_proto_rawDescGZIP(), []int{1, 0} } -func (m *DiscoverFilter) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_DiscoverFilter.Marshal(b, m, deterministic) + +type DiscoverFilter struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + OnlyHealthyInstance bool `protobuf:"varint,1,opt,name=OnlyHealthyInstance,proto3" json:"OnlyHealthyInstance,omitempty"` } -func (dst *DiscoverFilter) XXX_Merge(src proto.Message) { - xxx_messageInfo_DiscoverFilter.Merge(dst, src) + +func (x *DiscoverFilter) Reset() { + *x = DiscoverFilter{} + if protoimpl.UnsafeEnabled { + mi := &file_request_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (m *DiscoverFilter) XXX_Size() int { - return xxx_messageInfo_DiscoverFilter.Size(m) + +func (x *DiscoverFilter) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *DiscoverFilter) XXX_DiscardUnknown() { - xxx_messageInfo_DiscoverFilter.DiscardUnknown(m) + +func (*DiscoverFilter) ProtoMessage() {} + +func (x *DiscoverFilter) ProtoReflect() protoreflect.Message { + mi := &file_request_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) } -var xxx_messageInfo_DiscoverFilter proto.InternalMessageInfo +// Deprecated: Use DiscoverFilter.ProtoReflect.Descriptor instead. +func (*DiscoverFilter) Descriptor() ([]byte, []int) { + return file_request_proto_rawDescGZIP(), []int{0} +} -func (m *DiscoverFilter) GetOnlyHealthyInstance() bool { - if m != nil { - return m.OnlyHealthyInstance +func (x *DiscoverFilter) GetOnlyHealthyInstance() bool { + if x != nil { + return x.OnlyHealthyInstance } return false } type DiscoverRequest struct { - Type DiscoverRequest_DiscoverRequestType `protobuf:"varint,1,opt,name=type,proto3,enum=v1.DiscoverRequest_DiscoverRequestType" json:"type,omitempty"` - Service *Service `protobuf:"bytes,2,opt,name=service,proto3" json:"service,omitempty"` - Filter *DiscoverFilter `protobuf:"bytes,30,opt,name=Filter,proto3" json:"Filter,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields -func (m *DiscoverRequest) Reset() { *m = DiscoverRequest{} } -func (m *DiscoverRequest) String() string { return proto.CompactTextString(m) } -func (*DiscoverRequest) ProtoMessage() {} -func (*DiscoverRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_request_2aa6dfc510952749, []int{1} -} -func (m *DiscoverRequest) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_DiscoverRequest.Unmarshal(m, b) + Type DiscoverRequest_DiscoverRequestType `protobuf:"varint,1,opt,name=type,proto3,enum=v1.DiscoverRequest_DiscoverRequestType" json:"type,omitempty"` + Service *Service `protobuf:"bytes,2,opt,name=service,proto3" json:"service,omitempty"` + Filter *DiscoverFilter `protobuf:"bytes,30,opt,name=Filter,proto3" json:"Filter,omitempty"` } -func (m *DiscoverRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_DiscoverRequest.Marshal(b, m, deterministic) -} -func (dst *DiscoverRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_DiscoverRequest.Merge(dst, src) + +func (x *DiscoverRequest) Reset() { + *x = DiscoverRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_request_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (m *DiscoverRequest) XXX_Size() int { - return xxx_messageInfo_DiscoverRequest.Size(m) + +func (x *DiscoverRequest) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *DiscoverRequest) XXX_DiscardUnknown() { - xxx_messageInfo_DiscoverRequest.DiscardUnknown(m) + +func (*DiscoverRequest) ProtoMessage() {} + +func (x *DiscoverRequest) ProtoReflect() protoreflect.Message { + mi := &file_request_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) } -var xxx_messageInfo_DiscoverRequest proto.InternalMessageInfo +// Deprecated: Use DiscoverRequest.ProtoReflect.Descriptor instead. +func (*DiscoverRequest) Descriptor() ([]byte, []int) { + return file_request_proto_rawDescGZIP(), []int{1} +} -func (m *DiscoverRequest) GetType() DiscoverRequest_DiscoverRequestType { - if m != nil { - return m.Type +func (x *DiscoverRequest) GetType() DiscoverRequest_DiscoverRequestType { + if x != nil { + return x.Type } return DiscoverRequest_UNKNOWN } -func (m *DiscoverRequest) GetService() *Service { - if m != nil { - return m.Service +func (x *DiscoverRequest) GetService() *Service { + if x != nil { + return x.Service } return nil } -func (m *DiscoverRequest) GetFilter() *DiscoverFilter { - if m != nil { - return m.Filter +func (x *DiscoverRequest) GetFilter() *DiscoverFilter { + if x != nil { + return x.Filter } return nil } -func init() { - proto.RegisterType((*DiscoverFilter)(nil), "v1.DiscoverFilter") - proto.RegisterType((*DiscoverRequest)(nil), "v1.DiscoverRequest") - proto.RegisterEnum("v1.DiscoverRequest_DiscoverRequestType", DiscoverRequest_DiscoverRequestType_name, DiscoverRequest_DiscoverRequestType_value) -} - -func init() { proto.RegisterFile("request.proto", fileDescriptor_request_2aa6dfc510952749) } - -var fileDescriptor_request_2aa6dfc510952749 = []byte{ - // 463 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x6c, 0x52, 0x4f, 0x6b, 0xdb, 0x3c, - 0x18, 0x7f, 0x9d, 0xb8, 0x89, 0x51, 0x12, 0x57, 0xaf, 0xc2, 0x20, 0xf4, 0x30, 0x4a, 0x60, 0xac, - 0xec, 0x60, 0x2f, 0xdd, 0x61, 0x87, 0x9d, 0x1c, 0x47, 0xdd, 0xbc, 0x26, 0x76, 0x91, 0xe5, 0x8d, - 0xed, 0x62, 0x5c, 0x4d, 0x4d, 0x04, 0x89, 0xe5, 0xd9, 0x8a, 0x21, 0x1f, 0x62, 0xec, 0x53, 0xee, - 0x7b, 0x0c, 0xc5, 0x0e, 0x74, 0xa5, 0xc7, 0xe7, 0xf7, 0xef, 0x79, 0x78, 0xf8, 0x81, 0x51, 0xc9, - 0x7f, 0xee, 0x79, 0xa5, 0x9c, 0xa2, 0x94, 0x4a, 0xa2, 0x4e, 0x3d, 0xbb, 0x18, 0x55, 0xbc, 0xac, - 0x05, 0xe3, 0x0d, 0x74, 0x61, 0x33, 0x99, 0xab, 0x32, 0x63, 0xad, 0x64, 0x3a, 0x07, 0xf6, 0x42, - 0x54, 0x4c, 0xd6, 0xbc, 0xbc, 0x11, 0x5b, 0xc5, 0x4b, 0xf4, 0x16, 0x8c, 0xa3, 0x7c, 0x7b, 0xf8, - 0xc4, 0xb3, 0xad, 0xda, 0x1c, 0x82, 0xbc, 0x52, 0x59, 0xce, 0xf8, 0xc4, 0xb8, 0x34, 0xae, 0x2c, - 0xf2, 0x1c, 0x35, 0xfd, 0xdd, 0x05, 0xe7, 0xa7, 0x10, 0xd2, 0x1c, 0x80, 0x3e, 0x00, 0x53, 0x1d, - 0x8a, 0xc6, 0x66, 0x5f, 0xbf, 0x76, 0xea, 0x99, 0xf3, 0x44, 0xf2, 0x74, 0xa6, 0x87, 0x82, 0x93, - 0xa3, 0x09, 0xbd, 0x02, 0xfd, 0xf6, 0xea, 0x49, 0xe7, 0xd2, 0xb8, 0x1a, 0x5c, 0x0f, 0xb4, 0x3f, - 0x6e, 0x20, 0x72, 0xe2, 0xd0, 0x1b, 0xd0, 0x6b, 0x6e, 0x9e, 0xbc, 0x3c, 0xaa, 0xd0, 0xe3, 0x2d, - 0x0d, 0x43, 0x5a, 0xc5, 0xf4, 0x8f, 0x01, 0xc6, 0xcf, 0x2c, 0x44, 0x03, 0xd0, 0x4f, 0xc2, 0xdb, - 0x30, 0xfa, 0x1a, 0xc2, 0xff, 0xd0, 0x10, 0x58, 0x41, 0x18, 0x53, 0x2f, 0xf4, 0x31, 0x34, 0x34, - 0xe5, 0x2f, 0x93, 0x98, 0x62, 0x02, 0x3b, 0x7a, 0x20, 0x51, 0x42, 0x83, 0xf0, 0x23, 0xec, 0x22, - 0x1b, 0x00, 0xe2, 0x51, 0x9c, 0x2e, 0x83, 0x55, 0x40, 0xa1, 0x89, 0xc6, 0xe0, 0xdc, 0x0f, 0x88, - 0x9f, 0x04, 0x34, 0x9d, 0x13, 0xec, 0xdd, 0x62, 0x02, 0xcf, 0x74, 0x58, 0x8c, 0xc9, 0x97, 0xc0, - 0xc7, 0x31, 0xec, 0x69, 0x4b, 0xe8, 0xad, 0x70, 0x7c, 0xe7, 0xe9, 0x79, 0x88, 0x10, 0xb0, 0x6f, - 0xbc, 0x64, 0x49, 0xd3, 0x05, 0xa6, 0xd8, 0xa7, 0x11, 0x81, 0x23, 0x64, 0x01, 0x73, 0xe9, 0x85, - 0x18, 0xfe, 0x40, 0x2f, 0xc0, 0xff, 0x7e, 0x12, 0xd3, 0x68, 0x95, 0xea, 0xa5, 0x38, 0x25, 0xc9, - 0x12, 0x43, 0xae, 0xe1, 0x10, 0x7b, 0x64, 0xfe, 0xed, 0x31, 0xfc, 0x30, 0x35, 0xad, 0x3e, 0x1c, - 0x4c, 0x4d, 0xcb, 0x86, 0xec, 0xb3, 0x69, 0x75, 0xe1, 0xd9, 0xfc, 0x97, 0x01, 0xde, 0x33, 0xb9, - 0x73, 0x14, 0xcf, 0x19, 0xcf, 0x95, 0x53, 0xc8, 0x6d, 0x56, 0x8a, 0xca, 0xa9, 0x0a, 0xce, 0xc4, - 0x83, 0x60, 0x99, 0x12, 0x32, 0x77, 0xb2, 0x42, 0xe8, 0x8f, 0x9d, 0x0a, 0xb2, 0xcb, 0xf2, 0x6c, - 0xcd, 0xe7, 0xc3, 0xf6, 0x3d, 0x77, 0xba, 0x1f, 0xdf, 0x17, 0x6b, 0xa1, 0x36, 0xfb, 0x7b, 0x87, - 0xc9, 0x9d, 0xdb, 0xa6, 0xec, 0x78, 0xb5, 0x71, 0xff, 0x49, 0x72, 0x2b, 0xb9, 0x2f, 0x19, 0x77, - 0xd7, 0xd2, 0xcd, 0x0a, 0xe1, 0xd6, 0x33, 0xb7, 0xcd, 0x4c, 0x9b, 0xcc, 0xfb, 0xde, 0xb1, 0x6c, - 0xef, 0xfe, 0x06, 0x00, 0x00, 0xff, 0xff, 0x31, 0x85, 0x27, 0xb8, 0xa0, 0x02, 0x00, 0x00, +var File_request_proto protoreflect.FileDescriptor + +var file_request_proto_rawDesc = []byte{ + 0x0a, 0x0d, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, + 0x02, 0x76, 0x31, 0x1a, 0x0d, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x1a, 0x0e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x22, 0x42, 0x0a, 0x0e, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x46, 0x69, + 0x6c, 0x74, 0x65, 0x72, 0x12, 0x30, 0x0a, 0x13, 0x4f, 0x6e, 0x6c, 0x79, 0x48, 0x65, 0x61, 0x6c, + 0x74, 0x68, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x13, 0x4f, 0x6e, 0x6c, 0x79, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x79, 0x49, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x22, 0x9d, 0x03, 0x0a, 0x0f, 0x44, 0x69, 0x73, 0x63, 0x6f, + 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3b, 0x0a, 0x04, 0x74, 0x79, + 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x27, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, + 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x44, 0x69, + 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x54, 0x79, 0x70, + 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x25, 0x0a, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x2a, + 0x0a, 0x06, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, + 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x46, 0x69, 0x6c, 0x74, + 0x65, 0x72, 0x52, 0x06, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x22, 0xf3, 0x01, 0x0a, 0x13, 0x44, + 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x54, 0x79, + 0x70, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, + 0x0c, 0x0a, 0x08, 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x10, 0x01, 0x12, 0x0b, 0x0a, + 0x07, 0x43, 0x4c, 0x55, 0x53, 0x54, 0x45, 0x52, 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x52, 0x4f, + 0x55, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x03, 0x12, 0x0e, 0x0a, 0x0a, 0x52, 0x41, 0x54, 0x45, 0x5f, + 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x10, 0x04, 0x12, 0x13, 0x0a, 0x0f, 0x43, 0x49, 0x52, 0x43, 0x55, + 0x49, 0x54, 0x5f, 0x42, 0x52, 0x45, 0x41, 0x4b, 0x45, 0x52, 0x10, 0x05, 0x12, 0x0c, 0x0a, 0x08, + 0x53, 0x45, 0x52, 0x56, 0x49, 0x43, 0x45, 0x53, 0x10, 0x06, 0x12, 0x0e, 0x0a, 0x0a, 0x4e, 0x41, + 0x4d, 0x45, 0x53, 0x50, 0x41, 0x43, 0x45, 0x53, 0x10, 0x0c, 0x12, 0x12, 0x0a, 0x0e, 0x46, 0x41, + 0x55, 0x4c, 0x54, 0x5f, 0x44, 0x45, 0x54, 0x45, 0x43, 0x54, 0x4f, 0x52, 0x10, 0x0d, 0x12, 0x08, + 0x0a, 0x04, 0x4c, 0x41, 0x4e, 0x45, 0x10, 0x64, 0x12, 0x15, 0x0a, 0x11, 0x43, 0x55, 0x53, 0x54, + 0x4f, 0x4d, 0x5f, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x5f, 0x52, 0x55, 0x4c, 0x45, 0x10, 0x65, 0x12, + 0x15, 0x0a, 0x11, 0x4e, 0x45, 0x41, 0x52, 0x42, 0x59, 0x5f, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x5f, + 0x52, 0x55, 0x4c, 0x45, 0x10, 0x66, 0x12, 0x0c, 0x0a, 0x08, 0x4c, 0x4f, 0x53, 0x53, 0x4c, 0x45, + 0x53, 0x53, 0x10, 0x67, 0x22, 0x04, 0x08, 0x07, 0x10, 0x0b, 0x22, 0x04, 0x08, 0x0e, 0x10, 0x63, + 0x4a, 0x04, 0x08, 0x03, 0x10, 0x05, 0x42, 0x8d, 0x01, 0x0a, 0x37, 0x63, 0x6f, 0x6d, 0x2e, 0x74, + 0x65, 0x6e, 0x63, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x6f, 0x6c, 0x61, 0x72, 0x69, 0x73, 0x2e, 0x73, + 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x61, 0x70, 0x69, + 0x2e, 0x76, 0x31, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x6d, 0x61, 0x6e, 0x61, + 0x67, 0x65, 0x42, 0x0c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, + 0x5a, 0x44, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x70, 0x6f, 0x6c, + 0x61, 0x72, 0x69, 0x73, 0x6d, 0x65, 0x73, 0x68, 0x2f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2f, 0x67, 0x6f, + 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, + 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_request_proto_rawDescOnce sync.Once + file_request_proto_rawDescData = file_request_proto_rawDesc +) + +func file_request_proto_rawDescGZIP() []byte { + file_request_proto_rawDescOnce.Do(func() { + file_request_proto_rawDescData = protoimpl.X.CompressGZIP(file_request_proto_rawDescData) + }) + return file_request_proto_rawDescData +} + +var file_request_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_request_proto_msgTypes = make([]protoimpl.MessageInfo, 2) +var file_request_proto_goTypes = []interface{}{ + (DiscoverRequest_DiscoverRequestType)(0), // 0: v1.DiscoverRequest.DiscoverRequestType + (*DiscoverFilter)(nil), // 1: v1.DiscoverFilter + (*DiscoverRequest)(nil), // 2: v1.DiscoverRequest + (*Service)(nil), // 3: v1.Service +} +var file_request_proto_depIdxs = []int32{ + 0, // 0: v1.DiscoverRequest.type:type_name -> v1.DiscoverRequest.DiscoverRequestType + 3, // 1: v1.DiscoverRequest.service:type_name -> v1.Service + 1, // 2: v1.DiscoverRequest.Filter:type_name -> v1.DiscoverFilter + 3, // [3:3] is the sub-list for method output_type + 3, // [3:3] is the sub-list for method input_type + 3, // [3:3] is the sub-list for extension type_name + 3, // [3:3] is the sub-list for extension extendee + 0, // [0:3] is the sub-list for field type_name +} + +func init() { file_request_proto_init() } +func file_request_proto_init() { + if File_request_proto != nil { + return + } + file_service_proto_init() + file_contract_proto_init() + if !protoimpl.UnsafeEnabled { + file_request_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DiscoverFilter); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_request_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DiscoverRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_request_proto_rawDesc, + NumEnums: 1, + NumMessages: 2, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_request_proto_goTypes, + DependencyIndexes: file_request_proto_depIdxs, + EnumInfos: file_request_proto_enumTypes, + MessageInfos: file_request_proto_msgTypes, + }.Build() + File_request_proto = out.File + file_request_proto_rawDesc = nil + file_request_proto_goTypes = nil + file_request_proto_depIdxs = nil } diff --git a/source/go/api/v1/service_manage/response.pb.go b/source/go/api/v1/service_manage/response.pb.go index 17800c38..757b5652 100644 --- a/source/go/api/v1/service_manage/response.pb.go +++ b/source/go/api/v1/service_manage/response.pb.go @@ -1,28 +1,30 @@ // Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.33.0 +// protoc v5.27.3 // source: response.proto -package service_manage // import "github.com/polarismesh/specification/source/go/api/v1/service_manage" - -import proto "github.com/golang/protobuf/proto" -import fmt "fmt" -import math "math" -import fault_tolerance "github.com/polarismesh/specification/source/go/api/v1/fault_tolerance" -import model "github.com/polarismesh/specification/source/go/api/v1/model" -import security "github.com/polarismesh/specification/source/go/api/v1/security" -import traffic_manage "github.com/polarismesh/specification/source/go/api/v1/traffic_manage" -import anypb "google.golang.org/protobuf/types/known/anypb" -import wrapperspb "google.golang.org/protobuf/types/known/wrapperspb" - -// Reference imports to suppress errors if they are not otherwise used. -var _ = proto.Marshal -var _ = fmt.Errorf -var _ = math.Inf - -// This is a compile-time assertion to ensure that this generated file -// is compatible with the proto package it is being compiled against. -// A compilation error at this line likely means your copy of the -// proto package needs to be updated. -const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package +package service_manage + +import ( + fault_tolerance "github.com/polarismesh/specification/source/go/api/v1/fault_tolerance" + model "github.com/polarismesh/specification/source/go/api/v1/model" + security "github.com/polarismesh/specification/source/go/api/v1/security" + traffic_manage "github.com/polarismesh/specification/source/go/api/v1/traffic_manage" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + anypb "google.golang.org/protobuf/types/known/anypb" + wrapperspb "google.golang.org/protobuf/types/known/wrapperspb" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) type DiscoverResponse_DiscoverResponseType int32 @@ -41,487 +43,545 @@ const ( DiscoverResponse_CUSTOM_ROUTE_RULE DiscoverResponse_DiscoverResponseType = 101 // 就近路由规则 DiscoverResponse_NEARBY_ROUTE_RULE DiscoverResponse_DiscoverResponseType = 102 + // 无损上下线规则 + DiscoverResponse_LOSSLESS DiscoverResponse_DiscoverResponseType = 103 +) + +// Enum value maps for DiscoverResponse_DiscoverResponseType. +var ( + DiscoverResponse_DiscoverResponseType_name = map[int32]string{ + 0: "UNKNOWN", + 1: "INSTANCE", + 2: "CLUSTER", + 3: "ROUTING", + 4: "RATE_LIMIT", + 5: "CIRCUIT_BREAKER", + 6: "SERVICES", + 12: "NAMESPACES", + 13: "FAULT_DETECTOR", + 100: "LANE", + 101: "CUSTOM_ROUTE_RULE", + 102: "NEARBY_ROUTE_RULE", + 103: "LOSSLESS", + } + DiscoverResponse_DiscoverResponseType_value = map[string]int32{ + "UNKNOWN": 0, + "INSTANCE": 1, + "CLUSTER": 2, + "ROUTING": 3, + "RATE_LIMIT": 4, + "CIRCUIT_BREAKER": 5, + "SERVICES": 6, + "NAMESPACES": 12, + "FAULT_DETECTOR": 13, + "LANE": 100, + "CUSTOM_ROUTE_RULE": 101, + "NEARBY_ROUTE_RULE": 102, + "LOSSLESS": 103, + } ) -var DiscoverResponse_DiscoverResponseType_name = map[int32]string{ - 0: "UNKNOWN", - 1: "INSTANCE", - 2: "CLUSTER", - 3: "ROUTING", - 4: "RATE_LIMIT", - 5: "CIRCUIT_BREAKER", - 6: "SERVICES", - 12: "NAMESPACES", - 13: "FAULT_DETECTOR", - 100: "LANE", - 101: "CUSTOM_ROUTE_RULE", - 102: "NEARBY_ROUTE_RULE", -} -var DiscoverResponse_DiscoverResponseType_value = map[string]int32{ - "UNKNOWN": 0, - "INSTANCE": 1, - "CLUSTER": 2, - "ROUTING": 3, - "RATE_LIMIT": 4, - "CIRCUIT_BREAKER": 5, - "SERVICES": 6, - "NAMESPACES": 12, - "FAULT_DETECTOR": 13, - "LANE": 100, - "CUSTOM_ROUTE_RULE": 101, - "NEARBY_ROUTE_RULE": 102, +func (x DiscoverResponse_DiscoverResponseType) Enum() *DiscoverResponse_DiscoverResponseType { + p := new(DiscoverResponse_DiscoverResponseType) + *p = x + return p } func (x DiscoverResponse_DiscoverResponseType) String() string { - return proto.EnumName(DiscoverResponse_DiscoverResponseType_name, int32(x)) + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } -func (DiscoverResponse_DiscoverResponseType) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_response_2a16a4fe3b45dfe4, []int{3, 0} + +func (DiscoverResponse_DiscoverResponseType) Descriptor() protoreflect.EnumDescriptor { + return file_response_proto_enumTypes[0].Descriptor() } -type Response struct { - Code *wrapperspb.UInt32Value `protobuf:"bytes,1,opt,name=code,proto3" json:"code,omitempty"` - Info *wrapperspb.StringValue `protobuf:"bytes,2,opt,name=info,proto3" json:"info,omitempty"` - Client *Client `protobuf:"bytes,3,opt,name=client,proto3" json:"client,omitempty"` - Namespace *model.Namespace `protobuf:"bytes,4,opt,name=namespace,proto3" json:"namespace,omitempty"` - Service *Service `protobuf:"bytes,5,opt,name=service,proto3" json:"service,omitempty"` - Instance *Instance `protobuf:"bytes,6,opt,name=instance,proto3" json:"instance,omitempty"` - Routing *traffic_manage.Routing `protobuf:"bytes,7,opt,name=routing,proto3" json:"routing,omitempty"` - Alias *ServiceAlias `protobuf:"bytes,8,opt,name=alias,proto3" json:"alias,omitempty"` - RateLimit *traffic_manage.Rule `protobuf:"bytes,9,opt,name=rateLimit,proto3" json:"rateLimit,omitempty"` - CircuitBreaker *fault_tolerance.CircuitBreaker `protobuf:"bytes,10,opt,name=circuitBreaker,proto3" json:"circuitBreaker,omitempty"` - ConfigRelease *ConfigRelease `protobuf:"bytes,11,opt,name=configRelease,proto3" json:"configRelease,omitempty"` - User *security.User `protobuf:"bytes,19,opt,name=user,proto3" json:"user,omitempty"` - UserGroup *security.UserGroup `protobuf:"bytes,20,opt,name=userGroup,proto3" json:"userGroup,omitempty"` - AuthStrategy *security.AuthStrategy `protobuf:"bytes,21,opt,name=authStrategy,proto3" json:"authStrategy,omitempty"` - Relation *security.UserGroupRelation `protobuf:"bytes,22,opt,name=relation,proto3" json:"relation,omitempty"` - LoginResponse *security.LoginResponse `protobuf:"bytes,23,opt,name=loginResponse,proto3" json:"loginResponse,omitempty"` - ModifyAuthStrategy *security.ModifyAuthStrategy `protobuf:"bytes,24,opt,name=modifyAuthStrategy,proto3" json:"modifyAuthStrategy,omitempty"` - ModifyUserGroup *security.ModifyUserGroup `protobuf:"bytes,25,opt,name=modifyUserGroup,proto3" json:"modifyUserGroup,omitempty"` - Resources *security.StrategyResources `protobuf:"bytes,26,opt,name=resources,proto3" json:"resources,omitempty"` - OptionSwitch *OptionSwitch `protobuf:"bytes,27,opt,name=optionSwitch,proto3" json:"optionSwitch,omitempty"` - InstanceLabels *InstanceLabels `protobuf:"bytes,28,opt,name=instanceLabels,proto3" json:"instanceLabels,omitempty"` - Data *anypb.Any `protobuf:"bytes,29,opt,name=data,proto3" json:"data,omitempty"` - ServiceContract *ServiceContract `protobuf:"bytes,30,opt,name=serviceContract,proto3" json:"serviceContract,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *Response) Reset() { *m = Response{} } -func (m *Response) String() string { return proto.CompactTextString(m) } -func (*Response) ProtoMessage() {} -func (*Response) Descriptor() ([]byte, []int) { - return fileDescriptor_response_2a16a4fe3b45dfe4, []int{0} +func (DiscoverResponse_DiscoverResponseType) Type() protoreflect.EnumType { + return &file_response_proto_enumTypes[0] } -func (m *Response) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_Response.Unmarshal(m, b) + +func (x DiscoverResponse_DiscoverResponseType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) } -func (m *Response) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_Response.Marshal(b, m, deterministic) + +// Deprecated: Use DiscoverResponse_DiscoverResponseType.Descriptor instead. +func (DiscoverResponse_DiscoverResponseType) EnumDescriptor() ([]byte, []int) { + return file_response_proto_rawDescGZIP(), []int{3, 0} } -func (dst *Response) XXX_Merge(src proto.Message) { - xxx_messageInfo_Response.Merge(dst, src) + +type Response struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Code *wrapperspb.UInt32Value `protobuf:"bytes,1,opt,name=code,proto3" json:"code,omitempty"` + Info *wrapperspb.StringValue `protobuf:"bytes,2,opt,name=info,proto3" json:"info,omitempty"` + Client *Client `protobuf:"bytes,3,opt,name=client,proto3" json:"client,omitempty"` + Namespace *model.Namespace `protobuf:"bytes,4,opt,name=namespace,proto3" json:"namespace,omitempty"` + Service *Service `protobuf:"bytes,5,opt,name=service,proto3" json:"service,omitempty"` + Instance *Instance `protobuf:"bytes,6,opt,name=instance,proto3" json:"instance,omitempty"` + Routing *traffic_manage.Routing `protobuf:"bytes,7,opt,name=routing,proto3" json:"routing,omitempty"` + Alias *ServiceAlias `protobuf:"bytes,8,opt,name=alias,proto3" json:"alias,omitempty"` + RateLimit *traffic_manage.Rule `protobuf:"bytes,9,opt,name=rateLimit,proto3" json:"rateLimit,omitempty"` + CircuitBreaker *fault_tolerance.CircuitBreaker `protobuf:"bytes,10,opt,name=circuitBreaker,proto3" json:"circuitBreaker,omitempty"` + ConfigRelease *ConfigRelease `protobuf:"bytes,11,opt,name=configRelease,proto3" json:"configRelease,omitempty"` + User *security.User `protobuf:"bytes,19,opt,name=user,proto3" json:"user,omitempty"` + UserGroup *security.UserGroup `protobuf:"bytes,20,opt,name=userGroup,proto3" json:"userGroup,omitempty"` + AuthStrategy *security.AuthStrategy `protobuf:"bytes,21,opt,name=authStrategy,proto3" json:"authStrategy,omitempty"` + Relation *security.UserGroupRelation `protobuf:"bytes,22,opt,name=relation,proto3" json:"relation,omitempty"` + LoginResponse *security.LoginResponse `protobuf:"bytes,23,opt,name=loginResponse,proto3" json:"loginResponse,omitempty"` + ModifyAuthStrategy *security.ModifyAuthStrategy `protobuf:"bytes,24,opt,name=modifyAuthStrategy,proto3" json:"modifyAuthStrategy,omitempty"` + ModifyUserGroup *security.ModifyUserGroup `protobuf:"bytes,25,opt,name=modifyUserGroup,proto3" json:"modifyUserGroup,omitempty"` + Resources *security.StrategyResources `protobuf:"bytes,26,opt,name=resources,proto3" json:"resources,omitempty"` + OptionSwitch *OptionSwitch `protobuf:"bytes,27,opt,name=optionSwitch,proto3" json:"optionSwitch,omitempty"` + InstanceLabels *InstanceLabels `protobuf:"bytes,28,opt,name=instanceLabels,proto3" json:"instanceLabels,omitempty"` + Data *anypb.Any `protobuf:"bytes,29,opt,name=data,proto3" json:"data,omitempty"` + ServiceContract *ServiceContract `protobuf:"bytes,30,opt,name=serviceContract,proto3" json:"serviceContract,omitempty"` +} + +func (x *Response) Reset() { + *x = Response{} + if protoimpl.UnsafeEnabled { + mi := &file_response_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (m *Response) XXX_Size() int { - return xxx_messageInfo_Response.Size(m) + +func (x *Response) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *Response) XXX_DiscardUnknown() { - xxx_messageInfo_Response.DiscardUnknown(m) + +func (*Response) ProtoMessage() {} + +func (x *Response) ProtoReflect() protoreflect.Message { + mi := &file_response_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) } -var xxx_messageInfo_Response proto.InternalMessageInfo +// Deprecated: Use Response.ProtoReflect.Descriptor instead. +func (*Response) Descriptor() ([]byte, []int) { + return file_response_proto_rawDescGZIP(), []int{0} +} -func (m *Response) GetCode() *wrapperspb.UInt32Value { - if m != nil { - return m.Code +func (x *Response) GetCode() *wrapperspb.UInt32Value { + if x != nil { + return x.Code } return nil } -func (m *Response) GetInfo() *wrapperspb.StringValue { - if m != nil { - return m.Info +func (x *Response) GetInfo() *wrapperspb.StringValue { + if x != nil { + return x.Info } return nil } -func (m *Response) GetClient() *Client { - if m != nil { - return m.Client +func (x *Response) GetClient() *Client { + if x != nil { + return x.Client } return nil } -func (m *Response) GetNamespace() *model.Namespace { - if m != nil { - return m.Namespace +func (x *Response) GetNamespace() *model.Namespace { + if x != nil { + return x.Namespace } return nil } -func (m *Response) GetService() *Service { - if m != nil { - return m.Service +func (x *Response) GetService() *Service { + if x != nil { + return x.Service } return nil } -func (m *Response) GetInstance() *Instance { - if m != nil { - return m.Instance +func (x *Response) GetInstance() *Instance { + if x != nil { + return x.Instance } return nil } -func (m *Response) GetRouting() *traffic_manage.Routing { - if m != nil { - return m.Routing +func (x *Response) GetRouting() *traffic_manage.Routing { + if x != nil { + return x.Routing } return nil } -func (m *Response) GetAlias() *ServiceAlias { - if m != nil { - return m.Alias +func (x *Response) GetAlias() *ServiceAlias { + if x != nil { + return x.Alias } return nil } -func (m *Response) GetRateLimit() *traffic_manage.Rule { - if m != nil { - return m.RateLimit +func (x *Response) GetRateLimit() *traffic_manage.Rule { + if x != nil { + return x.RateLimit } return nil } -func (m *Response) GetCircuitBreaker() *fault_tolerance.CircuitBreaker { - if m != nil { - return m.CircuitBreaker +func (x *Response) GetCircuitBreaker() *fault_tolerance.CircuitBreaker { + if x != nil { + return x.CircuitBreaker } return nil } -func (m *Response) GetConfigRelease() *ConfigRelease { - if m != nil { - return m.ConfigRelease +func (x *Response) GetConfigRelease() *ConfigRelease { + if x != nil { + return x.ConfigRelease } return nil } -func (m *Response) GetUser() *security.User { - if m != nil { - return m.User +func (x *Response) GetUser() *security.User { + if x != nil { + return x.User } return nil } -func (m *Response) GetUserGroup() *security.UserGroup { - if m != nil { - return m.UserGroup +func (x *Response) GetUserGroup() *security.UserGroup { + if x != nil { + return x.UserGroup } return nil } -func (m *Response) GetAuthStrategy() *security.AuthStrategy { - if m != nil { - return m.AuthStrategy +func (x *Response) GetAuthStrategy() *security.AuthStrategy { + if x != nil { + return x.AuthStrategy } return nil } -func (m *Response) GetRelation() *security.UserGroupRelation { - if m != nil { - return m.Relation +func (x *Response) GetRelation() *security.UserGroupRelation { + if x != nil { + return x.Relation } return nil } -func (m *Response) GetLoginResponse() *security.LoginResponse { - if m != nil { - return m.LoginResponse +func (x *Response) GetLoginResponse() *security.LoginResponse { + if x != nil { + return x.LoginResponse } return nil } -func (m *Response) GetModifyAuthStrategy() *security.ModifyAuthStrategy { - if m != nil { - return m.ModifyAuthStrategy +func (x *Response) GetModifyAuthStrategy() *security.ModifyAuthStrategy { + if x != nil { + return x.ModifyAuthStrategy } return nil } -func (m *Response) GetModifyUserGroup() *security.ModifyUserGroup { - if m != nil { - return m.ModifyUserGroup +func (x *Response) GetModifyUserGroup() *security.ModifyUserGroup { + if x != nil { + return x.ModifyUserGroup } return nil } -func (m *Response) GetResources() *security.StrategyResources { - if m != nil { - return m.Resources +func (x *Response) GetResources() *security.StrategyResources { + if x != nil { + return x.Resources } return nil } -func (m *Response) GetOptionSwitch() *OptionSwitch { - if m != nil { - return m.OptionSwitch +func (x *Response) GetOptionSwitch() *OptionSwitch { + if x != nil { + return x.OptionSwitch } return nil } -func (m *Response) GetInstanceLabels() *InstanceLabels { - if m != nil { - return m.InstanceLabels +func (x *Response) GetInstanceLabels() *InstanceLabels { + if x != nil { + return x.InstanceLabels } return nil } -func (m *Response) GetData() *anypb.Any { - if m != nil { - return m.Data +func (x *Response) GetData() *anypb.Any { + if x != nil { + return x.Data } return nil } -func (m *Response) GetServiceContract() *ServiceContract { - if m != nil { - return m.ServiceContract +func (x *Response) GetServiceContract() *ServiceContract { + if x != nil { + return x.ServiceContract } return nil } type BatchWriteResponse struct { - Code *wrapperspb.UInt32Value `protobuf:"bytes,1,opt,name=code,proto3" json:"code,omitempty"` - Info *wrapperspb.StringValue `protobuf:"bytes,2,opt,name=info,proto3" json:"info,omitempty"` - Size *wrapperspb.UInt32Value `protobuf:"bytes,3,opt,name=size,proto3" json:"size,omitempty"` - Responses []*Response `protobuf:"bytes,4,rep,name=responses,proto3" json:"responses,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *BatchWriteResponse) Reset() { *m = BatchWriteResponse{} } -func (m *BatchWriteResponse) String() string { return proto.CompactTextString(m) } -func (*BatchWriteResponse) ProtoMessage() {} -func (*BatchWriteResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_response_2a16a4fe3b45dfe4, []int{1} -} -func (m *BatchWriteResponse) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_BatchWriteResponse.Unmarshal(m, b) -} -func (m *BatchWriteResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_BatchWriteResponse.Marshal(b, m, deterministic) -} -func (dst *BatchWriteResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_BatchWriteResponse.Merge(dst, src) + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Code *wrapperspb.UInt32Value `protobuf:"bytes,1,opt,name=code,proto3" json:"code,omitempty"` + Info *wrapperspb.StringValue `protobuf:"bytes,2,opt,name=info,proto3" json:"info,omitempty"` + Size *wrapperspb.UInt32Value `protobuf:"bytes,3,opt,name=size,proto3" json:"size,omitempty"` + Responses []*Response `protobuf:"bytes,4,rep,name=responses,proto3" json:"responses,omitempty"` +} + +func (x *BatchWriteResponse) Reset() { + *x = BatchWriteResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_response_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (m *BatchWriteResponse) XXX_Size() int { - return xxx_messageInfo_BatchWriteResponse.Size(m) + +func (x *BatchWriteResponse) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *BatchWriteResponse) XXX_DiscardUnknown() { - xxx_messageInfo_BatchWriteResponse.DiscardUnknown(m) + +func (*BatchWriteResponse) ProtoMessage() {} + +func (x *BatchWriteResponse) ProtoReflect() protoreflect.Message { + mi := &file_response_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) } -var xxx_messageInfo_BatchWriteResponse proto.InternalMessageInfo +// Deprecated: Use BatchWriteResponse.ProtoReflect.Descriptor instead. +func (*BatchWriteResponse) Descriptor() ([]byte, []int) { + return file_response_proto_rawDescGZIP(), []int{1} +} -func (m *BatchWriteResponse) GetCode() *wrapperspb.UInt32Value { - if m != nil { - return m.Code +func (x *BatchWriteResponse) GetCode() *wrapperspb.UInt32Value { + if x != nil { + return x.Code } return nil } -func (m *BatchWriteResponse) GetInfo() *wrapperspb.StringValue { - if m != nil { - return m.Info +func (x *BatchWriteResponse) GetInfo() *wrapperspb.StringValue { + if x != nil { + return x.Info } return nil } -func (m *BatchWriteResponse) GetSize() *wrapperspb.UInt32Value { - if m != nil { - return m.Size +func (x *BatchWriteResponse) GetSize() *wrapperspb.UInt32Value { + if x != nil { + return x.Size } return nil } -func (m *BatchWriteResponse) GetResponses() []*Response { - if m != nil { - return m.Responses +func (x *BatchWriteResponse) GetResponses() []*Response { + if x != nil { + return x.Responses } return nil } type BatchQueryResponse struct { - Code *wrapperspb.UInt32Value `protobuf:"bytes,1,opt,name=code,proto3" json:"code,omitempty"` - Info *wrapperspb.StringValue `protobuf:"bytes,2,opt,name=info,proto3" json:"info,omitempty"` - Amount *wrapperspb.UInt32Value `protobuf:"bytes,3,opt,name=amount,proto3" json:"amount,omitempty"` - Size *wrapperspb.UInt32Value `protobuf:"bytes,4,opt,name=size,proto3" json:"size,omitempty"` - Namespaces []*model.Namespace `protobuf:"bytes,5,rep,name=namespaces,proto3" json:"namespaces,omitempty"` - Services []*Service `protobuf:"bytes,6,rep,name=services,proto3" json:"services,omitempty"` - Instances []*Instance `protobuf:"bytes,7,rep,name=instances,proto3" json:"instances,omitempty"` - Routings []*traffic_manage.Routing `protobuf:"bytes,8,rep,name=routings,proto3" json:"routings,omitempty"` - Aliases []*ServiceAlias `protobuf:"bytes,9,rep,name=aliases,proto3" json:"aliases,omitempty"` - RateLimits []*traffic_manage.Rule `protobuf:"bytes,10,rep,name=rateLimits,proto3" json:"rateLimits,omitempty"` - ConfigWithServices []*ConfigWithService `protobuf:"bytes,11,rep,name=configWithServices,proto3" json:"configWithServices,omitempty"` - Users []*security.User `protobuf:"bytes,18,rep,name=users,proto3" json:"users,omitempty"` - UserGroups []*security.UserGroup `protobuf:"bytes,19,rep,name=userGroups,proto3" json:"userGroups,omitempty"` - AuthStrategies []*security.AuthStrategy `protobuf:"bytes,20,rep,name=authStrategies,proto3" json:"authStrategies,omitempty"` - Clients []*Client `protobuf:"bytes,21,rep,name=clients,proto3" json:"clients,omitempty"` - Data []*anypb.Any `protobuf:"bytes,22,rep,name=data,proto3" json:"data,omitempty"` - Summary *model.Summary `protobuf:"bytes,23,opt,name=summary,proto3" json:"summary,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *BatchQueryResponse) Reset() { *m = BatchQueryResponse{} } -func (m *BatchQueryResponse) String() string { return proto.CompactTextString(m) } -func (*BatchQueryResponse) ProtoMessage() {} -func (*BatchQueryResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_response_2a16a4fe3b45dfe4, []int{2} -} -func (m *BatchQueryResponse) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_BatchQueryResponse.Unmarshal(m, b) -} -func (m *BatchQueryResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_BatchQueryResponse.Marshal(b, m, deterministic) -} -func (dst *BatchQueryResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_BatchQueryResponse.Merge(dst, src) + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Code *wrapperspb.UInt32Value `protobuf:"bytes,1,opt,name=code,proto3" json:"code,omitempty"` + Info *wrapperspb.StringValue `protobuf:"bytes,2,opt,name=info,proto3" json:"info,omitempty"` + Amount *wrapperspb.UInt32Value `protobuf:"bytes,3,opt,name=amount,proto3" json:"amount,omitempty"` + Size *wrapperspb.UInt32Value `protobuf:"bytes,4,opt,name=size,proto3" json:"size,omitempty"` + Namespaces []*model.Namespace `protobuf:"bytes,5,rep,name=namespaces,proto3" json:"namespaces,omitempty"` + Services []*Service `protobuf:"bytes,6,rep,name=services,proto3" json:"services,omitempty"` + Instances []*Instance `protobuf:"bytes,7,rep,name=instances,proto3" json:"instances,omitempty"` + Routings []*traffic_manage.Routing `protobuf:"bytes,8,rep,name=routings,proto3" json:"routings,omitempty"` + Aliases []*ServiceAlias `protobuf:"bytes,9,rep,name=aliases,proto3" json:"aliases,omitempty"` + RateLimits []*traffic_manage.Rule `protobuf:"bytes,10,rep,name=rateLimits,proto3" json:"rateLimits,omitempty"` + ConfigWithServices []*ConfigWithService `protobuf:"bytes,11,rep,name=configWithServices,proto3" json:"configWithServices,omitempty"` + Users []*security.User `protobuf:"bytes,18,rep,name=users,proto3" json:"users,omitempty"` + UserGroups []*security.UserGroup `protobuf:"bytes,19,rep,name=userGroups,proto3" json:"userGroups,omitempty"` + AuthStrategies []*security.AuthStrategy `protobuf:"bytes,20,rep,name=authStrategies,proto3" json:"authStrategies,omitempty"` + Clients []*Client `protobuf:"bytes,21,rep,name=clients,proto3" json:"clients,omitempty"` + Data []*anypb.Any `protobuf:"bytes,22,rep,name=data,proto3" json:"data,omitempty"` + Summary *model.Summary `protobuf:"bytes,23,opt,name=summary,proto3" json:"summary,omitempty"` +} + +func (x *BatchQueryResponse) Reset() { + *x = BatchQueryResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_response_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (m *BatchQueryResponse) XXX_Size() int { - return xxx_messageInfo_BatchQueryResponse.Size(m) + +func (x *BatchQueryResponse) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *BatchQueryResponse) XXX_DiscardUnknown() { - xxx_messageInfo_BatchQueryResponse.DiscardUnknown(m) + +func (*BatchQueryResponse) ProtoMessage() {} + +func (x *BatchQueryResponse) ProtoReflect() protoreflect.Message { + mi := &file_response_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) } -var xxx_messageInfo_BatchQueryResponse proto.InternalMessageInfo +// Deprecated: Use BatchQueryResponse.ProtoReflect.Descriptor instead. +func (*BatchQueryResponse) Descriptor() ([]byte, []int) { + return file_response_proto_rawDescGZIP(), []int{2} +} -func (m *BatchQueryResponse) GetCode() *wrapperspb.UInt32Value { - if m != nil { - return m.Code +func (x *BatchQueryResponse) GetCode() *wrapperspb.UInt32Value { + if x != nil { + return x.Code } return nil } -func (m *BatchQueryResponse) GetInfo() *wrapperspb.StringValue { - if m != nil { - return m.Info +func (x *BatchQueryResponse) GetInfo() *wrapperspb.StringValue { + if x != nil { + return x.Info } return nil } -func (m *BatchQueryResponse) GetAmount() *wrapperspb.UInt32Value { - if m != nil { - return m.Amount +func (x *BatchQueryResponse) GetAmount() *wrapperspb.UInt32Value { + if x != nil { + return x.Amount } return nil } -func (m *BatchQueryResponse) GetSize() *wrapperspb.UInt32Value { - if m != nil { - return m.Size +func (x *BatchQueryResponse) GetSize() *wrapperspb.UInt32Value { + if x != nil { + return x.Size } return nil } -func (m *BatchQueryResponse) GetNamespaces() []*model.Namespace { - if m != nil { - return m.Namespaces +func (x *BatchQueryResponse) GetNamespaces() []*model.Namespace { + if x != nil { + return x.Namespaces } return nil } -func (m *BatchQueryResponse) GetServices() []*Service { - if m != nil { - return m.Services +func (x *BatchQueryResponse) GetServices() []*Service { + if x != nil { + return x.Services } return nil } -func (m *BatchQueryResponse) GetInstances() []*Instance { - if m != nil { - return m.Instances +func (x *BatchQueryResponse) GetInstances() []*Instance { + if x != nil { + return x.Instances } return nil } -func (m *BatchQueryResponse) GetRoutings() []*traffic_manage.Routing { - if m != nil { - return m.Routings +func (x *BatchQueryResponse) GetRoutings() []*traffic_manage.Routing { + if x != nil { + return x.Routings } return nil } -func (m *BatchQueryResponse) GetAliases() []*ServiceAlias { - if m != nil { - return m.Aliases +func (x *BatchQueryResponse) GetAliases() []*ServiceAlias { + if x != nil { + return x.Aliases } return nil } -func (m *BatchQueryResponse) GetRateLimits() []*traffic_manage.Rule { - if m != nil { - return m.RateLimits +func (x *BatchQueryResponse) GetRateLimits() []*traffic_manage.Rule { + if x != nil { + return x.RateLimits } return nil } -func (m *BatchQueryResponse) GetConfigWithServices() []*ConfigWithService { - if m != nil { - return m.ConfigWithServices +func (x *BatchQueryResponse) GetConfigWithServices() []*ConfigWithService { + if x != nil { + return x.ConfigWithServices } return nil } -func (m *BatchQueryResponse) GetUsers() []*security.User { - if m != nil { - return m.Users +func (x *BatchQueryResponse) GetUsers() []*security.User { + if x != nil { + return x.Users } return nil } -func (m *BatchQueryResponse) GetUserGroups() []*security.UserGroup { - if m != nil { - return m.UserGroups +func (x *BatchQueryResponse) GetUserGroups() []*security.UserGroup { + if x != nil { + return x.UserGroups } return nil } -func (m *BatchQueryResponse) GetAuthStrategies() []*security.AuthStrategy { - if m != nil { - return m.AuthStrategies +func (x *BatchQueryResponse) GetAuthStrategies() []*security.AuthStrategy { + if x != nil { + return x.AuthStrategies } return nil } -func (m *BatchQueryResponse) GetClients() []*Client { - if m != nil { - return m.Clients +func (x *BatchQueryResponse) GetClients() []*Client { + if x != nil { + return x.Clients } return nil } -func (m *BatchQueryResponse) GetData() []*anypb.Any { - if m != nil { - return m.Data +func (x *BatchQueryResponse) GetData() []*anypb.Any { + if x != nil { + return x.Data } return nil } -func (m *BatchQueryResponse) GetSummary() *model.Summary { - if m != nil { - return m.Summary +func (x *BatchQueryResponse) GetSummary() *model.Summary { + if x != nil { + return x.Summary } return nil } type DiscoverResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + Code *wrapperspb.UInt32Value `protobuf:"bytes,1,opt,name=code,proto3" json:"code,omitempty"` Info *wrapperspb.StringValue `protobuf:"bytes,2,opt,name=info,proto3" json:"info,omitempty"` Type DiscoverResponse_DiscoverResponseType `protobuf:"varint,3,opt,name=type,proto3,enum=v1.DiscoverResponse_DiscoverResponseType" json:"type,omitempty"` @@ -538,325 +598,762 @@ type DiscoverResponse struct { // 自定义路由规则内容 CustomRouteRules []*traffic_manage.RouteRule `protobuf:"bytes,23,rep,name=customRouteRules,proto3" json:"customRouteRules,omitempty"` // 就近路由规则内容 - NearbyRouteRules []*traffic_manage.RouteRule `protobuf:"bytes,24,rep,name=nearbyRouteRules,proto3" json:"nearbyRouteRules,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + NearbyRouteRules []*traffic_manage.RouteRule `protobuf:"bytes,24,rep,name=nearbyRouteRules,proto3" json:"nearbyRouteRules,omitempty"` + // 无损上下线规则内容 + LosslessRules []*traffic_manage.LosslessRule `protobuf:"bytes,25,rep,name=losslessRules,proto3" json:"losslessRules,omitempty"` } -func (m *DiscoverResponse) Reset() { *m = DiscoverResponse{} } -func (m *DiscoverResponse) String() string { return proto.CompactTextString(m) } -func (*DiscoverResponse) ProtoMessage() {} -func (*DiscoverResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_response_2a16a4fe3b45dfe4, []int{3} -} -func (m *DiscoverResponse) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_DiscoverResponse.Unmarshal(m, b) -} -func (m *DiscoverResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_DiscoverResponse.Marshal(b, m, deterministic) -} -func (dst *DiscoverResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_DiscoverResponse.Merge(dst, src) +func (x *DiscoverResponse) Reset() { + *x = DiscoverResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_response_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (m *DiscoverResponse) XXX_Size() int { - return xxx_messageInfo_DiscoverResponse.Size(m) + +func (x *DiscoverResponse) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *DiscoverResponse) XXX_DiscardUnknown() { - xxx_messageInfo_DiscoverResponse.DiscardUnknown(m) + +func (*DiscoverResponse) ProtoMessage() {} + +func (x *DiscoverResponse) ProtoReflect() protoreflect.Message { + mi := &file_response_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) } -var xxx_messageInfo_DiscoverResponse proto.InternalMessageInfo +// Deprecated: Use DiscoverResponse.ProtoReflect.Descriptor instead. +func (*DiscoverResponse) Descriptor() ([]byte, []int) { + return file_response_proto_rawDescGZIP(), []int{3} +} -func (m *DiscoverResponse) GetCode() *wrapperspb.UInt32Value { - if m != nil { - return m.Code +func (x *DiscoverResponse) GetCode() *wrapperspb.UInt32Value { + if x != nil { + return x.Code } return nil } -func (m *DiscoverResponse) GetInfo() *wrapperspb.StringValue { - if m != nil { - return m.Info +func (x *DiscoverResponse) GetInfo() *wrapperspb.StringValue { + if x != nil { + return x.Info } return nil } -func (m *DiscoverResponse) GetType() DiscoverResponse_DiscoverResponseType { - if m != nil { - return m.Type +func (x *DiscoverResponse) GetType() DiscoverResponse_DiscoverResponseType { + if x != nil { + return x.Type } return DiscoverResponse_UNKNOWN } -func (m *DiscoverResponse) GetService() *Service { - if m != nil { - return m.Service +func (x *DiscoverResponse) GetService() *Service { + if x != nil { + return x.Service + } + return nil +} + +func (x *DiscoverResponse) GetInstances() []*Instance { + if x != nil { + return x.Instances } return nil } -func (m *DiscoverResponse) GetInstances() []*Instance { - if m != nil { - return m.Instances +func (x *DiscoverResponse) GetRouting() *traffic_manage.Routing { + if x != nil { + return x.Routing } return nil } -func (m *DiscoverResponse) GetRouting() *traffic_manage.Routing { - if m != nil { - return m.Routing +func (x *DiscoverResponse) GetRateLimit() *traffic_manage.RateLimit { + if x != nil { + return x.RateLimit } return nil } -func (m *DiscoverResponse) GetRateLimit() *traffic_manage.RateLimit { - if m != nil { - return m.RateLimit +func (x *DiscoverResponse) GetCircuitBreaker() *fault_tolerance.CircuitBreaker { + if x != nil { + return x.CircuitBreaker } return nil } -func (m *DiscoverResponse) GetCircuitBreaker() *fault_tolerance.CircuitBreaker { - if m != nil { - return m.CircuitBreaker +func (x *DiscoverResponse) GetServices() []*Service { + if x != nil { + return x.Services } return nil } -func (m *DiscoverResponse) GetServices() []*Service { - if m != nil { - return m.Services +func (x *DiscoverResponse) GetNamespaces() []*model.Namespace { + if x != nil { + return x.Namespaces } return nil } -func (m *DiscoverResponse) GetNamespaces() []*model.Namespace { - if m != nil { - return m.Namespaces +func (x *DiscoverResponse) GetFaultDetector() *fault_tolerance.FaultDetector { + if x != nil { + return x.FaultDetector } return nil } -func (m *DiscoverResponse) GetFaultDetector() *fault_tolerance.FaultDetector { - if m != nil { - return m.FaultDetector +func (x *DiscoverResponse) GetAliasFor() *Service { + if x != nil { + return x.AliasFor } return nil } -func (m *DiscoverResponse) GetAliasFor() *Service { - if m != nil { - return m.AliasFor +func (x *DiscoverResponse) GetLanes() []*traffic_manage.LaneGroup { + if x != nil { + return x.Lanes } return nil } -func (m *DiscoverResponse) GetLanes() []*traffic_manage.LaneGroup { - if m != nil { - return m.Lanes +func (x *DiscoverResponse) GetCustomRouteRules() []*traffic_manage.RouteRule { + if x != nil { + return x.CustomRouteRules } return nil } -func (m *DiscoverResponse) GetCustomRouteRules() []*traffic_manage.RouteRule { - if m != nil { - return m.CustomRouteRules +func (x *DiscoverResponse) GetNearbyRouteRules() []*traffic_manage.RouteRule { + if x != nil { + return x.NearbyRouteRules } return nil } -func (m *DiscoverResponse) GetNearbyRouteRules() []*traffic_manage.RouteRule { - if m != nil { - return m.NearbyRouteRules +func (x *DiscoverResponse) GetLosslessRules() []*traffic_manage.LosslessRule { + if x != nil { + return x.LosslessRules } return nil } type OptionSwitch struct { - Options map[string]string `protobuf:"bytes,1,rep,name=options,proto3" json:"options,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Options map[string]string `protobuf:"bytes,1,rep,name=options,proto3" json:"options,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } -func (m *OptionSwitch) Reset() { *m = OptionSwitch{} } -func (m *OptionSwitch) String() string { return proto.CompactTextString(m) } -func (*OptionSwitch) ProtoMessage() {} -func (*OptionSwitch) Descriptor() ([]byte, []int) { - return fileDescriptor_response_2a16a4fe3b45dfe4, []int{4} +func (x *OptionSwitch) Reset() { + *x = OptionSwitch{} + if protoimpl.UnsafeEnabled { + mi := &file_response_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *OptionSwitch) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*OptionSwitch) ProtoMessage() {} + +func (x *OptionSwitch) ProtoReflect() protoreflect.Message { + mi := &file_response_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) } -func (m *OptionSwitch) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_OptionSwitch.Unmarshal(m, b) + +// Deprecated: Use OptionSwitch.ProtoReflect.Descriptor instead. +func (*OptionSwitch) Descriptor() ([]byte, []int) { + return file_response_proto_rawDescGZIP(), []int{4} } -func (m *OptionSwitch) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_OptionSwitch.Marshal(b, m, deterministic) + +func (x *OptionSwitch) GetOptions() map[string]string { + if x != nil { + return x.Options + } + return nil } -func (dst *OptionSwitch) XXX_Merge(src proto.Message) { - xxx_messageInfo_OptionSwitch.Merge(dst, src) + +type InstanceLabels struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Labels map[string]*model.StringList `protobuf:"bytes,1,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + Namespace string `protobuf:"bytes,2,opt,name=namespace,proto3" json:"namespace,omitempty"` + Service string `protobuf:"bytes,3,opt,name=service,proto3" json:"service,omitempty"` + ServiceId string `protobuf:"bytes,4,opt,name=service_id,json=serviceId,proto3" json:"service_id,omitempty"` +} + +func (x *InstanceLabels) Reset() { + *x = InstanceLabels{} + if protoimpl.UnsafeEnabled { + mi := &file_response_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (m *OptionSwitch) XXX_Size() int { - return xxx_messageInfo_OptionSwitch.Size(m) + +func (x *InstanceLabels) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *OptionSwitch) XXX_DiscardUnknown() { - xxx_messageInfo_OptionSwitch.DiscardUnknown(m) + +func (*InstanceLabels) ProtoMessage() {} + +func (x *InstanceLabels) ProtoReflect() protoreflect.Message { + mi := &file_response_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) } -var xxx_messageInfo_OptionSwitch proto.InternalMessageInfo +// Deprecated: Use InstanceLabels.ProtoReflect.Descriptor instead. +func (*InstanceLabels) Descriptor() ([]byte, []int) { + return file_response_proto_rawDescGZIP(), []int{5} +} -func (m *OptionSwitch) GetOptions() map[string]string { - if m != nil { - return m.Options +func (x *InstanceLabels) GetLabels() map[string]*model.StringList { + if x != nil { + return x.Labels } return nil } -type InstanceLabels struct { - Labels map[string]*model.StringList `protobuf:"bytes,1,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` +func (x *InstanceLabels) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" } -func (m *InstanceLabels) Reset() { *m = InstanceLabels{} } -func (m *InstanceLabels) String() string { return proto.CompactTextString(m) } -func (*InstanceLabels) ProtoMessage() {} -func (*InstanceLabels) Descriptor() ([]byte, []int) { - return fileDescriptor_response_2a16a4fe3b45dfe4, []int{5} -} -func (m *InstanceLabels) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_InstanceLabels.Unmarshal(m, b) -} -func (m *InstanceLabels) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_InstanceLabels.Marshal(b, m, deterministic) -} -func (dst *InstanceLabels) XXX_Merge(src proto.Message) { - xxx_messageInfo_InstanceLabels.Merge(dst, src) -} -func (m *InstanceLabels) XXX_Size() int { - return xxx_messageInfo_InstanceLabels.Size(m) -} -func (m *InstanceLabels) XXX_DiscardUnknown() { - xxx_messageInfo_InstanceLabels.DiscardUnknown(m) -} - -var xxx_messageInfo_InstanceLabels proto.InternalMessageInfo - -func (m *InstanceLabels) GetLabels() map[string]*model.StringList { - if m != nil { - return m.Labels - } - return nil -} - -func init() { - proto.RegisterType((*Response)(nil), "v1.Response") - proto.RegisterType((*BatchWriteResponse)(nil), "v1.BatchWriteResponse") - proto.RegisterType((*BatchQueryResponse)(nil), "v1.BatchQueryResponse") - proto.RegisterType((*DiscoverResponse)(nil), "v1.DiscoverResponse") - proto.RegisterType((*OptionSwitch)(nil), "v1.OptionSwitch") - proto.RegisterMapType((map[string]string)(nil), "v1.OptionSwitch.OptionsEntry") - proto.RegisterType((*InstanceLabels)(nil), "v1.InstanceLabels") - proto.RegisterMapType((map[string]*model.StringList)(nil), "v1.InstanceLabels.LabelsEntry") - proto.RegisterEnum("v1.DiscoverResponse_DiscoverResponseType", DiscoverResponse_DiscoverResponseType_name, DiscoverResponse_DiscoverResponseType_value) -} - -func init() { proto.RegisterFile("response.proto", fileDescriptor_response_2a16a4fe3b45dfe4) } - -var fileDescriptor_response_2a16a4fe3b45dfe4 = []byte{ - // 1493 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x57, 0xcd, 0x6e, 0x1b, 0x47, - 0x12, 0x5e, 0x4a, 0xc3, 0xbf, 0xa2, 0x44, 0x8f, 0x5b, 0x92, 0xdd, 0xd6, 0xda, 0x82, 0xc1, 0xf5, - 0x7a, 0xb5, 0x32, 0x96, 0xb4, 0x64, 0x63, 0xe5, 0x18, 0xf0, 0x81, 0xa2, 0x46, 0x0e, 0x63, 0x8a, - 0x72, 0x9a, 0xa4, 0x9d, 0xe4, 0x42, 0xb4, 0x46, 0x2d, 0xaa, 0xe1, 0xe1, 0x0c, 0x31, 0x3d, 0x23, - 0x83, 0xb9, 0x06, 0xc8, 0x31, 0x97, 0x00, 0x39, 0xe7, 0x11, 0xf2, 0x34, 0x79, 0x9e, 0xa0, 0x7b, - 0x7a, 0xfe, 0x28, 0x45, 0xf6, 0xc9, 0x17, 0x89, 0x53, 0xdf, 0x57, 0x35, 0x55, 0xd5, 0xd5, 0x1f, - 0x8b, 0x50, 0xf7, 0x99, 0x98, 0x79, 0xae, 0x60, 0xcd, 0x99, 0xef, 0x05, 0x1e, 0x5a, 0xba, 0xdc, - 0xdd, 0xdc, 0x9a, 0x78, 0xde, 0xc4, 0x61, 0x2d, 0x65, 0x39, 0x0d, 0xcf, 0x5b, 0x1f, 0x7d, 0x3a, - 0x9b, 0x31, 0x5f, 0x44, 0x9c, 0xcd, 0x7b, 0x8b, 0x38, 0x75, 0xe7, 0x1a, 0xba, 0xe5, 0xd2, 0x29, - 0x13, 0x33, 0x6a, 0xeb, 0x78, 0x9b, 0xab, 0x82, 0xf9, 0x97, 0x3c, 0x7d, 0xf4, 0xbd, 0x30, 0xe0, - 0xee, 0x24, 0xa6, 0xfb, 0x34, 0x60, 0x0e, 0x9f, 0xf2, 0x40, 0x1b, 0xd6, 0x6d, 0xee, 0xdb, 0x21, - 0x0f, 0x4e, 0x7d, 0x46, 0x3f, 0x30, 0x5f, 0x5b, 0x6b, 0x53, 0xef, 0x8c, 0x39, 0xfa, 0x61, 0xc5, - 0x76, 0x38, 0x73, 0x63, 0x87, 0x35, 0xdb, 0x73, 0xcf, 0xf9, 0xc4, 0x67, 0x0e, 0xa3, 0x71, 0x11, - 0x9b, 0xeb, 0xe7, 0x34, 0x74, 0x82, 0xf1, 0x19, 0x0b, 0x98, 0x1d, 0x78, 0x71, 0x14, 0xa0, 0x61, - 0x70, 0xa1, 0x3f, 0xd7, 0x6d, 0xcf, 0x0d, 0x7c, 0x6a, 0xc7, 0x61, 0xc0, 0xa1, 0xae, 0xf6, 0x6e, - 0xfc, 0x5c, 0x85, 0x0a, 0xd1, 0x5d, 0x41, 0x4f, 0xc1, 0xb0, 0xbd, 0x33, 0x86, 0x0b, 0x0f, 0x0b, - 0xdb, 0xb5, 0xbd, 0xfb, 0xcd, 0xa8, 0xf4, 0x66, 0x5c, 0x7a, 0x73, 0xd4, 0x75, 0x83, 0x67, 0x7b, - 0xef, 0xa8, 0x13, 0x32, 0xa2, 0x98, 0xd2, 0x83, 0xbb, 0xe7, 0x1e, 0x5e, 0xfa, 0x1b, 0x8f, 0x41, - 0xe0, 0x73, 0x77, 0xa2, 0x3d, 0x24, 0x13, 0x35, 0xa0, 0x14, 0xd5, 0x84, 0x97, 0x95, 0x0f, 0x34, - 0x2f, 0x77, 0x9b, 0x1d, 0x65, 0x21, 0x1a, 0x41, 0x4f, 0xa0, 0x9a, 0xb4, 0x16, 0x1b, 0x8a, 0xb6, - 0x2a, 0x69, 0xfd, 0xd8, 0x48, 0x52, 0x1c, 0xfd, 0x1b, 0xca, 0xba, 0xed, 0xb8, 0xa8, 0xa8, 0x35, - 0x49, 0x1d, 0x44, 0x26, 0x12, 0x63, 0x68, 0x1b, 0x2a, 0xdc, 0x15, 0x01, 0x75, 0x6d, 0x86, 0x4b, - 0x8a, 0xb7, 0x22, 0x79, 0x5d, 0x6d, 0x23, 0x09, 0x2a, 0x03, 0xea, 0x83, 0xc3, 0xe5, 0x34, 0x20, - 0x89, 0x4c, 0x24, 0xc6, 0xd0, 0x63, 0x28, 0x52, 0x87, 0x53, 0x81, 0x2b, 0x8a, 0x64, 0x66, 0xde, - 0xda, 0x96, 0x76, 0x12, 0xc1, 0xe8, 0x31, 0x54, 0xe5, 0xc1, 0xf7, 0xe4, 0xc1, 0xe3, 0xaa, 0xe2, - 0x56, 0x54, 0xc0, 0xd0, 0x61, 0x24, 0x85, 0xd0, 0x4b, 0xa8, 0xeb, 0x79, 0x38, 0x88, 0xe6, 0x01, - 0x83, 0x22, 0x23, 0xd5, 0xa0, 0x1c, 0x42, 0x16, 0x98, 0x68, 0x1f, 0x56, 0xa3, 0xd1, 0x20, 0xd1, - 0x68, 0xe0, 0x9a, 0x72, 0xbd, 0xad, 0x5c, 0xb3, 0x00, 0xc9, 0xf3, 0xd0, 0x7d, 0x30, 0x42, 0xc1, - 0x7c, 0xbc, 0x96, 0xe6, 0x35, 0x12, 0xcc, 0x27, 0xca, 0x2a, 0xcf, 0x41, 0xfe, 0x7f, 0xed, 0x7b, - 0xe1, 0x0c, 0xaf, 0xa7, 0xe7, 0x30, 0x8a, 0x8d, 0x24, 0xc5, 0xd1, 0x73, 0x58, 0x91, 0x33, 0x37, - 0x08, 0x64, 0x49, 0x93, 0x39, 0xde, 0x48, 0xdb, 0xd2, 0xce, 0xd8, 0x49, 0x8e, 0x85, 0x76, 0xa1, - 0xe2, 0x33, 0x87, 0x06, 0xdc, 0x73, 0xf1, 0x1d, 0xe5, 0xb1, 0x91, 0x7f, 0x83, 0x06, 0x49, 0x42, - 0x93, 0xc5, 0x3a, 0xde, 0x84, 0xbb, 0xf1, 0xd8, 0xe2, 0xbb, 0x69, 0xb1, 0xbd, 0x2c, 0x40, 0xf2, - 0x3c, 0x74, 0x04, 0x68, 0xea, 0x9d, 0xf1, 0xf3, 0x79, 0x36, 0x1f, 0x8c, 0x95, 0xf7, 0x1d, 0xe9, - 0x7d, 0x7c, 0x05, 0x25, 0xd7, 0x78, 0xa0, 0x57, 0x70, 0x2b, 0xb2, 0x26, 0x59, 0xe2, 0x7b, 0x2a, - 0xc8, 0x5a, 0x1a, 0x24, 0x2d, 0x60, 0x91, 0x8b, 0x9e, 0x41, 0xd5, 0x67, 0xc2, 0x0b, 0x7d, 0x9b, - 0x09, 0xbc, 0x99, 0xd6, 0x9c, 0xbc, 0x33, 0x06, 0x49, 0xca, 0x93, 0xdd, 0xf5, 0x66, 0xb2, 0xfc, - 0xc1, 0x47, 0x1e, 0xd8, 0x17, 0xf8, 0x9f, 0x69, 0x77, 0x4f, 0x32, 0x76, 0x92, 0x63, 0xc9, 0x99, - 0x8a, 0xc7, 0xba, 0x47, 0x4f, 0x99, 0x23, 0xf0, 0xfd, 0x74, 0xa6, 0xba, 0x39, 0x84, 0x2c, 0x30, - 0xd1, 0x36, 0x18, 0x67, 0x34, 0xa0, 0xf8, 0x81, 0xf2, 0x58, 0xbf, 0x72, 0xb5, 0xdb, 0xee, 0x9c, - 0x28, 0x86, 0xec, 0x87, 0xbe, 0x65, 0x1d, 0x2d, 0x34, 0x78, 0x2b, 0xed, 0xc7, 0x20, 0x0f, 0x91, - 0x45, 0xee, 0x37, 0x46, 0x65, 0xc5, 0x5c, 0x6b, 0xfc, 0x59, 0x00, 0x74, 0x40, 0x03, 0xfb, 0xe2, - 0xbd, 0xcf, 0x03, 0xf6, 0x45, 0x25, 0xe9, 0x29, 0x18, 0x82, 0xff, 0xc8, 0xb4, 0x20, 0x7d, 0xe2, - 0x1d, 0x92, 0x89, 0x76, 0xd4, 0x11, 0xaa, 0x0c, 0x05, 0x36, 0x1e, 0x2e, 0xc7, 0x6a, 0x92, 0x4c, - 0x5e, 0x0a, 0x37, 0xfe, 0x28, 0xe9, 0xc2, 0xbe, 0x0d, 0x99, 0x3f, 0xff, 0xa2, 0x85, 0x3d, 0x87, - 0x12, 0x9d, 0x7a, 0x61, 0xa2, 0xb5, 0x37, 0xbf, 0x45, 0x73, 0x93, 0x76, 0x18, 0x9f, 0xdd, 0x8e, - 0xff, 0x01, 0x24, 0x7a, 0x2c, 0x70, 0x51, 0xf5, 0x63, 0x41, 0xb0, 0x33, 0x04, 0xf4, 0x1f, 0xa8, - 0xe8, 0x19, 0x10, 0xb8, 0xa4, 0xc8, 0x39, 0xc9, 0x4e, 0x40, 0xd9, 0xe6, 0x78, 0x28, 0x05, 0x2e, - 0xa7, 0x6d, 0x4e, 0x44, 0x3b, 0x85, 0x65, 0x50, 0xad, 0xcc, 0x52, 0x91, 0x97, 0x17, 0x65, 0x3b, - 0x01, 0xd1, 0x0e, 0x94, 0x95, 0x30, 0x33, 0x81, 0xab, 0x8a, 0x77, 0x55, 0xb9, 0x63, 0x02, 0xda, - 0x06, 0x48, 0x04, 0x5a, 0x60, 0x50, 0xf4, 0x54, 0xbc, 0x33, 0x18, 0xb2, 0x00, 0x45, 0xca, 0xfa, - 0x9e, 0x07, 0x17, 0x83, 0xb8, 0xba, 0x9a, 0xf2, 0xd8, 0x48, 0x65, 0x38, 0x83, 0x92, 0x6b, 0x1c, - 0xd0, 0x16, 0x14, 0xa5, 0xa2, 0x0a, 0x8c, 0xd2, 0x77, 0x29, 0x41, 0x8e, 0xcc, 0xb2, 0xd3, 0x89, - 0xe2, 0x0a, 0xbc, 0x96, 0x76, 0x3a, 0xd5, 0x9b, 0x0c, 0x01, 0xbd, 0x80, 0x7a, 0x46, 0x6d, 0x39, - 0x13, 0x78, 0x3d, 0x2d, 0x39, 0xa7, 0x73, 0x0b, 0x3c, 0xf4, 0x08, 0xca, 0xd1, 0x97, 0xb1, 0xc0, - 0x1b, 0xca, 0x25, 0xfb, 0x3d, 0x1d, 0x43, 0x89, 0x46, 0xdc, 0x51, 0x94, 0x9b, 0x34, 0x42, 0x7e, - 0x4b, 0x87, 0xd3, 0x29, 0xf5, 0xe7, 0x5a, 0xae, 0xa3, 0x23, 0x8f, 0x4c, 0x24, 0xc6, 0x94, 0x16, - 0xa0, 0xc6, 0x6f, 0x15, 0x30, 0x0f, 0xb9, 0xb0, 0xbd, 0x4b, 0xe6, 0x7f, 0xd1, 0x0b, 0xf3, 0x0a, - 0x8c, 0x60, 0x3e, 0x8b, 0x94, 0xa0, 0xbe, 0xf7, 0x5f, 0x99, 0xe2, 0x62, 0x1e, 0x57, 0x0c, 0xc3, - 0xf9, 0x8c, 0x11, 0xe5, 0x96, 0x5d, 0x45, 0x8c, 0x1b, 0x56, 0x91, 0xdc, 0x58, 0x17, 0x6f, 0x1e, - 0xeb, 0xcc, 0x32, 0x52, 0xba, 0x61, 0x19, 0x79, 0x92, 0x5d, 0x32, 0xca, 0xe9, 0x37, 0x35, 0x89, - 0x8d, 0x37, 0x6f, 0x1a, 0x95, 0xcf, 0xde, 0x34, 0xb2, 0x77, 0xb7, 0x7a, 0xd3, 0xdd, 0xcd, 0x6b, - 0x02, 0x7c, 0x4a, 0x13, 0xf6, 0x61, 0x55, 0xed, 0xb1, 0x87, 0x7a, 0x8d, 0xcd, 0x6e, 0x30, 0x47, - 0x59, 0x80, 0xe4, 0x79, 0x32, 0x21, 0x75, 0x5b, 0x8f, 0x3c, 0x5f, 0xaf, 0x1c, 0xf9, 0x84, 0x62, - 0x10, 0xfd, 0x0b, 0x8a, 0x72, 0xef, 0x15, 0x7a, 0x58, 0x55, 0x2e, 0x3d, 0xea, 0xb2, 0xe8, 0xd6, - 0x44, 0x18, 0xfa, 0x0a, 0x4c, 0x3b, 0x14, 0x81, 0x37, 0x95, 0x1d, 0x66, 0xf2, 0x96, 0x0b, 0x7c, - 0x37, 0xe5, 0x27, 0x56, 0x72, 0x85, 0x26, 0x5d, 0x5d, 0x46, 0xfd, 0xd3, 0x79, 0xc6, 0x15, 0x5f, - 0xeb, 0xba, 0x48, 0x6b, 0xfc, 0xbe, 0x04, 0xeb, 0xd7, 0x8d, 0x15, 0xaa, 0x41, 0x79, 0xd4, 0x7f, - 0xd3, 0x3f, 0x79, 0xdf, 0x37, 0xff, 0x81, 0x56, 0xa0, 0xd2, 0xed, 0x0f, 0x86, 0xed, 0x7e, 0xc7, - 0x32, 0x0b, 0x12, 0xea, 0xf4, 0x46, 0x83, 0xa1, 0x45, 0xcc, 0x25, 0xf9, 0x40, 0x4e, 0x46, 0xc3, - 0x6e, 0xff, 0xb5, 0xb9, 0x8c, 0xea, 0x00, 0xa4, 0x3d, 0xb4, 0xc6, 0xbd, 0xee, 0x71, 0x77, 0x68, - 0x1a, 0x68, 0x0d, 0x6e, 0x75, 0xba, 0xa4, 0x33, 0xea, 0x0e, 0xc7, 0x07, 0xc4, 0x6a, 0xbf, 0xb1, - 0x88, 0x59, 0x94, 0xc1, 0x06, 0x16, 0x79, 0xd7, 0xed, 0x58, 0x03, 0xb3, 0x24, 0x5d, 0xfa, 0xed, - 0x63, 0x6b, 0xf0, 0xb6, 0x2d, 0x9f, 0x57, 0x10, 0x82, 0xfa, 0x51, 0x7b, 0xd4, 0x1b, 0x8e, 0x0f, - 0xad, 0xa1, 0xd5, 0x19, 0x9e, 0x10, 0x73, 0x15, 0x55, 0xc0, 0xe8, 0xb5, 0xfb, 0x96, 0x79, 0x86, - 0x36, 0xe0, 0x76, 0x67, 0x34, 0x18, 0x9e, 0x1c, 0x8f, 0xe5, 0x4b, 0xad, 0x31, 0x19, 0xf5, 0x2c, - 0x93, 0x49, 0x73, 0xdf, 0x6a, 0x93, 0x83, 0xef, 0xb3, 0xe6, 0xf3, 0x86, 0x51, 0x29, 0x9b, 0xb5, - 0x86, 0x51, 0xa9, 0x9b, 0xf6, 0x8e, 0x71, 0x6c, 0x0d, 0xbe, 0xde, 0xa9, 0xc9, 0xbf, 0xe3, 0xce, - 0x49, 0xff, 0xa8, 0xfb, 0x7a, 0xa7, 0x7e, 0xd4, 0x1b, 0x7d, 0x37, 0x3e, 0x3c, 0x20, 0xd6, 0x11, - 0x91, 0x60, 0x45, 0x3d, 0x0f, 0x0e, 0xdf, 0xec, 0xd4, 0xa2, 0x4f, 0x16, 0x79, 0x67, 0x11, 0x25, - 0x0c, 0x1b, 0x8d, 0x9f, 0x0a, 0xb0, 0x92, 0x5d, 0x77, 0xd0, 0x3e, 0x94, 0xa3, 0x85, 0x47, 0xe0, - 0x82, 0xea, 0xf5, 0x83, 0xc5, 0x8d, 0x48, 0x3f, 0x08, 0xcb, 0x0d, 0xa4, 0xd0, 0x68, 0xf6, 0xe6, - 0xcb, 0x38, 0x50, 0x04, 0x20, 0x13, 0x96, 0x3f, 0xb0, 0xb9, 0x12, 0x97, 0x2a, 0x91, 0x1f, 0xd1, - 0x3a, 0x14, 0x2f, 0xa5, 0x34, 0x28, 0xf9, 0xa8, 0x92, 0xe8, 0xe1, 0xe5, 0xd2, 0x8b, 0x42, 0xe3, - 0xd7, 0x02, 0xd4, 0xf3, 0xcb, 0x13, 0xfa, 0x3f, 0x94, 0x9c, 0x68, 0xc1, 0x8a, 0xd2, 0xd8, 0xba, - 0xba, 0x60, 0x35, 0xa3, 0x7f, 0x51, 0x1e, 0x9a, 0xbd, 0xd9, 0x85, 0x5a, 0xc6, 0x7c, 0x4d, 0x16, - 0x8f, 0xb2, 0x59, 0xd4, 0xf6, 0xea, 0x7a, 0x51, 0xe4, 0xee, 0xa4, 0xc7, 0x45, 0x90, 0xc9, 0xea, - 0xe0, 0x97, 0x02, 0xec, 0xdb, 0xde, 0xb4, 0x19, 0x30, 0xd7, 0x56, 0x3f, 0x19, 0x3d, 0x87, 0xfa, - 0x5c, 0x34, 0xc5, 0x8c, 0xd9, 0xfc, 0x9c, 0xdb, 0x6a, 0x79, 0x6e, 0xd2, 0x19, 0x97, 0x21, 0xe2, - 0x1f, 0xaa, 0x53, 0xea, 0xd2, 0x09, 0x3b, 0x58, 0x8d, 0xa7, 0xee, 0xad, 0xd4, 0xc6, 0x1f, 0x0e, - 0x27, 0x3c, 0xb8, 0x08, 0x4f, 0x9b, 0xb6, 0x37, 0x6d, 0xe9, 0x30, 0x53, 0x26, 0x2e, 0x5a, 0xb9, - 0x50, 0xad, 0x68, 0x35, 0x6d, 0x4d, 0xbc, 0x16, 0x9d, 0xf1, 0xd6, 0xe5, 0x6e, 0x4b, 0x07, 0x1d, - 0x47, 0x41, 0x4f, 0x4b, 0x4a, 0x68, 0x9f, 0xfd, 0x15, 0x00, 0x00, 0xff, 0xff, 0x8c, 0xb9, 0x2c, - 0x63, 0x76, 0x0f, 0x00, 0x00, +func (x *InstanceLabels) GetService() string { + if x != nil { + return x.Service + } + return "" +} + +func (x *InstanceLabels) GetServiceId() string { + if x != nil { + return x.ServiceId + } + return "" +} + +var File_response_proto protoreflect.FileDescriptor + +var file_response_proto_rawDesc = []byte{ + 0x0a, 0x0e, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x12, 0x02, 0x76, 0x31, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x61, 0x6e, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, + 0x0f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x1a, 0x0d, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, + 0x0d, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0f, + 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, + 0x14, 0x63, 0x69, 0x72, 0x63, 0x75, 0x69, 0x74, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0b, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x1a, 0x0c, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x1a, 0x13, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x14, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x64, 0x65, 0x74, + 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0a, 0x61, 0x75, 0x74, + 0x68, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, + 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0a, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x1a, 0x0e, 0x6c, 0x6f, 0x73, 0x73, 0x6c, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x22, 0x86, 0x09, 0x0a, 0x08, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x30, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x04, 0x63, 0x6f, + 0x64, 0x65, 0x12, 0x30, 0x0a, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x04, + 0x69, 0x6e, 0x66, 0x6f, 0x12, 0x22, 0x0a, 0x06, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, + 0x52, 0x06, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x12, 0x2b, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, + 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x76, 0x31, + 0x2e, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, + 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x25, 0x0a, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x52, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x28, 0x0a, 0x08, + 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, + 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x08, 0x69, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x25, 0x0a, 0x07, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, + 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x6f, 0x75, + 0x74, 0x69, 0x6e, 0x67, 0x52, 0x07, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x26, 0x0a, + 0x05, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x76, + 0x31, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x05, + 0x61, 0x6c, 0x69, 0x61, 0x73, 0x12, 0x26, 0x0a, 0x09, 0x72, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, + 0x69, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x08, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x75, + 0x6c, 0x65, 0x52, 0x09, 0x72, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x3a, 0x0a, + 0x0e, 0x63, 0x69, 0x72, 0x63, 0x75, 0x69, 0x74, 0x42, 0x72, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x18, + 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x69, 0x72, 0x63, 0x75, + 0x69, 0x74, 0x42, 0x72, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x52, 0x0e, 0x63, 0x69, 0x72, 0x63, 0x75, + 0x69, 0x74, 0x42, 0x72, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x12, 0x37, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x11, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x6c, 0x65, + 0x61, 0x73, 0x65, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x6c, 0x65, 0x61, + 0x73, 0x65, 0x12, 0x1c, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x08, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, + 0x12, 0x2b, 0x0a, 0x09, 0x75, 0x73, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x14, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x6f, + 0x75, 0x70, 0x52, 0x09, 0x75, 0x73, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x34, 0x0a, + 0x0c, 0x61, 0x75, 0x74, 0x68, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x18, 0x15, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x53, 0x74, 0x72, + 0x61, 0x74, 0x65, 0x67, 0x79, 0x52, 0x0c, 0x61, 0x75, 0x74, 0x68, 0x53, 0x74, 0x72, 0x61, 0x74, + 0x65, 0x67, 0x79, 0x12, 0x31, 0x0a, 0x08, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x16, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x47, + 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x72, 0x65, + 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x37, 0x0a, 0x0d, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, + 0x76, 0x31, 0x2e, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x52, 0x0d, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x46, 0x0a, 0x12, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x41, 0x75, 0x74, 0x68, 0x53, 0x74, 0x72, + 0x61, 0x74, 0x65, 0x67, 0x79, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x76, 0x31, + 0x2e, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x41, 0x75, 0x74, 0x68, 0x53, 0x74, 0x72, 0x61, 0x74, + 0x65, 0x67, 0x79, 0x52, 0x12, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x41, 0x75, 0x74, 0x68, 0x53, + 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x12, 0x3d, 0x0a, 0x0f, 0x6d, 0x6f, 0x64, 0x69, 0x66, + 0x79, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x19, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x13, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x55, 0x73, 0x65, 0x72, + 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x0f, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x55, 0x73, 0x65, + 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x33, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x73, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x76, 0x31, 0x2e, 0x53, + 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, + 0x52, 0x09, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x34, 0x0a, 0x0c, 0x6f, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x18, 0x1b, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x10, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x77, 0x69, + 0x74, 0x63, 0x68, 0x52, 0x0c, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x77, 0x69, 0x74, 0x63, + 0x68, 0x12, 0x3a, 0x0a, 0x0e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4c, 0x61, 0x62, + 0x65, 0x6c, 0x73, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x76, 0x31, 0x2e, 0x49, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x52, 0x0e, 0x69, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x28, 0x0a, + 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, + 0x79, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x3d, 0x0a, 0x0f, 0x73, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x13, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6e, + 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x0f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, + 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x4a, 0x04, 0x08, 0x0c, 0x10, 0x13, 0x22, 0xd6, 0x01, 0x0a, + 0x12, 0x42, 0x61, 0x74, 0x63, 0x68, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x30, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, + 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x30, 0x0a, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x52, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0x30, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x2a, 0x0a, 0x09, 0x72, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x76, + 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x09, 0x72, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x22, 0xb0, 0x06, 0x0a, 0x12, 0x42, 0x61, 0x74, 0x63, 0x68, 0x51, + 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x30, 0x0a, 0x04, + 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, + 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x30, + 0x0a, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, + 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x04, 0x69, 0x6e, 0x66, 0x6f, + 0x12, 0x34, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x06, + 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x30, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x2d, 0x0a, 0x0a, 0x6e, 0x61, 0x6d, 0x65, + 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x76, + 0x31, 0x2e, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x0a, 0x6e, 0x61, 0x6d, + 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x12, 0x27, 0x0a, 0x08, 0x73, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x76, 0x31, 0x2e, 0x53, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x08, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, + 0x12, 0x2a, 0x0a, 0x09, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x18, 0x07, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x65, 0x52, 0x09, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x27, 0x0a, 0x08, + 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0b, + 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x08, 0x72, 0x6f, 0x75, + 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x2a, 0x0a, 0x07, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x65, 0x73, + 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x07, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x65, + 0x73, 0x12, 0x28, 0x0a, 0x0a, 0x72, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x18, + 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x08, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x75, 0x6c, 0x65, 0x52, + 0x0a, 0x72, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x12, 0x45, 0x0a, 0x12, 0x63, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x57, 0x69, 0x74, 0x68, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x57, 0x69, 0x74, 0x68, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x12, + 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x57, 0x69, 0x74, 0x68, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x73, 0x12, 0x1e, 0x0a, 0x05, 0x75, 0x73, 0x65, 0x72, 0x73, 0x18, 0x12, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x08, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x05, 0x75, 0x73, 0x65, + 0x72, 0x73, 0x12, 0x2d, 0x0a, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, + 0x18, 0x13, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, + 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, + 0x73, 0x12, 0x38, 0x0a, 0x0e, 0x61, 0x75, 0x74, 0x68, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, + 0x69, 0x65, 0x73, 0x18, 0x14, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x76, 0x31, 0x2e, 0x41, + 0x75, 0x74, 0x68, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x52, 0x0e, 0x61, 0x75, 0x74, + 0x68, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x69, 0x65, 0x73, 0x12, 0x24, 0x0a, 0x07, 0x63, + 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x15, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x76, + 0x31, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x07, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, + 0x73, 0x12, 0x28, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x16, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x25, 0x0a, 0x07, 0x73, + 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x76, + 0x31, 0x2e, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x52, 0x07, 0x73, 0x75, 0x6d, 0x6d, 0x61, + 0x72, 0x79, 0x4a, 0x04, 0x08, 0x0c, 0x10, 0x12, 0x22, 0xdc, 0x08, 0x0a, 0x10, 0x44, 0x69, 0x73, + 0x63, 0x6f, 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x30, 0x0a, + 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, + 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, + 0x30, 0x0a, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x04, 0x69, 0x6e, 0x66, + 0x6f, 0x12, 0x3d, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x29, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, + 0x12, 0x25, 0x0a, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x0b, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x07, + 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x09, 0x69, 0x6e, 0x73, 0x74, 0x61, + 0x6e, 0x63, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x76, 0x31, 0x2e, + 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x09, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x73, 0x12, 0x25, 0x0a, 0x07, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, + 0x67, 0x52, 0x07, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x2b, 0x0a, 0x09, 0x72, 0x61, + 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, + 0x76, 0x31, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x52, 0x09, 0x72, 0x61, + 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x3a, 0x0a, 0x0e, 0x63, 0x69, 0x72, 0x63, 0x75, + 0x69, 0x74, 0x42, 0x72, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x12, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x69, 0x72, 0x63, 0x75, 0x69, 0x74, 0x42, 0x72, 0x65, 0x61, + 0x6b, 0x65, 0x72, 0x52, 0x0e, 0x63, 0x69, 0x72, 0x63, 0x75, 0x69, 0x74, 0x42, 0x72, 0x65, 0x61, + 0x6b, 0x65, 0x72, 0x12, 0x27, 0x0a, 0x08, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x18, + 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x52, 0x08, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x12, 0x2d, 0x0a, 0x0a, + 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x0d, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, + 0x0a, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x12, 0x37, 0x0a, 0x0d, 0x66, + 0x61, 0x75, 0x6c, 0x74, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x0b, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x61, 0x75, 0x6c, 0x74, 0x44, 0x65, 0x74, + 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x0d, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x44, 0x65, 0x74, 0x65, + 0x63, 0x74, 0x6f, 0x72, 0x12, 0x27, 0x0a, 0x08, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x46, 0x6f, 0x72, + 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x52, 0x08, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x46, 0x6f, 0x72, 0x12, 0x23, 0x0a, + 0x05, 0x6c, 0x61, 0x6e, 0x65, 0x73, 0x18, 0x16, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x76, + 0x31, 0x2e, 0x4c, 0x61, 0x6e, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x05, 0x6c, 0x61, 0x6e, + 0x65, 0x73, 0x12, 0x39, 0x0a, 0x10, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x52, 0x6f, 0x75, 0x74, + 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x17, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x76, + 0x31, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x10, 0x63, 0x75, 0x73, + 0x74, 0x6f, 0x6d, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x39, 0x0a, + 0x10, 0x6e, 0x65, 0x61, 0x72, 0x62, 0x79, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, + 0x73, 0x18, 0x18, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x6f, 0x75, + 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x10, 0x6e, 0x65, 0x61, 0x72, 0x62, 0x79, 0x52, 0x6f, + 0x75, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x36, 0x0a, 0x0d, 0x6c, 0x6f, 0x73, 0x73, + 0x6c, 0x65, 0x73, 0x73, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x19, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x10, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x6f, 0x73, 0x73, 0x6c, 0x65, 0x73, 0x73, 0x52, 0x75, 0x6c, + 0x65, 0x52, 0x0d, 0x6c, 0x6f, 0x73, 0x73, 0x6c, 0x65, 0x73, 0x73, 0x52, 0x75, 0x6c, 0x65, 0x73, + 0x22, 0xae, 0x02, 0x0a, 0x14, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, + 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4e, + 0x43, 0x45, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x43, 0x4c, 0x55, 0x53, 0x54, 0x45, 0x52, 0x10, + 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x52, 0x4f, 0x55, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x03, 0x12, 0x0e, + 0x0a, 0x0a, 0x52, 0x41, 0x54, 0x45, 0x5f, 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x10, 0x04, 0x12, 0x13, + 0x0a, 0x0f, 0x43, 0x49, 0x52, 0x43, 0x55, 0x49, 0x54, 0x5f, 0x42, 0x52, 0x45, 0x41, 0x4b, 0x45, + 0x52, 0x10, 0x05, 0x12, 0x0c, 0x0a, 0x08, 0x53, 0x45, 0x52, 0x56, 0x49, 0x43, 0x45, 0x53, 0x10, + 0x06, 0x12, 0x0e, 0x0a, 0x0a, 0x4e, 0x41, 0x4d, 0x45, 0x53, 0x50, 0x41, 0x43, 0x45, 0x53, 0x10, + 0x0c, 0x12, 0x12, 0x0a, 0x0e, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x5f, 0x44, 0x45, 0x54, 0x45, 0x43, + 0x54, 0x4f, 0x52, 0x10, 0x0d, 0x12, 0x08, 0x0a, 0x04, 0x4c, 0x41, 0x4e, 0x45, 0x10, 0x64, 0x12, + 0x15, 0x0a, 0x11, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x5f, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x5f, + 0x52, 0x55, 0x4c, 0x45, 0x10, 0x65, 0x12, 0x15, 0x0a, 0x11, 0x4e, 0x45, 0x41, 0x52, 0x42, 0x59, + 0x5f, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x5f, 0x52, 0x55, 0x4c, 0x45, 0x10, 0x66, 0x12, 0x0c, 0x0a, + 0x08, 0x4c, 0x4f, 0x53, 0x53, 0x4c, 0x45, 0x53, 0x53, 0x10, 0x67, 0x22, 0x04, 0x08, 0x07, 0x10, + 0x0b, 0x22, 0x04, 0x08, 0x0e, 0x10, 0x63, 0x2a, 0x04, 0x4d, 0x45, 0x53, 0x48, 0x2a, 0x0b, 0x4d, + 0x45, 0x53, 0x48, 0x5f, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x2a, 0x0e, 0x46, 0x4c, 0x55, 0x58, + 0x5f, 0x44, 0x42, 0x52, 0x45, 0x46, 0x52, 0x45, 0x53, 0x48, 0x2a, 0x08, 0x46, 0x4c, 0x55, 0x58, + 0x5f, 0x53, 0x44, 0x4b, 0x2a, 0x0b, 0x46, 0x4c, 0x55, 0x58, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x45, + 0x52, 0x4a, 0x04, 0x08, 0x0c, 0x10, 0x15, 0x22, 0x83, 0x01, 0x0a, 0x0c, 0x4f, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x12, 0x37, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x76, 0x31, 0x2e, 0x4f, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x2e, 0x4f, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x1a, 0x3a, 0x0a, 0x0c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, + 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xea, 0x01, + 0x0a, 0x0e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, + 0x12, 0x36, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x1e, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4c, 0x61, + 0x62, 0x65, 0x6c, 0x73, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, + 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, + 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x1a, + 0x49, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, + 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, + 0x12, 0x24, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x0e, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x52, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x8e, 0x01, 0x0a, 0x37, 0x63, + 0x6f, 0x6d, 0x2e, 0x74, 0x65, 0x6e, 0x63, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x6f, 0x6c, 0x61, 0x72, + 0x69, 0x73, 0x2e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, + 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x42, 0x0d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x5a, 0x44, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x70, 0x6f, 0x6c, 0x61, 0x72, 0x69, 0x73, 0x6d, 0x65, 0x73, 0x68, 0x2f, 0x73, 0x70, + 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x2f, 0x67, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x33, +} + +var ( + file_response_proto_rawDescOnce sync.Once + file_response_proto_rawDescData = file_response_proto_rawDesc +) + +func file_response_proto_rawDescGZIP() []byte { + file_response_proto_rawDescOnce.Do(func() { + file_response_proto_rawDescData = protoimpl.X.CompressGZIP(file_response_proto_rawDescData) + }) + return file_response_proto_rawDescData +} + +var file_response_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_response_proto_msgTypes = make([]protoimpl.MessageInfo, 8) +var file_response_proto_goTypes = []interface{}{ + (DiscoverResponse_DiscoverResponseType)(0), // 0: v1.DiscoverResponse.DiscoverResponseType + (*Response)(nil), // 1: v1.Response + (*BatchWriteResponse)(nil), // 2: v1.BatchWriteResponse + (*BatchQueryResponse)(nil), // 3: v1.BatchQueryResponse + (*DiscoverResponse)(nil), // 4: v1.DiscoverResponse + (*OptionSwitch)(nil), // 5: v1.OptionSwitch + (*InstanceLabels)(nil), // 6: v1.InstanceLabels + nil, // 7: v1.OptionSwitch.OptionsEntry + nil, // 8: v1.InstanceLabels.LabelsEntry + (*wrapperspb.UInt32Value)(nil), // 9: google.protobuf.UInt32Value + (*wrapperspb.StringValue)(nil), // 10: google.protobuf.StringValue + (*Client)(nil), // 11: v1.Client + (*model.Namespace)(nil), // 12: v1.Namespace + (*Service)(nil), // 13: v1.Service + (*Instance)(nil), // 14: v1.Instance + (*traffic_manage.Routing)(nil), // 15: v1.Routing + (*ServiceAlias)(nil), // 16: v1.ServiceAlias + (*traffic_manage.Rule)(nil), // 17: v1.Rule + (*fault_tolerance.CircuitBreaker)(nil), // 18: v1.CircuitBreaker + (*ConfigRelease)(nil), // 19: v1.ConfigRelease + (*security.User)(nil), // 20: v1.User + (*security.UserGroup)(nil), // 21: v1.UserGroup + (*security.AuthStrategy)(nil), // 22: v1.AuthStrategy + (*security.UserGroupRelation)(nil), // 23: v1.UserGroupRelation + (*security.LoginResponse)(nil), // 24: v1.LoginResponse + (*security.ModifyAuthStrategy)(nil), // 25: v1.ModifyAuthStrategy + (*security.ModifyUserGroup)(nil), // 26: v1.ModifyUserGroup + (*security.StrategyResources)(nil), // 27: v1.StrategyResources + (*anypb.Any)(nil), // 28: google.protobuf.Any + (*ServiceContract)(nil), // 29: v1.ServiceContract + (*ConfigWithService)(nil), // 30: v1.ConfigWithService + (*model.Summary)(nil), // 31: v1.Summary + (*traffic_manage.RateLimit)(nil), // 32: v1.RateLimit + (*fault_tolerance.FaultDetector)(nil), // 33: v1.FaultDetector + (*traffic_manage.LaneGroup)(nil), // 34: v1.LaneGroup + (*traffic_manage.RouteRule)(nil), // 35: v1.RouteRule + (*traffic_manage.LosslessRule)(nil), // 36: v1.LosslessRule + (*model.StringList)(nil), // 37: v1.StringList +} +var file_response_proto_depIdxs = []int32{ + 9, // 0: v1.Response.code:type_name -> google.protobuf.UInt32Value + 10, // 1: v1.Response.info:type_name -> google.protobuf.StringValue + 11, // 2: v1.Response.client:type_name -> v1.Client + 12, // 3: v1.Response.namespace:type_name -> v1.Namespace + 13, // 4: v1.Response.service:type_name -> v1.Service + 14, // 5: v1.Response.instance:type_name -> v1.Instance + 15, // 6: v1.Response.routing:type_name -> v1.Routing + 16, // 7: v1.Response.alias:type_name -> v1.ServiceAlias + 17, // 8: v1.Response.rateLimit:type_name -> v1.Rule + 18, // 9: v1.Response.circuitBreaker:type_name -> v1.CircuitBreaker + 19, // 10: v1.Response.configRelease:type_name -> v1.ConfigRelease + 20, // 11: v1.Response.user:type_name -> v1.User + 21, // 12: v1.Response.userGroup:type_name -> v1.UserGroup + 22, // 13: v1.Response.authStrategy:type_name -> v1.AuthStrategy + 23, // 14: v1.Response.relation:type_name -> v1.UserGroupRelation + 24, // 15: v1.Response.loginResponse:type_name -> v1.LoginResponse + 25, // 16: v1.Response.modifyAuthStrategy:type_name -> v1.ModifyAuthStrategy + 26, // 17: v1.Response.modifyUserGroup:type_name -> v1.ModifyUserGroup + 27, // 18: v1.Response.resources:type_name -> v1.StrategyResources + 5, // 19: v1.Response.optionSwitch:type_name -> v1.OptionSwitch + 6, // 20: v1.Response.instanceLabels:type_name -> v1.InstanceLabels + 28, // 21: v1.Response.data:type_name -> google.protobuf.Any + 29, // 22: v1.Response.serviceContract:type_name -> v1.ServiceContract + 9, // 23: v1.BatchWriteResponse.code:type_name -> google.protobuf.UInt32Value + 10, // 24: v1.BatchWriteResponse.info:type_name -> google.protobuf.StringValue + 9, // 25: v1.BatchWriteResponse.size:type_name -> google.protobuf.UInt32Value + 1, // 26: v1.BatchWriteResponse.responses:type_name -> v1.Response + 9, // 27: v1.BatchQueryResponse.code:type_name -> google.protobuf.UInt32Value + 10, // 28: v1.BatchQueryResponse.info:type_name -> google.protobuf.StringValue + 9, // 29: v1.BatchQueryResponse.amount:type_name -> google.protobuf.UInt32Value + 9, // 30: v1.BatchQueryResponse.size:type_name -> google.protobuf.UInt32Value + 12, // 31: v1.BatchQueryResponse.namespaces:type_name -> v1.Namespace + 13, // 32: v1.BatchQueryResponse.services:type_name -> v1.Service + 14, // 33: v1.BatchQueryResponse.instances:type_name -> v1.Instance + 15, // 34: v1.BatchQueryResponse.routings:type_name -> v1.Routing + 16, // 35: v1.BatchQueryResponse.aliases:type_name -> v1.ServiceAlias + 17, // 36: v1.BatchQueryResponse.rateLimits:type_name -> v1.Rule + 30, // 37: v1.BatchQueryResponse.configWithServices:type_name -> v1.ConfigWithService + 20, // 38: v1.BatchQueryResponse.users:type_name -> v1.User + 21, // 39: v1.BatchQueryResponse.userGroups:type_name -> v1.UserGroup + 22, // 40: v1.BatchQueryResponse.authStrategies:type_name -> v1.AuthStrategy + 11, // 41: v1.BatchQueryResponse.clients:type_name -> v1.Client + 28, // 42: v1.BatchQueryResponse.data:type_name -> google.protobuf.Any + 31, // 43: v1.BatchQueryResponse.summary:type_name -> v1.Summary + 9, // 44: v1.DiscoverResponse.code:type_name -> google.protobuf.UInt32Value + 10, // 45: v1.DiscoverResponse.info:type_name -> google.protobuf.StringValue + 0, // 46: v1.DiscoverResponse.type:type_name -> v1.DiscoverResponse.DiscoverResponseType + 13, // 47: v1.DiscoverResponse.service:type_name -> v1.Service + 14, // 48: v1.DiscoverResponse.instances:type_name -> v1.Instance + 15, // 49: v1.DiscoverResponse.routing:type_name -> v1.Routing + 32, // 50: v1.DiscoverResponse.rateLimit:type_name -> v1.RateLimit + 18, // 51: v1.DiscoverResponse.circuitBreaker:type_name -> v1.CircuitBreaker + 13, // 52: v1.DiscoverResponse.services:type_name -> v1.Service + 12, // 53: v1.DiscoverResponse.namespaces:type_name -> v1.Namespace + 33, // 54: v1.DiscoverResponse.faultDetector:type_name -> v1.FaultDetector + 13, // 55: v1.DiscoverResponse.aliasFor:type_name -> v1.Service + 34, // 56: v1.DiscoverResponse.lanes:type_name -> v1.LaneGroup + 35, // 57: v1.DiscoverResponse.customRouteRules:type_name -> v1.RouteRule + 35, // 58: v1.DiscoverResponse.nearbyRouteRules:type_name -> v1.RouteRule + 36, // 59: v1.DiscoverResponse.losslessRules:type_name -> v1.LosslessRule + 7, // 60: v1.OptionSwitch.options:type_name -> v1.OptionSwitch.OptionsEntry + 8, // 61: v1.InstanceLabels.labels:type_name -> v1.InstanceLabels.LabelsEntry + 37, // 62: v1.InstanceLabels.LabelsEntry.value:type_name -> v1.StringList + 63, // [63:63] is the sub-list for method output_type + 63, // [63:63] is the sub-list for method input_type + 63, // [63:63] is the sub-list for extension type_name + 63, // [63:63] is the sub-list for extension extendee + 0, // [0:63] is the sub-list for field type_name +} + +func init() { file_response_proto_init() } +func file_response_proto_init() { + if File_response_proto != nil { + return + } + file_service_proto_init() + file_client_proto_init() + file_configrelease_proto_init() + file_contract_proto_init() + if !protoimpl.UnsafeEnabled { + file_response_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Response); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_response_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BatchWriteResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_response_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BatchQueryResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_response_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DiscoverResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_response_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*OptionSwitch); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_response_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*InstanceLabels); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_response_proto_rawDesc, + NumEnums: 1, + NumMessages: 8, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_response_proto_goTypes, + DependencyIndexes: file_response_proto_depIdxs, + EnumInfos: file_response_proto_enumTypes, + MessageInfos: file_response_proto_msgTypes, + }.Build() + File_response_proto = out.File + file_response_proto_rawDesc = nil + file_response_proto_goTypes = nil + file_response_proto_depIdxs = nil } diff --git a/source/go/api/v1/service_manage/service.pb.go b/source/go/api/v1/service_manage/service.pb.go index ebed9f64..c65cfab0 100644 --- a/source/go/api/v1/service_manage/service.pb.go +++ b/source/go/api/v1/service_manage/service.pb.go @@ -1,24 +1,26 @@ // Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.33.0 +// protoc v5.27.3 // source: service.proto -package service_manage // import "github.com/polarismesh/specification/source/go/api/v1/service_manage" +package service_manage -import proto "github.com/golang/protobuf/proto" -import fmt "fmt" -import math "math" -import model "github.com/polarismesh/specification/source/go/api/v1/model" -import wrapperspb "google.golang.org/protobuf/types/known/wrapperspb" - -// Reference imports to suppress errors if they are not otherwise used. -var _ = proto.Marshal -var _ = fmt.Errorf -var _ = math.Inf +import ( + model "github.com/polarismesh/specification/source/go/api/v1/model" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + wrapperspb "google.golang.org/protobuf/types/known/wrapperspb" + reflect "reflect" + sync "sync" +) -// This is a compile-time assertion to ensure that this generated file -// is compatible with the proto package it is being compiled against. -// A compilation error at this line likely means your copy of the -// proto package needs to be updated. -const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) type AliasType int32 @@ -27,20 +29,43 @@ const ( AliasType_CL5SID AliasType = 1 ) -var AliasType_name = map[int32]string{ - 0: "DEFAULT", - 1: "CL5SID", -} -var AliasType_value = map[string]int32{ - "DEFAULT": 0, - "CL5SID": 1, +// Enum value maps for AliasType. +var ( + AliasType_name = map[int32]string{ + 0: "DEFAULT", + 1: "CL5SID", + } + AliasType_value = map[string]int32{ + "DEFAULT": 0, + "CL5SID": 1, + } +) + +func (x AliasType) Enum() *AliasType { + p := new(AliasType) + *p = x + return p } func (x AliasType) String() string { - return proto.EnumName(AliasType_name, int32(x)) + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (AliasType) Descriptor() protoreflect.EnumDescriptor { + return file_service_proto_enumTypes[0].Descriptor() +} + +func (AliasType) Type() protoreflect.EnumType { + return &file_service_proto_enumTypes[0] } + +func (x AliasType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use AliasType.Descriptor instead. func (AliasType) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_service_080195173d8d5bf7, []int{0} + return file_service_proto_rawDescGZIP(), []int{0} } type HealthCheck_HealthCheckType int32 @@ -50,23 +75,50 @@ const ( HealthCheck_HEARTBEAT HealthCheck_HealthCheckType = 1 ) -var HealthCheck_HealthCheckType_name = map[int32]string{ - 0: "UNKNOWN", - 1: "HEARTBEAT", -} -var HealthCheck_HealthCheckType_value = map[string]int32{ - "UNKNOWN": 0, - "HEARTBEAT": 1, +// Enum value maps for HealthCheck_HealthCheckType. +var ( + HealthCheck_HealthCheckType_name = map[int32]string{ + 0: "UNKNOWN", + 1: "HEARTBEAT", + } + HealthCheck_HealthCheckType_value = map[string]int32{ + "UNKNOWN": 0, + "HEARTBEAT": 1, + } +) + +func (x HealthCheck_HealthCheckType) Enum() *HealthCheck_HealthCheckType { + p := new(HealthCheck_HealthCheckType) + *p = x + return p } func (x HealthCheck_HealthCheckType) String() string { - return proto.EnumName(HealthCheck_HealthCheckType_name, int32(x)) + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (HealthCheck_HealthCheckType) Descriptor() protoreflect.EnumDescriptor { + return file_service_proto_enumTypes[1].Descriptor() +} + +func (HealthCheck_HealthCheckType) Type() protoreflect.EnumType { + return &file_service_proto_enumTypes[1] } + +func (x HealthCheck_HealthCheckType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use HealthCheck_HealthCheckType.Descriptor instead. func (HealthCheck_HealthCheckType) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_service_080195173d8d5bf7, []int{3, 0} + return file_service_proto_rawDescGZIP(), []int{3, 0} } type Service struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + Name *wrapperspb.StringValue `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` Namespace *wrapperspb.StringValue `protobuf:"bytes,2,opt,name=namespace,proto3" json:"namespace,omitempty"` Metadata map[string]string `protobuf:"bytes,3,rep,name=metadata,proto3" json:"metadata,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` @@ -92,701 +144,1121 @@ type Service struct { Id *wrapperspb.StringValue `protobuf:"bytes,21,opt,name=id,proto3" json:"id,omitempty"` Editable *wrapperspb.BoolValue `protobuf:"bytes,24,opt,name=editable,proto3" json:"editable,omitempty"` ExportTo []*wrapperspb.StringValue `protobuf:"bytes,25,rep,name=export_to,proto3" json:"export_to,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + Deleteable *wrapperspb.BoolValue `protobuf:"bytes,26,opt,name=deleteable,proto3" json:"deleteable,omitempty"` } -func (m *Service) Reset() { *m = Service{} } -func (m *Service) String() string { return proto.CompactTextString(m) } -func (*Service) ProtoMessage() {} -func (*Service) Descriptor() ([]byte, []int) { - return fileDescriptor_service_080195173d8d5bf7, []int{0} -} -func (m *Service) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_Service.Unmarshal(m, b) -} -func (m *Service) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_Service.Marshal(b, m, deterministic) +func (x *Service) Reset() { + *x = Service{} + if protoimpl.UnsafeEnabled { + mi := &file_service_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (dst *Service) XXX_Merge(src proto.Message) { - xxx_messageInfo_Service.Merge(dst, src) + +func (x *Service) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *Service) XXX_Size() int { - return xxx_messageInfo_Service.Size(m) + +func (*Service) ProtoMessage() {} + +func (x *Service) ProtoReflect() protoreflect.Message { + mi := &file_service_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) } -func (m *Service) XXX_DiscardUnknown() { - xxx_messageInfo_Service.DiscardUnknown(m) + +// Deprecated: Use Service.ProtoReflect.Descriptor instead. +func (*Service) Descriptor() ([]byte, []int) { + return file_service_proto_rawDescGZIP(), []int{0} } -var xxx_messageInfo_Service proto.InternalMessageInfo +func (x *Service) GetName() *wrapperspb.StringValue { + if x != nil { + return x.Name + } + return nil +} -func (m *Service) GetName() *wrapperspb.StringValue { - if m != nil { - return m.Name +func (x *Service) GetNamespace() *wrapperspb.StringValue { + if x != nil { + return x.Namespace } return nil } -func (m *Service) GetNamespace() *wrapperspb.StringValue { - if m != nil { - return m.Namespace +func (x *Service) GetMetadata() map[string]string { + if x != nil { + return x.Metadata } return nil } -func (m *Service) GetMetadata() map[string]string { - if m != nil { - return m.Metadata +func (x *Service) GetPorts() *wrapperspb.StringValue { + if x != nil { + return x.Ports } return nil } -func (m *Service) GetPorts() *wrapperspb.StringValue { - if m != nil { - return m.Ports +func (x *Service) GetBusiness() *wrapperspb.StringValue { + if x != nil { + return x.Business } return nil } -func (m *Service) GetBusiness() *wrapperspb.StringValue { - if m != nil { - return m.Business +func (x *Service) GetDepartment() *wrapperspb.StringValue { + if x != nil { + return x.Department } return nil } -func (m *Service) GetDepartment() *wrapperspb.StringValue { - if m != nil { - return m.Department +func (x *Service) GetCmdbMod1() *wrapperspb.StringValue { + if x != nil { + return x.CmdbMod1 } return nil } -func (m *Service) GetCmdbMod1() *wrapperspb.StringValue { - if m != nil { - return m.CmdbMod1 +func (x *Service) GetCmdbMod2() *wrapperspb.StringValue { + if x != nil { + return x.CmdbMod2 } return nil } -func (m *Service) GetCmdbMod2() *wrapperspb.StringValue { - if m != nil { - return m.CmdbMod2 +func (x *Service) GetCmdbMod3() *wrapperspb.StringValue { + if x != nil { + return x.CmdbMod3 } return nil } -func (m *Service) GetCmdbMod3() *wrapperspb.StringValue { - if m != nil { - return m.CmdbMod3 +func (x *Service) GetComment() *wrapperspb.StringValue { + if x != nil { + return x.Comment } return nil } -func (m *Service) GetComment() *wrapperspb.StringValue { - if m != nil { - return m.Comment +func (x *Service) GetOwners() *wrapperspb.StringValue { + if x != nil { + return x.Owners } return nil } -func (m *Service) GetOwners() *wrapperspb.StringValue { - if m != nil { - return m.Owners +func (x *Service) GetToken() *wrapperspb.StringValue { + if x != nil { + return x.Token } return nil } -func (m *Service) GetToken() *wrapperspb.StringValue { - if m != nil { - return m.Token +func (x *Service) GetCtime() *wrapperspb.StringValue { + if x != nil { + return x.Ctime } return nil } -func (m *Service) GetCtime() *wrapperspb.StringValue { - if m != nil { - return m.Ctime +func (x *Service) GetMtime() *wrapperspb.StringValue { + if x != nil { + return x.Mtime } return nil } -func (m *Service) GetMtime() *wrapperspb.StringValue { - if m != nil { - return m.Mtime +func (x *Service) GetRevision() *wrapperspb.StringValue { + if x != nil { + return x.Revision } return nil } -func (m *Service) GetRevision() *wrapperspb.StringValue { - if m != nil { - return m.Revision +func (x *Service) GetPlatformId() *wrapperspb.StringValue { + if x != nil { + return x.PlatformId } return nil } -func (m *Service) GetPlatformId() *wrapperspb.StringValue { - if m != nil { - return m.PlatformId +func (x *Service) GetTotalInstanceCount() *wrapperspb.UInt32Value { + if x != nil { + return x.TotalInstanceCount } return nil } -func (m *Service) GetTotalInstanceCount() *wrapperspb.UInt32Value { - if m != nil { - return m.TotalInstanceCount +func (x *Service) GetHealthyInstanceCount() *wrapperspb.UInt32Value { + if x != nil { + return x.HealthyInstanceCount } return nil } -func (m *Service) GetHealthyInstanceCount() *wrapperspb.UInt32Value { - if m != nil { - return m.HealthyInstanceCount +func (x *Service) GetUserIds() []*wrapperspb.StringValue { + if x != nil { + return x.UserIds } return nil } -func (m *Service) GetUserIds() []*wrapperspb.StringValue { - if m != nil { - return m.UserIds +func (x *Service) GetGroupIds() []*wrapperspb.StringValue { + if x != nil { + return x.GroupIds } return nil } -func (m *Service) GetGroupIds() []*wrapperspb.StringValue { - if m != nil { - return m.GroupIds +func (x *Service) GetRemoveUserIds() []*wrapperspb.StringValue { + if x != nil { + return x.RemoveUserIds } return nil } -func (m *Service) GetRemoveUserIds() []*wrapperspb.StringValue { - if m != nil { - return m.RemoveUserIds +func (x *Service) GetRemoveGroupIds() []*wrapperspb.StringValue { + if x != nil { + return x.RemoveGroupIds } return nil } -func (m *Service) GetRemoveGroupIds() []*wrapperspb.StringValue { - if m != nil { - return m.RemoveGroupIds +func (x *Service) GetId() *wrapperspb.StringValue { + if x != nil { + return x.Id } return nil } -func (m *Service) GetId() *wrapperspb.StringValue { - if m != nil { - return m.Id +func (x *Service) GetEditable() *wrapperspb.BoolValue { + if x != nil { + return x.Editable } return nil } -func (m *Service) GetEditable() *wrapperspb.BoolValue { - if m != nil { - return m.Editable +func (x *Service) GetExportTo() []*wrapperspb.StringValue { + if x != nil { + return x.ExportTo } return nil } -func (m *Service) GetExportTo() []*wrapperspb.StringValue { - if m != nil { - return m.ExportTo +func (x *Service) GetDeleteable() *wrapperspb.BoolValue { + if x != nil { + return x.Deleteable } return nil } type ServiceAlias struct { - Service *wrapperspb.StringValue `protobuf:"bytes,1,opt,name=service,proto3" json:"service,omitempty"` - Namespace *wrapperspb.StringValue `protobuf:"bytes,2,opt,name=namespace,proto3" json:"namespace,omitempty"` - Alias *wrapperspb.StringValue `protobuf:"bytes,3,opt,name=alias,proto3" json:"alias,omitempty"` - AliasNamespace *wrapperspb.StringValue `protobuf:"bytes,4,opt,name=alias_namespace,proto3" json:"alias_namespace,omitempty"` - Type AliasType `protobuf:"varint,5,opt,name=type,proto3,enum=v1.AliasType" json:"type,omitempty"` - Owners *wrapperspb.StringValue `protobuf:"bytes,6,opt,name=owners,proto3" json:"owners,omitempty"` - Comment *wrapperspb.StringValue `protobuf:"bytes,7,opt,name=comment,proto3" json:"comment,omitempty"` - ServiceToken *wrapperspb.StringValue `protobuf:"bytes,8,opt,name=service_token,proto3" json:"service_token,omitempty"` - Ctime *wrapperspb.StringValue `protobuf:"bytes,9,opt,name=ctime,proto3" json:"ctime,omitempty"` - Mtime *wrapperspb.StringValue `protobuf:"bytes,10,opt,name=mtime,proto3" json:"mtime,omitempty"` - Id *wrapperspb.StringValue `protobuf:"bytes,11,opt,name=id,proto3" json:"id,omitempty"` - Editable *wrapperspb.BoolValue `protobuf:"bytes,12,opt,name=editable,proto3" json:"editable,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *ServiceAlias) Reset() { *m = ServiceAlias{} } -func (m *ServiceAlias) String() string { return proto.CompactTextString(m) } -func (*ServiceAlias) ProtoMessage() {} -func (*ServiceAlias) Descriptor() ([]byte, []int) { - return fileDescriptor_service_080195173d8d5bf7, []int{1} -} -func (m *ServiceAlias) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_ServiceAlias.Unmarshal(m, b) -} -func (m *ServiceAlias) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_ServiceAlias.Marshal(b, m, deterministic) -} -func (dst *ServiceAlias) XXX_Merge(src proto.Message) { - xxx_messageInfo_ServiceAlias.Merge(dst, src) + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Service *wrapperspb.StringValue `protobuf:"bytes,1,opt,name=service,proto3" json:"service,omitempty"` + Namespace *wrapperspb.StringValue `protobuf:"bytes,2,opt,name=namespace,proto3" json:"namespace,omitempty"` + Alias *wrapperspb.StringValue `protobuf:"bytes,3,opt,name=alias,proto3" json:"alias,omitempty"` + AliasNamespace *wrapperspb.StringValue `protobuf:"bytes,4,opt,name=alias_namespace,proto3" json:"alias_namespace,omitempty"` + Type AliasType `protobuf:"varint,5,opt,name=type,proto3,enum=v1.AliasType" json:"type,omitempty"` + Owners *wrapperspb.StringValue `protobuf:"bytes,6,opt,name=owners,proto3" json:"owners,omitempty"` + Comment *wrapperspb.StringValue `protobuf:"bytes,7,opt,name=comment,proto3" json:"comment,omitempty"` + ServiceToken *wrapperspb.StringValue `protobuf:"bytes,8,opt,name=service_token,proto3" json:"service_token,omitempty"` + Ctime *wrapperspb.StringValue `protobuf:"bytes,9,opt,name=ctime,proto3" json:"ctime,omitempty"` + Mtime *wrapperspb.StringValue `protobuf:"bytes,10,opt,name=mtime,proto3" json:"mtime,omitempty"` + Id *wrapperspb.StringValue `protobuf:"bytes,11,opt,name=id,proto3" json:"id,omitempty"` + Editable *wrapperspb.BoolValue `protobuf:"bytes,12,opt,name=editable,proto3" json:"editable,omitempty"` + Deleteable *wrapperspb.BoolValue `protobuf:"bytes,13,opt,name=deleteable,proto3" json:"deleteable,omitempty"` +} + +func (x *ServiceAlias) Reset() { + *x = ServiceAlias{} + if protoimpl.UnsafeEnabled { + mi := &file_service_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (m *ServiceAlias) XXX_Size() int { - return xxx_messageInfo_ServiceAlias.Size(m) + +func (x *ServiceAlias) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *ServiceAlias) XXX_DiscardUnknown() { - xxx_messageInfo_ServiceAlias.DiscardUnknown(m) + +func (*ServiceAlias) ProtoMessage() {} + +func (x *ServiceAlias) ProtoReflect() protoreflect.Message { + mi := &file_service_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) } -var xxx_messageInfo_ServiceAlias proto.InternalMessageInfo +// Deprecated: Use ServiceAlias.ProtoReflect.Descriptor instead. +func (*ServiceAlias) Descriptor() ([]byte, []int) { + return file_service_proto_rawDescGZIP(), []int{1} +} -func (m *ServiceAlias) GetService() *wrapperspb.StringValue { - if m != nil { - return m.Service +func (x *ServiceAlias) GetService() *wrapperspb.StringValue { + if x != nil { + return x.Service } return nil } -func (m *ServiceAlias) GetNamespace() *wrapperspb.StringValue { - if m != nil { - return m.Namespace +func (x *ServiceAlias) GetNamespace() *wrapperspb.StringValue { + if x != nil { + return x.Namespace } return nil } -func (m *ServiceAlias) GetAlias() *wrapperspb.StringValue { - if m != nil { - return m.Alias +func (x *ServiceAlias) GetAlias() *wrapperspb.StringValue { + if x != nil { + return x.Alias } return nil } -func (m *ServiceAlias) GetAliasNamespace() *wrapperspb.StringValue { - if m != nil { - return m.AliasNamespace +func (x *ServiceAlias) GetAliasNamespace() *wrapperspb.StringValue { + if x != nil { + return x.AliasNamespace } return nil } -func (m *ServiceAlias) GetType() AliasType { - if m != nil { - return m.Type +func (x *ServiceAlias) GetType() AliasType { + if x != nil { + return x.Type } return AliasType_DEFAULT } -func (m *ServiceAlias) GetOwners() *wrapperspb.StringValue { - if m != nil { - return m.Owners +func (x *ServiceAlias) GetOwners() *wrapperspb.StringValue { + if x != nil { + return x.Owners } return nil } -func (m *ServiceAlias) GetComment() *wrapperspb.StringValue { - if m != nil { - return m.Comment +func (x *ServiceAlias) GetComment() *wrapperspb.StringValue { + if x != nil { + return x.Comment } return nil } -func (m *ServiceAlias) GetServiceToken() *wrapperspb.StringValue { - if m != nil { - return m.ServiceToken +func (x *ServiceAlias) GetServiceToken() *wrapperspb.StringValue { + if x != nil { + return x.ServiceToken } return nil } -func (m *ServiceAlias) GetCtime() *wrapperspb.StringValue { - if m != nil { - return m.Ctime +func (x *ServiceAlias) GetCtime() *wrapperspb.StringValue { + if x != nil { + return x.Ctime } return nil } -func (m *ServiceAlias) GetMtime() *wrapperspb.StringValue { - if m != nil { - return m.Mtime +func (x *ServiceAlias) GetMtime() *wrapperspb.StringValue { + if x != nil { + return x.Mtime } return nil } -func (m *ServiceAlias) GetId() *wrapperspb.StringValue { - if m != nil { - return m.Id +func (x *ServiceAlias) GetId() *wrapperspb.StringValue { + if x != nil { + return x.Id } return nil } -func (m *ServiceAlias) GetEditable() *wrapperspb.BoolValue { - if m != nil { - return m.Editable +func (x *ServiceAlias) GetEditable() *wrapperspb.BoolValue { + if x != nil { + return x.Editable } return nil } -type Instance struct { - Id *wrapperspb.StringValue `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - Service *wrapperspb.StringValue `protobuf:"bytes,2,opt,name=service,proto3" json:"service,omitempty"` - Namespace *wrapperspb.StringValue `protobuf:"bytes,3,opt,name=namespace,proto3" json:"namespace,omitempty"` - VpcId *wrapperspb.StringValue `protobuf:"bytes,21,opt,name=vpc_id,proto3" json:"vpc_id,omitempty"` - Host *wrapperspb.StringValue `protobuf:"bytes,4,opt,name=host,proto3" json:"host,omitempty"` - Port *wrapperspb.UInt32Value `protobuf:"bytes,5,opt,name=port,proto3" json:"port,omitempty"` - Protocol *wrapperspb.StringValue `protobuf:"bytes,6,opt,name=protocol,proto3" json:"protocol,omitempty"` - Version *wrapperspb.StringValue `protobuf:"bytes,7,opt,name=version,proto3" json:"version,omitempty"` - Priority *wrapperspb.UInt32Value `protobuf:"bytes,8,opt,name=priority,proto3" json:"priority,omitempty"` - Weight *wrapperspb.UInt32Value `protobuf:"bytes,9,opt,name=weight,proto3" json:"weight,omitempty"` - EnableHealthCheck *wrapperspb.BoolValue `protobuf:"bytes,20,opt,name=enable_health_check,json=enableHealthCheck,proto3" json:"enable_health_check,omitempty"` - HealthCheck *HealthCheck `protobuf:"bytes,10,opt,name=health_check,json=healthCheck,proto3" json:"health_check,omitempty"` - Healthy *wrapperspb.BoolValue `protobuf:"bytes,11,opt,name=healthy,proto3" json:"healthy,omitempty"` - Isolate *wrapperspb.BoolValue `protobuf:"bytes,12,opt,name=isolate,proto3" json:"isolate,omitempty"` - Location *model.Location `protobuf:"bytes,13,opt,name=location,proto3" json:"location,omitempty"` - Metadata map[string]string `protobuf:"bytes,14,rep,name=metadata,proto3" json:"metadata,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` - LogicSet *wrapperspb.StringValue `protobuf:"bytes,15,opt,name=logic_set,proto3" json:"logic_set,omitempty"` - Ctime *wrapperspb.StringValue `protobuf:"bytes,16,opt,name=ctime,proto3" json:"ctime,omitempty"` - Mtime *wrapperspb.StringValue `protobuf:"bytes,17,opt,name=mtime,proto3" json:"mtime,omitempty"` - Revision *wrapperspb.StringValue `protobuf:"bytes,18,opt,name=revision,proto3" json:"revision,omitempty"` - ServiceToken *wrapperspb.StringValue `protobuf:"bytes,19,opt,name=service_token,proto3" json:"service_token,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *Instance) Reset() { *m = Instance{} } -func (m *Instance) String() string { return proto.CompactTextString(m) } -func (*Instance) ProtoMessage() {} -func (*Instance) Descriptor() ([]byte, []int) { - return fileDescriptor_service_080195173d8d5bf7, []int{2} -} -func (m *Instance) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_Instance.Unmarshal(m, b) -} -func (m *Instance) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_Instance.Marshal(b, m, deterministic) +func (x *ServiceAlias) GetDeleteable() *wrapperspb.BoolValue { + if x != nil { + return x.Deleteable + } + return nil } -func (dst *Instance) XXX_Merge(src proto.Message) { - xxx_messageInfo_Instance.Merge(dst, src) + +type Instance struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id *wrapperspb.StringValue `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Service *wrapperspb.StringValue `protobuf:"bytes,2,opt,name=service,proto3" json:"service,omitempty"` + Namespace *wrapperspb.StringValue `protobuf:"bytes,3,opt,name=namespace,proto3" json:"namespace,omitempty"` + VpcId *wrapperspb.StringValue `protobuf:"bytes,21,opt,name=vpc_id,proto3" json:"vpc_id,omitempty"` + Host *wrapperspb.StringValue `protobuf:"bytes,4,opt,name=host,proto3" json:"host,omitempty"` + Port *wrapperspb.UInt32Value `protobuf:"bytes,5,opt,name=port,proto3" json:"port,omitempty"` + Protocol *wrapperspb.StringValue `protobuf:"bytes,6,opt,name=protocol,proto3" json:"protocol,omitempty"` + Version *wrapperspb.StringValue `protobuf:"bytes,7,opt,name=version,proto3" json:"version,omitempty"` + Priority *wrapperspb.UInt32Value `protobuf:"bytes,8,opt,name=priority,proto3" json:"priority,omitempty"` + Weight *wrapperspb.UInt32Value `protobuf:"bytes,9,opt,name=weight,proto3" json:"weight,omitempty"` + EnableHealthCheck *wrapperspb.BoolValue `protobuf:"bytes,20,opt,name=enable_health_check,json=enableHealthCheck,proto3" json:"enable_health_check,omitempty"` + HealthCheck *HealthCheck `protobuf:"bytes,10,opt,name=health_check,json=healthCheck,proto3" json:"health_check,omitempty"` + Healthy *wrapperspb.BoolValue `protobuf:"bytes,11,opt,name=healthy,proto3" json:"healthy,omitempty"` + Isolate *wrapperspb.BoolValue `protobuf:"bytes,12,opt,name=isolate,proto3" json:"isolate,omitempty"` + Location *model.Location `protobuf:"bytes,13,opt,name=location,proto3" json:"location,omitempty"` + Metadata map[string]string `protobuf:"bytes,14,rep,name=metadata,proto3" json:"metadata,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + LogicSet *wrapperspb.StringValue `protobuf:"bytes,15,opt,name=logic_set,proto3" json:"logic_set,omitempty"` + Ctime *wrapperspb.StringValue `protobuf:"bytes,16,opt,name=ctime,proto3" json:"ctime,omitempty"` + Mtime *wrapperspb.StringValue `protobuf:"bytes,17,opt,name=mtime,proto3" json:"mtime,omitempty"` + Revision *wrapperspb.StringValue `protobuf:"bytes,18,opt,name=revision,proto3" json:"revision,omitempty"` + ServiceToken *wrapperspb.StringValue `protobuf:"bytes,19,opt,name=service_token,proto3" json:"service_token,omitempty"` +} + +func (x *Instance) Reset() { + *x = Instance{} + if protoimpl.UnsafeEnabled { + mi := &file_service_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (m *Instance) XXX_Size() int { - return xxx_messageInfo_Instance.Size(m) + +func (x *Instance) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *Instance) XXX_DiscardUnknown() { - xxx_messageInfo_Instance.DiscardUnknown(m) + +func (*Instance) ProtoMessage() {} + +func (x *Instance) ProtoReflect() protoreflect.Message { + mi := &file_service_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) } -var xxx_messageInfo_Instance proto.InternalMessageInfo +// Deprecated: Use Instance.ProtoReflect.Descriptor instead. +func (*Instance) Descriptor() ([]byte, []int) { + return file_service_proto_rawDescGZIP(), []int{2} +} -func (m *Instance) GetId() *wrapperspb.StringValue { - if m != nil { - return m.Id +func (x *Instance) GetId() *wrapperspb.StringValue { + if x != nil { + return x.Id } return nil } -func (m *Instance) GetService() *wrapperspb.StringValue { - if m != nil { - return m.Service +func (x *Instance) GetService() *wrapperspb.StringValue { + if x != nil { + return x.Service } return nil } -func (m *Instance) GetNamespace() *wrapperspb.StringValue { - if m != nil { - return m.Namespace +func (x *Instance) GetNamespace() *wrapperspb.StringValue { + if x != nil { + return x.Namespace } return nil } -func (m *Instance) GetVpcId() *wrapperspb.StringValue { - if m != nil { - return m.VpcId +func (x *Instance) GetVpcId() *wrapperspb.StringValue { + if x != nil { + return x.VpcId } return nil } -func (m *Instance) GetHost() *wrapperspb.StringValue { - if m != nil { - return m.Host +func (x *Instance) GetHost() *wrapperspb.StringValue { + if x != nil { + return x.Host } return nil } -func (m *Instance) GetPort() *wrapperspb.UInt32Value { - if m != nil { - return m.Port +func (x *Instance) GetPort() *wrapperspb.UInt32Value { + if x != nil { + return x.Port } return nil } -func (m *Instance) GetProtocol() *wrapperspb.StringValue { - if m != nil { - return m.Protocol +func (x *Instance) GetProtocol() *wrapperspb.StringValue { + if x != nil { + return x.Protocol } return nil } -func (m *Instance) GetVersion() *wrapperspb.StringValue { - if m != nil { - return m.Version +func (x *Instance) GetVersion() *wrapperspb.StringValue { + if x != nil { + return x.Version } return nil } -func (m *Instance) GetPriority() *wrapperspb.UInt32Value { - if m != nil { - return m.Priority +func (x *Instance) GetPriority() *wrapperspb.UInt32Value { + if x != nil { + return x.Priority } return nil } -func (m *Instance) GetWeight() *wrapperspb.UInt32Value { - if m != nil { - return m.Weight +func (x *Instance) GetWeight() *wrapperspb.UInt32Value { + if x != nil { + return x.Weight } return nil } -func (m *Instance) GetEnableHealthCheck() *wrapperspb.BoolValue { - if m != nil { - return m.EnableHealthCheck +func (x *Instance) GetEnableHealthCheck() *wrapperspb.BoolValue { + if x != nil { + return x.EnableHealthCheck } return nil } -func (m *Instance) GetHealthCheck() *HealthCheck { - if m != nil { - return m.HealthCheck +func (x *Instance) GetHealthCheck() *HealthCheck { + if x != nil { + return x.HealthCheck } return nil } -func (m *Instance) GetHealthy() *wrapperspb.BoolValue { - if m != nil { - return m.Healthy +func (x *Instance) GetHealthy() *wrapperspb.BoolValue { + if x != nil { + return x.Healthy } return nil } -func (m *Instance) GetIsolate() *wrapperspb.BoolValue { - if m != nil { - return m.Isolate +func (x *Instance) GetIsolate() *wrapperspb.BoolValue { + if x != nil { + return x.Isolate } return nil } -func (m *Instance) GetLocation() *model.Location { - if m != nil { - return m.Location +func (x *Instance) GetLocation() *model.Location { + if x != nil { + return x.Location } return nil } -func (m *Instance) GetMetadata() map[string]string { - if m != nil { - return m.Metadata +func (x *Instance) GetMetadata() map[string]string { + if x != nil { + return x.Metadata } return nil } -func (m *Instance) GetLogicSet() *wrapperspb.StringValue { - if m != nil { - return m.LogicSet +func (x *Instance) GetLogicSet() *wrapperspb.StringValue { + if x != nil { + return x.LogicSet } return nil } -func (m *Instance) GetCtime() *wrapperspb.StringValue { - if m != nil { - return m.Ctime +func (x *Instance) GetCtime() *wrapperspb.StringValue { + if x != nil { + return x.Ctime } return nil } -func (m *Instance) GetMtime() *wrapperspb.StringValue { - if m != nil { - return m.Mtime +func (x *Instance) GetMtime() *wrapperspb.StringValue { + if x != nil { + return x.Mtime } return nil } -func (m *Instance) GetRevision() *wrapperspb.StringValue { - if m != nil { - return m.Revision +func (x *Instance) GetRevision() *wrapperspb.StringValue { + if x != nil { + return x.Revision } return nil } -func (m *Instance) GetServiceToken() *wrapperspb.StringValue { - if m != nil { - return m.ServiceToken +func (x *Instance) GetServiceToken() *wrapperspb.StringValue { + if x != nil { + return x.ServiceToken } return nil } type HealthCheck struct { - Type HealthCheck_HealthCheckType `protobuf:"varint,1,opt,name=type,proto3,enum=v1.HealthCheck_HealthCheckType" json:"type,omitempty"` - Heartbeat *HeartbeatHealthCheck `protobuf:"bytes,2,opt,name=heartbeat,proto3" json:"heartbeat,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields -func (m *HealthCheck) Reset() { *m = HealthCheck{} } -func (m *HealthCheck) String() string { return proto.CompactTextString(m) } -func (*HealthCheck) ProtoMessage() {} -func (*HealthCheck) Descriptor() ([]byte, []int) { - return fileDescriptor_service_080195173d8d5bf7, []int{3} -} -func (m *HealthCheck) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_HealthCheck.Unmarshal(m, b) -} -func (m *HealthCheck) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_HealthCheck.Marshal(b, m, deterministic) + Type HealthCheck_HealthCheckType `protobuf:"varint,1,opt,name=type,proto3,enum=v1.HealthCheck_HealthCheckType" json:"type,omitempty"` + Heartbeat *HeartbeatHealthCheck `protobuf:"bytes,2,opt,name=heartbeat,proto3" json:"heartbeat,omitempty"` } -func (dst *HealthCheck) XXX_Merge(src proto.Message) { - xxx_messageInfo_HealthCheck.Merge(dst, src) + +func (x *HealthCheck) Reset() { + *x = HealthCheck{} + if protoimpl.UnsafeEnabled { + mi := &file_service_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (m *HealthCheck) XXX_Size() int { - return xxx_messageInfo_HealthCheck.Size(m) + +func (x *HealthCheck) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *HealthCheck) XXX_DiscardUnknown() { - xxx_messageInfo_HealthCheck.DiscardUnknown(m) + +func (*HealthCheck) ProtoMessage() {} + +func (x *HealthCheck) ProtoReflect() protoreflect.Message { + mi := &file_service_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) } -var xxx_messageInfo_HealthCheck proto.InternalMessageInfo +// Deprecated: Use HealthCheck.ProtoReflect.Descriptor instead. +func (*HealthCheck) Descriptor() ([]byte, []int) { + return file_service_proto_rawDescGZIP(), []int{3} +} -func (m *HealthCheck) GetType() HealthCheck_HealthCheckType { - if m != nil { - return m.Type +func (x *HealthCheck) GetType() HealthCheck_HealthCheckType { + if x != nil { + return x.Type } return HealthCheck_UNKNOWN } -func (m *HealthCheck) GetHeartbeat() *HeartbeatHealthCheck { - if m != nil { - return m.Heartbeat +func (x *HealthCheck) GetHeartbeat() *HeartbeatHealthCheck { + if x != nil { + return x.Heartbeat } return nil } type HeartbeatHealthCheck struct { - Ttl *wrapperspb.UInt32Value `protobuf:"bytes,1,opt,name=ttl,proto3" json:"ttl,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Ttl *wrapperspb.UInt32Value `protobuf:"bytes,1,opt,name=ttl,proto3" json:"ttl,omitempty"` } -func (m *HeartbeatHealthCheck) Reset() { *m = HeartbeatHealthCheck{} } -func (m *HeartbeatHealthCheck) String() string { return proto.CompactTextString(m) } -func (*HeartbeatHealthCheck) ProtoMessage() {} +func (x *HeartbeatHealthCheck) Reset() { + *x = HeartbeatHealthCheck{} + if protoimpl.UnsafeEnabled { + mi := &file_service_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *HeartbeatHealthCheck) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*HeartbeatHealthCheck) ProtoMessage() {} + +func (x *HeartbeatHealthCheck) ProtoReflect() protoreflect.Message { + mi := &file_service_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use HeartbeatHealthCheck.ProtoReflect.Descriptor instead. func (*HeartbeatHealthCheck) Descriptor() ([]byte, []int) { - return fileDescriptor_service_080195173d8d5bf7, []int{4} -} -func (m *HeartbeatHealthCheck) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_HeartbeatHealthCheck.Unmarshal(m, b) -} -func (m *HeartbeatHealthCheck) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_HeartbeatHealthCheck.Marshal(b, m, deterministic) -} -func (dst *HeartbeatHealthCheck) XXX_Merge(src proto.Message) { - xxx_messageInfo_HeartbeatHealthCheck.Merge(dst, src) -} -func (m *HeartbeatHealthCheck) XXX_Size() int { - return xxx_messageInfo_HeartbeatHealthCheck.Size(m) -} -func (m *HeartbeatHealthCheck) XXX_DiscardUnknown() { - xxx_messageInfo_HeartbeatHealthCheck.DiscardUnknown(m) -} - -var xxx_messageInfo_HeartbeatHealthCheck proto.InternalMessageInfo - -func (m *HeartbeatHealthCheck) GetTtl() *wrapperspb.UInt32Value { - if m != nil { - return m.Ttl - } - return nil -} - -func init() { - proto.RegisterType((*Service)(nil), "v1.Service") - proto.RegisterMapType((map[string]string)(nil), "v1.Service.MetadataEntry") - proto.RegisterType((*ServiceAlias)(nil), "v1.ServiceAlias") - proto.RegisterType((*Instance)(nil), "v1.Instance") - proto.RegisterMapType((map[string]string)(nil), "v1.Instance.MetadataEntry") - proto.RegisterType((*HealthCheck)(nil), "v1.HealthCheck") - proto.RegisterType((*HeartbeatHealthCheck)(nil), "v1.HeartbeatHealthCheck") - proto.RegisterEnum("v1.AliasType", AliasType_name, AliasType_value) - proto.RegisterEnum("v1.HealthCheck_HealthCheckType", HealthCheck_HealthCheckType_name, HealthCheck_HealthCheckType_value) -} - -func init() { proto.RegisterFile("service.proto", fileDescriptor_service_080195173d8d5bf7) } - -var fileDescriptor_service_080195173d8d5bf7 = []byte{ - // 1097 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x57, 0x6d, 0x4f, 0xe3, 0x46, - 0x10, 0xbe, 0x24, 0x90, 0x97, 0x49, 0x80, 0xb0, 0xd0, 0xeb, 0x1e, 0xaa, 0xda, 0x2b, 0xea, 0x07, - 0x54, 0xb5, 0x4e, 0x09, 0x1c, 0x3d, 0xd1, 0xaa, 0x12, 0x1c, 0x20, 0x68, 0x29, 0x3d, 0x05, 0x68, - 0xa5, 0x7e, 0xb1, 0x36, 0xf6, 0x90, 0xac, 0xb0, 0xbd, 0x96, 0xbd, 0x09, 0xcd, 0x8f, 0xe8, 0x8f, - 0xb8, 0x8f, 0xfd, 0x41, 0xfd, 0x3f, 0xd5, 0xae, 0x5f, 0x62, 0xe0, 0xd2, 0xdb, 0x70, 0x9f, 0x70, - 0xec, 0xe7, 0x99, 0xb1, 0x67, 0x9f, 0x79, 0x66, 0x80, 0xa5, 0x18, 0xa3, 0x31, 0x77, 0xd0, 0x0a, - 0x23, 0x21, 0x05, 0x29, 0x8f, 0xb7, 0x37, 0x3e, 0x1f, 0x08, 0x31, 0xf0, 0xb0, 0xa3, 0xef, 0xf4, - 0x47, 0x37, 0x9d, 0xbb, 0x88, 0x85, 0x21, 0x46, 0x71, 0x82, 0xd9, 0x68, 0xfa, 0xc2, 0x45, 0x2f, - 0xf9, 0xb1, 0xf9, 0xae, 0x05, 0xb5, 0xcb, 0x24, 0x04, 0xf9, 0x0e, 0x16, 0x02, 0xe6, 0x23, 0x2d, - 0xbd, 0x2c, 0x6d, 0x35, 0xbb, 0x9f, 0x59, 0x49, 0x1c, 0x2b, 0x8b, 0x63, 0x5d, 0xca, 0x88, 0x07, - 0x83, 0xdf, 0x99, 0x37, 0xc2, 0x9e, 0x46, 0x92, 0x7d, 0x68, 0xa8, 0xbf, 0x71, 0xc8, 0x1c, 0xa4, - 0x65, 0x03, 0xda, 0x14, 0x4e, 0x5e, 0x41, 0xdd, 0x47, 0xc9, 0x5c, 0x26, 0x19, 0xad, 0xbc, 0xac, - 0x6c, 0x35, 0xbb, 0x2f, 0xac, 0xf1, 0xb6, 0x95, 0xbe, 0x8c, 0xf5, 0x6b, 0xfa, 0xec, 0x38, 0x90, - 0xd1, 0xa4, 0x97, 0x43, 0x49, 0x17, 0x16, 0x43, 0x11, 0xc9, 0x98, 0x2e, 0x18, 0xa4, 0x4b, 0xa0, - 0xe4, 0x35, 0xd4, 0xfb, 0xa3, 0x98, 0x07, 0x18, 0xc7, 0x74, 0xd1, 0x80, 0x96, 0xa3, 0xc9, 0x8f, - 0x00, 0x2e, 0x86, 0x2c, 0x92, 0x3e, 0x06, 0x92, 0x56, 0x0d, 0xb8, 0x05, 0xbc, 0x2a, 0x8f, 0xe3, - 0xbb, 0x7d, 0xdb, 0x17, 0xee, 0x36, 0xad, 0x99, 0x94, 0x27, 0x87, 0x17, 0xb9, 0x5d, 0x5a, 0x9f, - 0x87, 0xdb, 0x2d, 0x72, 0x77, 0x68, 0x63, 0x1e, 0xee, 0x0e, 0xd9, 0x83, 0x9a, 0x23, 0x7c, 0xfd, - 0xb9, 0x60, 0xc0, 0xcc, 0xc0, 0x64, 0x17, 0xaa, 0xe2, 0x2e, 0xc0, 0x28, 0xa6, 0x4d, 0x03, 0x5a, - 0x8a, 0x55, 0xa7, 0x29, 0xc5, 0x2d, 0x06, 0xb4, 0x65, 0x72, 0x9a, 0x1a, 0xaa, 0x38, 0x8e, 0xe4, - 0x3e, 0xd2, 0x25, 0x13, 0x8e, 0x86, 0x2a, 0x8e, 0xaf, 0x39, 0xcb, 0x26, 0x1c, 0x0d, 0x55, 0xaa, - 0x89, 0x70, 0xcc, 0x63, 0x2e, 0x02, 0xba, 0x62, 0xa2, 0x9a, 0x0c, 0x4d, 0x7e, 0x82, 0x66, 0xe8, - 0x31, 0x79, 0x23, 0x22, 0xdf, 0xe6, 0x2e, 0x6d, 0x1b, 0x90, 0x8b, 0x04, 0xf2, 0x16, 0xd6, 0xa5, - 0x90, 0xcc, 0xb3, 0x79, 0x10, 0x4b, 0x16, 0x38, 0x68, 0x3b, 0x62, 0x14, 0x48, 0xba, 0x3a, 0x23, - 0xd0, 0xf5, 0x59, 0x20, 0x77, 0xba, 0x49, 0xa0, 0xf7, 0x32, 0xc9, 0x15, 0x3c, 0x1f, 0x22, 0xf3, - 0xe4, 0x70, 0xf2, 0x30, 0x26, 0x31, 0x88, 0x39, 0x83, 0xab, 0x2a, 0x34, 0x8a, 0x31, 0xb2, 0xb9, - 0x1b, 0xd3, 0x35, 0xdd, 0xc2, 0x1f, 0xa8, 0x50, 0x86, 0x56, 0x0a, 0x1d, 0x44, 0x62, 0x14, 0x6a, - 0xea, 0xba, 0x01, 0x75, 0x0a, 0x27, 0x27, 0xb0, 0x12, 0xa1, 0x2f, 0xc6, 0x68, 0xe7, 0xc9, 0x9f, - 0x1b, 0x44, 0x78, 0x48, 0x22, 0xa7, 0xd0, 0x4e, 0x6f, 0x4d, 0x5f, 0xe5, 0x53, 0x83, 0x40, 0x8f, - 0x58, 0xe4, 0x1b, 0x28, 0x73, 0x97, 0x7e, 0x62, 0x70, 0xcc, 0x65, 0xee, 0x92, 0x3d, 0xa8, 0xa3, - 0xcb, 0x25, 0xeb, 0x7b, 0x48, 0xa9, 0xe6, 0x6c, 0x3c, 0xe2, 0x1c, 0x0a, 0xe1, 0xa5, 0x35, 0xcb, - 0xb0, 0xaa, 0x66, 0xf8, 0x97, 0x32, 0x34, 0x5b, 0x0a, 0xfa, 0xc2, 0xa4, 0x66, 0x39, 0x7c, 0xe3, - 0x07, 0x58, 0xba, 0x67, 0xa8, 0xa4, 0x0d, 0x95, 0x5b, 0x9c, 0x68, 0xab, 0x6f, 0xf4, 0xd4, 0x25, - 0x59, 0x87, 0xc5, 0xb1, 0xa2, 0x69, 0x1f, 0x6f, 0xf4, 0x92, 0x1f, 0xfb, 0xe5, 0xd7, 0xa5, 0xcd, - 0x77, 0x8b, 0xd0, 0x4a, 0x6d, 0xf9, 0xc0, 0xe3, 0x2c, 0x56, 0x1e, 0x91, 0x8e, 0x1d, 0xa3, 0x59, - 0x91, 0x81, 0x3f, 0x6a, 0x5c, 0x74, 0x61, 0x91, 0xa9, 0xe4, 0xb4, 0x62, 0xd2, 0xc1, 0x1a, 0xaa, - 0x94, 0xa2, 0x2f, 0xec, 0x69, 0x56, 0x93, 0xa9, 0xf1, 0x90, 0x44, 0xbe, 0x84, 0x05, 0x39, 0x09, - 0x51, 0xcf, 0x8e, 0xe5, 0xee, 0x92, 0x1a, 0x53, 0xba, 0x10, 0x57, 0x93, 0x10, 0x7b, 0xfa, 0x51, - 0xc1, 0xfe, 0xaa, 0x73, 0xd8, 0x5f, 0xc1, 0x6c, 0x6b, 0xf3, 0x98, 0xed, 0x61, 0x3e, 0xf7, 0xed, - 0xc4, 0x3e, 0x4d, 0x06, 0xc4, 0x7d, 0xca, 0xd4, 0x46, 0x1b, 0x4f, 0xb0, 0x51, 0x30, 0xb7, 0xd1, - 0xa4, 0x39, 0x9a, 0x4f, 0x68, 0x8e, 0x96, 0x79, 0x73, 0x6c, 0xfe, 0xdb, 0x80, 0xfa, 0x59, 0xea, - 0x4e, 0x69, 0xca, 0x92, 0x71, 0xca, 0x5c, 0xcd, 0xe5, 0x27, 0xab, 0xb9, 0x32, 0x9f, 0x9a, 0x77, - 0xa1, 0x3a, 0x0e, 0x1d, 0xdb, 0xd0, 0x35, 0x52, 0xac, 0x5a, 0xd0, 0x86, 0x22, 0x96, 0x46, 0x22, - 0xd6, 0x48, 0xc5, 0x50, 0x16, 0x30, 0x73, 0xeb, 0x29, 0xba, 0xbc, 0x46, 0x2a, 0x4f, 0xd7, 0x4f, - 0x1d, 0xe1, 0x19, 0x49, 0x39, 0x47, 0xab, 0x3a, 0x8e, 0x31, 0xd2, 0xe3, 0xd2, 0x48, 0xcc, 0x29, - 0x38, 0xc9, 0xc8, 0x45, 0xc4, 0xe5, 0x64, 0xa6, 0x8e, 0x8b, 0xef, 0x99, 0xa3, 0x55, 0x15, 0xef, - 0x90, 0x0f, 0x86, 0x72, 0xa6, 0x86, 0x8b, 0xbc, 0x14, 0x4b, 0x7e, 0x86, 0x35, 0x0c, 0x94, 0x68, - 0xec, 0x64, 0xac, 0xd9, 0xce, 0x10, 0x9d, 0x5b, 0xba, 0xfe, 0x41, 0xb5, 0xad, 0x26, 0xb4, 0x53, - 0xcd, 0x7a, 0xa3, 0x48, 0xa4, 0x0b, 0xad, 0x7b, 0x41, 0x92, 0xbe, 0x58, 0x51, 0x0e, 0x51, 0x80, - 0xf5, 0x9a, 0xc3, 0x02, 0x67, 0x17, 0x6a, 0xe9, 0x3c, 0x4d, 0xbb, 0xe2, 0xff, 0x72, 0x66, 0x50, - 0xc5, 0xe2, 0xb1, 0xf0, 0x98, 0x34, 0xe9, 0x8b, 0x0c, 0x4a, 0xb6, 0xa0, 0xee, 0x09, 0x87, 0x49, - 0x75, 0x28, 0xc9, 0xba, 0xd4, 0x52, 0xef, 0x76, 0x9e, 0xde, 0xeb, 0xe5, 0x4f, 0x55, 0xe3, 0xe5, - 0xeb, 0xf8, 0xb2, 0x1e, 0x2e, 0x1b, 0x0a, 0x99, 0xf5, 0xd4, 0xcc, 0x7d, 0x7c, 0x1f, 0x1a, 0x9e, - 0x18, 0x70, 0xc7, 0x8e, 0x51, 0x1a, 0xad, 0x49, 0x53, 0xf8, 0xd4, 0x82, 0xda, 0x4f, 0xb0, 0xa0, - 0xd5, 0xa7, 0x6d, 0x72, 0x64, 0xae, 0x4d, 0xee, 0x91, 0xd1, 0xae, 0xcd, 0x6d, 0xb4, 0x1f, 0x37, - 0x7b, 0xff, 0x29, 0x41, 0xb3, 0x28, 0xb8, 0x9d, 0x74, 0x14, 0x95, 0xf4, 0x28, 0xfa, 0xe2, 0x81, - 0xd0, 0x8a, 0xd7, 0x85, 0xe1, 0xb4, 0x07, 0x8d, 0x21, 0xb2, 0x48, 0xf6, 0x91, 0xc9, 0xd4, 0xe3, - 0x68, 0xca, 0x4c, 0x6e, 0x16, 0xb5, 0x3a, 0x85, 0x6e, 0x7e, 0x0b, 0x2b, 0x0f, 0x02, 0x92, 0x26, - 0xd4, 0xae, 0x2f, 0x7e, 0xb9, 0xf8, 0xed, 0x8f, 0x8b, 0xf6, 0x33, 0xb2, 0x04, 0x8d, 0xd3, 0xe3, - 0x83, 0xde, 0xd5, 0xe1, 0xf1, 0xc1, 0x55, 0xbb, 0xb4, 0x79, 0x02, 0xeb, 0xef, 0x8b, 0x48, 0x2c, - 0xa8, 0x48, 0xe9, 0xcd, 0xf4, 0xe3, 0x62, 0x8f, 0x2a, 0xe0, 0xd7, 0x5f, 0x41, 0x23, 0x1f, 0xaf, - 0x2a, 0xe1, 0xd1, 0xf1, 0xc9, 0xc1, 0xf5, 0xf9, 0x55, 0xfb, 0x19, 0x01, 0xa8, 0xbe, 0x39, 0x7f, - 0x75, 0x79, 0x76, 0xd4, 0x2e, 0x1d, 0xfe, 0x5d, 0x82, 0xef, 0x1d, 0xe1, 0x5b, 0x12, 0x03, 0x07, - 0x03, 0x69, 0x85, 0xc2, 0x63, 0x11, 0x8f, 0xad, 0x38, 0x44, 0x87, 0xdf, 0xf0, 0x44, 0xd6, 0x16, - 0x0b, 0xb9, 0xfa, 0xd2, 0xec, 0xbf, 0x64, 0x9f, 0x05, 0x6c, 0x80, 0x87, 0xd9, 0x3a, 0xf3, 0x56, - 0xbd, 0xc3, 0x9f, 0x47, 0x03, 0x2e, 0x87, 0xa3, 0xbe, 0xe5, 0x08, 0xbf, 0x93, 0x46, 0xf1, 0x31, - 0x1e, 0x76, 0xee, 0x45, 0xea, 0xc4, 0x62, 0x14, 0x39, 0xd8, 0x19, 0x88, 0x0e, 0x0b, 0x79, 0x67, - 0xbc, 0xdd, 0xc9, 0x4e, 0x39, 0x89, 0xd9, 0xaf, 0xea, 0x0f, 0xda, 0xf9, 0x2f, 0x00, 0x00, 0xff, - 0xff, 0x92, 0x37, 0x83, 0x72, 0x92, 0x0f, 0x00, 0x00, + return file_service_proto_rawDescGZIP(), []int{4} +} + +func (x *HeartbeatHealthCheck) GetTtl() *wrapperspb.UInt32Value { + if x != nil { + return x.Ttl + } + return nil +} + +var File_service_proto protoreflect.FileDescriptor + +var file_service_proto_rawDesc = []byte{ + 0x0a, 0x0d, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, + 0x02, 0x76, 0x31, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x1a, 0x0b, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x22, 0xdd, 0x0c, 0x0a, 0x07, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x30, 0x0a, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, + 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x3a, + 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, + 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x35, 0x0a, 0x08, 0x6d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x76, + 0x31, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0x12, 0x32, 0x0a, 0x05, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, + 0x70, 0x6f, 0x72, 0x74, 0x73, 0x12, 0x38, 0x0a, 0x08, 0x62, 0x75, 0x73, 0x69, 0x6e, 0x65, 0x73, + 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, + 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08, 0x62, 0x75, 0x73, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x12, + 0x3c, 0x0a, 0x0a, 0x64, 0x65, 0x70, 0x61, 0x72, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x52, 0x0a, 0x64, 0x65, 0x70, 0x61, 0x72, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x3a, 0x0a, + 0x09, 0x63, 0x6d, 0x64, 0x62, 0x5f, 0x6d, 0x6f, 0x64, 0x31, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x09, + 0x63, 0x6d, 0x64, 0x62, 0x5f, 0x6d, 0x6f, 0x64, 0x31, 0x12, 0x3a, 0x0a, 0x09, 0x63, 0x6d, 0x64, + 0x62, 0x5f, 0x6d, 0x6f, 0x64, 0x32, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, + 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x09, 0x63, 0x6d, 0x64, 0x62, + 0x5f, 0x6d, 0x6f, 0x64, 0x32, 0x12, 0x3a, 0x0a, 0x09, 0x63, 0x6d, 0x64, 0x62, 0x5f, 0x6d, 0x6f, + 0x64, 0x33, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, + 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x09, 0x63, 0x6d, 0x64, 0x62, 0x5f, 0x6d, 0x6f, 0x64, + 0x33, 0x12, 0x36, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x0a, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x34, 0x0a, 0x06, 0x6f, 0x77, 0x6e, + 0x65, 0x72, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, + 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x06, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x73, 0x12, + 0x32, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x74, 0x6f, + 0x6b, 0x65, 0x6e, 0x12, 0x32, 0x0a, 0x05, 0x63, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0d, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x52, 0x05, 0x63, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x32, 0x0a, 0x05, 0x6d, 0x74, 0x69, 0x6d, 0x65, + 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x6d, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x38, 0x0a, 0x08, 0x72, + 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08, 0x72, 0x65, 0x76, + 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x3e, 0x0a, 0x0b, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, + 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0b, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x5f, 0x69, 0x64, 0x12, 0x50, 0x0a, 0x14, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x69, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x11, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x52, 0x14, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x54, 0x0a, 0x16, 0x68, 0x65, 0x61, 0x6c, 0x74, + 0x68, 0x79, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, + 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x16, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x79, 0x5f, 0x69, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x38, 0x0a, + 0x08, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x13, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08, 0x75, + 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x73, 0x12, 0x3a, 0x0a, 0x09, 0x67, 0x72, 0x6f, 0x75, 0x70, + 0x5f, 0x69, 0x64, 0x73, 0x18, 0x14, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, + 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x09, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, + 0x69, 0x64, 0x73, 0x12, 0x46, 0x0a, 0x0f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x75, 0x73, + 0x65, 0x72, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x16, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, + 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0f, 0x72, 0x65, 0x6d, 0x6f, + 0x76, 0x65, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x73, 0x12, 0x48, 0x0a, 0x10, 0x72, + 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x73, 0x18, + 0x17, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x52, 0x10, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, + 0x70, 0x5f, 0x69, 0x64, 0x73, 0x12, 0x2c, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x15, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, + 0x02, 0x69, 0x64, 0x12, 0x36, 0x0a, 0x08, 0x65, 0x64, 0x69, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, + 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x52, 0x08, 0x65, 0x64, 0x69, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x3a, 0x0a, 0x09, 0x65, + 0x78, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x74, 0x6f, 0x18, 0x19, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x09, 0x65, 0x78, + 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x74, 0x6f, 0x12, 0x3a, 0x0a, 0x0a, 0x64, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, + 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0a, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x61, + 0x62, 0x6c, 0x65, 0x1a, 0x3b, 0x0a, 0x0d, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, + 0x22, 0xdd, 0x05, 0x0a, 0x0c, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x6c, 0x69, 0x61, + 0x73, 0x12, 0x36, 0x0a, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x52, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x3a, 0x0a, 0x09, 0x6e, 0x61, 0x6d, + 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, + 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, + 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x32, 0x0a, 0x05, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x52, 0x05, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x12, 0x46, 0x0a, 0x0f, 0x61, 0x6c, 0x69, + 0x61, 0x73, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x52, 0x0f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, + 0x65, 0x12, 0x21, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x0d, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, + 0x74, 0x79, 0x70, 0x65, 0x12, 0x34, 0x0a, 0x06, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x73, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x52, 0x06, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x73, 0x12, 0x36, 0x0a, 0x07, 0x63, 0x6f, + 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, + 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, + 0x6e, 0x74, 0x12, 0x42, 0x0a, 0x0d, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x74, 0x6f, + 0x6b, 0x65, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, + 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0d, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x32, 0x0a, 0x05, 0x63, 0x74, 0x69, 0x6d, 0x65, 0x18, + 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x52, 0x05, 0x63, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x32, 0x0a, 0x05, 0x6d, 0x74, + 0x69, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, + 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x6d, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x2c, + 0x0a, 0x02, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, + 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x02, 0x69, 0x64, 0x12, 0x36, 0x0a, 0x08, + 0x65, 0x64, 0x69, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08, 0x65, 0x64, 0x69, 0x74, + 0x61, 0x62, 0x6c, 0x65, 0x12, 0x3a, 0x0a, 0x0a, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x61, 0x62, + 0x6c, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0a, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x61, 0x62, 0x6c, 0x65, + 0x22, 0xd5, 0x09, 0x0a, 0x08, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x2c, 0x0a, + 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, + 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x02, 0x69, 0x64, 0x12, 0x36, 0x0a, 0x07, 0x73, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, + 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x07, 0x73, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x12, 0x3a, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, + 0x34, 0x0a, 0x06, 0x76, 0x70, 0x63, 0x5f, 0x69, 0x64, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x06, 0x76, + 0x70, 0x63, 0x5f, 0x69, 0x64, 0x12, 0x30, 0x0a, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x52, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x38, 0x0a, 0x08, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, + 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x63, 0x6f, 0x6c, 0x12, 0x36, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x07, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x38, 0x0a, 0x08, 0x70, + 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08, 0x70, 0x72, 0x69, + 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x34, 0x0a, 0x06, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, + 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x52, 0x06, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x4a, 0x0a, 0x13, 0x65, + 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, + 0x63, 0x6b, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x52, 0x11, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x48, 0x65, 0x61, 0x6c, + 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x32, 0x0a, 0x0c, 0x68, 0x65, 0x61, 0x6c, 0x74, + 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, + 0x76, 0x31, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x0b, + 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x34, 0x0a, 0x07, 0x68, + 0x65, 0x61, 0x6c, 0x74, 0x68, 0x79, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, + 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x07, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, + 0x79, 0x12, 0x34, 0x0a, 0x07, 0x69, 0x73, 0x6f, 0x6c, 0x61, 0x74, 0x65, 0x18, 0x0c, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x07, + 0x69, 0x73, 0x6f, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x28, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x76, 0x31, 0x2e, 0x4c, + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x36, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x0e, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x65, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, + 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x3a, 0x0a, 0x09, 0x6c, 0x6f, 0x67, + 0x69, 0x63, 0x5f, 0x73, 0x65, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, + 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x09, 0x6c, 0x6f, 0x67, 0x69, + 0x63, 0x5f, 0x73, 0x65, 0x74, 0x12, 0x32, 0x0a, 0x05, 0x63, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x10, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x52, 0x05, 0x63, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x32, 0x0a, 0x05, 0x6d, 0x74, 0x69, + 0x6d, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, + 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x6d, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x38, 0x0a, + 0x08, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08, 0x72, + 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x42, 0x0a, 0x0d, 0x73, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0d, 0x73, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x1a, 0x3b, 0x0a, 0x0d, 0x4d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, + 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, + 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xa9, 0x01, 0x0a, 0x0b, 0x48, 0x65, 0x61, + 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x33, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1f, 0x2e, 0x76, 0x31, 0x2e, 0x48, 0x65, 0x61, 0x6c, + 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, + 0x65, 0x63, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x36, 0x0a, + 0x09, 0x68, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x18, 0x2e, 0x76, 0x31, 0x2e, 0x48, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x48, + 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x09, 0x68, 0x65, 0x61, 0x72, + 0x74, 0x62, 0x65, 0x61, 0x74, 0x22, 0x2d, 0x0a, 0x0f, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, + 0x68, 0x65, 0x63, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, + 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x48, 0x45, 0x41, 0x52, 0x54, 0x42, 0x45, + 0x41, 0x54, 0x10, 0x01, 0x22, 0x46, 0x0a, 0x14, 0x48, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, + 0x74, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x2e, 0x0a, 0x03, + 0x74, 0x74, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, + 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x03, 0x74, 0x74, 0x6c, 0x2a, 0x24, 0x0a, 0x09, + 0x41, 0x6c, 0x69, 0x61, 0x73, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x44, 0x45, 0x46, + 0x41, 0x55, 0x4c, 0x54, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x43, 0x4c, 0x35, 0x53, 0x49, 0x44, + 0x10, 0x01, 0x42, 0x8d, 0x01, 0x0a, 0x37, 0x63, 0x6f, 0x6d, 0x2e, 0x74, 0x65, 0x6e, 0x63, 0x65, + 0x6e, 0x74, 0x2e, 0x70, 0x6f, 0x6c, 0x61, 0x72, 0x69, 0x73, 0x2e, 0x73, 0x70, 0x65, 0x63, 0x69, + 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, + 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x42, 0x0c, + 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x5a, 0x44, 0x67, 0x69, + 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x70, 0x6f, 0x6c, 0x61, 0x72, 0x69, 0x73, + 0x6d, 0x65, 0x73, 0x68, 0x2f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x2f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2f, 0x67, 0x6f, 0x2f, 0x61, 0x70, 0x69, + 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6d, 0x61, 0x6e, 0x61, + 0x67, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_service_proto_rawDescOnce sync.Once + file_service_proto_rawDescData = file_service_proto_rawDesc +) + +func file_service_proto_rawDescGZIP() []byte { + file_service_proto_rawDescOnce.Do(func() { + file_service_proto_rawDescData = protoimpl.X.CompressGZIP(file_service_proto_rawDescData) + }) + return file_service_proto_rawDescData +} + +var file_service_proto_enumTypes = make([]protoimpl.EnumInfo, 2) +var file_service_proto_msgTypes = make([]protoimpl.MessageInfo, 7) +var file_service_proto_goTypes = []interface{}{ + (AliasType)(0), // 0: v1.AliasType + (HealthCheck_HealthCheckType)(0), // 1: v1.HealthCheck.HealthCheckType + (*Service)(nil), // 2: v1.Service + (*ServiceAlias)(nil), // 3: v1.ServiceAlias + (*Instance)(nil), // 4: v1.Instance + (*HealthCheck)(nil), // 5: v1.HealthCheck + (*HeartbeatHealthCheck)(nil), // 6: v1.HeartbeatHealthCheck + nil, // 7: v1.Service.MetadataEntry + nil, // 8: v1.Instance.MetadataEntry + (*wrapperspb.StringValue)(nil), // 9: google.protobuf.StringValue + (*wrapperspb.UInt32Value)(nil), // 10: google.protobuf.UInt32Value + (*wrapperspb.BoolValue)(nil), // 11: google.protobuf.BoolValue + (*model.Location)(nil), // 12: v1.Location +} +var file_service_proto_depIdxs = []int32{ + 9, // 0: v1.Service.name:type_name -> google.protobuf.StringValue + 9, // 1: v1.Service.namespace:type_name -> google.protobuf.StringValue + 7, // 2: v1.Service.metadata:type_name -> v1.Service.MetadataEntry + 9, // 3: v1.Service.ports:type_name -> google.protobuf.StringValue + 9, // 4: v1.Service.business:type_name -> google.protobuf.StringValue + 9, // 5: v1.Service.department:type_name -> google.protobuf.StringValue + 9, // 6: v1.Service.cmdb_mod1:type_name -> google.protobuf.StringValue + 9, // 7: v1.Service.cmdb_mod2:type_name -> google.protobuf.StringValue + 9, // 8: v1.Service.cmdb_mod3:type_name -> google.protobuf.StringValue + 9, // 9: v1.Service.comment:type_name -> google.protobuf.StringValue + 9, // 10: v1.Service.owners:type_name -> google.protobuf.StringValue + 9, // 11: v1.Service.token:type_name -> google.protobuf.StringValue + 9, // 12: v1.Service.ctime:type_name -> google.protobuf.StringValue + 9, // 13: v1.Service.mtime:type_name -> google.protobuf.StringValue + 9, // 14: v1.Service.revision:type_name -> google.protobuf.StringValue + 9, // 15: v1.Service.platform_id:type_name -> google.protobuf.StringValue + 10, // 16: v1.Service.total_instance_count:type_name -> google.protobuf.UInt32Value + 10, // 17: v1.Service.healthy_instance_count:type_name -> google.protobuf.UInt32Value + 9, // 18: v1.Service.user_ids:type_name -> google.protobuf.StringValue + 9, // 19: v1.Service.group_ids:type_name -> google.protobuf.StringValue + 9, // 20: v1.Service.remove_user_ids:type_name -> google.protobuf.StringValue + 9, // 21: v1.Service.remove_group_ids:type_name -> google.protobuf.StringValue + 9, // 22: v1.Service.id:type_name -> google.protobuf.StringValue + 11, // 23: v1.Service.editable:type_name -> google.protobuf.BoolValue + 9, // 24: v1.Service.export_to:type_name -> google.protobuf.StringValue + 11, // 25: v1.Service.deleteable:type_name -> google.protobuf.BoolValue + 9, // 26: v1.ServiceAlias.service:type_name -> google.protobuf.StringValue + 9, // 27: v1.ServiceAlias.namespace:type_name -> google.protobuf.StringValue + 9, // 28: v1.ServiceAlias.alias:type_name -> google.protobuf.StringValue + 9, // 29: v1.ServiceAlias.alias_namespace:type_name -> google.protobuf.StringValue + 0, // 30: v1.ServiceAlias.type:type_name -> v1.AliasType + 9, // 31: v1.ServiceAlias.owners:type_name -> google.protobuf.StringValue + 9, // 32: v1.ServiceAlias.comment:type_name -> google.protobuf.StringValue + 9, // 33: v1.ServiceAlias.service_token:type_name -> google.protobuf.StringValue + 9, // 34: v1.ServiceAlias.ctime:type_name -> google.protobuf.StringValue + 9, // 35: v1.ServiceAlias.mtime:type_name -> google.protobuf.StringValue + 9, // 36: v1.ServiceAlias.id:type_name -> google.protobuf.StringValue + 11, // 37: v1.ServiceAlias.editable:type_name -> google.protobuf.BoolValue + 11, // 38: v1.ServiceAlias.deleteable:type_name -> google.protobuf.BoolValue + 9, // 39: v1.Instance.id:type_name -> google.protobuf.StringValue + 9, // 40: v1.Instance.service:type_name -> google.protobuf.StringValue + 9, // 41: v1.Instance.namespace:type_name -> google.protobuf.StringValue + 9, // 42: v1.Instance.vpc_id:type_name -> google.protobuf.StringValue + 9, // 43: v1.Instance.host:type_name -> google.protobuf.StringValue + 10, // 44: v1.Instance.port:type_name -> google.protobuf.UInt32Value + 9, // 45: v1.Instance.protocol:type_name -> google.protobuf.StringValue + 9, // 46: v1.Instance.version:type_name -> google.protobuf.StringValue + 10, // 47: v1.Instance.priority:type_name -> google.protobuf.UInt32Value + 10, // 48: v1.Instance.weight:type_name -> google.protobuf.UInt32Value + 11, // 49: v1.Instance.enable_health_check:type_name -> google.protobuf.BoolValue + 5, // 50: v1.Instance.health_check:type_name -> v1.HealthCheck + 11, // 51: v1.Instance.healthy:type_name -> google.protobuf.BoolValue + 11, // 52: v1.Instance.isolate:type_name -> google.protobuf.BoolValue + 12, // 53: v1.Instance.location:type_name -> v1.Location + 8, // 54: v1.Instance.metadata:type_name -> v1.Instance.MetadataEntry + 9, // 55: v1.Instance.logic_set:type_name -> google.protobuf.StringValue + 9, // 56: v1.Instance.ctime:type_name -> google.protobuf.StringValue + 9, // 57: v1.Instance.mtime:type_name -> google.protobuf.StringValue + 9, // 58: v1.Instance.revision:type_name -> google.protobuf.StringValue + 9, // 59: v1.Instance.service_token:type_name -> google.protobuf.StringValue + 1, // 60: v1.HealthCheck.type:type_name -> v1.HealthCheck.HealthCheckType + 6, // 61: v1.HealthCheck.heartbeat:type_name -> v1.HeartbeatHealthCheck + 10, // 62: v1.HeartbeatHealthCheck.ttl:type_name -> google.protobuf.UInt32Value + 63, // [63:63] is the sub-list for method output_type + 63, // [63:63] is the sub-list for method input_type + 63, // [63:63] is the sub-list for extension type_name + 63, // [63:63] is the sub-list for extension extendee + 0, // [0:63] is the sub-list for field type_name +} + +func init() { file_service_proto_init() } +func file_service_proto_init() { + if File_service_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_service_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Service); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_service_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ServiceAlias); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_service_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Instance); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_service_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*HealthCheck); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_service_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*HeartbeatHealthCheck); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_service_proto_rawDesc, + NumEnums: 2, + NumMessages: 7, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_service_proto_goTypes, + DependencyIndexes: file_service_proto_depIdxs, + EnumInfos: file_service_proto_enumTypes, + MessageInfos: file_service_proto_msgTypes, + }.Build() + File_service_proto = out.File + file_service_proto_rawDesc = nil + file_service_proto_goTypes = nil + file_service_proto_depIdxs = nil } diff --git a/source/go/api/v1/traffic_manage/lane.pb.go b/source/go/api/v1/traffic_manage/lane.pb.go index 3f4aff05..59b2bafb 100644 --- a/source/go/api/v1/traffic_manage/lane.pb.go +++ b/source/go/api/v1/traffic_manage/lane.pb.go @@ -1,24 +1,26 @@ // Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.33.0 +// protoc v5.27.3 // source: lane.proto -package traffic_manage // import "github.com/polarismesh/specification/source/go/api/v1/traffic_manage" +package traffic_manage -import proto "github.com/golang/protobuf/proto" -import fmt "fmt" -import math "math" -import model "github.com/polarismesh/specification/source/go/api/v1/model" -import anypb "google.golang.org/protobuf/types/known/anypb" - -// Reference imports to suppress errors if they are not otherwise used. -var _ = proto.Marshal -var _ = fmt.Errorf -var _ = math.Inf +import ( + model "github.com/polarismesh/specification/source/go/api/v1/model" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + anypb "google.golang.org/protobuf/types/known/anypb" + reflect "reflect" + sync "sync" +) -// This is a compile-time assertion to ensure that this generated file -// is compatible with the proto package it is being compiled against. -// A compilation error at this line likely means your copy of the -// proto package needs to be updated. -const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) // 多个 SourceMatch 之间的判断关系 type TrafficMatchRule_TrafficMatchMode int32 @@ -30,20 +32,43 @@ const ( TrafficMatchRule_OR TrafficMatchRule_TrafficMatchMode = 1 ) -var TrafficMatchRule_TrafficMatchMode_name = map[int32]string{ - 0: "AND", - 1: "OR", -} -var TrafficMatchRule_TrafficMatchMode_value = map[string]int32{ - "AND": 0, - "OR": 1, +// Enum value maps for TrafficMatchRule_TrafficMatchMode. +var ( + TrafficMatchRule_TrafficMatchMode_name = map[int32]string{ + 0: "AND", + 1: "OR", + } + TrafficMatchRule_TrafficMatchMode_value = map[string]int32{ + "AND": 0, + "OR": 1, + } +) + +func (x TrafficMatchRule_TrafficMatchMode) Enum() *TrafficMatchRule_TrafficMatchMode { + p := new(TrafficMatchRule_TrafficMatchMode) + *p = x + return p } func (x TrafficMatchRule_TrafficMatchMode) String() string { - return proto.EnumName(TrafficMatchRule_TrafficMatchMode_name, int32(x)) + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (TrafficMatchRule_TrafficMatchMode) Descriptor() protoreflect.EnumDescriptor { + return file_lane_proto_enumTypes[0].Descriptor() +} + +func (TrafficMatchRule_TrafficMatchMode) Type() protoreflect.EnumType { + return &file_lane_proto_enumTypes[0] +} + +func (x TrafficMatchRule_TrafficMatchMode) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) } + +// Deprecated: Use TrafficMatchRule_TrafficMatchMode.Descriptor instead. func (TrafficMatchRule_TrafficMatchMode) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_lane_839cbd83584c3604, []int{4, 0} + return file_lane_proto_rawDescGZIP(), []int{4, 0} } type LaneRule_LaneMatchMode int32 @@ -55,187 +80,241 @@ const ( LaneRule_PERMISSIVE LaneRule_LaneMatchMode = 1 ) -var LaneRule_LaneMatchMode_name = map[int32]string{ - 0: "STRICT", - 1: "PERMISSIVE", -} -var LaneRule_LaneMatchMode_value = map[string]int32{ - "STRICT": 0, - "PERMISSIVE": 1, +// Enum value maps for LaneRule_LaneMatchMode. +var ( + LaneRule_LaneMatchMode_name = map[int32]string{ + 0: "STRICT", + 1: "PERMISSIVE", + } + LaneRule_LaneMatchMode_value = map[string]int32{ + "STRICT": 0, + "PERMISSIVE": 1, + } +) + +func (x LaneRule_LaneMatchMode) Enum() *LaneRule_LaneMatchMode { + p := new(LaneRule_LaneMatchMode) + *p = x + return p } func (x LaneRule_LaneMatchMode) String() string { - return proto.EnumName(LaneRule_LaneMatchMode_name, int32(x)) + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } + +func (LaneRule_LaneMatchMode) Descriptor() protoreflect.EnumDescriptor { + return file_lane_proto_enumTypes[1].Descriptor() +} + +func (LaneRule_LaneMatchMode) Type() protoreflect.EnumType { + return &file_lane_proto_enumTypes[1] +} + +func (x LaneRule_LaneMatchMode) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use LaneRule_LaneMatchMode.Descriptor instead. func (LaneRule_LaneMatchMode) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_lane_839cbd83584c3604, []int{5, 0} + return file_lane_proto_rawDescGZIP(), []int{5, 0} } // 流量入口 type TrafficEntry struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + // 标记流量入口类型 // type == "polarismesh.cn/gateway/spring-cloud-gateway", 则 selector 为 // ServiceGatewaySelector type == "polarismesh.cn/service, 则 selector 为 // ServiceSelector - Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"` - Selector *anypb.Any `protobuf:"bytes,2,opt,name=selector,proto3" json:"selector,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"` + Selector *anypb.Any `protobuf:"bytes,2,opt,name=selector,proto3" json:"selector,omitempty"` } -func (m *TrafficEntry) Reset() { *m = TrafficEntry{} } -func (m *TrafficEntry) String() string { return proto.CompactTextString(m) } -func (*TrafficEntry) ProtoMessage() {} -func (*TrafficEntry) Descriptor() ([]byte, []int) { - return fileDescriptor_lane_839cbd83584c3604, []int{0} -} -func (m *TrafficEntry) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_TrafficEntry.Unmarshal(m, b) -} -func (m *TrafficEntry) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_TrafficEntry.Marshal(b, m, deterministic) -} -func (dst *TrafficEntry) XXX_Merge(src proto.Message) { - xxx_messageInfo_TrafficEntry.Merge(dst, src) +func (x *TrafficEntry) Reset() { + *x = TrafficEntry{} + if protoimpl.UnsafeEnabled { + mi := &file_lane_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (m *TrafficEntry) XXX_Size() int { - return xxx_messageInfo_TrafficEntry.Size(m) + +func (x *TrafficEntry) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *TrafficEntry) XXX_DiscardUnknown() { - xxx_messageInfo_TrafficEntry.DiscardUnknown(m) + +func (*TrafficEntry) ProtoMessage() {} + +func (x *TrafficEntry) ProtoReflect() protoreflect.Message { + mi := &file_lane_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) } -var xxx_messageInfo_TrafficEntry proto.InternalMessageInfo +// Deprecated: Use TrafficEntry.ProtoReflect.Descriptor instead. +func (*TrafficEntry) Descriptor() ([]byte, []int) { + return file_lane_proto_rawDescGZIP(), []int{0} +} -func (m *TrafficEntry) GetType() string { - if m != nil { - return m.Type +func (x *TrafficEntry) GetType() string { + if x != nil { + return x.Type } return "" } -func (m *TrafficEntry) GetSelector() *anypb.Any { - if m != nil { - return m.Selector +func (x *TrafficEntry) GetSelector() *anypb.Any { + if x != nil { + return x.Selector } return nil } // 微服务网关入口定义 type ServiceGatewaySelector struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` Service string `protobuf:"bytes,2,opt,name=service,proto3" json:"service,omitempty"` // 决定要不要部份 - Labels map[string]*model.MatchString `protobuf:"bytes,3,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + Labels map[string]*model.MatchString `protobuf:"bytes,3,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } -func (m *ServiceGatewaySelector) Reset() { *m = ServiceGatewaySelector{} } -func (m *ServiceGatewaySelector) String() string { return proto.CompactTextString(m) } -func (*ServiceGatewaySelector) ProtoMessage() {} -func (*ServiceGatewaySelector) Descriptor() ([]byte, []int) { - return fileDescriptor_lane_839cbd83584c3604, []int{1} -} -func (m *ServiceGatewaySelector) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_ServiceGatewaySelector.Unmarshal(m, b) -} -func (m *ServiceGatewaySelector) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_ServiceGatewaySelector.Marshal(b, m, deterministic) -} -func (dst *ServiceGatewaySelector) XXX_Merge(src proto.Message) { - xxx_messageInfo_ServiceGatewaySelector.Merge(dst, src) +func (x *ServiceGatewaySelector) Reset() { + *x = ServiceGatewaySelector{} + if protoimpl.UnsafeEnabled { + mi := &file_lane_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (m *ServiceGatewaySelector) XXX_Size() int { - return xxx_messageInfo_ServiceGatewaySelector.Size(m) + +func (x *ServiceGatewaySelector) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *ServiceGatewaySelector) XXX_DiscardUnknown() { - xxx_messageInfo_ServiceGatewaySelector.DiscardUnknown(m) + +func (*ServiceGatewaySelector) ProtoMessage() {} + +func (x *ServiceGatewaySelector) ProtoReflect() protoreflect.Message { + mi := &file_lane_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) } -var xxx_messageInfo_ServiceGatewaySelector proto.InternalMessageInfo +// Deprecated: Use ServiceGatewaySelector.ProtoReflect.Descriptor instead. +func (*ServiceGatewaySelector) Descriptor() ([]byte, []int) { + return file_lane_proto_rawDescGZIP(), []int{1} +} -func (m *ServiceGatewaySelector) GetNamespace() string { - if m != nil { - return m.Namespace +func (x *ServiceGatewaySelector) GetNamespace() string { + if x != nil { + return x.Namespace } return "" } -func (m *ServiceGatewaySelector) GetService() string { - if m != nil { - return m.Service +func (x *ServiceGatewaySelector) GetService() string { + if x != nil { + return x.Service } return "" } -func (m *ServiceGatewaySelector) GetLabels() map[string]*model.MatchString { - if m != nil { - return m.Labels +func (x *ServiceGatewaySelector) GetLabels() map[string]*model.MatchString { + if x != nil { + return x.Labels } return nil } // 普通服务入口定义 type ServiceSelector struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` Service string `protobuf:"bytes,2,opt,name=service,proto3" json:"service,omitempty"` // 决定要不要部份 - Labels map[string]*model.MatchString `protobuf:"bytes,3,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + Labels map[string]*model.MatchString `protobuf:"bytes,3,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } -func (m *ServiceSelector) Reset() { *m = ServiceSelector{} } -func (m *ServiceSelector) String() string { return proto.CompactTextString(m) } -func (*ServiceSelector) ProtoMessage() {} -func (*ServiceSelector) Descriptor() ([]byte, []int) { - return fileDescriptor_lane_839cbd83584c3604, []int{2} -} -func (m *ServiceSelector) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_ServiceSelector.Unmarshal(m, b) -} -func (m *ServiceSelector) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_ServiceSelector.Marshal(b, m, deterministic) -} -func (dst *ServiceSelector) XXX_Merge(src proto.Message) { - xxx_messageInfo_ServiceSelector.Merge(dst, src) +func (x *ServiceSelector) Reset() { + *x = ServiceSelector{} + if protoimpl.UnsafeEnabled { + mi := &file_lane_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (m *ServiceSelector) XXX_Size() int { - return xxx_messageInfo_ServiceSelector.Size(m) + +func (x *ServiceSelector) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *ServiceSelector) XXX_DiscardUnknown() { - xxx_messageInfo_ServiceSelector.DiscardUnknown(m) + +func (*ServiceSelector) ProtoMessage() {} + +func (x *ServiceSelector) ProtoReflect() protoreflect.Message { + mi := &file_lane_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) } -var xxx_messageInfo_ServiceSelector proto.InternalMessageInfo +// Deprecated: Use ServiceSelector.ProtoReflect.Descriptor instead. +func (*ServiceSelector) Descriptor() ([]byte, []int) { + return file_lane_proto_rawDescGZIP(), []int{2} +} -func (m *ServiceSelector) GetNamespace() string { - if m != nil { - return m.Namespace +func (x *ServiceSelector) GetNamespace() string { + if x != nil { + return x.Namespace } return "" } -func (m *ServiceSelector) GetService() string { - if m != nil { - return m.Service +func (x *ServiceSelector) GetService() string { + if x != nil { + return x.Service } return "" } -func (m *ServiceSelector) GetLabels() map[string]*model.MatchString { - if m != nil { - return m.Labels +func (x *ServiceSelector) GetLabels() map[string]*model.MatchString { + if x != nil { + return x.Labels } return nil } // 泳道组实体定义 type LaneGroup struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + // 泳道组 ID Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` // 泳道组名称 @@ -255,156 +334,191 @@ type LaneGroup struct { // 泳道组内的流量入口信息 Rules []*LaneRule `protobuf:"bytes,11,rep,name=rules,proto3" json:"rules,omitempty"` // 泳道组标签信息 - Metadata map[string]string `protobuf:"bytes,20,rep,name=metadata,proto3" json:"metadata,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + Metadata map[string]string `protobuf:"bytes,12,rep,name=metadata,proto3" json:"metadata,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // 操作标志位 + Editable bool `protobuf:"varint,20,opt,name=editable,proto3" json:"editable,omitempty"` + Deleteable bool `protobuf:"varint,21,opt,name=deleteable,proto3" json:"deleteable,omitempty"` } -func (m *LaneGroup) Reset() { *m = LaneGroup{} } -func (m *LaneGroup) String() string { return proto.CompactTextString(m) } -func (*LaneGroup) ProtoMessage() {} -func (*LaneGroup) Descriptor() ([]byte, []int) { - return fileDescriptor_lane_839cbd83584c3604, []int{3} -} -func (m *LaneGroup) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_LaneGroup.Unmarshal(m, b) -} -func (m *LaneGroup) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_LaneGroup.Marshal(b, m, deterministic) -} -func (dst *LaneGroup) XXX_Merge(src proto.Message) { - xxx_messageInfo_LaneGroup.Merge(dst, src) +func (x *LaneGroup) Reset() { + *x = LaneGroup{} + if protoimpl.UnsafeEnabled { + mi := &file_lane_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (m *LaneGroup) XXX_Size() int { - return xxx_messageInfo_LaneGroup.Size(m) + +func (x *LaneGroup) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *LaneGroup) XXX_DiscardUnknown() { - xxx_messageInfo_LaneGroup.DiscardUnknown(m) + +func (*LaneGroup) ProtoMessage() {} + +func (x *LaneGroup) ProtoReflect() protoreflect.Message { + mi := &file_lane_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) } -var xxx_messageInfo_LaneGroup proto.InternalMessageInfo +// Deprecated: Use LaneGroup.ProtoReflect.Descriptor instead. +func (*LaneGroup) Descriptor() ([]byte, []int) { + return file_lane_proto_rawDescGZIP(), []int{3} +} -func (m *LaneGroup) GetId() string { - if m != nil { - return m.Id +func (x *LaneGroup) GetId() string { + if x != nil { + return x.Id } return "" } -func (m *LaneGroup) GetName() string { - if m != nil { - return m.Name +func (x *LaneGroup) GetName() string { + if x != nil { + return x.Name } return "" } -func (m *LaneGroup) GetEntries() []*TrafficEntry { - if m != nil { - return m.Entries +func (x *LaneGroup) GetEntries() []*TrafficEntry { + if x != nil { + return x.Entries } return nil } -func (m *LaneGroup) GetDestinations() []*DestinationGroup { - if m != nil { - return m.Destinations +func (x *LaneGroup) GetDestinations() []*DestinationGroup { + if x != nil { + return x.Destinations } return nil } -func (m *LaneGroup) GetRevision() string { - if m != nil { - return m.Revision +func (x *LaneGroup) GetRevision() string { + if x != nil { + return x.Revision } return "" } -func (m *LaneGroup) GetDescription() string { - if m != nil { - return m.Description +func (x *LaneGroup) GetDescription() string { + if x != nil { + return x.Description } return "" } -func (m *LaneGroup) GetCtime() string { - if m != nil { - return m.Ctime +func (x *LaneGroup) GetCtime() string { + if x != nil { + return x.Ctime } return "" } -func (m *LaneGroup) GetMtime() string { - if m != nil { - return m.Mtime +func (x *LaneGroup) GetMtime() string { + if x != nil { + return x.Mtime } return "" } -func (m *LaneGroup) GetRules() []*LaneRule { - if m != nil { - return m.Rules +func (x *LaneGroup) GetRules() []*LaneRule { + if x != nil { + return x.Rules } return nil } -func (m *LaneGroup) GetMetadata() map[string]string { - if m != nil { - return m.Metadata +func (x *LaneGroup) GetMetadata() map[string]string { + if x != nil { + return x.Metadata } return nil } +func (x *LaneGroup) GetEditable() bool { + if x != nil { + return x.Editable + } + return false +} + +func (x *LaneGroup) GetDeleteable() bool { + if x != nil { + return x.Deleteable + } + return false +} + // TrafficMatchRule 流量匹配规则 type TrafficMatchRule struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + // 流量匹配规则,判断哪些流量需要进入泳道 - Arguments []*SourceMatch `protobuf:"bytes,4,rep,name=arguments,proto3" json:"arguments,omitempty"` - MatchMode TrafficMatchRule_TrafficMatchMode `protobuf:"varint,14,opt,name=matchMode,proto3,enum=v1.TrafficMatchRule_TrafficMatchMode" json:"matchMode,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + Arguments []*SourceMatch `protobuf:"bytes,4,rep,name=arguments,proto3" json:"arguments,omitempty"` + MatchMode TrafficMatchRule_TrafficMatchMode `protobuf:"varint,14,opt,name=matchMode,proto3,enum=v1.TrafficMatchRule_TrafficMatchMode" json:"matchMode,omitempty"` } -func (m *TrafficMatchRule) Reset() { *m = TrafficMatchRule{} } -func (m *TrafficMatchRule) String() string { return proto.CompactTextString(m) } -func (*TrafficMatchRule) ProtoMessage() {} -func (*TrafficMatchRule) Descriptor() ([]byte, []int) { - return fileDescriptor_lane_839cbd83584c3604, []int{4} -} -func (m *TrafficMatchRule) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_TrafficMatchRule.Unmarshal(m, b) -} -func (m *TrafficMatchRule) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_TrafficMatchRule.Marshal(b, m, deterministic) -} -func (dst *TrafficMatchRule) XXX_Merge(src proto.Message) { - xxx_messageInfo_TrafficMatchRule.Merge(dst, src) +func (x *TrafficMatchRule) Reset() { + *x = TrafficMatchRule{} + if protoimpl.UnsafeEnabled { + mi := &file_lane_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (m *TrafficMatchRule) XXX_Size() int { - return xxx_messageInfo_TrafficMatchRule.Size(m) + +func (x *TrafficMatchRule) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *TrafficMatchRule) XXX_DiscardUnknown() { - xxx_messageInfo_TrafficMatchRule.DiscardUnknown(m) + +func (*TrafficMatchRule) ProtoMessage() {} + +func (x *TrafficMatchRule) ProtoReflect() protoreflect.Message { + mi := &file_lane_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) } -var xxx_messageInfo_TrafficMatchRule proto.InternalMessageInfo +// Deprecated: Use TrafficMatchRule.ProtoReflect.Descriptor instead. +func (*TrafficMatchRule) Descriptor() ([]byte, []int) { + return file_lane_proto_rawDescGZIP(), []int{4} +} -func (m *TrafficMatchRule) GetArguments() []*SourceMatch { - if m != nil { - return m.Arguments +func (x *TrafficMatchRule) GetArguments() []*SourceMatch { + if x != nil { + return x.Arguments } return nil } -func (m *TrafficMatchRule) GetMatchMode() TrafficMatchRule_TrafficMatchMode { - if m != nil { - return m.MatchMode +func (x *TrafficMatchRule) GetMatchMode() TrafficMatchRule_TrafficMatchMode { + if x != nil { + return x.MatchMode } return TrafficMatchRule_AND } // 泳道规则 type LaneRule struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` // 所属泳道组的名称 @@ -427,195 +541,403 @@ type LaneRule struct { // priority rules priority Priority uint32 `protobuf:"varint,12,opt,name=priority,proto3" json:"priority,omitempty"` // description simple description rules - Description string `protobuf:"bytes,13,opt,name=description,proto3" json:"description,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + Description string `protobuf:"bytes,13,opt,name=description,proto3" json:"description,omitempty"` } -func (m *LaneRule) Reset() { *m = LaneRule{} } -func (m *LaneRule) String() string { return proto.CompactTextString(m) } -func (*LaneRule) ProtoMessage() {} -func (*LaneRule) Descriptor() ([]byte, []int) { - return fileDescriptor_lane_839cbd83584c3604, []int{5} -} -func (m *LaneRule) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_LaneRule.Unmarshal(m, b) -} -func (m *LaneRule) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_LaneRule.Marshal(b, m, deterministic) -} -func (dst *LaneRule) XXX_Merge(src proto.Message) { - xxx_messageInfo_LaneRule.Merge(dst, src) +func (x *LaneRule) Reset() { + *x = LaneRule{} + if protoimpl.UnsafeEnabled { + mi := &file_lane_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (m *LaneRule) XXX_Size() int { - return xxx_messageInfo_LaneRule.Size(m) + +func (x *LaneRule) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *LaneRule) XXX_DiscardUnknown() { - xxx_messageInfo_LaneRule.DiscardUnknown(m) + +func (*LaneRule) ProtoMessage() {} + +func (x *LaneRule) ProtoReflect() protoreflect.Message { + mi := &file_lane_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) } -var xxx_messageInfo_LaneRule proto.InternalMessageInfo +// Deprecated: Use LaneRule.ProtoReflect.Descriptor instead. +func (*LaneRule) Descriptor() ([]byte, []int) { + return file_lane_proto_rawDescGZIP(), []int{5} +} -func (m *LaneRule) GetId() string { - if m != nil { - return m.Id +func (x *LaneRule) GetId() string { + if x != nil { + return x.Id } return "" } -func (m *LaneRule) GetName() string { - if m != nil { - return m.Name +func (x *LaneRule) GetName() string { + if x != nil { + return x.Name } return "" } -func (m *LaneRule) GetGroupName() string { - if m != nil { - return m.GroupName +func (x *LaneRule) GetGroupName() string { + if x != nil { + return x.GroupName } return "" } -func (m *LaneRule) GetTrafficMatchRule() *TrafficMatchRule { - if m != nil { - return m.TrafficMatchRule +func (x *LaneRule) GetTrafficMatchRule() *TrafficMatchRule { + if x != nil { + return x.TrafficMatchRule } return nil } -func (m *LaneRule) GetDefaultLabelValue() string { - if m != nil { - return m.DefaultLabelValue +func (x *LaneRule) GetDefaultLabelValue() string { + if x != nil { + return x.DefaultLabelValue } return "" } -func (m *LaneRule) GetEnable() bool { - if m != nil { - return m.Enable +func (x *LaneRule) GetEnable() bool { + if x != nil { + return x.Enable } return false } -func (m *LaneRule) GetMatchMode() LaneRule_LaneMatchMode { - if m != nil { - return m.MatchMode +func (x *LaneRule) GetMatchMode() LaneRule_LaneMatchMode { + if x != nil { + return x.MatchMode } return LaneRule_STRICT } -func (m *LaneRule) GetRevision() string { - if m != nil { - return m.Revision +func (x *LaneRule) GetRevision() string { + if x != nil { + return x.Revision } return "" } -func (m *LaneRule) GetCtime() string { - if m != nil { - return m.Ctime +func (x *LaneRule) GetCtime() string { + if x != nil { + return x.Ctime } return "" } -func (m *LaneRule) GetMtime() string { - if m != nil { - return m.Mtime +func (x *LaneRule) GetMtime() string { + if x != nil { + return x.Mtime } return "" } -func (m *LaneRule) GetEtime() string { - if m != nil { - return m.Etime +func (x *LaneRule) GetEtime() string { + if x != nil { + return x.Etime } return "" } -func (m *LaneRule) GetPriority() uint32 { - if m != nil { - return m.Priority +func (x *LaneRule) GetPriority() uint32 { + if x != nil { + return x.Priority } return 0 } -func (m *LaneRule) GetDescription() string { - if m != nil { - return m.Description +func (x *LaneRule) GetDescription() string { + if x != nil { + return x.Description } return "" } -func init() { - proto.RegisterType((*TrafficEntry)(nil), "v1.TrafficEntry") - proto.RegisterType((*ServiceGatewaySelector)(nil), "v1.ServiceGatewaySelector") - proto.RegisterMapType((map[string]*model.MatchString)(nil), "v1.ServiceGatewaySelector.LabelsEntry") - proto.RegisterType((*ServiceSelector)(nil), "v1.ServiceSelector") - proto.RegisterMapType((map[string]*model.MatchString)(nil), "v1.ServiceSelector.LabelsEntry") - proto.RegisterType((*LaneGroup)(nil), "v1.LaneGroup") - proto.RegisterMapType((map[string]string)(nil), "v1.LaneGroup.MetadataEntry") - proto.RegisterType((*TrafficMatchRule)(nil), "v1.TrafficMatchRule") - proto.RegisterType((*LaneRule)(nil), "v1.LaneRule") - proto.RegisterEnum("v1.TrafficMatchRule_TrafficMatchMode", TrafficMatchRule_TrafficMatchMode_name, TrafficMatchRule_TrafficMatchMode_value) - proto.RegisterEnum("v1.LaneRule_LaneMatchMode", LaneRule_LaneMatchMode_name, LaneRule_LaneMatchMode_value) -} - -func init() { proto.RegisterFile("lane.proto", fileDescriptor_lane_839cbd83584c3604) } - -var fileDescriptor_lane_839cbd83584c3604 = []byte{ - // 818 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x55, 0xdd, 0x6e, 0xe3, 0x44, - 0x14, 0x5e, 0x27, 0x4d, 0x9a, 0x9c, 0x34, 0xd9, 0x30, 0x44, 0x2b, 0x13, 0x40, 0x44, 0x41, 0x8b, - 0x22, 0x10, 0x36, 0x2d, 0x17, 0x5d, 0x40, 0x42, 0xda, 0x6e, 0xab, 0x55, 0xd1, 0x76, 0x59, 0x4d, - 0xaa, 0xbd, 0xe0, 0x26, 0x9a, 0x38, 0x27, 0xee, 0x08, 0x7b, 0xc6, 0x1a, 0x8f, 0x83, 0xf2, 0x0a, - 0xbc, 0x01, 0xcf, 0xc0, 0xbb, 0xf0, 0x04, 0xf0, 0x2e, 0x68, 0x8e, 0x9d, 0xbf, 0xd2, 0x0b, 0x10, - 0xd2, 0xde, 0xcd, 0xf9, 0xbe, 0x33, 0xe7, 0x7c, 0xe7, 0x67, 0x6c, 0x80, 0x44, 0x28, 0x0c, 0x32, - 0xa3, 0xad, 0x66, 0xb5, 0xd5, 0xe9, 0xf0, 0x83, 0x58, 0xeb, 0x38, 0xc1, 0x90, 0x90, 0x79, 0xb1, - 0x0c, 0x85, 0x5a, 0x97, 0xf4, 0xb0, 0x93, 0xea, 0x05, 0x26, 0x95, 0xd1, 0x35, 0xba, 0xb0, 0x52, - 0xc5, 0xa5, 0x39, 0xbe, 0x85, 0x93, 0x5b, 0x23, 0x96, 0x4b, 0x19, 0x5d, 0x29, 0x6b, 0xd6, 0x8c, - 0xc1, 0x91, 0x5d, 0x67, 0xe8, 0x7b, 0x23, 0x6f, 0xd2, 0xe6, 0x74, 0x66, 0x5f, 0x41, 0x2b, 0xc7, - 0x04, 0x23, 0xab, 0x8d, 0x5f, 0x1b, 0x79, 0x93, 0xce, 0xd9, 0x20, 0x28, 0xb3, 0x05, 0x9b, 0x6c, - 0xc1, 0x73, 0xb5, 0xe6, 0x5b, 0xaf, 0xf1, 0x9f, 0x1e, 0x3c, 0x99, 0xa2, 0x59, 0xc9, 0x08, 0x5f, - 0x0a, 0x8b, 0xbf, 0x88, 0xf5, 0xb4, 0xa2, 0xd8, 0x47, 0xd0, 0x56, 0x22, 0xc5, 0x3c, 0x13, 0xd1, - 0x26, 0xcb, 0x0e, 0x60, 0x3e, 0x1c, 0xe7, 0xe5, 0x3d, 0xca, 0xd4, 0xe6, 0x1b, 0x93, 0x7d, 0x0f, - 0xcd, 0x44, 0xcc, 0x31, 0xc9, 0xfd, 0xfa, 0xa8, 0x3e, 0xe9, 0x9c, 0x7d, 0x16, 0xac, 0x4e, 0x83, - 0x87, 0x73, 0x04, 0xaf, 0xc8, 0x91, 0x0a, 0xe2, 0xd5, 0xad, 0xe1, 0x0f, 0xd0, 0xd9, 0x83, 0x59, - 0x1f, 0xea, 0x3f, 0xe3, 0xba, 0x12, 0xe0, 0x8e, 0xec, 0x29, 0x34, 0x56, 0x22, 0x29, 0xb0, 0x2a, - 0xf1, 0xb1, 0x8b, 0x7f, 0x23, 0x6c, 0x74, 0x37, 0xb5, 0x46, 0xaa, 0x98, 0x97, 0xec, 0xb7, 0xb5, - 0x67, 0xde, 0xf8, 0x0f, 0x0f, 0x1e, 0x57, 0xa9, 0xff, 0x77, 0x5d, 0xe7, 0xf7, 0xea, 0xfa, 0x64, - 0xaf, 0xae, 0x77, 0x56, 0xd0, 0x6f, 0x75, 0x68, 0xbf, 0x12, 0x0a, 0x5f, 0x1a, 0x5d, 0x64, 0xac, - 0x07, 0x35, 0xb9, 0xa8, 0x22, 0xd5, 0xe4, 0xc2, 0xed, 0x84, 0xab, 0xa4, 0x52, 0x4e, 0x67, 0xf6, - 0x39, 0x1c, 0xa3, 0xb2, 0x46, 0xe2, 0x46, 0x77, 0xdf, 0x85, 0xdf, 0x5f, 0x25, 0xbe, 0x71, 0x60, - 0xcf, 0xe0, 0x64, 0x81, 0xb9, 0x95, 0x4a, 0x58, 0xa9, 0x55, 0xee, 0x1f, 0xd1, 0x85, 0x81, 0xbb, - 0x70, 0xb9, 0xc3, 0x29, 0x37, 0x3f, 0xf0, 0x64, 0x43, 0x68, 0x19, 0x5c, 0xc9, 0x5c, 0x6a, 0xe5, - 0x1f, 0x53, 0xf6, 0xad, 0xcd, 0x46, 0xd0, 0x59, 0x60, 0x1e, 0x19, 0x99, 0x39, 0x5f, 0xbf, 0x45, - 0xf4, 0x3e, 0xc4, 0x06, 0xd0, 0x88, 0xac, 0x4c, 0xd1, 0x6f, 0x13, 0x57, 0x1a, 0x0e, 0x4d, 0x09, - 0x85, 0x12, 0x25, 0x83, 0x8d, 0xa1, 0x61, 0x8a, 0x04, 0x73, 0xbf, 0x43, 0xe2, 0x4e, 0x9c, 0x38, - 0xd7, 0x11, 0x5e, 0x24, 0xc8, 0x4b, 0x8a, 0x9d, 0x43, 0x2b, 0x45, 0x2b, 0x16, 0xc2, 0x0a, 0x7f, - 0x40, 0x6e, 0x1f, 0x6e, 0xdc, 0x48, 0x7c, 0x70, 0x53, 0xb1, 0x65, 0xfd, 0x5b, 0xe7, 0xe1, 0x77, - 0xd0, 0x3d, 0xa0, 0x1e, 0x18, 0xd6, 0x60, 0x7f, 0x58, 0xed, 0xfd, 0xd9, 0xfc, 0xee, 0x41, 0xbf, - 0xea, 0x2b, 0x4d, 0xcf, 0x29, 0x62, 0x5f, 0x42, 0x5b, 0x98, 0xb8, 0x48, 0x51, 0xd9, 0x4d, 0x3f, - 0x69, 0xbe, 0x53, 0x5d, 0x98, 0x08, 0x4b, 0xbf, 0x9d, 0x07, 0x7b, 0x01, 0xed, 0xd4, 0x61, 0x37, - 0x7a, 0x81, 0x7e, 0x6f, 0xe4, 0x4d, 0x7a, 0x67, 0x4f, 0xf7, 0xe6, 0xb5, 0x8d, 0x7b, 0x00, 0x38, - 0x67, 0xbe, 0xbb, 0x37, 0xfe, 0xf4, 0x50, 0x87, 0xc3, 0xd8, 0x31, 0xd4, 0x9f, 0xbf, 0xbe, 0xec, - 0x3f, 0x62, 0x4d, 0xa8, 0xfd, 0xc8, 0xfb, 0xde, 0xf8, 0xaf, 0x3a, 0xb4, 0x36, 0x7d, 0xfb, 0x57, - 0x8b, 0xf4, 0x31, 0x40, 0xec, 0x9a, 0x37, 0x23, 0xa6, 0x5e, 0x3e, 0x1c, 0x42, 0x5e, 0x3b, 0xfa, - 0x02, 0x98, 0x2d, 0x93, 0xce, 0x48, 0xc9, 0xcc, 0x8d, 0xc2, 0x3f, 0xaa, 0xbe, 0x42, 0x0f, 0x94, - 0xc0, 0xfb, 0xf6, 0x7e, 0xb3, 0x02, 0x78, 0x7f, 0x81, 0x4b, 0x51, 0x24, 0x76, 0x46, 0x6f, 0x67, - 0x56, 0x76, 0xba, 0x41, 0xb9, 0xde, 0xab, 0x28, 0x7a, 0x4b, 0x6f, 0x1d, 0xc1, 0x9e, 0x40, 0x13, - 0x95, 0x98, 0x27, 0xe8, 0x37, 0x47, 0xde, 0xa4, 0xc5, 0x2b, 0x8b, 0x7d, 0x03, 0x50, 0x6a, 0x70, - 0xdf, 0x53, 0xda, 0xc7, 0xde, 0xd9, 0x70, 0x7f, 0x51, 0xe8, 0xf0, 0x50, 0xef, 0x0e, 0x16, 0xb9, - 0x75, 0x6f, 0x91, 0xff, 0xcb, 0x9a, 0x0e, 0xa0, 0x81, 0x84, 0x76, 0x4a, 0x94, 0x0c, 0x17, 0x3d, - 0x33, 0x52, 0x1b, 0x69, 0xd7, 0xfe, 0xc9, 0xc8, 0x9b, 0x74, 0xf9, 0xd6, 0xbe, 0xff, 0x4c, 0xba, - 0xff, 0x78, 0x26, 0xe3, 0x2f, 0xa0, 0x7b, 0xa0, 0x9b, 0x01, 0x34, 0xa7, 0xb7, 0xfc, 0xfa, 0xc5, - 0x6d, 0xff, 0x11, 0xeb, 0x01, 0xbc, 0xb9, 0xe2, 0x37, 0xd7, 0xd3, 0xe9, 0xf5, 0xdb, 0xab, 0xbe, - 0x77, 0xf1, 0xab, 0x07, 0xe7, 0x91, 0x4e, 0x03, 0x8b, 0x2a, 0x42, 0x65, 0x83, 0x4c, 0x27, 0xc2, - 0xc8, 0x3c, 0xc8, 0x33, 0x8c, 0xe4, 0x52, 0x46, 0xf4, 0x70, 0x03, 0x91, 0x49, 0xd7, 0x97, 0x6a, - 0x12, 0x41, 0x2a, 0x94, 0x88, 0xf1, 0x82, 0x3e, 0x31, 0x6f, 0xdc, 0x1f, 0xe3, 0xa7, 0xcb, 0x58, - 0xda, 0xbb, 0x62, 0x1e, 0x44, 0x3a, 0x0d, 0xab, 0x10, 0x29, 0xe6, 0x77, 0xe1, 0x41, 0x98, 0x30, - 0xa7, 0x6d, 0x0e, 0x63, 0x1d, 0x8a, 0x4c, 0x86, 0xab, 0xd3, 0x70, 0xb7, 0x0a, 0x2e, 0xe0, 0xbc, - 0x49, 0xbf, 0x9f, 0xaf, 0xff, 0x0e, 0x00, 0x00, 0xff, 0xff, 0x7e, 0xe3, 0x0e, 0x60, 0x0c, 0x07, - 0x00, 0x00, +var File_lane_proto protoreflect.FileDescriptor + +var file_lane_proto_rawDesc = []byte{ + 0x0a, 0x0a, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x02, 0x76, 0x31, + 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2f, 0x61, 0x6e, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0b, 0x6d, 0x6f, 0x64, + 0x65, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0d, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, + 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x54, 0x0a, 0x0c, 0x54, 0x72, 0x61, 0x66, 0x66, + 0x69, 0x63, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x30, 0x0a, 0x08, 0x73, + 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x41, 0x6e, 0x79, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x22, 0xdc, 0x01, + 0x0a, 0x16, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, + 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, + 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, + 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x12, 0x3e, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x26, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x47, 0x61, 0x74, + 0x65, 0x77, 0x61, 0x79, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x4c, 0x61, 0x62, + 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, + 0x1a, 0x4a, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, + 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, + 0x79, 0x12, 0x25, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x0f, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x74, 0x72, 0x69, 0x6e, + 0x67, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xce, 0x01, 0x0a, + 0x0f, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, + 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x18, + 0x0a, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x37, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, + 0x6c, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x4c, 0x61, + 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, + 0x73, 0x1a, 0x4a, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, + 0x65, 0x79, 0x12, 0x25, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x0f, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x74, 0x72, 0x69, + 0x6e, 0x67, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xd5, 0x03, + 0x0a, 0x09, 0x4c, 0x61, 0x6e, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x0e, 0x0a, 0x02, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, + 0x2a, 0x0a, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x10, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x52, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x12, 0x38, 0x0a, 0x0c, 0x64, + 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x14, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x0c, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, + 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, + 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x05, 0x63, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x74, 0x69, + 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6d, 0x74, 0x69, 0x6d, 0x65, 0x12, + 0x22, 0x0a, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c, + 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x61, 0x6e, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x05, 0x72, 0x75, + 0x6c, 0x65, 0x73, 0x12, 0x37, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, + 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x61, 0x6e, 0x65, 0x47, + 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x1a, 0x0a, 0x08, + 0x65, 0x64, 0x69, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x14, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, + 0x65, 0x64, 0x69, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x65, 0x6c, 0x65, + 0x74, 0x65, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x15, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x64, 0x65, + 0x6c, 0x65, 0x74, 0x65, 0x61, 0x62, 0x6c, 0x65, 0x1a, 0x3b, 0x0a, 0x0d, 0x4d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xab, 0x01, 0x0a, 0x10, 0x54, 0x72, 0x61, 0x66, 0x66, 0x69, + 0x63, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x2d, 0x0a, 0x09, 0x61, 0x72, + 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, + 0x76, 0x31, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x09, + 0x61, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x43, 0x0a, 0x09, 0x6d, 0x61, 0x74, + 0x63, 0x68, 0x4d, 0x6f, 0x64, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x25, 0x2e, 0x76, + 0x31, 0x2e, 0x54, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x75, + 0x6c, 0x65, 0x2e, 0x54, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4d, + 0x6f, 0x64, 0x65, 0x52, 0x09, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x6f, 0x64, 0x65, 0x22, 0x23, + 0x0a, 0x10, 0x54, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x6f, + 0x64, 0x65, 0x12, 0x07, 0x0a, 0x03, 0x41, 0x4e, 0x44, 0x10, 0x00, 0x12, 0x06, 0x0a, 0x02, 0x4f, + 0x52, 0x10, 0x01, 0x22, 0xdd, 0x03, 0x0a, 0x08, 0x4c, 0x61, 0x6e, 0x65, 0x52, 0x75, 0x6c, 0x65, + 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, + 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x4e, + 0x61, 0x6d, 0x65, 0x12, 0x42, 0x0a, 0x12, 0x74, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x5f, 0x6d, + 0x61, 0x74, 0x63, 0x68, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x14, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x4d, 0x61, 0x74, 0x63, + 0x68, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x10, 0x74, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x4d, 0x61, + 0x74, 0x63, 0x68, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x2e, 0x0a, 0x13, 0x64, 0x65, 0x66, 0x61, 0x75, + 0x6c, 0x74, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x4c, 0x61, 0x62, + 0x65, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x6e, 0x61, 0x62, 0x6c, + 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x12, + 0x39, 0x0a, 0x0a, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x07, 0x20, + 0x01, 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x61, 0x6e, 0x65, 0x52, 0x75, 0x6c, + 0x65, 0x2e, 0x4c, 0x61, 0x6e, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x6f, 0x64, 0x65, 0x52, + 0x09, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, + 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, + 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x74, 0x69, 0x6d, 0x65, 0x18, + 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x63, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, + 0x6d, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6d, 0x74, 0x69, + 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x05, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x69, 0x6f, + 0x72, 0x69, 0x74, 0x79, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x70, 0x72, 0x69, 0x6f, + 0x72, 0x69, 0x74, 0x79, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x2b, 0x0a, 0x0d, 0x4c, 0x61, 0x6e, 0x65, 0x4d, 0x61, + 0x74, 0x63, 0x68, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x54, 0x52, 0x49, 0x43, + 0x54, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x50, 0x45, 0x52, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x56, + 0x45, 0x10, 0x01, 0x42, 0x8a, 0x01, 0x0a, 0x37, 0x63, 0x6f, 0x6d, 0x2e, 0x74, 0x65, 0x6e, 0x63, + 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x6f, 0x6c, 0x61, 0x72, 0x69, 0x73, 0x2e, 0x73, 0x70, 0x65, 0x63, + 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, + 0x2e, 0x74, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x42, + 0x09, 0x4c, 0x61, 0x6e, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x5a, 0x44, 0x67, 0x69, 0x74, 0x68, + 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x70, 0x6f, 0x6c, 0x61, 0x72, 0x69, 0x73, 0x6d, 0x65, + 0x73, 0x68, 0x2f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x2f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2f, 0x67, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, + 0x31, 0x2f, 0x74, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, + 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_lane_proto_rawDescOnce sync.Once + file_lane_proto_rawDescData = file_lane_proto_rawDesc +) + +func file_lane_proto_rawDescGZIP() []byte { + file_lane_proto_rawDescOnce.Do(func() { + file_lane_proto_rawDescData = protoimpl.X.CompressGZIP(file_lane_proto_rawDescData) + }) + return file_lane_proto_rawDescData +} + +var file_lane_proto_enumTypes = make([]protoimpl.EnumInfo, 2) +var file_lane_proto_msgTypes = make([]protoimpl.MessageInfo, 9) +var file_lane_proto_goTypes = []interface{}{ + (TrafficMatchRule_TrafficMatchMode)(0), // 0: v1.TrafficMatchRule.TrafficMatchMode + (LaneRule_LaneMatchMode)(0), // 1: v1.LaneRule.LaneMatchMode + (*TrafficEntry)(nil), // 2: v1.TrafficEntry + (*ServiceGatewaySelector)(nil), // 3: v1.ServiceGatewaySelector + (*ServiceSelector)(nil), // 4: v1.ServiceSelector + (*LaneGroup)(nil), // 5: v1.LaneGroup + (*TrafficMatchRule)(nil), // 6: v1.TrafficMatchRule + (*LaneRule)(nil), // 7: v1.LaneRule + nil, // 8: v1.ServiceGatewaySelector.LabelsEntry + nil, // 9: v1.ServiceSelector.LabelsEntry + nil, // 10: v1.LaneGroup.MetadataEntry + (*anypb.Any)(nil), // 11: google.protobuf.Any + (*DestinationGroup)(nil), // 12: v1.DestinationGroup + (*SourceMatch)(nil), // 13: v1.SourceMatch + (*model.MatchString)(nil), // 14: v1.MatchString +} +var file_lane_proto_depIdxs = []int32{ + 11, // 0: v1.TrafficEntry.selector:type_name -> google.protobuf.Any + 8, // 1: v1.ServiceGatewaySelector.labels:type_name -> v1.ServiceGatewaySelector.LabelsEntry + 9, // 2: v1.ServiceSelector.labels:type_name -> v1.ServiceSelector.LabelsEntry + 2, // 3: v1.LaneGroup.entries:type_name -> v1.TrafficEntry + 12, // 4: v1.LaneGroup.destinations:type_name -> v1.DestinationGroup + 7, // 5: v1.LaneGroup.rules:type_name -> v1.LaneRule + 10, // 6: v1.LaneGroup.metadata:type_name -> v1.LaneGroup.MetadataEntry + 13, // 7: v1.TrafficMatchRule.arguments:type_name -> v1.SourceMatch + 0, // 8: v1.TrafficMatchRule.matchMode:type_name -> v1.TrafficMatchRule.TrafficMatchMode + 6, // 9: v1.LaneRule.traffic_match_rule:type_name -> v1.TrafficMatchRule + 1, // 10: v1.LaneRule.match_mode:type_name -> v1.LaneRule.LaneMatchMode + 14, // 11: v1.ServiceGatewaySelector.LabelsEntry.value:type_name -> v1.MatchString + 14, // 12: v1.ServiceSelector.LabelsEntry.value:type_name -> v1.MatchString + 13, // [13:13] is the sub-list for method output_type + 13, // [13:13] is the sub-list for method input_type + 13, // [13:13] is the sub-list for extension type_name + 13, // [13:13] is the sub-list for extension extendee + 0, // [0:13] is the sub-list for field type_name +} + +func init() { file_lane_proto_init() } +func file_lane_proto_init() { + if File_lane_proto != nil { + return + } + file_routing_proto_init() + if !protoimpl.UnsafeEnabled { + file_lane_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TrafficEntry); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_lane_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ServiceGatewaySelector); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_lane_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ServiceSelector); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_lane_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*LaneGroup); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_lane_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TrafficMatchRule); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_lane_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*LaneRule); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_lane_proto_rawDesc, + NumEnums: 2, + NumMessages: 9, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_lane_proto_goTypes, + DependencyIndexes: file_lane_proto_depIdxs, + EnumInfos: file_lane_proto_enumTypes, + MessageInfos: file_lane_proto_msgTypes, + }.Build() + File_lane_proto = out.File + file_lane_proto_rawDesc = nil + file_lane_proto_goTypes = nil + file_lane_proto_depIdxs = nil } diff --git a/source/go/api/v1/traffic_manage/lossless.pb.go b/source/go/api/v1/traffic_manage/lossless.pb.go new file mode 100644 index 00000000..b8df606d --- /dev/null +++ b/source/go/api/v1/traffic_manage/lossless.pb.go @@ -0,0 +1,803 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.33.0 +// protoc v5.27.3 +// source: lossless.proto + +package traffic_manage + +import ( + _ "github.com/polarismesh/specification/source/go/api/v1/model" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + _ "google.golang.org/protobuf/types/known/durationpb" + _ "google.golang.org/protobuf/types/known/wrapperspb" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type DelayRegister_DelayStrategy int32 + +const ( + // register instance after delay specific time + DelayRegister_DELAY_BY_TIME DelayRegister_DelayStrategy = 0 + // register instance until health check successfully + DelayRegister_DELAY_BY_HEALTH_CHECK DelayRegister_DelayStrategy = 1 +) + +// Enum value maps for DelayRegister_DelayStrategy. +var ( + DelayRegister_DelayStrategy_name = map[int32]string{ + 0: "DELAY_BY_TIME", + 1: "DELAY_BY_HEALTH_CHECK", + } + DelayRegister_DelayStrategy_value = map[string]int32{ + "DELAY_BY_TIME": 0, + "DELAY_BY_HEALTH_CHECK": 1, + } +) + +func (x DelayRegister_DelayStrategy) Enum() *DelayRegister_DelayStrategy { + p := new(DelayRegister_DelayStrategy) + *p = x + return p +} + +func (x DelayRegister_DelayStrategy) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (DelayRegister_DelayStrategy) Descriptor() protoreflect.EnumDescriptor { + return file_lossless_proto_enumTypes[0].Descriptor() +} + +func (DelayRegister_DelayStrategy) Type() protoreflect.EnumType { + return &file_lossless_proto_enumTypes[0] +} + +func (x DelayRegister_DelayStrategy) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use DelayRegister_DelayStrategy.Descriptor instead. +func (DelayRegister_DelayStrategy) EnumDescriptor() ([]byte, []int) { + return file_lossless_proto_rawDescGZIP(), []int{2, 0} +} + +// 优雅上下线规则的模型 +type LosslessRule struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // rule id + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + // service for rule belongs to + Service string `protobuf:"bytes,2,opt,name=service,proto3" json:"service,omitempty"` + // namespace for rule belongs to + Namespace string `protobuf:"bytes,3,opt,name=namespace,proto3" json:"namespace,omitempty"` + // revision routing version + Revision string `protobuf:"bytes,4,opt,name=revision,proto3" json:"revision,omitempty"` + // ctime create time of the rules + Ctime string `protobuf:"bytes,5,opt,name=ctime,proto3" json:"ctime,omitempty"` + // mtime modify time of the rules + Mtime string `protobuf:"bytes,6,opt,name=mtime,proto3" json:"mtime,omitempty"` + // configuration for lossless online + LosslessOnline *LosslessOnline `protobuf:"bytes,7,opt,name=losslessOnline,json=lossless_online,proto3" json:"losslessOnline,omitempty"` + // configuration for lossless offline + LosslessOffline *LosslessOffline `protobuf:"bytes,8,opt,name=losslessOffline,json=lossless_offline,proto3" json:"losslessOffline,omitempty"` + // rule labels + Metadata map[string]string `protobuf:"bytes,9,rep,name=metadata,proto3" json:"metadata,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // 操作标志位 + Editable bool `protobuf:"varint,30,opt,name=editable,proto3" json:"editable,omitempty"` + Deleteable bool `protobuf:"varint,31,opt,name=deleteable,proto3" json:"deleteable,omitempty"` +} + +func (x *LosslessRule) Reset() { + *x = LosslessRule{} + if protoimpl.UnsafeEnabled { + mi := &file_lossless_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *LosslessRule) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*LosslessRule) ProtoMessage() {} + +func (x *LosslessRule) ProtoReflect() protoreflect.Message { + mi := &file_lossless_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use LosslessRule.ProtoReflect.Descriptor instead. +func (*LosslessRule) Descriptor() ([]byte, []int) { + return file_lossless_proto_rawDescGZIP(), []int{0} +} + +func (x *LosslessRule) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *LosslessRule) GetService() string { + if x != nil { + return x.Service + } + return "" +} + +func (x *LosslessRule) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *LosslessRule) GetRevision() string { + if x != nil { + return x.Revision + } + return "" +} + +func (x *LosslessRule) GetCtime() string { + if x != nil { + return x.Ctime + } + return "" +} + +func (x *LosslessRule) GetMtime() string { + if x != nil { + return x.Mtime + } + return "" +} + +func (x *LosslessRule) GetLosslessOnline() *LosslessOnline { + if x != nil { + return x.LosslessOnline + } + return nil +} + +func (x *LosslessRule) GetLosslessOffline() *LosslessOffline { + if x != nil { + return x.LosslessOffline + } + return nil +} + +func (x *LosslessRule) GetMetadata() map[string]string { + if x != nil { + return x.Metadata + } + return nil +} + +func (x *LosslessRule) GetEditable() bool { + if x != nil { + return x.Editable + } + return false +} + +func (x *LosslessRule) GetDeleteable() bool { + if x != nil { + return x.Deleteable + } + return false +} + +type LosslessOnline struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // configuration for delayRegister + DelayRegister *DelayRegister `protobuf:"bytes,1,opt,name=delayRegister,json=delay_register,proto3" json:"delayRegister,omitempty"` + // configuration for warmup + Warmup *Warmup `protobuf:"bytes,2,opt,name=warmup,proto3" json:"warmup,omitempty"` + // configuration for readiness probe + Readiness *Readiness `protobuf:"bytes,3,opt,name=readiness,proto3" json:"readiness,omitempty"` +} + +func (x *LosslessOnline) Reset() { + *x = LosslessOnline{} + if protoimpl.UnsafeEnabled { + mi := &file_lossless_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *LosslessOnline) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*LosslessOnline) ProtoMessage() {} + +func (x *LosslessOnline) ProtoReflect() protoreflect.Message { + mi := &file_lossless_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use LosslessOnline.ProtoReflect.Descriptor instead. +func (*LosslessOnline) Descriptor() ([]byte, []int) { + return file_lossless_proto_rawDescGZIP(), []int{1} +} + +func (x *LosslessOnline) GetDelayRegister() *DelayRegister { + if x != nil { + return x.DelayRegister + } + return nil +} + +func (x *LosslessOnline) GetWarmup() *Warmup { + if x != nil { + return x.Warmup + } + return nil +} + +func (x *LosslessOnline) GetReadiness() *Readiness { + if x != nil { + return x.Readiness + } + return nil +} + +type DelayRegister struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // enable delay registry + Enable bool `protobuf:"varint,1,opt,name=enable,proto3" json:"enable,omitempty"` + // delay register strategy + Strategy DelayRegister_DelayStrategy `protobuf:"varint,2,opt,name=strategy,proto3,enum=v1.DelayRegister_DelayStrategy" json:"strategy,omitempty"` + // delay register time by second, active when strategy == DELAY_BY_TIME + IntervalSecond int32 `protobuf:"varint,3,opt,name=intervalSecond,json=interval_second,proto3" json:"intervalSecond,omitempty"` + // protocol to do health check, default http, active when strategy == DELAY_BY_HEALTH_CHECK + HealthCheckProtocol string `protobuf:"bytes,4,opt,name=healthCheckProtocol,json=health_check_protocol,proto3" json:"healthCheckProtocol,omitempty"` + // method to do health check, default GET, active when strategy == DELAY_BY_HEALTH_CHECK + HealthCheckMethod string `protobuf:"bytes,5,opt,name=healthCheckMethod,json=health_check_method,proto3" json:"healthCheckMethod,omitempty"` + // path to do health check, no default value, active when strategy == DELAY_BY_HEALTH_CHECK + HealthCheckPath string `protobuf:"bytes,6,opt,name=healthCheckPath,json=health_check_path,proto3" json:"healthCheckPath,omitempty"` + // health check interval second, default is 30, active when strategy == DELAY_BY_HEALTH_CHECK + HealthCheckIntervalSecond string `protobuf:"bytes,7,opt,name=healthCheckIntervalSecond,json=health_check_interval_second,proto3" json:"healthCheckIntervalSecond,omitempty"` +} + +func (x *DelayRegister) Reset() { + *x = DelayRegister{} + if protoimpl.UnsafeEnabled { + mi := &file_lossless_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DelayRegister) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DelayRegister) ProtoMessage() {} + +func (x *DelayRegister) ProtoReflect() protoreflect.Message { + mi := &file_lossless_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DelayRegister.ProtoReflect.Descriptor instead. +func (*DelayRegister) Descriptor() ([]byte, []int) { + return file_lossless_proto_rawDescGZIP(), []int{2} +} + +func (x *DelayRegister) GetEnable() bool { + if x != nil { + return x.Enable + } + return false +} + +func (x *DelayRegister) GetStrategy() DelayRegister_DelayStrategy { + if x != nil { + return x.Strategy + } + return DelayRegister_DELAY_BY_TIME +} + +func (x *DelayRegister) GetIntervalSecond() int32 { + if x != nil { + return x.IntervalSecond + } + return 0 +} + +func (x *DelayRegister) GetHealthCheckProtocol() string { + if x != nil { + return x.HealthCheckProtocol + } + return "" +} + +func (x *DelayRegister) GetHealthCheckMethod() string { + if x != nil { + return x.HealthCheckMethod + } + return "" +} + +func (x *DelayRegister) GetHealthCheckPath() string { + if x != nil { + return x.HealthCheckPath + } + return "" +} + +func (x *DelayRegister) GetHealthCheckIntervalSecond() string { + if x != nil { + return x.HealthCheckIntervalSecond + } + return "" +} + +type Warmup struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // enable warmup + Enable bool `protobuf:"varint,1,opt,name=enable,proto3" json:"enable,omitempty"` + // total warmup interval by second + IntervalSecond int32 `protobuf:"varint,2,opt,name=intervalSecond,json=interval_second,proto3" json:"intervalSecond,omitempty"` + // warmup stop when most of the instances in service are in warmup status + EnableOverloadProtection bool `protobuf:"varint,3,opt,name=enableOverloadProtection,json=enable_overload_protection,proto3" json:"enableOverloadProtection,omitempty"` + // the threshold to active overload protection, default is 50, threshld = sum(WarmupInstances)/sum(AllInstances)*100 + OverloadProtectionThreshold int32 `protobuf:"varint,4,opt,name=overloadProtectionThreshold,json=overload_protection_threshold,proto3" json:"overloadProtectionThreshold,omitempty"` + // curvature for warmup register, default is 1 + Curvature int32 `protobuf:"varint,5,opt,name=curvature,proto3" json:"curvature,omitempty"` +} + +func (x *Warmup) Reset() { + *x = Warmup{} + if protoimpl.UnsafeEnabled { + mi := &file_lossless_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Warmup) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Warmup) ProtoMessage() {} + +func (x *Warmup) ProtoReflect() protoreflect.Message { + mi := &file_lossless_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Warmup.ProtoReflect.Descriptor instead. +func (*Warmup) Descriptor() ([]byte, []int) { + return file_lossless_proto_rawDescGZIP(), []int{3} +} + +func (x *Warmup) GetEnable() bool { + if x != nil { + return x.Enable + } + return false +} + +func (x *Warmup) GetIntervalSecond() int32 { + if x != nil { + return x.IntervalSecond + } + return 0 +} + +func (x *Warmup) GetEnableOverloadProtection() bool { + if x != nil { + return x.EnableOverloadProtection + } + return false +} + +func (x *Warmup) GetOverloadProtectionThreshold() int32 { + if x != nil { + return x.OverloadProtectionThreshold + } + return 0 +} + +func (x *Warmup) GetCurvature() int32 { + if x != nil { + return x.Curvature + } + return 0 +} + +type Readiness struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // enable /readiness expose + Enable bool `protobuf:"varint,1,opt,name=enable,proto3" json:"enable,omitempty"` +} + +func (x *Readiness) Reset() { + *x = Readiness{} + if protoimpl.UnsafeEnabled { + mi := &file_lossless_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Readiness) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Readiness) ProtoMessage() {} + +func (x *Readiness) ProtoReflect() protoreflect.Message { + mi := &file_lossless_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Readiness.ProtoReflect.Descriptor instead. +func (*Readiness) Descriptor() ([]byte, []int) { + return file_lossless_proto_rawDescGZIP(), []int{4} +} + +func (x *Readiness) GetEnable() bool { + if x != nil { + return x.Enable + } + return false +} + +type LosslessOffline struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // enable /offline expose + Enable bool `protobuf:"varint,1,opt,name=enable,proto3" json:"enable,omitempty"` +} + +func (x *LosslessOffline) Reset() { + *x = LosslessOffline{} + if protoimpl.UnsafeEnabled { + mi := &file_lossless_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *LosslessOffline) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*LosslessOffline) ProtoMessage() {} + +func (x *LosslessOffline) ProtoReflect() protoreflect.Message { + mi := &file_lossless_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use LosslessOffline.ProtoReflect.Descriptor instead. +func (*LosslessOffline) Descriptor() ([]byte, []int) { + return file_lossless_proto_rawDescGZIP(), []int{5} +} + +func (x *LosslessOffline) GetEnable() bool { + if x != nil { + return x.Enable + } + return false +} + +var File_lossless_proto protoreflect.FileDescriptor + +var file_lossless_proto_rawDesc = []byte{ + 0x0a, 0x0e, 0x6c, 0x6f, 0x73, 0x73, 0x6c, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x12, 0x02, 0x76, 0x31, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0b, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x22, 0xd0, 0x03, 0x0a, 0x0c, 0x4c, 0x6f, 0x73, 0x73, 0x6c, 0x65, 0x73, 0x73, 0x52, 0x75, + 0x6c, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, + 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x1c, 0x0a, 0x09, + 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, + 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, + 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x74, 0x69, 0x6d, 0x65, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x63, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, + 0x6d, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6d, 0x74, 0x69, + 0x6d, 0x65, 0x12, 0x3b, 0x0a, 0x0e, 0x6c, 0x6f, 0x73, 0x73, 0x6c, 0x65, 0x73, 0x73, 0x4f, 0x6e, + 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x76, 0x31, 0x2e, + 0x4c, 0x6f, 0x73, 0x73, 0x6c, 0x65, 0x73, 0x73, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x0f, + 0x6c, 0x6f, 0x73, 0x73, 0x6c, 0x65, 0x73, 0x73, 0x5f, 0x6f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x12, + 0x3e, 0x0a, 0x0f, 0x6c, 0x6f, 0x73, 0x73, 0x6c, 0x65, 0x73, 0x73, 0x4f, 0x66, 0x66, 0x6c, 0x69, + 0x6e, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x6f, + 0x73, 0x73, 0x6c, 0x65, 0x73, 0x73, 0x4f, 0x66, 0x66, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x10, 0x6c, + 0x6f, 0x73, 0x73, 0x6c, 0x65, 0x73, 0x73, 0x5f, 0x6f, 0x66, 0x66, 0x6c, 0x69, 0x6e, 0x65, 0x12, + 0x3a, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x09, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x1e, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x6f, 0x73, 0x73, 0x6c, 0x65, 0x73, 0x73, 0x52, + 0x75, 0x6c, 0x65, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x1a, 0x0a, 0x08, 0x65, + 0x64, 0x69, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x65, + 0x64, 0x69, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x64, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x61, 0x62, 0x6c, 0x65, 0x1a, 0x3b, 0x0a, 0x0d, 0x4d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x3a, 0x02, 0x38, 0x01, 0x22, 0x9b, 0x01, 0x0a, 0x0e, 0x4c, 0x6f, 0x73, 0x73, 0x6c, 0x65, 0x73, + 0x73, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x38, 0x0a, 0x0d, 0x64, 0x65, 0x6c, 0x61, 0x79, + 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, + 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, + 0x72, 0x52, 0x0e, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x5f, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, + 0x72, 0x12, 0x22, 0x0a, 0x06, 0x77, 0x61, 0x72, 0x6d, 0x75, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x0a, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6d, 0x75, 0x70, 0x52, 0x06, 0x77, + 0x61, 0x72, 0x6d, 0x75, 0x70, 0x12, 0x2b, 0x0a, 0x09, 0x72, 0x65, 0x61, 0x64, 0x69, 0x6e, 0x65, + 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, + 0x61, 0x64, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x52, 0x09, 0x72, 0x65, 0x61, 0x64, 0x69, 0x6e, 0x65, + 0x73, 0x73, 0x22, 0x9d, 0x03, 0x0a, 0x0d, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x52, 0x65, 0x67, 0x69, + 0x73, 0x74, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x3b, 0x0a, 0x08, + 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1f, + 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, + 0x72, 0x2e, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x52, + 0x08, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x12, 0x27, 0x0a, 0x0e, 0x69, 0x6e, 0x74, + 0x65, 0x72, 0x76, 0x61, 0x6c, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x0f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x5f, 0x73, 0x65, 0x63, 0x6f, + 0x6e, 0x64, 0x12, 0x32, 0x0a, 0x13, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, + 0x6b, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x15, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x2e, 0x0a, 0x11, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, + 0x43, 0x68, 0x65, 0x63, 0x6b, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x13, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, + 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x2a, 0x0a, 0x0f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, + 0x43, 0x68, 0x65, 0x63, 0x6b, 0x50, 0x61, 0x74, 0x68, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x11, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x70, 0x61, + 0x74, 0x68, 0x12, 0x3f, 0x0a, 0x19, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, + 0x6b, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x1c, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, + 0x65, 0x63, 0x6b, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x5f, 0x73, 0x65, 0x63, + 0x6f, 0x6e, 0x64, 0x22, 0x3d, 0x0a, 0x0d, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x53, 0x74, 0x72, 0x61, + 0x74, 0x65, 0x67, 0x79, 0x12, 0x11, 0x0a, 0x0d, 0x44, 0x45, 0x4c, 0x41, 0x59, 0x5f, 0x42, 0x59, + 0x5f, 0x54, 0x49, 0x4d, 0x45, 0x10, 0x00, 0x12, 0x19, 0x0a, 0x15, 0x44, 0x45, 0x4c, 0x41, 0x59, + 0x5f, 0x42, 0x59, 0x5f, 0x48, 0x45, 0x41, 0x4c, 0x54, 0x48, 0x5f, 0x43, 0x48, 0x45, 0x43, 0x4b, + 0x10, 0x01, 0x22, 0xe9, 0x01, 0x0a, 0x06, 0x57, 0x61, 0x72, 0x6d, 0x75, 0x70, 0x12, 0x16, 0x0a, + 0x06, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x65, + 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x27, 0x0a, 0x0e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, + 0x6c, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x69, + 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x12, 0x3c, + 0x0a, 0x18, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x4f, 0x76, 0x65, 0x72, 0x6c, 0x6f, 0x61, 0x64, + 0x50, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x1a, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x6c, 0x6f, 0x61, + 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x42, 0x0a, 0x1b, + 0x6f, 0x76, 0x65, 0x72, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x1d, 0x6f, 0x76, 0x65, 0x72, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x74, + 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, + 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x75, 0x72, 0x76, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x09, 0x63, 0x75, 0x72, 0x76, 0x61, 0x74, 0x75, 0x72, 0x65, 0x22, 0x23, + 0x0a, 0x09, 0x52, 0x65, 0x61, 0x64, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x65, + 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x65, 0x6e, 0x61, + 0x62, 0x6c, 0x65, 0x22, 0x29, 0x0a, 0x0f, 0x4c, 0x6f, 0x73, 0x73, 0x6c, 0x65, 0x73, 0x73, 0x4f, + 0x66, 0x66, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x42, 0x8e, + 0x01, 0x0a, 0x37, 0x63, 0x6f, 0x6d, 0x2e, 0x74, 0x65, 0x6e, 0x63, 0x65, 0x6e, 0x74, 0x2e, 0x70, + 0x6f, 0x6c, 0x61, 0x72, 0x69, 0x73, 0x2e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x74, 0x72, 0x61, 0x66, + 0x66, 0x69, 0x63, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x42, 0x0d, 0x4c, 0x6f, 0x73, 0x73, + 0x6c, 0x65, 0x73, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x5a, 0x44, 0x67, 0x69, 0x74, 0x68, 0x75, + 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x70, 0x6f, 0x6c, 0x61, 0x72, 0x69, 0x73, 0x6d, 0x65, 0x73, + 0x68, 0x2f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2f, 0x67, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, + 0x2f, 0x74, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x62, + 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_lossless_proto_rawDescOnce sync.Once + file_lossless_proto_rawDescData = file_lossless_proto_rawDesc +) + +func file_lossless_proto_rawDescGZIP() []byte { + file_lossless_proto_rawDescOnce.Do(func() { + file_lossless_proto_rawDescData = protoimpl.X.CompressGZIP(file_lossless_proto_rawDescData) + }) + return file_lossless_proto_rawDescData +} + +var file_lossless_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_lossless_proto_msgTypes = make([]protoimpl.MessageInfo, 7) +var file_lossless_proto_goTypes = []interface{}{ + (DelayRegister_DelayStrategy)(0), // 0: v1.DelayRegister.DelayStrategy + (*LosslessRule)(nil), // 1: v1.LosslessRule + (*LosslessOnline)(nil), // 2: v1.LosslessOnline + (*DelayRegister)(nil), // 3: v1.DelayRegister + (*Warmup)(nil), // 4: v1.Warmup + (*Readiness)(nil), // 5: v1.Readiness + (*LosslessOffline)(nil), // 6: v1.LosslessOffline + nil, // 7: v1.LosslessRule.MetadataEntry +} +var file_lossless_proto_depIdxs = []int32{ + 2, // 0: v1.LosslessRule.losslessOnline:type_name -> v1.LosslessOnline + 6, // 1: v1.LosslessRule.losslessOffline:type_name -> v1.LosslessOffline + 7, // 2: v1.LosslessRule.metadata:type_name -> v1.LosslessRule.MetadataEntry + 3, // 3: v1.LosslessOnline.delayRegister:type_name -> v1.DelayRegister + 4, // 4: v1.LosslessOnline.warmup:type_name -> v1.Warmup + 5, // 5: v1.LosslessOnline.readiness:type_name -> v1.Readiness + 0, // 6: v1.DelayRegister.strategy:type_name -> v1.DelayRegister.DelayStrategy + 7, // [7:7] is the sub-list for method output_type + 7, // [7:7] is the sub-list for method input_type + 7, // [7:7] is the sub-list for extension type_name + 7, // [7:7] is the sub-list for extension extendee + 0, // [0:7] is the sub-list for field type_name +} + +func init() { file_lossless_proto_init() } +func file_lossless_proto_init() { + if File_lossless_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_lossless_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*LosslessRule); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_lossless_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*LosslessOnline); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_lossless_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DelayRegister); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_lossless_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Warmup); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_lossless_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Readiness); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_lossless_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*LosslessOffline); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_lossless_proto_rawDesc, + NumEnums: 1, + NumMessages: 7, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_lossless_proto_goTypes, + DependencyIndexes: file_lossless_proto_depIdxs, + EnumInfos: file_lossless_proto_enumTypes, + MessageInfos: file_lossless_proto_msgTypes, + }.Build() + File_lossless_proto = out.File + file_lossless_proto_rawDesc = nil + file_lossless_proto_goTypes = nil + file_lossless_proto_depIdxs = nil +} diff --git a/source/go/api/v1/traffic_manage/ratelimit.pb.go b/source/go/api/v1/traffic_manage/ratelimit.pb.go index 20c63a2f..c72e2a31 100644 --- a/source/go/api/v1/traffic_manage/ratelimit.pb.go +++ b/source/go/api/v1/traffic_manage/ratelimit.pb.go @@ -1,25 +1,27 @@ // Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.33.0 +// protoc v5.27.3 // source: ratelimit.proto -package traffic_manage // import "github.com/polarismesh/specification/source/go/api/v1/traffic_manage" +package traffic_manage -import proto "github.com/golang/protobuf/proto" -import fmt "fmt" -import math "math" -import model "github.com/polarismesh/specification/source/go/api/v1/model" -import durationpb "google.golang.org/protobuf/types/known/durationpb" -import wrapperspb "google.golang.org/protobuf/types/known/wrapperspb" - -// Reference imports to suppress errors if they are not otherwise used. -var _ = proto.Marshal -var _ = fmt.Errorf -var _ = math.Inf +import ( + model "github.com/polarismesh/specification/source/go/api/v1/model" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + durationpb "google.golang.org/protobuf/types/known/durationpb" + wrapperspb "google.golang.org/protobuf/types/known/wrapperspb" + reflect "reflect" + sync "sync" +) -// This is a compile-time assertion to ensure that this generated file -// is compatible with the proto package it is being compiled against. -// A compilation error at this line likely means your copy of the -// proto package needs to be updated. -const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) // 限流资源 type Rule_Resource int32 @@ -31,20 +33,43 @@ const ( Rule_CONCURRENCY Rule_Resource = 1 ) -var Rule_Resource_name = map[int32]string{ - 0: "QPS", - 1: "CONCURRENCY", -} -var Rule_Resource_value = map[string]int32{ - "QPS": 0, - "CONCURRENCY": 1, +// Enum value maps for Rule_Resource. +var ( + Rule_Resource_name = map[int32]string{ + 0: "QPS", + 1: "CONCURRENCY", + } + Rule_Resource_value = map[string]int32{ + "QPS": 0, + "CONCURRENCY": 1, + } +) + +func (x Rule_Resource) Enum() *Rule_Resource { + p := new(Rule_Resource) + *p = x + return p } func (x Rule_Resource) String() string { - return proto.EnumName(Rule_Resource_name, int32(x)) + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (Rule_Resource) Descriptor() protoreflect.EnumDescriptor { + return file_ratelimit_proto_enumTypes[0].Descriptor() +} + +func (Rule_Resource) Type() protoreflect.EnumType { + return &file_ratelimit_proto_enumTypes[0] +} + +func (x Rule_Resource) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) } + +// Deprecated: Use Rule_Resource.Descriptor instead. func (Rule_Resource) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_ratelimit_6eb2b3b9acb3f338, []int{1, 0} + return file_ratelimit_proto_rawDescGZIP(), []int{1, 0} } // 限流类型 @@ -56,68 +81,137 @@ const ( Rule_LOCAL Rule_Type = 1 ) -var Rule_Type_name = map[int32]string{ - 0: "GLOBAL", - 1: "LOCAL", -} -var Rule_Type_value = map[string]int32{ - "GLOBAL": 0, - "LOCAL": 1, +// Enum value maps for Rule_Type. +var ( + Rule_Type_name = map[int32]string{ + 0: "GLOBAL", + 1: "LOCAL", + } + Rule_Type_value = map[string]int32{ + "GLOBAL": 0, + "LOCAL": 1, + } +) + +func (x Rule_Type) Enum() *Rule_Type { + p := new(Rule_Type) + *p = x + return p } func (x Rule_Type) String() string { - return proto.EnumName(Rule_Type_name, int32(x)) + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (Rule_Type) Descriptor() protoreflect.EnumDescriptor { + return file_ratelimit_proto_enumTypes[1].Descriptor() +} + +func (Rule_Type) Type() protoreflect.EnumType { + return &file_ratelimit_proto_enumTypes[1] } + +func (x Rule_Type) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use Rule_Type.Descriptor instead. func (Rule_Type) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_ratelimit_6eb2b3b9acb3f338, []int{1, 1} + return file_ratelimit_proto_rawDescGZIP(), []int{1, 1} } // 限流阈值模 type Rule_AmountMode int32 const ( - Rule_GLOBAL_TOTAL Rule_AmountMode = 0 - Rule_SHARE_EQUALLY Rule_AmountMode = 1 + Rule_GLOBAL_TOTAL Rule_AmountMode = 0 // 总体阈值 + Rule_SHARE_EQUALLY Rule_AmountMode = 1 // 单机均摊阈值 ) -var Rule_AmountMode_name = map[int32]string{ - 0: "GLOBAL_TOTAL", - 1: "SHARE_EQUALLY", -} -var Rule_AmountMode_value = map[string]int32{ - "GLOBAL_TOTAL": 0, - "SHARE_EQUALLY": 1, +// Enum value maps for Rule_AmountMode. +var ( + Rule_AmountMode_name = map[int32]string{ + 0: "GLOBAL_TOTAL", + 1: "SHARE_EQUALLY", + } + Rule_AmountMode_value = map[string]int32{ + "GLOBAL_TOTAL": 0, + "SHARE_EQUALLY": 1, + } +) + +func (x Rule_AmountMode) Enum() *Rule_AmountMode { + p := new(Rule_AmountMode) + *p = x + return p } func (x Rule_AmountMode) String() string { - return proto.EnumName(Rule_AmountMode_name, int32(x)) + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (Rule_AmountMode) Descriptor() protoreflect.EnumDescriptor { + return file_ratelimit_proto_enumTypes[2].Descriptor() } + +func (Rule_AmountMode) Type() protoreflect.EnumType { + return &file_ratelimit_proto_enumTypes[2] +} + +func (x Rule_AmountMode) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use Rule_AmountMode.Descriptor instead. func (Rule_AmountMode) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_ratelimit_6eb2b3b9acb3f338, []int{1, 2} + return file_ratelimit_proto_rawDescGZIP(), []int{1, 2} } // 与限流集群连接失败时降级模式 type Rule_FailoverType int32 const ( - Rule_FAILOVER_LOCAL Rule_FailoverType = 0 - Rule_FAILOVER_PASS Rule_FailoverType = 1 + Rule_FAILOVER_LOCAL Rule_FailoverType = 0 // 降级成本地阈值 + Rule_FAILOVER_PASS Rule_FailoverType = 1 // 降级成直接通过 ) -var Rule_FailoverType_name = map[int32]string{ - 0: "FAILOVER_LOCAL", - 1: "FAILOVER_PASS", -} -var Rule_FailoverType_value = map[string]int32{ - "FAILOVER_LOCAL": 0, - "FAILOVER_PASS": 1, +// Enum value maps for Rule_FailoverType. +var ( + Rule_FailoverType_name = map[int32]string{ + 0: "FAILOVER_LOCAL", + 1: "FAILOVER_PASS", + } + Rule_FailoverType_value = map[string]int32{ + "FAILOVER_LOCAL": 0, + "FAILOVER_PASS": 1, + } +) + +func (x Rule_FailoverType) Enum() *Rule_FailoverType { + p := new(Rule_FailoverType) + *p = x + return p } func (x Rule_FailoverType) String() string { - return proto.EnumName(Rule_FailoverType_name, int32(x)) + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (Rule_FailoverType) Descriptor() protoreflect.EnumDescriptor { + return file_ratelimit_proto_enumTypes[3].Descriptor() +} + +func (Rule_FailoverType) Type() protoreflect.EnumType { + return &file_ratelimit_proto_enumTypes[3] +} + +func (x Rule_FailoverType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) } + +// Deprecated: Use Rule_FailoverType.Descriptor instead. func (Rule_FailoverType) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_ratelimit_6eb2b3b9acb3f338, []int{1, 3} + return file_ratelimit_proto_rawDescGZIP(), []int{1, 3} } // label type for gateway request @@ -136,83 +230,123 @@ const ( MatchArgument_CALLER_SERVICE MatchArgument_Type = 4 // caller host ip MatchArgument_CALLER_IP MatchArgument_Type = 5 + // caller instance metadata + MatchArgument_CALLER_METADATA MatchArgument_Type = 6 ) -var MatchArgument_Type_name = map[int32]string{ - 0: "CUSTOM", - 1: "METHOD", - 2: "HEADER", - 3: "QUERY", - 4: "CALLER_SERVICE", - 5: "CALLER_IP", -} -var MatchArgument_Type_value = map[string]int32{ - "CUSTOM": 0, - "METHOD": 1, - "HEADER": 2, - "QUERY": 3, - "CALLER_SERVICE": 4, - "CALLER_IP": 5, +// Enum value maps for MatchArgument_Type. +var ( + MatchArgument_Type_name = map[int32]string{ + 0: "CUSTOM", + 1: "METHOD", + 2: "HEADER", + 3: "QUERY", + 4: "CALLER_SERVICE", + 5: "CALLER_IP", + 6: "CALLER_METADATA", + } + MatchArgument_Type_value = map[string]int32{ + "CUSTOM": 0, + "METHOD": 1, + "HEADER": 2, + "QUERY": 3, + "CALLER_SERVICE": 4, + "CALLER_IP": 5, + "CALLER_METADATA": 6, + } +) + +func (x MatchArgument_Type) Enum() *MatchArgument_Type { + p := new(MatchArgument_Type) + *p = x + return p } func (x MatchArgument_Type) String() string { - return proto.EnumName(MatchArgument_Type_name, int32(x)) + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (MatchArgument_Type) Descriptor() protoreflect.EnumDescriptor { + return file_ratelimit_proto_enumTypes[4].Descriptor() +} + +func (MatchArgument_Type) Type() protoreflect.EnumType { + return &file_ratelimit_proto_enumTypes[4] } + +func (x MatchArgument_Type) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use MatchArgument_Type.Descriptor instead. func (MatchArgument_Type) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_ratelimit_6eb2b3b9acb3f338, []int{2, 0} + return file_ratelimit_proto_rawDescGZIP(), []int{2, 0} } // 同一服务下限流规则集合 type RateLimit struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + // 限流规则集合 Rules []*Rule `protobuf:"bytes,1,rep,name=rules,proto3" json:"rules,omitempty"` // 限流规则汇总的revision信息 - Revision *wrapperspb.StringValue `protobuf:"bytes,2,opt,name=revision,proto3" json:"revision,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + Revision *wrapperspb.StringValue `protobuf:"bytes,2,opt,name=revision,proto3" json:"revision,omitempty"` } -func (m *RateLimit) Reset() { *m = RateLimit{} } -func (m *RateLimit) String() string { return proto.CompactTextString(m) } -func (*RateLimit) ProtoMessage() {} -func (*RateLimit) Descriptor() ([]byte, []int) { - return fileDescriptor_ratelimit_6eb2b3b9acb3f338, []int{0} -} -func (m *RateLimit) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_RateLimit.Unmarshal(m, b) -} -func (m *RateLimit) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_RateLimit.Marshal(b, m, deterministic) -} -func (dst *RateLimit) XXX_Merge(src proto.Message) { - xxx_messageInfo_RateLimit.Merge(dst, src) +func (x *RateLimit) Reset() { + *x = RateLimit{} + if protoimpl.UnsafeEnabled { + mi := &file_ratelimit_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (m *RateLimit) XXX_Size() int { - return xxx_messageInfo_RateLimit.Size(m) + +func (x *RateLimit) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *RateLimit) XXX_DiscardUnknown() { - xxx_messageInfo_RateLimit.DiscardUnknown(m) + +func (*RateLimit) ProtoMessage() {} + +func (x *RateLimit) ProtoReflect() protoreflect.Message { + mi := &file_ratelimit_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) } -var xxx_messageInfo_RateLimit proto.InternalMessageInfo +// Deprecated: Use RateLimit.ProtoReflect.Descriptor instead. +func (*RateLimit) Descriptor() ([]byte, []int) { + return file_ratelimit_proto_rawDescGZIP(), []int{0} +} -func (m *RateLimit) GetRules() []*Rule { - if m != nil { - return m.Rules +func (x *RateLimit) GetRules() []*Rule { + if x != nil { + return x.Rules } return nil } -func (m *RateLimit) GetRevision() *wrapperspb.StringValue { - if m != nil { - return m.Revision +func (x *RateLimit) GetRevision() *wrapperspb.StringValue { + if x != nil { + return x.Revision } return nil } // 单个限流规则信息 type Rule struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + // 限流规则唯一标识 Id *wrapperspb.StringValue `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` // 限流规则所属服务名 @@ -263,332 +397,490 @@ type Rule struct { Etime *wrapperspb.StringValue `protobuf:"bytes,25,opt,name=etime,proto3" json:"etime,omitempty"` // 最大排队时长,单位秒 MaxQueueDelay *wrapperspb.UInt32Value `protobuf:"bytes,26,opt,name=max_queue_delay,proto3" json:"max_queue_delay,omitempty"` + // amount for concurrency rate-limit + ConcurrencyAmount *ConcurrencyAmount `protobuf:"bytes,27,opt,name=concurrencyAmount,json=concurrency_amount,proto3" json:"concurrencyAmount,omitempty"` + // fallback configuration + CustomResponse *CustomResponse `protobuf:"bytes,28,opt,name=customResponse,json=custom_response,proto3" json:"customResponse,omitempty"` // 限流规则标签数据 - Metadata map[string]string `protobuf:"bytes,50,rep,name=metadata,proto3" json:"metadata,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + Metadata map[string]string `protobuf:"bytes,29,rep,name=metadata,proto3" json:"metadata,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // 操作标志位 + Editable bool `protobuf:"varint,30,opt,name=editable,proto3" json:"editable,omitempty"` + Deleteable bool `protobuf:"varint,31,opt,name=deleteable,proto3" json:"deleteable,omitempty"` } -func (m *Rule) Reset() { *m = Rule{} } -func (m *Rule) String() string { return proto.CompactTextString(m) } -func (*Rule) ProtoMessage() {} -func (*Rule) Descriptor() ([]byte, []int) { - return fileDescriptor_ratelimit_6eb2b3b9acb3f338, []int{1} -} -func (m *Rule) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_Rule.Unmarshal(m, b) -} -func (m *Rule) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_Rule.Marshal(b, m, deterministic) -} -func (dst *Rule) XXX_Merge(src proto.Message) { - xxx_messageInfo_Rule.Merge(dst, src) +func (x *Rule) Reset() { + *x = Rule{} + if protoimpl.UnsafeEnabled { + mi := &file_ratelimit_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (m *Rule) XXX_Size() int { - return xxx_messageInfo_Rule.Size(m) + +func (x *Rule) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *Rule) XXX_DiscardUnknown() { - xxx_messageInfo_Rule.DiscardUnknown(m) + +func (*Rule) ProtoMessage() {} + +func (x *Rule) ProtoReflect() protoreflect.Message { + mi := &file_ratelimit_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) } -var xxx_messageInfo_Rule proto.InternalMessageInfo +// Deprecated: Use Rule.ProtoReflect.Descriptor instead. +func (*Rule) Descriptor() ([]byte, []int) { + return file_ratelimit_proto_rawDescGZIP(), []int{1} +} -func (m *Rule) GetId() *wrapperspb.StringValue { - if m != nil { - return m.Id +func (x *Rule) GetId() *wrapperspb.StringValue { + if x != nil { + return x.Id } return nil } -func (m *Rule) GetService() *wrapperspb.StringValue { - if m != nil { - return m.Service +func (x *Rule) GetService() *wrapperspb.StringValue { + if x != nil { + return x.Service } return nil } -func (m *Rule) GetNamespace() *wrapperspb.StringValue { - if m != nil { - return m.Namespace +func (x *Rule) GetNamespace() *wrapperspb.StringValue { + if x != nil { + return x.Namespace } return nil } -func (m *Rule) GetSubset() map[string]*model.MatchString { - if m != nil { - return m.Subset +func (x *Rule) GetSubset() map[string]*model.MatchString { + if x != nil { + return x.Subset } return nil } -func (m *Rule) GetPriority() *wrapperspb.UInt32Value { - if m != nil { - return m.Priority +func (x *Rule) GetPriority() *wrapperspb.UInt32Value { + if x != nil { + return x.Priority } return nil } -func (m *Rule) GetResource() Rule_Resource { - if m != nil { - return m.Resource +func (x *Rule) GetResource() Rule_Resource { + if x != nil { + return x.Resource } return Rule_QPS } -func (m *Rule) GetType() Rule_Type { - if m != nil { - return m.Type +func (x *Rule) GetType() Rule_Type { + if x != nil { + return x.Type } return Rule_GLOBAL } -func (m *Rule) GetLabels() map[string]*model.MatchString { - if m != nil { - return m.Labels +func (x *Rule) GetLabels() map[string]*model.MatchString { + if x != nil { + return x.Labels } return nil } -func (m *Rule) GetAmounts() []*Amount { - if m != nil { - return m.Amounts +func (x *Rule) GetAmounts() []*Amount { + if x != nil { + return x.Amounts } return nil } -func (m *Rule) GetAction() *wrapperspb.StringValue { - if m != nil { - return m.Action +func (x *Rule) GetAction() *wrapperspb.StringValue { + if x != nil { + return x.Action } return nil } -func (m *Rule) GetDisable() *wrapperspb.BoolValue { - if m != nil { - return m.Disable +func (x *Rule) GetDisable() *wrapperspb.BoolValue { + if x != nil { + return x.Disable } return nil } -func (m *Rule) GetReport() *Report { - if m != nil { - return m.Report +func (x *Rule) GetReport() *Report { + if x != nil { + return x.Report } return nil } -func (m *Rule) GetCtime() *wrapperspb.StringValue { - if m != nil { - return m.Ctime +func (x *Rule) GetCtime() *wrapperspb.StringValue { + if x != nil { + return x.Ctime } return nil } -func (m *Rule) GetMtime() *wrapperspb.StringValue { - if m != nil { - return m.Mtime +func (x *Rule) GetMtime() *wrapperspb.StringValue { + if x != nil { + return x.Mtime } return nil } -func (m *Rule) GetRevision() *wrapperspb.StringValue { - if m != nil { - return m.Revision +func (x *Rule) GetRevision() *wrapperspb.StringValue { + if x != nil { + return x.Revision } return nil } -func (m *Rule) GetServiceToken() *wrapperspb.StringValue { - if m != nil { - return m.ServiceToken +func (x *Rule) GetServiceToken() *wrapperspb.StringValue { + if x != nil { + return x.ServiceToken } return nil } -func (m *Rule) GetAdjuster() *AmountAdjuster { - if m != nil { - return m.Adjuster +func (x *Rule) GetAdjuster() *AmountAdjuster { + if x != nil { + return x.Adjuster } return nil } -func (m *Rule) GetRegexCombine() *wrapperspb.BoolValue { - if m != nil { - return m.RegexCombine +func (x *Rule) GetRegexCombine() *wrapperspb.BoolValue { + if x != nil { + return x.RegexCombine } return nil } -func (m *Rule) GetAmountMode() Rule_AmountMode { - if m != nil { - return m.AmountMode +func (x *Rule) GetAmountMode() Rule_AmountMode { + if x != nil { + return x.AmountMode } return Rule_GLOBAL_TOTAL } -func (m *Rule) GetFailover() Rule_FailoverType { - if m != nil { - return m.Failover +func (x *Rule) GetFailover() Rule_FailoverType { + if x != nil { + return x.Failover } return Rule_FAILOVER_LOCAL } -func (m *Rule) GetCluster() *RateLimitCluster { - if m != nil { - return m.Cluster +func (x *Rule) GetCluster() *RateLimitCluster { + if x != nil { + return x.Cluster + } + return nil +} + +func (x *Rule) GetMethod() *model.MatchString { + if x != nil { + return x.Method + } + return nil +} + +func (x *Rule) GetArguments() []*MatchArgument { + if x != nil { + return x.Arguments } return nil } -func (m *Rule) GetMethod() *model.MatchString { - if m != nil { - return m.Method +func (x *Rule) GetName() *wrapperspb.StringValue { + if x != nil { + return x.Name } return nil } -func (m *Rule) GetArguments() []*MatchArgument { - if m != nil { - return m.Arguments +func (x *Rule) GetEtime() *wrapperspb.StringValue { + if x != nil { + return x.Etime } return nil } -func (m *Rule) GetName() *wrapperspb.StringValue { - if m != nil { - return m.Name +func (x *Rule) GetMaxQueueDelay() *wrapperspb.UInt32Value { + if x != nil { + return x.MaxQueueDelay } return nil } -func (m *Rule) GetEtime() *wrapperspb.StringValue { - if m != nil { - return m.Etime +func (x *Rule) GetConcurrencyAmount() *ConcurrencyAmount { + if x != nil { + return x.ConcurrencyAmount } return nil } -func (m *Rule) GetMaxQueueDelay() *wrapperspb.UInt32Value { - if m != nil { - return m.MaxQueueDelay +func (x *Rule) GetCustomResponse() *CustomResponse { + if x != nil { + return x.CustomResponse } return nil } -func (m *Rule) GetMetadata() map[string]string { - if m != nil { - return m.Metadata +func (x *Rule) GetMetadata() map[string]string { + if x != nil { + return x.Metadata } return nil } +func (x *Rule) GetEditable() bool { + if x != nil { + return x.Editable + } + return false +} + +func (x *Rule) GetDeleteable() bool { + if x != nil { + return x.Deleteable + } + return false +} + type MatchArgument struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + Type MatchArgument_Type `protobuf:"varint,1,opt,name=type,proto3,enum=v1.MatchArgument_Type" json:"type,omitempty"` // header key or query key Key string `protobuf:"bytes,2,opt,name=key,proto3" json:"key,omitempty"` // header value or query value - Value *model.MatchString `protobuf:"bytes,3,opt,name=value,proto3" json:"value,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + Value *model.MatchString `protobuf:"bytes,3,opt,name=value,proto3" json:"value,omitempty"` +} + +func (x *MatchArgument) Reset() { + *x = MatchArgument{} + if protoimpl.UnsafeEnabled { + mi := &file_ratelimit_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MatchArgument) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *MatchArgument) Reset() { *m = MatchArgument{} } -func (m *MatchArgument) String() string { return proto.CompactTextString(m) } -func (*MatchArgument) ProtoMessage() {} +func (*MatchArgument) ProtoMessage() {} + +func (x *MatchArgument) ProtoReflect() protoreflect.Message { + mi := &file_ratelimit_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use MatchArgument.ProtoReflect.Descriptor instead. func (*MatchArgument) Descriptor() ([]byte, []int) { - return fileDescriptor_ratelimit_6eb2b3b9acb3f338, []int{2} + return file_ratelimit_proto_rawDescGZIP(), []int{2} +} + +func (x *MatchArgument) GetType() MatchArgument_Type { + if x != nil { + return x.Type + } + return MatchArgument_CUSTOM +} + +func (x *MatchArgument) GetKey() string { + if x != nil { + return x.Key + } + return "" } -func (m *MatchArgument) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_MatchArgument.Unmarshal(m, b) + +func (x *MatchArgument) GetValue() *model.MatchString { + if x != nil { + return x.Value + } + return nil } -func (m *MatchArgument) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_MatchArgument.Marshal(b, m, deterministic) + +// concurrency rate-limit amount config +type ConcurrencyAmount struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + MaxAmount uint32 `protobuf:"varint,1,opt,name=maxAmount,json=max_amount,proto3" json:"maxAmount,omitempty"` } -func (dst *MatchArgument) XXX_Merge(src proto.Message) { - xxx_messageInfo_MatchArgument.Merge(dst, src) + +func (x *ConcurrencyAmount) Reset() { + *x = ConcurrencyAmount{} + if protoimpl.UnsafeEnabled { + mi := &file_ratelimit_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (m *MatchArgument) XXX_Size() int { - return xxx_messageInfo_MatchArgument.Size(m) + +func (x *ConcurrencyAmount) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *MatchArgument) XXX_DiscardUnknown() { - xxx_messageInfo_MatchArgument.DiscardUnknown(m) + +func (*ConcurrencyAmount) ProtoMessage() {} + +func (x *ConcurrencyAmount) ProtoReflect() protoreflect.Message { + mi := &file_ratelimit_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) } -var xxx_messageInfo_MatchArgument proto.InternalMessageInfo +// Deprecated: Use ConcurrencyAmount.ProtoReflect.Descriptor instead. +func (*ConcurrencyAmount) Descriptor() ([]byte, []int) { + return file_ratelimit_proto_rawDescGZIP(), []int{3} +} -func (m *MatchArgument) GetType() MatchArgument_Type { - if m != nil { - return m.Type +func (x *ConcurrencyAmount) GetMaxAmount() uint32 { + if x != nil { + return x.MaxAmount } - return MatchArgument_CUSTOM + return 0 +} + +// custom response text when limited +type CustomResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Body string `protobuf:"bytes,3,opt,name=body,proto3" json:"body,omitempty"` } -func (m *MatchArgument) GetKey() string { - if m != nil { - return m.Key +func (x *CustomResponse) Reset() { + *x = CustomResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_ratelimit_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return "" } -func (m *MatchArgument) GetValue() *model.MatchString { - if m != nil { - return m.Value +func (x *CustomResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CustomResponse) ProtoMessage() {} + +func (x *CustomResponse) ProtoReflect() protoreflect.Message { + mi := &file_ratelimit_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return nil + return mi.MessageOf(x) +} + +// Deprecated: Use CustomResponse.ProtoReflect.Descriptor instead. +func (*CustomResponse) Descriptor() ([]byte, []int) { + return file_ratelimit_proto_rawDescGZIP(), []int{4} +} + +func (x *CustomResponse) GetBody() string { + if x != nil { + return x.Body + } + return "" } // 分布式限流服务集群 type RateLimitCluster struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + Service *wrapperspb.StringValue `protobuf:"bytes,1,opt,name=service,proto3" json:"service,omitempty"` // 限流规则所属命名空间 - Namespace *wrapperspb.StringValue `protobuf:"bytes,2,opt,name=namespace,proto3" json:"namespace,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + Namespace *wrapperspb.StringValue `protobuf:"bytes,2,opt,name=namespace,proto3" json:"namespace,omitempty"` } -func (m *RateLimitCluster) Reset() { *m = RateLimitCluster{} } -func (m *RateLimitCluster) String() string { return proto.CompactTextString(m) } -func (*RateLimitCluster) ProtoMessage() {} -func (*RateLimitCluster) Descriptor() ([]byte, []int) { - return fileDescriptor_ratelimit_6eb2b3b9acb3f338, []int{3} -} -func (m *RateLimitCluster) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_RateLimitCluster.Unmarshal(m, b) -} -func (m *RateLimitCluster) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_RateLimitCluster.Marshal(b, m, deterministic) -} -func (dst *RateLimitCluster) XXX_Merge(src proto.Message) { - xxx_messageInfo_RateLimitCluster.Merge(dst, src) +func (x *RateLimitCluster) Reset() { + *x = RateLimitCluster{} + if protoimpl.UnsafeEnabled { + mi := &file_ratelimit_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (m *RateLimitCluster) XXX_Size() int { - return xxx_messageInfo_RateLimitCluster.Size(m) + +func (x *RateLimitCluster) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *RateLimitCluster) XXX_DiscardUnknown() { - xxx_messageInfo_RateLimitCluster.DiscardUnknown(m) + +func (*RateLimitCluster) ProtoMessage() {} + +func (x *RateLimitCluster) ProtoReflect() protoreflect.Message { + mi := &file_ratelimit_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) } -var xxx_messageInfo_RateLimitCluster proto.InternalMessageInfo +// Deprecated: Use RateLimitCluster.ProtoReflect.Descriptor instead. +func (*RateLimitCluster) Descriptor() ([]byte, []int) { + return file_ratelimit_proto_rawDescGZIP(), []int{5} +} -func (m *RateLimitCluster) GetService() *wrapperspb.StringValue { - if m != nil { - return m.Service +func (x *RateLimitCluster) GetService() *wrapperspb.StringValue { + if x != nil { + return x.Service } return nil } -func (m *RateLimitCluster) GetNamespace() *wrapperspb.StringValue { - if m != nil { - return m.Namespace +func (x *RateLimitCluster) GetNamespace() *wrapperspb.StringValue { + if x != nil { + return x.Namespace } return nil } // 限流配额 type Amount struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + // 时间周期内的最大配额数 MaxAmount *wrapperspb.UInt32Value `protobuf:"bytes,1,opt,name=maxAmount,proto3" json:"maxAmount,omitempty"` // 配额生效的时间周期,必须大于等于1s @@ -598,728 +890,1353 @@ type Amount struct { // 可选,起始限流阈值,爬坡起始值 StartAmount *wrapperspb.UInt32Value `protobuf:"bytes,4,opt,name=startAmount,proto3" json:"startAmount,omitempty"` // 可选,最小限流阈值,降低时最小值 - MinAmount *wrapperspb.UInt32Value `protobuf:"bytes,5,opt,name=minAmount,proto3" json:"minAmount,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + MinAmount *wrapperspb.UInt32Value `protobuf:"bytes,5,opt,name=minAmount,proto3" json:"minAmount,omitempty"` } -func (m *Amount) Reset() { *m = Amount{} } -func (m *Amount) String() string { return proto.CompactTextString(m) } -func (*Amount) ProtoMessage() {} -func (*Amount) Descriptor() ([]byte, []int) { - return fileDescriptor_ratelimit_6eb2b3b9acb3f338, []int{4} -} -func (m *Amount) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_Amount.Unmarshal(m, b) -} -func (m *Amount) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_Amount.Marshal(b, m, deterministic) -} -func (dst *Amount) XXX_Merge(src proto.Message) { - xxx_messageInfo_Amount.Merge(dst, src) +func (x *Amount) Reset() { + *x = Amount{} + if protoimpl.UnsafeEnabled { + mi := &file_ratelimit_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (m *Amount) XXX_Size() int { - return xxx_messageInfo_Amount.Size(m) + +func (x *Amount) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *Amount) XXX_DiscardUnknown() { - xxx_messageInfo_Amount.DiscardUnknown(m) + +func (*Amount) ProtoMessage() {} + +func (x *Amount) ProtoReflect() protoreflect.Message { + mi := &file_ratelimit_proto_msgTypes[6] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) } -var xxx_messageInfo_Amount proto.InternalMessageInfo +// Deprecated: Use Amount.ProtoReflect.Descriptor instead. +func (*Amount) Descriptor() ([]byte, []int) { + return file_ratelimit_proto_rawDescGZIP(), []int{6} +} -func (m *Amount) GetMaxAmount() *wrapperspb.UInt32Value { - if m != nil { - return m.MaxAmount +func (x *Amount) GetMaxAmount() *wrapperspb.UInt32Value { + if x != nil { + return x.MaxAmount } return nil } -func (m *Amount) GetValidDuration() *durationpb.Duration { - if m != nil { - return m.ValidDuration +func (x *Amount) GetValidDuration() *durationpb.Duration { + if x != nil { + return x.ValidDuration } return nil } -func (m *Amount) GetPrecision() *wrapperspb.UInt32Value { - if m != nil { - return m.Precision +func (x *Amount) GetPrecision() *wrapperspb.UInt32Value { + if x != nil { + return x.Precision } return nil } -func (m *Amount) GetStartAmount() *wrapperspb.UInt32Value { - if m != nil { - return m.StartAmount +func (x *Amount) GetStartAmount() *wrapperspb.UInt32Value { + if x != nil { + return x.StartAmount } return nil } -func (m *Amount) GetMinAmount() *wrapperspb.UInt32Value { - if m != nil { - return m.MinAmount +func (x *Amount) GetMinAmount() *wrapperspb.UInt32Value { + if x != nil { + return x.MinAmount } return nil } // 限流上报方式 type Report struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + // 配额固定上报周期,单位毫秒 Interval *durationpb.Duration `protobuf:"bytes,1,opt,name=interval,proto3" json:"interval,omitempty"` // 使用了百分之多少配额后启动一次实时上报,值范围(0,100] - AmountPercent *wrapperspb.UInt32Value `protobuf:"bytes,2,opt,name=amountPercent,proto3" json:"amountPercent,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + AmountPercent *wrapperspb.UInt32Value `protobuf:"bytes,2,opt,name=amountPercent,proto3" json:"amountPercent,omitempty"` } -func (m *Report) Reset() { *m = Report{} } -func (m *Report) String() string { return proto.CompactTextString(m) } -func (*Report) ProtoMessage() {} -func (*Report) Descriptor() ([]byte, []int) { - return fileDescriptor_ratelimit_6eb2b3b9acb3f338, []int{5} -} -func (m *Report) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_Report.Unmarshal(m, b) -} -func (m *Report) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_Report.Marshal(b, m, deterministic) -} -func (dst *Report) XXX_Merge(src proto.Message) { - xxx_messageInfo_Report.Merge(dst, src) +func (x *Report) Reset() { + *x = Report{} + if protoimpl.UnsafeEnabled { + mi := &file_ratelimit_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (m *Report) XXX_Size() int { - return xxx_messageInfo_Report.Size(m) + +func (x *Report) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *Report) XXX_DiscardUnknown() { - xxx_messageInfo_Report.DiscardUnknown(m) + +func (*Report) ProtoMessage() {} + +func (x *Report) ProtoReflect() protoreflect.Message { + mi := &file_ratelimit_proto_msgTypes[7] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) } -var xxx_messageInfo_Report proto.InternalMessageInfo +// Deprecated: Use Report.ProtoReflect.Descriptor instead. +func (*Report) Descriptor() ([]byte, []int) { + return file_ratelimit_proto_rawDescGZIP(), []int{7} +} -func (m *Report) GetInterval() *durationpb.Duration { - if m != nil { - return m.Interval +func (x *Report) GetInterval() *durationpb.Duration { + if x != nil { + return x.Interval } return nil } -func (m *Report) GetAmountPercent() *wrapperspb.UInt32Value { - if m != nil { - return m.AmountPercent +func (x *Report) GetAmountPercent() *wrapperspb.UInt32Value { + if x != nil { + return x.AmountPercent } return nil } // 配额调整算法 type AmountAdjuster struct { - Climb *ClimbConfig `protobuf:"bytes,1,opt,name=climb,proto3" json:"climb,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields -func (m *AmountAdjuster) Reset() { *m = AmountAdjuster{} } -func (m *AmountAdjuster) String() string { return proto.CompactTextString(m) } -func (*AmountAdjuster) ProtoMessage() {} -func (*AmountAdjuster) Descriptor() ([]byte, []int) { - return fileDescriptor_ratelimit_6eb2b3b9acb3f338, []int{6} -} -func (m *AmountAdjuster) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_AmountAdjuster.Unmarshal(m, b) + Climb *ClimbConfig `protobuf:"bytes,1,opt,name=climb,proto3" json:"climb,omitempty"` } -func (m *AmountAdjuster) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_AmountAdjuster.Marshal(b, m, deterministic) -} -func (dst *AmountAdjuster) XXX_Merge(src proto.Message) { - xxx_messageInfo_AmountAdjuster.Merge(dst, src) + +func (x *AmountAdjuster) Reset() { + *x = AmountAdjuster{} + if protoimpl.UnsafeEnabled { + mi := &file_ratelimit_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (m *AmountAdjuster) XXX_Size() int { - return xxx_messageInfo_AmountAdjuster.Size(m) + +func (x *AmountAdjuster) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *AmountAdjuster) XXX_DiscardUnknown() { - xxx_messageInfo_AmountAdjuster.DiscardUnknown(m) + +func (*AmountAdjuster) ProtoMessage() {} + +func (x *AmountAdjuster) ProtoReflect() protoreflect.Message { + mi := &file_ratelimit_proto_msgTypes[8] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) } -var xxx_messageInfo_AmountAdjuster proto.InternalMessageInfo +// Deprecated: Use AmountAdjuster.ProtoReflect.Descriptor instead. +func (*AmountAdjuster) Descriptor() ([]byte, []int) { + return file_ratelimit_proto_rawDescGZIP(), []int{8} +} -func (m *AmountAdjuster) GetClimb() *ClimbConfig { - if m != nil { - return m.Climb +func (x *AmountAdjuster) GetClimb() *ClimbConfig { + if x != nil { + return x.Climb } return nil } // 限流调整算法Climb相关配置 type ClimbConfig struct { - Enable *wrapperspb.BoolValue `protobuf:"bytes,1,opt,name=enable,proto3" json:"enable,omitempty"` - Metric *ClimbConfig_MetricConfig `protobuf:"bytes,2,opt,name=metric,proto3" json:"metric,omitempty"` - Policy *ClimbConfig_TriggerPolicy `protobuf:"bytes,3,opt,name=policy,proto3" json:"policy,omitempty"` - Throttling *ClimbConfig_ClimbThrottling `protobuf:"bytes,4,opt,name=throttling,proto3" json:"throttling,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *ClimbConfig) Reset() { *m = ClimbConfig{} } -func (m *ClimbConfig) String() string { return proto.CompactTextString(m) } -func (*ClimbConfig) ProtoMessage() {} -func (*ClimbConfig) Descriptor() ([]byte, []int) { - return fileDescriptor_ratelimit_6eb2b3b9acb3f338, []int{7} -} -func (m *ClimbConfig) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_ClimbConfig.Unmarshal(m, b) -} -func (m *ClimbConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_ClimbConfig.Marshal(b, m, deterministic) + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Enable *wrapperspb.BoolValue `protobuf:"bytes,1,opt,name=enable,proto3" json:"enable,omitempty"` // 是否开启 + Metric *ClimbConfig_MetricConfig `protobuf:"bytes,2,opt,name=metric,proto3" json:"metric,omitempty"` // 限流数据统计配置 + Policy *ClimbConfig_TriggerPolicy `protobuf:"bytes,3,opt,name=policy,proto3" json:"policy,omitempty"` // 触发调整策略 + Throttling *ClimbConfig_ClimbThrottling `protobuf:"bytes,4,opt,name=throttling,proto3" json:"throttling,omitempty"` // 限流调整相关参数 } -func (dst *ClimbConfig) XXX_Merge(src proto.Message) { - xxx_messageInfo_ClimbConfig.Merge(dst, src) + +func (x *ClimbConfig) Reset() { + *x = ClimbConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_ratelimit_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (m *ClimbConfig) XXX_Size() int { - return xxx_messageInfo_ClimbConfig.Size(m) + +func (x *ClimbConfig) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *ClimbConfig) XXX_DiscardUnknown() { - xxx_messageInfo_ClimbConfig.DiscardUnknown(m) + +func (*ClimbConfig) ProtoMessage() {} + +func (x *ClimbConfig) ProtoReflect() protoreflect.Message { + mi := &file_ratelimit_proto_msgTypes[9] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) } -var xxx_messageInfo_ClimbConfig proto.InternalMessageInfo +// Deprecated: Use ClimbConfig.ProtoReflect.Descriptor instead. +func (*ClimbConfig) Descriptor() ([]byte, []int) { + return file_ratelimit_proto_rawDescGZIP(), []int{9} +} -func (m *ClimbConfig) GetEnable() *wrapperspb.BoolValue { - if m != nil { - return m.Enable +func (x *ClimbConfig) GetEnable() *wrapperspb.BoolValue { + if x != nil { + return x.Enable } return nil } -func (m *ClimbConfig) GetMetric() *ClimbConfig_MetricConfig { - if m != nil { - return m.Metric +func (x *ClimbConfig) GetMetric() *ClimbConfig_MetricConfig { + if x != nil { + return x.Metric } return nil } -func (m *ClimbConfig) GetPolicy() *ClimbConfig_TriggerPolicy { - if m != nil { - return m.Policy +func (x *ClimbConfig) GetPolicy() *ClimbConfig_TriggerPolicy { + if x != nil { + return x.Policy } return nil } -func (m *ClimbConfig) GetThrottling() *ClimbConfig_ClimbThrottling { - if m != nil { - return m.Throttling +func (x *ClimbConfig) GetThrottling() *ClimbConfig_ClimbThrottling { + if x != nil { + return x.Throttling } return nil } // 限流数据统计配置 type ClimbConfig_MetricConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + // 限流数据度量周期,默认60s Window *durationpb.Duration `protobuf:"bytes,1,opt,name=window,proto3" json:"window,omitempty"` // 数据统计精度,决定数据度量的最小周期,度量滑窗的步长=window/precision Precision *wrapperspb.UInt32Value `protobuf:"bytes,2,opt,name=precision,proto3" json:"precision,omitempty"` // 上报周期,默认20s - ReportInterval *durationpb.Duration `protobuf:"bytes,3,opt,name=reportInterval,proto3" json:"reportInterval,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + ReportInterval *durationpb.Duration `protobuf:"bytes,3,opt,name=reportInterval,proto3" json:"reportInterval,omitempty"` } -func (m *ClimbConfig_MetricConfig) Reset() { *m = ClimbConfig_MetricConfig{} } -func (m *ClimbConfig_MetricConfig) String() string { return proto.CompactTextString(m) } -func (*ClimbConfig_MetricConfig) ProtoMessage() {} -func (*ClimbConfig_MetricConfig) Descriptor() ([]byte, []int) { - return fileDescriptor_ratelimit_6eb2b3b9acb3f338, []int{7, 0} -} -func (m *ClimbConfig_MetricConfig) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_ClimbConfig_MetricConfig.Unmarshal(m, b) -} -func (m *ClimbConfig_MetricConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_ClimbConfig_MetricConfig.Marshal(b, m, deterministic) -} -func (dst *ClimbConfig_MetricConfig) XXX_Merge(src proto.Message) { - xxx_messageInfo_ClimbConfig_MetricConfig.Merge(dst, src) +func (x *ClimbConfig_MetricConfig) Reset() { + *x = ClimbConfig_MetricConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_ratelimit_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (m *ClimbConfig_MetricConfig) XXX_Size() int { - return xxx_messageInfo_ClimbConfig_MetricConfig.Size(m) + +func (x *ClimbConfig_MetricConfig) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *ClimbConfig_MetricConfig) XXX_DiscardUnknown() { - xxx_messageInfo_ClimbConfig_MetricConfig.DiscardUnknown(m) + +func (*ClimbConfig_MetricConfig) ProtoMessage() {} + +func (x *ClimbConfig_MetricConfig) ProtoReflect() protoreflect.Message { + mi := &file_ratelimit_proto_msgTypes[13] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) } -var xxx_messageInfo_ClimbConfig_MetricConfig proto.InternalMessageInfo +// Deprecated: Use ClimbConfig_MetricConfig.ProtoReflect.Descriptor instead. +func (*ClimbConfig_MetricConfig) Descriptor() ([]byte, []int) { + return file_ratelimit_proto_rawDescGZIP(), []int{9, 0} +} -func (m *ClimbConfig_MetricConfig) GetWindow() *durationpb.Duration { - if m != nil { - return m.Window +func (x *ClimbConfig_MetricConfig) GetWindow() *durationpb.Duration { + if x != nil { + return x.Window } return nil } -func (m *ClimbConfig_MetricConfig) GetPrecision() *wrapperspb.UInt32Value { - if m != nil { - return m.Precision +func (x *ClimbConfig_MetricConfig) GetPrecision() *wrapperspb.UInt32Value { + if x != nil { + return x.Precision } return nil } -func (m *ClimbConfig_MetricConfig) GetReportInterval() *durationpb.Duration { - if m != nil { - return m.ReportInterval +func (x *ClimbConfig_MetricConfig) GetReportInterval() *durationpb.Duration { + if x != nil { + return x.ReportInterval } return nil } // 触发调整的策略 type ClimbConfig_TriggerPolicy struct { - ErrorRate *ClimbConfig_TriggerPolicy_ErrorRate `protobuf:"bytes,1,opt,name=errorRate,proto3" json:"errorRate,omitempty"` - SlowRate *ClimbConfig_TriggerPolicy_SlowRate `protobuf:"bytes,2,opt,name=slowRate,proto3" json:"slowRate,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields -func (m *ClimbConfig_TriggerPolicy) Reset() { *m = ClimbConfig_TriggerPolicy{} } -func (m *ClimbConfig_TriggerPolicy) String() string { return proto.CompactTextString(m) } -func (*ClimbConfig_TriggerPolicy) ProtoMessage() {} -func (*ClimbConfig_TriggerPolicy) Descriptor() ([]byte, []int) { - return fileDescriptor_ratelimit_6eb2b3b9acb3f338, []int{7, 1} -} -func (m *ClimbConfig_TriggerPolicy) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_ClimbConfig_TriggerPolicy.Unmarshal(m, b) + ErrorRate *ClimbConfig_TriggerPolicy_ErrorRate `protobuf:"bytes,1,opt,name=errorRate,proto3" json:"errorRate,omitempty"` // 按错误率阈值调整 + SlowRate *ClimbConfig_TriggerPolicy_SlowRate `protobuf:"bytes,2,opt,name=slowRate,proto3" json:"slowRate,omitempty"` // 慢调用进行触发调整 } -func (m *ClimbConfig_TriggerPolicy) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_ClimbConfig_TriggerPolicy.Marshal(b, m, deterministic) -} -func (dst *ClimbConfig_TriggerPolicy) XXX_Merge(src proto.Message) { - xxx_messageInfo_ClimbConfig_TriggerPolicy.Merge(dst, src) + +func (x *ClimbConfig_TriggerPolicy) Reset() { + *x = ClimbConfig_TriggerPolicy{} + if protoimpl.UnsafeEnabled { + mi := &file_ratelimit_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (m *ClimbConfig_TriggerPolicy) XXX_Size() int { - return xxx_messageInfo_ClimbConfig_TriggerPolicy.Size(m) + +func (x *ClimbConfig_TriggerPolicy) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *ClimbConfig_TriggerPolicy) XXX_DiscardUnknown() { - xxx_messageInfo_ClimbConfig_TriggerPolicy.DiscardUnknown(m) + +func (*ClimbConfig_TriggerPolicy) ProtoMessage() {} + +func (x *ClimbConfig_TriggerPolicy) ProtoReflect() protoreflect.Message { + mi := &file_ratelimit_proto_msgTypes[14] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) } -var xxx_messageInfo_ClimbConfig_TriggerPolicy proto.InternalMessageInfo +// Deprecated: Use ClimbConfig_TriggerPolicy.ProtoReflect.Descriptor instead. +func (*ClimbConfig_TriggerPolicy) Descriptor() ([]byte, []int) { + return file_ratelimit_proto_rawDescGZIP(), []int{9, 1} +} -func (m *ClimbConfig_TriggerPolicy) GetErrorRate() *ClimbConfig_TriggerPolicy_ErrorRate { - if m != nil { - return m.ErrorRate +func (x *ClimbConfig_TriggerPolicy) GetErrorRate() *ClimbConfig_TriggerPolicy_ErrorRate { + if x != nil { + return x.ErrorRate } return nil } -func (m *ClimbConfig_TriggerPolicy) GetSlowRate() *ClimbConfig_TriggerPolicy_SlowRate { - if m != nil { - return m.SlowRate +func (x *ClimbConfig_TriggerPolicy) GetSlowRate() *ClimbConfig_TriggerPolicy_SlowRate { + if x != nil { + return x.SlowRate } return nil } -// 错误率触发调整配置 -type ClimbConfig_TriggerPolicy_ErrorRate struct { - Enable *wrapperspb.BoolValue `protobuf:"bytes,1,opt,name=enable,proto3" json:"enable,omitempty"` - RequestVolumeThreshold *wrapperspb.UInt32Value `protobuf:"bytes,2,opt,name=requestVolumeThreshold,proto3" json:"requestVolumeThreshold,omitempty"` - ErrorRate *wrapperspb.Int32Value `protobuf:"bytes,3,opt,name=errorRate,proto3" json:"errorRate,omitempty"` - Specials []*ClimbConfig_TriggerPolicy_ErrorRate_SpecialConfig `protobuf:"bytes,4,rep,name=specials,proto3" json:"specials,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *ClimbConfig_TriggerPolicy_ErrorRate) Reset() { *m = ClimbConfig_TriggerPolicy_ErrorRate{} } -func (m *ClimbConfig_TriggerPolicy_ErrorRate) String() string { return proto.CompactTextString(m) } -func (*ClimbConfig_TriggerPolicy_ErrorRate) ProtoMessage() {} -func (*ClimbConfig_TriggerPolicy_ErrorRate) Descriptor() ([]byte, []int) { - return fileDescriptor_ratelimit_6eb2b3b9acb3f338, []int{7, 1, 0} -} -func (m *ClimbConfig_TriggerPolicy_ErrorRate) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_ClimbConfig_TriggerPolicy_ErrorRate.Unmarshal(m, b) -} -func (m *ClimbConfig_TriggerPolicy_ErrorRate) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_ClimbConfig_TriggerPolicy_ErrorRate.Marshal(b, m, deterministic) -} -func (dst *ClimbConfig_TriggerPolicy_ErrorRate) XXX_Merge(src proto.Message) { - xxx_messageInfo_ClimbConfig_TriggerPolicy_ErrorRate.Merge(dst, src) +// 爬坡调整相关参数 +type ClimbConfig_ClimbThrottling struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ColdBelowTuneDownRate *wrapperspb.Int32Value `protobuf:"bytes,1,opt,name=coldBelowTuneDownRate,proto3" json:"coldBelowTuneDownRate,omitempty"` // 冷水位以下区间的下调百分比 + ColdBelowTuneUpRate *wrapperspb.Int32Value `protobuf:"bytes,2,opt,name=coldBelowTuneUpRate,proto3" json:"coldBelowTuneUpRate,omitempty"` // 冷水位以下区间的上调百分比 + ColdAboveTuneDownRate *wrapperspb.Int32Value `protobuf:"bytes,3,opt,name=coldAboveTuneDownRate,proto3" json:"coldAboveTuneDownRate,omitempty"` // 冷水位以上区间的下调百分比 + ColdAboveTuneUpRate *wrapperspb.Int32Value `protobuf:"bytes,4,opt,name=coldAboveTuneUpRate,proto3" json:"coldAboveTuneUpRate,omitempty"` // 冷水位以上区间的上调百分比 + LimitThresholdToTuneUp *wrapperspb.Int32Value `protobuf:"bytes,5,opt,name=limitThresholdToTuneUp,proto3" json:"limitThresholdToTuneUp,omitempty"` // 冷水位以上,超过该百分的请求被限流后进行阈值上调 + JudgeDuration *durationpb.Duration `protobuf:"bytes,6,opt,name=judgeDuration,proto3" json:"judgeDuration,omitempty"` // 阈值调整规则的决策间隔 + TuneUpPeriod *wrapperspb.Int32Value `protobuf:"bytes,7,opt,name=tuneUpPeriod,proto3" json:"tuneUpPeriod,omitempty"` // 阈值上调周期数,连续N个决策间隔都为上调,才执行上调 + TuneDownPeriod *wrapperspb.Int32Value `protobuf:"bytes,8,opt,name=tuneDownPeriod,proto3" json:"tuneDownPeriod,omitempty"` // 阈值下调周期数,连续N个决策间隔都为下调,才执行下调 } -func (m *ClimbConfig_TriggerPolicy_ErrorRate) XXX_Size() int { - return xxx_messageInfo_ClimbConfig_TriggerPolicy_ErrorRate.Size(m) + +func (x *ClimbConfig_ClimbThrottling) Reset() { + *x = ClimbConfig_ClimbThrottling{} + if protoimpl.UnsafeEnabled { + mi := &file_ratelimit_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (m *ClimbConfig_TriggerPolicy_ErrorRate) XXX_DiscardUnknown() { - xxx_messageInfo_ClimbConfig_TriggerPolicy_ErrorRate.DiscardUnknown(m) + +func (x *ClimbConfig_ClimbThrottling) String() string { + return protoimpl.X.MessageStringOf(x) } -var xxx_messageInfo_ClimbConfig_TriggerPolicy_ErrorRate proto.InternalMessageInfo +func (*ClimbConfig_ClimbThrottling) ProtoMessage() {} -func (m *ClimbConfig_TriggerPolicy_ErrorRate) GetEnable() *wrapperspb.BoolValue { - if m != nil { - return m.Enable +func (x *ClimbConfig_ClimbThrottling) ProtoReflect() protoreflect.Message { + mi := &file_ratelimit_proto_msgTypes[15] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return nil + return mi.MessageOf(x) +} + +// Deprecated: Use ClimbConfig_ClimbThrottling.ProtoReflect.Descriptor instead. +func (*ClimbConfig_ClimbThrottling) Descriptor() ([]byte, []int) { + return file_ratelimit_proto_rawDescGZIP(), []int{9, 2} } -func (m *ClimbConfig_TriggerPolicy_ErrorRate) GetRequestVolumeThreshold() *wrapperspb.UInt32Value { - if m != nil { - return m.RequestVolumeThreshold +func (x *ClimbConfig_ClimbThrottling) GetColdBelowTuneDownRate() *wrapperspb.Int32Value { + if x != nil { + return x.ColdBelowTuneDownRate } return nil } -func (m *ClimbConfig_TriggerPolicy_ErrorRate) GetErrorRate() *wrapperspb.Int32Value { - if m != nil { - return m.ErrorRate +func (x *ClimbConfig_ClimbThrottling) GetColdBelowTuneUpRate() *wrapperspb.Int32Value { + if x != nil { + return x.ColdBelowTuneUpRate } return nil } -func (m *ClimbConfig_TriggerPolicy_ErrorRate) GetSpecials() []*ClimbConfig_TriggerPolicy_ErrorRate_SpecialConfig { - if m != nil { - return m.Specials +func (x *ClimbConfig_ClimbThrottling) GetColdAboveTuneDownRate() *wrapperspb.Int32Value { + if x != nil { + return x.ColdAboveTuneDownRate } return nil } -// 特殊错误码触发调整配置 -type ClimbConfig_TriggerPolicy_ErrorRate_SpecialConfig struct { - Type *wrapperspb.StringValue `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"` - ErrorCodes []*wrapperspb.Int64Value `protobuf:"bytes,2,rep,name=errorCodes,proto3" json:"errorCodes,omitempty"` - ErrorRate *wrapperspb.Int32Value `protobuf:"bytes,3,opt,name=errorRate,proto3" json:"errorRate,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` +func (x *ClimbConfig_ClimbThrottling) GetColdAboveTuneUpRate() *wrapperspb.Int32Value { + if x != nil { + return x.ColdAboveTuneUpRate + } + return nil } -func (m *ClimbConfig_TriggerPolicy_ErrorRate_SpecialConfig) Reset() { - *m = ClimbConfig_TriggerPolicy_ErrorRate_SpecialConfig{} -} -func (m *ClimbConfig_TriggerPolicy_ErrorRate_SpecialConfig) String() string { - return proto.CompactTextString(m) -} -func (*ClimbConfig_TriggerPolicy_ErrorRate_SpecialConfig) ProtoMessage() {} -func (*ClimbConfig_TriggerPolicy_ErrorRate_SpecialConfig) Descriptor() ([]byte, []int) { - return fileDescriptor_ratelimit_6eb2b3b9acb3f338, []int{7, 1, 0, 0} -} -func (m *ClimbConfig_TriggerPolicy_ErrorRate_SpecialConfig) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_ClimbConfig_TriggerPolicy_ErrorRate_SpecialConfig.Unmarshal(m, b) -} -func (m *ClimbConfig_TriggerPolicy_ErrorRate_SpecialConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_ClimbConfig_TriggerPolicy_ErrorRate_SpecialConfig.Marshal(b, m, deterministic) -} -func (dst *ClimbConfig_TriggerPolicy_ErrorRate_SpecialConfig) XXX_Merge(src proto.Message) { - xxx_messageInfo_ClimbConfig_TriggerPolicy_ErrorRate_SpecialConfig.Merge(dst, src) -} -func (m *ClimbConfig_TriggerPolicy_ErrorRate_SpecialConfig) XXX_Size() int { - return xxx_messageInfo_ClimbConfig_TriggerPolicy_ErrorRate_SpecialConfig.Size(m) -} -func (m *ClimbConfig_TriggerPolicy_ErrorRate_SpecialConfig) XXX_DiscardUnknown() { - xxx_messageInfo_ClimbConfig_TriggerPolicy_ErrorRate_SpecialConfig.DiscardUnknown(m) +func (x *ClimbConfig_ClimbThrottling) GetLimitThresholdToTuneUp() *wrapperspb.Int32Value { + if x != nil { + return x.LimitThresholdToTuneUp + } + return nil } -var xxx_messageInfo_ClimbConfig_TriggerPolicy_ErrorRate_SpecialConfig proto.InternalMessageInfo - -func (m *ClimbConfig_TriggerPolicy_ErrorRate_SpecialConfig) GetType() *wrapperspb.StringValue { - if m != nil { - return m.Type +func (x *ClimbConfig_ClimbThrottling) GetJudgeDuration() *durationpb.Duration { + if x != nil { + return x.JudgeDuration } return nil } -func (m *ClimbConfig_TriggerPolicy_ErrorRate_SpecialConfig) GetErrorCodes() []*wrapperspb.Int64Value { - if m != nil { - return m.ErrorCodes +func (x *ClimbConfig_ClimbThrottling) GetTuneUpPeriod() *wrapperspb.Int32Value { + if x != nil { + return x.TuneUpPeriod } return nil } -func (m *ClimbConfig_TriggerPolicy_ErrorRate_SpecialConfig) GetErrorRate() *wrapperspb.Int32Value { - if m != nil { - return m.ErrorRate +func (x *ClimbConfig_ClimbThrottling) GetTuneDownPeriod() *wrapperspb.Int32Value { + if x != nil { + return x.TuneDownPeriod } return nil } -// 慢调用触发调整配置 -type ClimbConfig_TriggerPolicy_SlowRate struct { - Enable *wrapperspb.BoolValue `protobuf:"bytes,1,opt,name=enable,proto3" json:"enable,omitempty"` - MaxRt *durationpb.Duration `protobuf:"bytes,2,opt,name=maxRt,proto3" json:"maxRt,omitempty"` - SlowRate *wrapperspb.Int32Value `protobuf:"bytes,3,opt,name=slowRate,proto3" json:"slowRate,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} +// 错误率触发调整配置 +type ClimbConfig_TriggerPolicy_ErrorRate struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields -func (m *ClimbConfig_TriggerPolicy_SlowRate) Reset() { *m = ClimbConfig_TriggerPolicy_SlowRate{} } -func (m *ClimbConfig_TriggerPolicy_SlowRate) String() string { return proto.CompactTextString(m) } -func (*ClimbConfig_TriggerPolicy_SlowRate) ProtoMessage() {} -func (*ClimbConfig_TriggerPolicy_SlowRate) Descriptor() ([]byte, []int) { - return fileDescriptor_ratelimit_6eb2b3b9acb3f338, []int{7, 1, 1} -} -func (m *ClimbConfig_TriggerPolicy_SlowRate) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_ClimbConfig_TriggerPolicy_SlowRate.Unmarshal(m, b) -} -func (m *ClimbConfig_TriggerPolicy_SlowRate) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_ClimbConfig_TriggerPolicy_SlowRate.Marshal(b, m, deterministic) + Enable *wrapperspb.BoolValue `protobuf:"bytes,1,opt,name=enable,proto3" json:"enable,omitempty"` // 是否开启 + RequestVolumeThreshold *wrapperspb.UInt32Value `protobuf:"bytes,2,opt,name=requestVolumeThreshold,proto3" json:"requestVolumeThreshold,omitempty"` // 触发限流调整的最小的请求数 + ErrorRate *wrapperspb.Int32Value `protobuf:"bytes,3,opt,name=errorRate,proto3" json:"errorRate,omitempty"` // 触发限流的错误率配置 + Specials []*ClimbConfig_TriggerPolicy_ErrorRate_SpecialConfig `protobuf:"bytes,4,rep,name=specials,proto3" json:"specials,omitempty"` // 针对部分错误码,使用额外的错误率统计,可设置多组特殊规则 } -func (dst *ClimbConfig_TriggerPolicy_SlowRate) XXX_Merge(src proto.Message) { - xxx_messageInfo_ClimbConfig_TriggerPolicy_SlowRate.Merge(dst, src) + +func (x *ClimbConfig_TriggerPolicy_ErrorRate) Reset() { + *x = ClimbConfig_TriggerPolicy_ErrorRate{} + if protoimpl.UnsafeEnabled { + mi := &file_ratelimit_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (m *ClimbConfig_TriggerPolicy_SlowRate) XXX_Size() int { - return xxx_messageInfo_ClimbConfig_TriggerPolicy_SlowRate.Size(m) + +func (x *ClimbConfig_TriggerPolicy_ErrorRate) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *ClimbConfig_TriggerPolicy_SlowRate) XXX_DiscardUnknown() { - xxx_messageInfo_ClimbConfig_TriggerPolicy_SlowRate.DiscardUnknown(m) + +func (*ClimbConfig_TriggerPolicy_ErrorRate) ProtoMessage() {} + +func (x *ClimbConfig_TriggerPolicy_ErrorRate) ProtoReflect() protoreflect.Message { + mi := &file_ratelimit_proto_msgTypes[16] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) } -var xxx_messageInfo_ClimbConfig_TriggerPolicy_SlowRate proto.InternalMessageInfo +// Deprecated: Use ClimbConfig_TriggerPolicy_ErrorRate.ProtoReflect.Descriptor instead. +func (*ClimbConfig_TriggerPolicy_ErrorRate) Descriptor() ([]byte, []int) { + return file_ratelimit_proto_rawDescGZIP(), []int{9, 1, 0} +} -func (m *ClimbConfig_TriggerPolicy_SlowRate) GetEnable() *wrapperspb.BoolValue { - if m != nil { - return m.Enable +func (x *ClimbConfig_TriggerPolicy_ErrorRate) GetEnable() *wrapperspb.BoolValue { + if x != nil { + return x.Enable } return nil } -func (m *ClimbConfig_TriggerPolicy_SlowRate) GetMaxRt() *durationpb.Duration { - if m != nil { - return m.MaxRt +func (x *ClimbConfig_TriggerPolicy_ErrorRate) GetRequestVolumeThreshold() *wrapperspb.UInt32Value { + if x != nil { + return x.RequestVolumeThreshold } return nil } -func (m *ClimbConfig_TriggerPolicy_SlowRate) GetSlowRate() *wrapperspb.Int32Value { - if m != nil { - return m.SlowRate +func (x *ClimbConfig_TriggerPolicy_ErrorRate) GetErrorRate() *wrapperspb.Int32Value { + if x != nil { + return x.ErrorRate } return nil } -// 爬坡调整相关参数 -type ClimbConfig_ClimbThrottling struct { - ColdBelowTuneDownRate *wrapperspb.Int32Value `protobuf:"bytes,1,opt,name=coldBelowTuneDownRate,proto3" json:"coldBelowTuneDownRate,omitempty"` - ColdBelowTuneUpRate *wrapperspb.Int32Value `protobuf:"bytes,2,opt,name=coldBelowTuneUpRate,proto3" json:"coldBelowTuneUpRate,omitempty"` - ColdAboveTuneDownRate *wrapperspb.Int32Value `protobuf:"bytes,3,opt,name=coldAboveTuneDownRate,proto3" json:"coldAboveTuneDownRate,omitempty"` - ColdAboveTuneUpRate *wrapperspb.Int32Value `protobuf:"bytes,4,opt,name=coldAboveTuneUpRate,proto3" json:"coldAboveTuneUpRate,omitempty"` - LimitThresholdToTuneUp *wrapperspb.Int32Value `protobuf:"bytes,5,opt,name=limitThresholdToTuneUp,proto3" json:"limitThresholdToTuneUp,omitempty"` - JudgeDuration *durationpb.Duration `protobuf:"bytes,6,opt,name=judgeDuration,proto3" json:"judgeDuration,omitempty"` - TuneUpPeriod *wrapperspb.Int32Value `protobuf:"bytes,7,opt,name=tuneUpPeriod,proto3" json:"tuneUpPeriod,omitempty"` - TuneDownPeriod *wrapperspb.Int32Value `protobuf:"bytes,8,opt,name=tuneDownPeriod,proto3" json:"tuneDownPeriod,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *ClimbConfig_ClimbThrottling) Reset() { *m = ClimbConfig_ClimbThrottling{} } -func (m *ClimbConfig_ClimbThrottling) String() string { return proto.CompactTextString(m) } -func (*ClimbConfig_ClimbThrottling) ProtoMessage() {} -func (*ClimbConfig_ClimbThrottling) Descriptor() ([]byte, []int) { - return fileDescriptor_ratelimit_6eb2b3b9acb3f338, []int{7, 2} -} -func (m *ClimbConfig_ClimbThrottling) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_ClimbConfig_ClimbThrottling.Unmarshal(m, b) +func (x *ClimbConfig_TriggerPolicy_ErrorRate) GetSpecials() []*ClimbConfig_TriggerPolicy_ErrorRate_SpecialConfig { + if x != nil { + return x.Specials + } + return nil } -func (m *ClimbConfig_ClimbThrottling) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_ClimbConfig_ClimbThrottling.Marshal(b, m, deterministic) + +// 慢调用触发调整配置 +type ClimbConfig_TriggerPolicy_SlowRate struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Enable *wrapperspb.BoolValue `protobuf:"bytes,1,opt,name=enable,proto3" json:"enable,omitempty"` // 是否开启 + MaxRt *durationpb.Duration `protobuf:"bytes,2,opt,name=maxRt,proto3" json:"maxRt,omitempty"` // 最大响应时间,超过该响应时间属于慢调用 + SlowRate *wrapperspb.Int32Value `protobuf:"bytes,3,opt,name=slowRate,proto3" json:"slowRate,omitempty"` // 慢请求率阈值,达到该阈值进行限流 } -func (dst *ClimbConfig_ClimbThrottling) XXX_Merge(src proto.Message) { - xxx_messageInfo_ClimbConfig_ClimbThrottling.Merge(dst, src) + +func (x *ClimbConfig_TriggerPolicy_SlowRate) Reset() { + *x = ClimbConfig_TriggerPolicy_SlowRate{} + if protoimpl.UnsafeEnabled { + mi := &file_ratelimit_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (m *ClimbConfig_ClimbThrottling) XXX_Size() int { - return xxx_messageInfo_ClimbConfig_ClimbThrottling.Size(m) + +func (x *ClimbConfig_TriggerPolicy_SlowRate) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *ClimbConfig_ClimbThrottling) XXX_DiscardUnknown() { - xxx_messageInfo_ClimbConfig_ClimbThrottling.DiscardUnknown(m) + +func (*ClimbConfig_TriggerPolicy_SlowRate) ProtoMessage() {} + +func (x *ClimbConfig_TriggerPolicy_SlowRate) ProtoReflect() protoreflect.Message { + mi := &file_ratelimit_proto_msgTypes[17] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) } -var xxx_messageInfo_ClimbConfig_ClimbThrottling proto.InternalMessageInfo +// Deprecated: Use ClimbConfig_TriggerPolicy_SlowRate.ProtoReflect.Descriptor instead. +func (*ClimbConfig_TriggerPolicy_SlowRate) Descriptor() ([]byte, []int) { + return file_ratelimit_proto_rawDescGZIP(), []int{9, 1, 1} +} -func (m *ClimbConfig_ClimbThrottling) GetColdBelowTuneDownRate() *wrapperspb.Int32Value { - if m != nil { - return m.ColdBelowTuneDownRate +func (x *ClimbConfig_TriggerPolicy_SlowRate) GetEnable() *wrapperspb.BoolValue { + if x != nil { + return x.Enable } return nil } -func (m *ClimbConfig_ClimbThrottling) GetColdBelowTuneUpRate() *wrapperspb.Int32Value { - if m != nil { - return m.ColdBelowTuneUpRate +func (x *ClimbConfig_TriggerPolicy_SlowRate) GetMaxRt() *durationpb.Duration { + if x != nil { + return x.MaxRt } return nil } -func (m *ClimbConfig_ClimbThrottling) GetColdAboveTuneDownRate() *wrapperspb.Int32Value { - if m != nil { - return m.ColdAboveTuneDownRate +func (x *ClimbConfig_TriggerPolicy_SlowRate) GetSlowRate() *wrapperspb.Int32Value { + if x != nil { + return x.SlowRate } return nil } -func (m *ClimbConfig_ClimbThrottling) GetColdAboveTuneUpRate() *wrapperspb.Int32Value { - if m != nil { - return m.ColdAboveTuneUpRate +// 特殊错误码触发调整配置 +type ClimbConfig_TriggerPolicy_ErrorRate_SpecialConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Type *wrapperspb.StringValue `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"` // 自定义错误类型 + ErrorCodes []*wrapperspb.Int64Value `protobuf:"bytes,2,rep,name=errorCodes,proto3" json:"errorCodes,omitempty"` // 特定规则针对的错误码 + ErrorRate *wrapperspb.Int32Value `protobuf:"bytes,3,opt,name=errorRate,proto3" json:"errorRate,omitempty"` //特定规则错误率 +} + +func (x *ClimbConfig_TriggerPolicy_ErrorRate_SpecialConfig) Reset() { + *x = ClimbConfig_TriggerPolicy_ErrorRate_SpecialConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_ratelimit_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return nil } -func (m *ClimbConfig_ClimbThrottling) GetLimitThresholdToTuneUp() *wrapperspb.Int32Value { - if m != nil { - return m.LimitThresholdToTuneUp +func (x *ClimbConfig_TriggerPolicy_ErrorRate_SpecialConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ClimbConfig_TriggerPolicy_ErrorRate_SpecialConfig) ProtoMessage() {} + +func (x *ClimbConfig_TriggerPolicy_ErrorRate_SpecialConfig) ProtoReflect() protoreflect.Message { + mi := &file_ratelimit_proto_msgTypes[18] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return nil + return mi.MessageOf(x) } -func (m *ClimbConfig_ClimbThrottling) GetJudgeDuration() *durationpb.Duration { - if m != nil { - return m.JudgeDuration +// Deprecated: Use ClimbConfig_TriggerPolicy_ErrorRate_SpecialConfig.ProtoReflect.Descriptor instead. +func (*ClimbConfig_TriggerPolicy_ErrorRate_SpecialConfig) Descriptor() ([]byte, []int) { + return file_ratelimit_proto_rawDescGZIP(), []int{9, 1, 0, 0} +} + +func (x *ClimbConfig_TriggerPolicy_ErrorRate_SpecialConfig) GetType() *wrapperspb.StringValue { + if x != nil { + return x.Type } return nil } -func (m *ClimbConfig_ClimbThrottling) GetTuneUpPeriod() *wrapperspb.Int32Value { - if m != nil { - return m.TuneUpPeriod +func (x *ClimbConfig_TriggerPolicy_ErrorRate_SpecialConfig) GetErrorCodes() []*wrapperspb.Int64Value { + if x != nil { + return x.ErrorCodes } return nil } -func (m *ClimbConfig_ClimbThrottling) GetTuneDownPeriod() *wrapperspb.Int32Value { - if m != nil { - return m.TuneDownPeriod +func (x *ClimbConfig_TriggerPolicy_ErrorRate_SpecialConfig) GetErrorRate() *wrapperspb.Int32Value { + if x != nil { + return x.ErrorRate } return nil } - -func init() { - proto.RegisterType((*RateLimit)(nil), "v1.RateLimit") - proto.RegisterType((*Rule)(nil), "v1.Rule") - proto.RegisterMapType((map[string]*model.MatchString)(nil), "v1.Rule.LabelsEntry") - proto.RegisterMapType((map[string]string)(nil), "v1.Rule.MetadataEntry") - proto.RegisterMapType((map[string]*model.MatchString)(nil), "v1.Rule.SubsetEntry") - proto.RegisterType((*MatchArgument)(nil), "v1.MatchArgument") - proto.RegisterType((*RateLimitCluster)(nil), "v1.RateLimitCluster") - proto.RegisterType((*Amount)(nil), "v1.Amount") - proto.RegisterType((*Report)(nil), "v1.Report") - proto.RegisterType((*AmountAdjuster)(nil), "v1.AmountAdjuster") - proto.RegisterType((*ClimbConfig)(nil), "v1.ClimbConfig") - proto.RegisterType((*ClimbConfig_MetricConfig)(nil), "v1.ClimbConfig.MetricConfig") - proto.RegisterType((*ClimbConfig_TriggerPolicy)(nil), "v1.ClimbConfig.TriggerPolicy") - proto.RegisterType((*ClimbConfig_TriggerPolicy_ErrorRate)(nil), "v1.ClimbConfig.TriggerPolicy.ErrorRate") - proto.RegisterType((*ClimbConfig_TriggerPolicy_ErrorRate_SpecialConfig)(nil), "v1.ClimbConfig.TriggerPolicy.ErrorRate.SpecialConfig") - proto.RegisterType((*ClimbConfig_TriggerPolicy_SlowRate)(nil), "v1.ClimbConfig.TriggerPolicy.SlowRate") - proto.RegisterType((*ClimbConfig_ClimbThrottling)(nil), "v1.ClimbConfig.ClimbThrottling") - proto.RegisterEnum("v1.Rule_Resource", Rule_Resource_name, Rule_Resource_value) - proto.RegisterEnum("v1.Rule_Type", Rule_Type_name, Rule_Type_value) - proto.RegisterEnum("v1.Rule_AmountMode", Rule_AmountMode_name, Rule_AmountMode_value) - proto.RegisterEnum("v1.Rule_FailoverType", Rule_FailoverType_name, Rule_FailoverType_value) - proto.RegisterEnum("v1.MatchArgument_Type", MatchArgument_Type_name, MatchArgument_Type_value) -} - -func init() { proto.RegisterFile("ratelimit.proto", fileDescriptor_ratelimit_6eb2b3b9acb3f338) } - -var fileDescriptor_ratelimit_6eb2b3b9acb3f338 = []byte{ - // 1628 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x58, 0xdd, 0x72, 0xdb, 0xc6, - 0x15, 0x36, 0x48, 0x8a, 0x22, 0x0f, 0x45, 0x89, 0x5e, 0xdb, 0x2a, 0xc2, 0x36, 0xa9, 0xcb, 0x49, - 0x1b, 0x4f, 0x27, 0x05, 0x2b, 0xc6, 0x8e, 0xd3, 0x64, 0xa6, 0x2e, 0x45, 0xd1, 0xb5, 0x3a, 0x54, - 0x24, 0x81, 0x94, 0xa7, 0xe9, 0x0d, 0x67, 0x09, 0xac, 0xa8, 0x4d, 0x00, 0x2c, 0xb3, 0x58, 0x50, - 0xd6, 0x75, 0x67, 0x7a, 0xdb, 0xc7, 0x68, 0x5f, 0xa1, 0x17, 0x9d, 0xe9, 0x13, 0x74, 0xfa, 0x06, - 0x7d, 0x86, 0x5e, 0xf5, 0x36, 0xb3, 0x8b, 0x25, 0x08, 0x50, 0x3f, 0x84, 0xed, 0x3b, 0x68, 0xcf, - 0xf7, 0x9d, 0x73, 0xf6, 0xec, 0xb7, 0xe7, 0xac, 0x08, 0x3b, 0x1c, 0x0b, 0xe2, 0x51, 0x9f, 0x0a, - 0x6b, 0xc6, 0x99, 0x60, 0xa8, 0x30, 0xdf, 0x6b, 0x7e, 0x34, 0x65, 0x6c, 0xea, 0x91, 0xb6, 0x5a, - 0x99, 0x44, 0xe7, 0xed, 0x4b, 0x8e, 0x67, 0x33, 0xc2, 0xc3, 0x18, 0x73, 0xdd, 0xee, 0x46, 0x1c, - 0x0b, 0xca, 0x02, 0x6d, 0xaf, 0xf9, 0xcc, 0x25, 0x5e, 0xfc, 0x47, 0x8b, 0x40, 0xd5, 0xc6, 0x82, - 0x0c, 0x64, 0x0c, 0xf4, 0x11, 0x6c, 0xf0, 0xc8, 0x23, 0xa1, 0x69, 0x3c, 0x2e, 0x3e, 0xa9, 0x75, - 0x2a, 0xd6, 0x7c, 0xcf, 0xb2, 0x23, 0x8f, 0xd8, 0xf1, 0x32, 0xfa, 0x02, 0x2a, 0x9c, 0xcc, 0x69, - 0x48, 0x59, 0x60, 0x16, 0x1e, 0x1b, 0x4f, 0x6a, 0x9d, 0x9f, 0x58, 0x71, 0x30, 0x6b, 0x11, 0xcc, - 0x1a, 0x0a, 0x4e, 0x83, 0xe9, 0x6b, 0xec, 0x45, 0xc4, 0x4e, 0xd0, 0xad, 0xff, 0xd7, 0xa1, 0x24, - 0x3d, 0xa1, 0x4f, 0xa1, 0x40, 0x5d, 0xd3, 0xc8, 0x41, 0x2e, 0x50, 0x17, 0x7d, 0x0e, 0x9b, 0x21, - 0xe1, 0x73, 0xea, 0x90, 0x5c, 0xf1, 0x16, 0x60, 0xf4, 0x25, 0x54, 0x03, 0xec, 0x93, 0x70, 0x86, - 0x1d, 0x62, 0x16, 0x73, 0x30, 0x97, 0x70, 0xf4, 0x29, 0x94, 0xc3, 0x68, 0x12, 0x12, 0x61, 0x96, - 0x54, 0x15, 0x1e, 0x2e, 0xaa, 0x60, 0x0d, 0xd5, 0x72, 0x3f, 0x10, 0xfc, 0xca, 0xd6, 0x18, 0x59, - 0x92, 0x19, 0xa7, 0x8c, 0x53, 0x71, 0x65, 0x6e, 0xdc, 0x12, 0xe8, 0xec, 0x30, 0x10, 0x9f, 0x75, - 0x74, 0x49, 0x16, 0x68, 0xf4, 0x2b, 0x59, 0xcc, 0x90, 0x45, 0xdc, 0x21, 0x66, 0xf9, 0xb1, 0xf1, - 0x64, 0xbb, 0x73, 0x3f, 0x89, 0x64, 0x6b, 0x83, 0x9d, 0x40, 0xd0, 0xcf, 0xa0, 0x24, 0xae, 0x66, - 0xc4, 0xdc, 0x54, 0xd0, 0x7a, 0x02, 0x1d, 0x5d, 0xcd, 0x88, 0xad, 0x4c, 0x32, 0x73, 0x0f, 0x4f, - 0x88, 0x17, 0x9a, 0x95, 0x95, 0xcc, 0x07, 0x6a, 0x59, 0x67, 0x1e, 0x63, 0xd0, 0xc7, 0xb0, 0x89, - 0x7d, 0x16, 0x05, 0x22, 0x34, 0xab, 0x0a, 0x0e, 0x12, 0xde, 0x55, 0x4b, 0xf6, 0xc2, 0x84, 0x9e, - 0x42, 0x19, 0x3b, 0x52, 0x3c, 0x26, 0xe4, 0x28, 0xa3, 0xc6, 0xa2, 0xa7, 0xb0, 0xe9, 0xd2, 0x10, - 0x4f, 0x3c, 0x62, 0xd6, 0x14, 0xad, 0x79, 0x8d, 0xb6, 0xcf, 0x98, 0xa7, 0x4f, 0x4d, 0x43, 0x51, - 0x0b, 0xca, 0x9c, 0xcc, 0x18, 0x17, 0xe6, 0x96, 0x22, 0xa9, 0x84, 0x6c, 0xb5, 0x62, 0x6b, 0x0b, - 0xea, 0xc0, 0x86, 0x23, 0xa8, 0x4f, 0xcc, 0x7a, 0x8e, 0x74, 0x62, 0xa8, 0xe4, 0xf8, 0x8a, 0xb3, - 0x9d, 0x87, 0xa3, 0xa0, 0x19, 0xa9, 0xef, 0xbc, 0x8d, 0xd4, 0xd1, 0x3e, 0xd4, 0xb5, 0x0c, 0xc7, - 0x82, 0x7d, 0x47, 0x02, 0xb3, 0x91, 0x83, 0x9e, 0xa5, 0x20, 0x0b, 0x2a, 0xd8, 0xfd, 0x36, 0x0a, - 0x05, 0xe1, 0xe6, 0x7d, 0x45, 0x47, 0xcb, 0xc3, 0xe9, 0x6a, 0x8b, 0x9d, 0x60, 0xd0, 0xef, 0xa0, - 0xce, 0xc9, 0x94, 0xbc, 0x19, 0x3b, 0xcc, 0x9f, 0xd0, 0x80, 0x98, 0x68, 0x6d, 0xd5, 0xb3, 0x04, - 0xf4, 0x14, 0x6a, 0xf1, 0x91, 0x8f, 0x65, 0x77, 0x30, 0x1f, 0x28, 0x95, 0x3d, 0x48, 0x04, 0x14, - 0x47, 0x3e, 0x62, 0x2e, 0xb1, 0x01, 0x27, 0xdf, 0x68, 0x0f, 0x2a, 0xe7, 0x98, 0x7a, 0x6c, 0x4e, - 0xb8, 0xf9, 0x50, 0x51, 0x1e, 0x25, 0x94, 0x97, 0xda, 0xa0, 0x04, 0x9a, 0xc0, 0x90, 0x05, 0x9b, - 0x8e, 0x17, 0xef, 0xec, 0x91, 0x4a, 0x32, 0x56, 0xe9, 0xa2, 0x07, 0xf5, 0x62, 0x9b, 0xbd, 0x00, - 0xa1, 0x4f, 0xa0, 0xec, 0x13, 0x71, 0xc1, 0x5c, 0x73, 0x57, 0xc1, 0x77, 0x24, 0xfc, 0x08, 0x0b, - 0xe7, 0x22, 0xae, 0x9f, 0xad, 0xcd, 0xa8, 0x0d, 0x55, 0xcc, 0xa7, 0x91, 0x4f, 0xa4, 0xa2, 0x7f, - 0xa4, 0x14, 0x7d, 0x3f, 0xc1, 0x76, 0xb5, 0xc5, 0x5e, 0x62, 0xd0, 0xaf, 0xa1, 0x24, 0x6f, 0xbd, - 0x69, 0xe6, 0x38, 0x1f, 0x85, 0x94, 0x42, 0x22, 0x4a, 0x48, 0x1f, 0xe4, 0x11, 0x92, 0x82, 0xa2, - 0x97, 0xb0, 0xe3, 0xe3, 0x37, 0xe3, 0xef, 0x23, 0x12, 0x91, 0xb1, 0x4b, 0x3c, 0x7c, 0x65, 0x36, - 0x73, 0xf4, 0x89, 0x55, 0x12, 0xea, 0x40, 0xc5, 0x27, 0x02, 0xbb, 0x58, 0x60, 0xb3, 0xa3, 0x76, - 0xb7, 0x9b, 0x94, 0xfa, 0x48, 0x1b, 0xe2, 0x0b, 0x9e, 0xe0, 0x9a, 0x7f, 0x80, 0x5a, 0xaa, 0x67, - 0xa1, 0x06, 0x14, 0xbf, 0x23, 0x57, 0xaa, 0xf9, 0x56, 0x6d, 0xf9, 0x89, 0x7e, 0x0e, 0x1b, 0x73, - 0x19, 0x4e, 0x77, 0xd7, 0x6b, 0xb5, 0x8d, 0xad, 0x5f, 0x16, 0xbe, 0x30, 0xa4, 0xaf, 0x54, 0x17, - 0x79, 0x3f, 0x5f, 0x5f, 0x41, 0x3d, 0x93, 0xf2, 0x0d, 0xde, 0x1e, 0xa6, 0xbd, 0x55, 0x53, 0xe4, - 0xd6, 0xc7, 0x50, 0x59, 0xb4, 0x47, 0xb4, 0x09, 0xc5, 0xd3, 0x93, 0x61, 0xe3, 0x1e, 0xda, 0x81, - 0x5a, 0xef, 0xf8, 0xeb, 0xde, 0x99, 0x6d, 0xf7, 0xbf, 0xee, 0x7d, 0xd3, 0x30, 0x5a, 0x1f, 0x42, - 0x49, 0x0a, 0x0f, 0x01, 0x94, 0x7f, 0x3f, 0x38, 0xde, 0xef, 0x0e, 0x1a, 0xf7, 0x50, 0x15, 0x36, - 0x06, 0xc7, 0xbd, 0xee, 0xa0, 0x61, 0xb4, 0xf6, 0x00, 0x96, 0x92, 0x46, 0x0d, 0xd8, 0x8a, 0x41, - 0xe3, 0xd1, 0xf1, 0x48, 0x41, 0xef, 0x43, 0x7d, 0xf8, 0xaa, 0x6b, 0xf7, 0xc7, 0xfd, 0xd3, 0xb3, - 0xee, 0x60, 0x20, 0x3d, 0x3e, 0x83, 0xad, 0xb4, 0xa4, 0x11, 0x82, 0xed, 0x97, 0xdd, 0xc3, 0xc1, - 0xf1, 0xeb, 0xbe, 0x3d, 0x8e, 0xdd, 0x2a, 0x5a, 0xb2, 0x76, 0xd2, 0x1d, 0x0e, 0x1b, 0x46, 0xeb, - 0xdf, 0x06, 0xd4, 0x33, 0x12, 0x44, 0xbf, 0xd4, 0x9d, 0xdc, 0x50, 0x17, 0x66, 0xf7, 0x9a, 0x46, - 0xd3, 0x2d, 0x5d, 0x17, 0xa6, 0x70, 0x43, 0x99, 0x8b, 0x77, 0x95, 0xb9, 0xf5, 0xc7, 0xe5, 0xfe, - 0x7b, 0x67, 0xc3, 0xd1, 0xf1, 0x51, 0xe3, 0x9e, 0xfc, 0x3e, 0xea, 0x8f, 0x5e, 0x1d, 0x1f, 0x34, - 0x0c, 0xf9, 0xfd, 0xaa, 0xdf, 0x3d, 0xe8, 0xdb, 0x8d, 0x82, 0xac, 0xcb, 0xe9, 0x59, 0xdf, 0xfe, - 0xa6, 0x51, 0x94, 0x9b, 0xea, 0x75, 0x07, 0x83, 0xbe, 0x3d, 0x1e, 0xf6, 0xed, 0xd7, 0x87, 0xbd, - 0x7e, 0xa3, 0x84, 0xea, 0x50, 0xd5, 0x6b, 0x87, 0x27, 0x8d, 0x8d, 0xd6, 0x5f, 0x0c, 0x68, 0xac, - 0x5e, 0xd7, 0xf4, 0xa0, 0x36, 0xde, 0x79, 0x50, 0x17, 0xde, 0x6a, 0x50, 0xb7, 0xfe, 0x59, 0x80, - 0x72, 0x7c, 0x88, 0xd2, 0x8d, 0x8f, 0xdf, 0xc4, 0x7f, 0xdc, 0x9a, 0x40, 0xfa, 0x7a, 0x2d, 0xe1, - 0xe8, 0x05, 0xd4, 0xe7, 0xd8, 0xa3, 0xee, 0x81, 0x7e, 0x25, 0xe9, 0x34, 0x3e, 0xb8, 0xc6, 0x5f, - 0x00, 0xec, 0x2c, 0x5e, 0x06, 0x9f, 0x71, 0xe2, 0xc4, 0xb3, 0xa2, 0x98, 0x27, 0x78, 0x02, 0x47, - 0xbf, 0x85, 0x5a, 0x28, 0x30, 0x17, 0x3a, 0xf5, 0x52, 0x0e, 0x76, 0x9a, 0xa0, 0x36, 0x4e, 0x03, - 0xcd, 0xde, 0xc8, 0xb5, 0xf1, 0x05, 0xbc, 0xf5, 0x67, 0x03, 0xca, 0xf1, 0x74, 0x45, 0xcf, 0xa0, - 0x42, 0x03, 0x41, 0xf8, 0x1c, 0x7b, 0xba, 0x7c, 0x77, 0x6c, 0x3f, 0x81, 0xca, 0x51, 0x17, 0x0f, - 0x83, 0x13, 0xc2, 0x1d, 0x12, 0x88, 0x5b, 0x4f, 0x30, 0x9d, 0x41, 0x96, 0xd2, 0x7a, 0x0e, 0xdb, - 0xd9, 0xb1, 0x26, 0x15, 0xee, 0x78, 0xd4, 0x9f, 0xe8, 0x4c, 0x94, 0xc2, 0x7b, 0x72, 0xa1, 0xc7, - 0x82, 0x73, 0x3a, 0xb5, 0x63, 0x6b, 0xeb, 0x3f, 0xdb, 0x50, 0x4b, 0x2d, 0xa3, 0x0e, 0x94, 0x49, - 0xa0, 0x9e, 0x1c, 0xc6, 0xda, 0xe1, 0xa7, 0x91, 0xf2, 0x75, 0xe3, 0x13, 0xc1, 0xa9, 0x93, 0x64, - 0x9e, 0x8d, 0x25, 0x3b, 0x2b, 0xa7, 0x8e, 0x0e, 0xac, 0xb1, 0xe8, 0x19, 0x94, 0x67, 0xcc, 0xa3, - 0xce, 0x95, 0x3e, 0xed, 0x0f, 0x57, 0x59, 0x23, 0x4e, 0xa7, 0x53, 0xc2, 0x4f, 0x14, 0xc8, 0xd6, - 0x60, 0xf4, 0x02, 0x40, 0x5c, 0x70, 0x26, 0x84, 0x47, 0x83, 0xa9, 0x3e, 0xea, 0x9f, 0xae, 0x52, - 0xd5, 0xf7, 0x28, 0x81, 0xd9, 0x29, 0x4a, 0xf3, 0x5f, 0x06, 0x6c, 0xa5, 0x13, 0x42, 0x7b, 0x50, - 0xbe, 0xa4, 0x81, 0xcb, 0x2e, 0xd7, 0x1f, 0x9a, 0x06, 0x66, 0xc5, 0x5a, 0x78, 0x3b, 0xb1, 0x76, - 0x61, 0x3b, 0x7e, 0x85, 0x1d, 0x2e, 0xb4, 0x52, 0x5c, 0x17, 0x76, 0x85, 0xd0, 0xfc, 0x5b, 0x19, - 0xea, 0x99, 0xea, 0xa0, 0x3e, 0x54, 0x09, 0xe7, 0x8c, 0xcb, 0x96, 0xa2, 0xb7, 0xf1, 0xc9, 0x9d, - 0xf5, 0xb4, 0xfa, 0x0b, 0xb8, 0xbd, 0x64, 0xa2, 0x7d, 0xa8, 0x84, 0x1e, 0xbb, 0x54, 0x5e, 0xe2, - 0x6d, 0xfd, 0xe2, 0x6e, 0x2f, 0x43, 0x8d, 0xb6, 0x13, 0x5e, 0xf3, 0xbf, 0x45, 0xa8, 0x26, 0xce, - 0xdf, 0x49, 0x4f, 0x23, 0xd8, 0xe5, 0xe4, 0xfb, 0x88, 0x84, 0xe2, 0x35, 0xf3, 0x22, 0x9f, 0x8c, - 0x2e, 0x38, 0x09, 0x2f, 0x98, 0xe7, 0xe6, 0x2a, 0xf5, 0x2d, 0x5c, 0xf4, 0x9b, 0x74, 0x89, 0xe2, - 0x92, 0xff, 0xf8, 0x9a, 0xa3, 0xf4, 0x91, 0x2d, 0xcb, 0x72, 0x0a, 0x95, 0x70, 0x46, 0x1c, 0x8a, - 0xbd, 0x50, 0xff, 0x3b, 0xf3, 0x2c, 0x67, 0x71, 0xad, 0x61, 0xcc, 0xd3, 0xda, 0x4f, 0xdc, 0x34, - 0xff, 0x61, 0x40, 0x3d, 0x63, 0x93, 0x0f, 0xa9, 0x64, 0xa0, 0xad, 0x7d, 0x48, 0xa9, 0xb1, 0xf6, - 0x15, 0x80, 0xca, 0xb1, 0xc7, 0x5c, 0x12, 0x9a, 0x05, 0x95, 0xd8, 0x8d, 0x5b, 0xfa, 0xfc, 0x69, - 0x4c, 0x4b, 0xc1, 0xdf, 0xa3, 0x1c, 0xcd, 0xbf, 0x1b, 0x50, 0x59, 0x1c, 0xfc, 0x3b, 0x1d, 0x70, - 0x1b, 0x36, 0x7c, 0xfc, 0xc6, 0x16, 0xeb, 0x87, 0x44, 0x8c, 0x43, 0xcf, 0x53, 0xba, 0xcc, 0x91, - 0xeb, 0x52, 0x8c, 0xff, 0x2b, 0xc1, 0xce, 0x4a, 0x33, 0x40, 0xa7, 0xf0, 0xc8, 0x61, 0x9e, 0xbb, - 0x4f, 0x3c, 0x76, 0x39, 0x8a, 0x02, 0x72, 0xc0, 0x2e, 0x83, 0xd4, 0xbd, 0xb9, 0xd3, 0xf3, 0xcd, - 0x4c, 0x74, 0x04, 0x0f, 0x32, 0x86, 0xb3, 0x59, 0xea, 0x0a, 0xdd, 0xe9, 0xf0, 0x26, 0xde, 0x22, - 0xc3, 0xee, 0x84, 0xcd, 0x49, 0x26, 0xc3, 0x62, 0xce, 0x0c, 0xaf, 0x31, 0x17, 0x19, 0x26, 0x06, - 0x9d, 0x61, 0x29, 0x67, 0x86, 0x2b, 0x3c, 0x34, 0x84, 0x5d, 0xf5, 0x83, 0x4a, 0x72, 0xbd, 0x46, - 0x2c, 0xb6, 0xea, 0xf1, 0x79, 0xa7, 0xc7, 0x5b, 0xa8, 0xf2, 0x0d, 0xf1, 0x6d, 0xe4, 0x4e, 0x49, - 0xf2, 0x86, 0x28, 0xaf, 0x7d, 0x43, 0x64, 0xf0, 0xe8, 0x05, 0x6c, 0x09, 0xe5, 0xea, 0x84, 0x70, - 0xca, 0x5c, 0xf5, 0x5f, 0xfe, 0x9a, 0x5c, 0x32, 0x04, 0xd4, 0x83, 0x6d, 0xa1, 0xab, 0xa6, 0x5d, - 0x54, 0xd6, 0xbb, 0x58, 0xa1, 0xec, 0xff, 0xd5, 0x80, 0xe7, 0x0e, 0xf3, 0x2d, 0x41, 0x02, 0x39, - 0x9b, 0xad, 0x19, 0xf3, 0x30, 0xa7, 0xa1, 0xa5, 0xee, 0xfe, 0x39, 0x75, 0xe2, 0x5f, 0x91, 0xf0, - 0x8c, 0xca, 0x1e, 0x22, 0x38, 0x3e, 0x3f, 0xa7, 0x8e, 0xe5, 0xe3, 0x00, 0x4f, 0xc9, 0xfe, 0x76, - 0xf2, 0x26, 0x3c, 0x91, 0x91, 0xfe, 0x74, 0x30, 0xa5, 0xe2, 0x22, 0x9a, 0x58, 0x0e, 0xf3, 0xdb, - 0xda, 0x8f, 0x4f, 0xc2, 0x8b, 0x76, 0xc6, 0x57, 0x3b, 0x7e, 0xc7, 0xb7, 0xa7, 0xac, 0x8d, 0x67, - 0xb4, 0x3d, 0xdf, 0x6b, 0x6b, 0xaf, 0xe3, 0xd8, 0xeb, 0xa4, 0xac, 0xd2, 0xfe, 0xec, 0x87, 0x00, - 0x00, 0x00, 0xff, 0xff, 0x27, 0x39, 0x43, 0x06, 0x09, 0x13, 0x00, 0x00, + +var File_ratelimit_proto protoreflect.FileDescriptor + +var file_ratelimit_proto_rawDesc = []byte{ + 0x0a, 0x0f, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x12, 0x02, 0x76, 0x31, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0b, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x22, 0x65, 0x0a, 0x09, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, + 0x1e, 0x0a, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x08, + 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x12, + 0x38, 0x0a, 0x08, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, + 0x08, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xb6, 0x0f, 0x0a, 0x04, 0x52, 0x75, + 0x6c, 0x65, 0x12, 0x2c, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x02, 0x69, 0x64, + 0x12, 0x36, 0x0a, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, + 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x3a, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, + 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, + 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, + 0x70, 0x61, 0x63, 0x65, 0x12, 0x2c, 0x0a, 0x06, 0x73, 0x75, 0x62, 0x73, 0x65, 0x74, 0x18, 0x04, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x75, 0x6c, 0x65, 0x2e, 0x53, + 0x75, 0x62, 0x73, 0x65, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x73, 0x75, 0x62, 0x73, + 0x65, 0x74, 0x12, 0x38, 0x0a, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x52, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x2d, 0x0a, 0x08, + 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x11, + 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x75, 0x6c, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x21, 0x0a, 0x04, 0x74, + 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0d, 0x2e, 0x76, 0x31, 0x2e, 0x52, + 0x75, 0x6c, 0x65, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x2c, + 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, + 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x75, 0x6c, 0x65, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x24, 0x0a, 0x07, + 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0a, 0x2e, + 0x76, 0x31, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x07, 0x61, 0x6d, 0x6f, 0x75, 0x6e, + 0x74, 0x73, 0x12, 0x34, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0a, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x34, 0x0a, 0x07, 0x64, 0x69, 0x73, 0x61, + 0x62, 0x6c, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, + 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x07, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x22, + 0x0a, 0x06, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, + 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x06, 0x72, 0x65, 0x70, 0x6f, + 0x72, 0x74, 0x12, 0x32, 0x0a, 0x05, 0x63, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, + 0x05, 0x63, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x32, 0x0a, 0x05, 0x6d, 0x74, 0x69, 0x6d, 0x65, 0x18, + 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x52, 0x05, 0x6d, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x38, 0x0a, 0x08, 0x72, 0x65, + 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, + 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08, 0x72, 0x65, 0x76, 0x69, + 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x42, 0x0a, 0x0d, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, + 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, + 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0d, 0x73, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x2e, 0x0a, 0x08, 0x61, 0x64, 0x6a, 0x75, + 0x73, 0x74, 0x65, 0x72, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x76, 0x31, 0x2e, + 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x08, + 0x61, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x40, 0x0a, 0x0d, 0x72, 0x65, 0x67, 0x65, + 0x78, 0x5f, 0x63, 0x6f, 0x6d, 0x62, 0x69, 0x6e, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0d, 0x72, 0x65, 0x67, + 0x65, 0x78, 0x5f, 0x63, 0x6f, 0x6d, 0x62, 0x69, 0x6e, 0x65, 0x12, 0x34, 0x0a, 0x0b, 0x61, 0x6d, + 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x13, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x75, 0x6c, 0x65, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, + 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x0a, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x6f, 0x64, 0x65, + 0x12, 0x31, 0x0a, 0x08, 0x66, 0x61, 0x69, 0x6c, 0x6f, 0x76, 0x65, 0x72, 0x18, 0x14, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x75, 0x6c, 0x65, 0x2e, 0x46, 0x61, 0x69, + 0x6c, 0x6f, 0x76, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x52, 0x08, 0x66, 0x61, 0x69, 0x6c, 0x6f, + 0x76, 0x65, 0x72, 0x12, 0x2e, 0x0a, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x15, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, + 0x6d, 0x69, 0x74, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x07, 0x63, 0x6c, 0x75, 0x73, + 0x74, 0x65, 0x72, 0x12, 0x27, 0x0a, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x16, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x74, + 0x72, 0x69, 0x6e, 0x67, 0x52, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x2f, 0x0a, 0x09, + 0x61, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x17, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x11, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x41, 0x72, 0x67, 0x75, 0x6d, 0x65, + 0x6e, 0x74, 0x52, 0x09, 0x61, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x30, 0x0a, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, + 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, + 0x32, 0x0a, 0x05, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x19, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x65, 0x74, + 0x69, 0x6d, 0x65, 0x12, 0x46, 0x0a, 0x0f, 0x6d, 0x61, 0x78, 0x5f, 0x71, 0x75, 0x65, 0x75, 0x65, + 0x5f, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, + 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0f, 0x6d, 0x61, 0x78, 0x5f, + 0x71, 0x75, 0x65, 0x75, 0x65, 0x5f, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x12, 0x44, 0x0a, 0x11, 0x63, + 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, + 0x18, 0x1b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x63, + 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x12, 0x63, + 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, + 0x74, 0x12, 0x3b, 0x0a, 0x0e, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x76, 0x31, 0x2e, 0x43, + 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x0f, 0x63, + 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x32, + 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x1d, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x16, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x75, 0x6c, 0x65, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x64, 0x69, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x1e, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x65, 0x64, 0x69, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x1e, + 0x0a, 0x0a, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x1f, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x0a, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x61, 0x62, 0x6c, 0x65, 0x1a, 0x4a, + 0x0a, 0x0b, 0x53, 0x75, 0x62, 0x73, 0x65, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, + 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, + 0x25, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, + 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x4a, 0x0a, 0x0b, 0x4c, 0x61, + 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x25, 0x0a, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x76, 0x31, 0x2e, + 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x3b, 0x0a, 0x0d, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, + 0x02, 0x38, 0x01, 0x22, 0x24, 0x0a, 0x08, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, + 0x07, 0x0a, 0x03, 0x51, 0x50, 0x53, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x43, 0x4f, 0x4e, 0x43, + 0x55, 0x52, 0x52, 0x45, 0x4e, 0x43, 0x59, 0x10, 0x01, 0x22, 0x1d, 0x0a, 0x04, 0x54, 0x79, 0x70, + 0x65, 0x12, 0x0a, 0x0a, 0x06, 0x47, 0x4c, 0x4f, 0x42, 0x41, 0x4c, 0x10, 0x00, 0x12, 0x09, 0x0a, + 0x05, 0x4c, 0x4f, 0x43, 0x41, 0x4c, 0x10, 0x01, 0x22, 0x31, 0x0a, 0x0a, 0x41, 0x6d, 0x6f, 0x75, + 0x6e, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x0c, 0x47, 0x4c, 0x4f, 0x42, 0x41, 0x4c, + 0x5f, 0x54, 0x4f, 0x54, 0x41, 0x4c, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x53, 0x48, 0x41, 0x52, + 0x45, 0x5f, 0x45, 0x51, 0x55, 0x41, 0x4c, 0x4c, 0x59, 0x10, 0x01, 0x22, 0x35, 0x0a, 0x0c, 0x46, + 0x61, 0x69, 0x6c, 0x6f, 0x76, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x0e, 0x46, + 0x41, 0x49, 0x4c, 0x4f, 0x56, 0x45, 0x52, 0x5f, 0x4c, 0x4f, 0x43, 0x41, 0x4c, 0x10, 0x00, 0x12, + 0x11, 0x0a, 0x0d, 0x46, 0x41, 0x49, 0x4c, 0x4f, 0x56, 0x45, 0x52, 0x5f, 0x50, 0x41, 0x53, 0x53, + 0x10, 0x01, 0x22, 0xe3, 0x01, 0x0a, 0x0d, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x41, 0x72, 0x67, 0x75, + 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x2a, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x41, 0x72, 0x67, + 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, + 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, + 0x65, 0x79, 0x12, 0x25, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x0f, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x74, 0x72, 0x69, + 0x6e, 0x67, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x6d, 0x0a, 0x04, 0x54, 0x79, 0x70, + 0x65, 0x12, 0x0a, 0x0a, 0x06, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x10, 0x00, 0x12, 0x0a, 0x0a, + 0x06, 0x4d, 0x45, 0x54, 0x48, 0x4f, 0x44, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x48, 0x45, 0x41, + 0x44, 0x45, 0x52, 0x10, 0x02, 0x12, 0x09, 0x0a, 0x05, 0x51, 0x55, 0x45, 0x52, 0x59, 0x10, 0x03, + 0x12, 0x12, 0x0a, 0x0e, 0x43, 0x41, 0x4c, 0x4c, 0x45, 0x52, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x49, + 0x43, 0x45, 0x10, 0x04, 0x12, 0x0d, 0x0a, 0x09, 0x43, 0x41, 0x4c, 0x4c, 0x45, 0x52, 0x5f, 0x49, + 0x50, 0x10, 0x05, 0x12, 0x13, 0x0a, 0x0f, 0x43, 0x41, 0x4c, 0x4c, 0x45, 0x52, 0x5f, 0x4d, 0x45, + 0x54, 0x41, 0x44, 0x41, 0x54, 0x41, 0x10, 0x06, 0x22, 0x32, 0x0a, 0x11, 0x43, 0x6f, 0x6e, 0x63, + 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1d, 0x0a, + 0x09, 0x6d, 0x61, 0x78, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x24, 0x0a, 0x0e, + 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, + 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x62, 0x6f, + 0x64, 0x79, 0x22, 0x86, 0x01, 0x0a, 0x10, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, + 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x36, 0x0a, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, + 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, + 0x3a, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x22, 0xbd, 0x02, 0x0a, 0x06, + 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x3a, 0x0a, 0x09, 0x6d, 0x61, 0x78, 0x41, 0x6d, 0x6f, + 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, + 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x09, 0x6d, 0x61, 0x78, 0x41, 0x6d, 0x6f, 0x75, + 0x6e, 0x74, 0x12, 0x3f, 0x0a, 0x0d, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x44, 0x75, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0d, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x44, 0x75, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x3a, 0x0a, 0x09, 0x70, 0x72, 0x65, 0x63, 0x69, 0x73, 0x69, 0x6f, 0x6e, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x52, 0x09, 0x70, 0x72, 0x65, 0x63, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x12, + 0x3e, 0x0a, 0x0b, 0x73, 0x74, 0x61, 0x72, 0x74, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x52, 0x0b, 0x73, 0x74, 0x61, 0x72, 0x74, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, + 0x3a, 0x0a, 0x09, 0x6d, 0x69, 0x6e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x52, 0x09, 0x6d, 0x69, 0x6e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x83, 0x01, 0x0a, 0x06, + 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x35, 0x0a, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, + 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x42, 0x0a, + 0x0d, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x52, 0x0d, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, + 0x74, 0x22, 0x37, 0x0a, 0x0e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x6a, 0x75, 0x73, + 0x74, 0x65, 0x72, 0x12, 0x25, 0x0a, 0x05, 0x63, 0x6c, 0x69, 0x6d, 0x62, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6c, 0x69, 0x6d, 0x62, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x52, 0x05, 0x63, 0x6c, 0x69, 0x6d, 0x62, 0x22, 0xd0, 0x0e, 0x0a, 0x0b, 0x43, + 0x6c, 0x69, 0x6d, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x32, 0x0a, 0x06, 0x65, 0x6e, + 0x61, 0x62, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, + 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x06, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x34, + 0x0a, 0x06, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, + 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6c, 0x69, 0x6d, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, + 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x6d, 0x65, + 0x74, 0x72, 0x69, 0x63, 0x12, 0x35, 0x0a, 0x06, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6c, 0x69, 0x6d, 0x62, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x50, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x52, 0x06, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x3f, 0x0a, 0x0a, 0x74, + 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x69, 0x6e, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1f, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6c, 0x69, 0x6d, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x2e, 0x43, 0x6c, 0x69, 0x6d, 0x62, 0x54, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x69, 0x6e, 0x67, + 0x52, 0x0a, 0x74, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x69, 0x6e, 0x67, 0x1a, 0xc0, 0x01, 0x0a, + 0x0c, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x31, 0x0a, + 0x06, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, + 0x12, 0x3a, 0x0a, 0x09, 0x70, 0x72, 0x65, 0x63, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x52, 0x09, 0x70, 0x72, 0x65, 0x63, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x41, 0x0a, 0x0e, + 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, + 0x0e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x1a, + 0xa7, 0x06, 0x0a, 0x0d, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x50, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x12, 0x45, 0x0a, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x61, 0x74, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6c, 0x69, 0x6d, 0x62, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x50, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x61, 0x74, 0x65, 0x52, 0x09, 0x65, + 0x72, 0x72, 0x6f, 0x72, 0x52, 0x61, 0x74, 0x65, 0x12, 0x42, 0x0a, 0x08, 0x73, 0x6c, 0x6f, 0x77, + 0x52, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x76, 0x31, 0x2e, + 0x43, 0x6c, 0x69, 0x6d, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x54, 0x72, 0x69, 0x67, + 0x67, 0x65, 0x72, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x53, 0x6c, 0x6f, 0x77, 0x52, 0x61, + 0x74, 0x65, 0x52, 0x08, 0x73, 0x6c, 0x6f, 0x77, 0x52, 0x61, 0x74, 0x65, 0x1a, 0xdf, 0x03, 0x0a, + 0x09, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x61, 0x74, 0x65, 0x12, 0x32, 0x0a, 0x06, 0x65, 0x6e, + 0x61, 0x62, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, + 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x06, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x54, + 0x0a, 0x16, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x54, + 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x16, 0x72, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x54, 0x68, 0x72, 0x65, 0x73, + 0x68, 0x6f, 0x6c, 0x64, 0x12, 0x39, 0x0a, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x61, 0x74, + 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x52, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x61, 0x74, 0x65, 0x12, + 0x51, 0x0a, 0x08, 0x73, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x35, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6c, 0x69, 0x6d, 0x62, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x2e, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x61, 0x74, 0x65, 0x2e, 0x53, 0x70, 0x65, 0x63, 0x69, + 0x61, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x08, 0x73, 0x70, 0x65, 0x63, 0x69, 0x61, + 0x6c, 0x73, 0x1a, 0xb9, 0x01, 0x0a, 0x0d, 0x53, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x12, 0x30, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x3b, 0x0a, 0x0a, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x43, + 0x6f, 0x64, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, + 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0a, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f, + 0x64, 0x65, 0x73, 0x12, 0x39, 0x0a, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x61, 0x74, 0x65, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x52, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x61, 0x74, 0x65, 0x1a, 0xa8, + 0x01, 0x0a, 0x08, 0x53, 0x6c, 0x6f, 0x77, 0x52, 0x61, 0x74, 0x65, 0x12, 0x32, 0x0a, 0x06, 0x65, + 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, + 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x06, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x12, + 0x2f, 0x0a, 0x05, 0x6d, 0x61, 0x78, 0x52, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x05, 0x6d, 0x61, 0x78, 0x52, 0x74, + 0x12, 0x37, 0x0a, 0x08, 0x73, 0x6c, 0x6f, 0x77, 0x52, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, + 0x08, 0x73, 0x6c, 0x6f, 0x77, 0x52, 0x61, 0x74, 0x65, 0x1a, 0xf1, 0x04, 0x0a, 0x0f, 0x43, 0x6c, + 0x69, 0x6d, 0x62, 0x54, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x69, 0x6e, 0x67, 0x12, 0x51, 0x0a, + 0x15, 0x63, 0x6f, 0x6c, 0x64, 0x42, 0x65, 0x6c, 0x6f, 0x77, 0x54, 0x75, 0x6e, 0x65, 0x44, 0x6f, + 0x77, 0x6e, 0x52, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, + 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x15, 0x63, 0x6f, 0x6c, 0x64, 0x42, + 0x65, 0x6c, 0x6f, 0x77, 0x54, 0x75, 0x6e, 0x65, 0x44, 0x6f, 0x77, 0x6e, 0x52, 0x61, 0x74, 0x65, + 0x12, 0x4d, 0x0a, 0x13, 0x63, 0x6f, 0x6c, 0x64, 0x42, 0x65, 0x6c, 0x6f, 0x77, 0x54, 0x75, 0x6e, + 0x65, 0x55, 0x70, 0x52, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x13, 0x63, 0x6f, 0x6c, 0x64, + 0x42, 0x65, 0x6c, 0x6f, 0x77, 0x54, 0x75, 0x6e, 0x65, 0x55, 0x70, 0x52, 0x61, 0x74, 0x65, 0x12, + 0x51, 0x0a, 0x15, 0x63, 0x6f, 0x6c, 0x64, 0x41, 0x62, 0x6f, 0x76, 0x65, 0x54, 0x75, 0x6e, 0x65, + 0x44, 0x6f, 0x77, 0x6e, 0x52, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x15, 0x63, 0x6f, 0x6c, + 0x64, 0x41, 0x62, 0x6f, 0x76, 0x65, 0x54, 0x75, 0x6e, 0x65, 0x44, 0x6f, 0x77, 0x6e, 0x52, 0x61, + 0x74, 0x65, 0x12, 0x4d, 0x0a, 0x13, 0x63, 0x6f, 0x6c, 0x64, 0x41, 0x62, 0x6f, 0x76, 0x65, 0x54, + 0x75, 0x6e, 0x65, 0x55, 0x70, 0x52, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x13, 0x63, 0x6f, + 0x6c, 0x64, 0x41, 0x62, 0x6f, 0x76, 0x65, 0x54, 0x75, 0x6e, 0x65, 0x55, 0x70, 0x52, 0x61, 0x74, + 0x65, 0x12, 0x53, 0x0a, 0x16, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, + 0x6f, 0x6c, 0x64, 0x54, 0x6f, 0x54, 0x75, 0x6e, 0x65, 0x55, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x16, + 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x54, 0x6f, + 0x54, 0x75, 0x6e, 0x65, 0x55, 0x70, 0x12, 0x3f, 0x0a, 0x0d, 0x6a, 0x75, 0x64, 0x67, 0x65, 0x44, + 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0d, 0x6a, 0x75, 0x64, 0x67, 0x65, 0x44, + 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3f, 0x0a, 0x0c, 0x74, 0x75, 0x6e, 0x65, 0x55, + 0x70, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0c, 0x74, 0x75, 0x6e, 0x65, + 0x55, 0x70, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x12, 0x43, 0x0a, 0x0e, 0x74, 0x75, 0x6e, 0x65, + 0x44, 0x6f, 0x77, 0x6e, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0e, 0x74, + 0x75, 0x6e, 0x65, 0x44, 0x6f, 0x77, 0x6e, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x42, 0x8f, 0x01, + 0x0a, 0x37, 0x63, 0x6f, 0x6d, 0x2e, 0x74, 0x65, 0x6e, 0x63, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x6f, + 0x6c, 0x61, 0x72, 0x69, 0x73, 0x2e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x74, 0x72, 0x61, 0x66, 0x66, + 0x69, 0x63, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x42, 0x0e, 0x52, 0x61, 0x74, 0x65, 0x4c, + 0x69, 0x6d, 0x69, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x5a, 0x44, 0x67, 0x69, 0x74, 0x68, 0x75, + 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x70, 0x6f, 0x6c, 0x61, 0x72, 0x69, 0x73, 0x6d, 0x65, 0x73, + 0x68, 0x2f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2f, 0x67, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, + 0x2f, 0x74, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x62, + 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_ratelimit_proto_rawDescOnce sync.Once + file_ratelimit_proto_rawDescData = file_ratelimit_proto_rawDesc +) + +func file_ratelimit_proto_rawDescGZIP() []byte { + file_ratelimit_proto_rawDescOnce.Do(func() { + file_ratelimit_proto_rawDescData = protoimpl.X.CompressGZIP(file_ratelimit_proto_rawDescData) + }) + return file_ratelimit_proto_rawDescData +} + +var file_ratelimit_proto_enumTypes = make([]protoimpl.EnumInfo, 5) +var file_ratelimit_proto_msgTypes = make([]protoimpl.MessageInfo, 19) +var file_ratelimit_proto_goTypes = []interface{}{ + (Rule_Resource)(0), // 0: v1.Rule.Resource + (Rule_Type)(0), // 1: v1.Rule.Type + (Rule_AmountMode)(0), // 2: v1.Rule.AmountMode + (Rule_FailoverType)(0), // 3: v1.Rule.FailoverType + (MatchArgument_Type)(0), // 4: v1.MatchArgument.Type + (*RateLimit)(nil), // 5: v1.RateLimit + (*Rule)(nil), // 6: v1.Rule + (*MatchArgument)(nil), // 7: v1.MatchArgument + (*ConcurrencyAmount)(nil), // 8: v1.ConcurrencyAmount + (*CustomResponse)(nil), // 9: v1.CustomResponse + (*RateLimitCluster)(nil), // 10: v1.RateLimitCluster + (*Amount)(nil), // 11: v1.Amount + (*Report)(nil), // 12: v1.Report + (*AmountAdjuster)(nil), // 13: v1.AmountAdjuster + (*ClimbConfig)(nil), // 14: v1.ClimbConfig + nil, // 15: v1.Rule.SubsetEntry + nil, // 16: v1.Rule.LabelsEntry + nil, // 17: v1.Rule.MetadataEntry + (*ClimbConfig_MetricConfig)(nil), // 18: v1.ClimbConfig.MetricConfig + (*ClimbConfig_TriggerPolicy)(nil), // 19: v1.ClimbConfig.TriggerPolicy + (*ClimbConfig_ClimbThrottling)(nil), // 20: v1.ClimbConfig.ClimbThrottling + (*ClimbConfig_TriggerPolicy_ErrorRate)(nil), // 21: v1.ClimbConfig.TriggerPolicy.ErrorRate + (*ClimbConfig_TriggerPolicy_SlowRate)(nil), // 22: v1.ClimbConfig.TriggerPolicy.SlowRate + (*ClimbConfig_TriggerPolicy_ErrorRate_SpecialConfig)(nil), // 23: v1.ClimbConfig.TriggerPolicy.ErrorRate.SpecialConfig + (*wrapperspb.StringValue)(nil), // 24: google.protobuf.StringValue + (*wrapperspb.UInt32Value)(nil), // 25: google.protobuf.UInt32Value + (*wrapperspb.BoolValue)(nil), // 26: google.protobuf.BoolValue + (*model.MatchString)(nil), // 27: v1.MatchString + (*durationpb.Duration)(nil), // 28: google.protobuf.Duration + (*wrapperspb.Int32Value)(nil), // 29: google.protobuf.Int32Value + (*wrapperspb.Int64Value)(nil), // 30: google.protobuf.Int64Value +} +var file_ratelimit_proto_depIdxs = []int32{ + 6, // 0: v1.RateLimit.rules:type_name -> v1.Rule + 24, // 1: v1.RateLimit.revision:type_name -> google.protobuf.StringValue + 24, // 2: v1.Rule.id:type_name -> google.protobuf.StringValue + 24, // 3: v1.Rule.service:type_name -> google.protobuf.StringValue + 24, // 4: v1.Rule.namespace:type_name -> google.protobuf.StringValue + 15, // 5: v1.Rule.subset:type_name -> v1.Rule.SubsetEntry + 25, // 6: v1.Rule.priority:type_name -> google.protobuf.UInt32Value + 0, // 7: v1.Rule.resource:type_name -> v1.Rule.Resource + 1, // 8: v1.Rule.type:type_name -> v1.Rule.Type + 16, // 9: v1.Rule.labels:type_name -> v1.Rule.LabelsEntry + 11, // 10: v1.Rule.amounts:type_name -> v1.Amount + 24, // 11: v1.Rule.action:type_name -> google.protobuf.StringValue + 26, // 12: v1.Rule.disable:type_name -> google.protobuf.BoolValue + 12, // 13: v1.Rule.report:type_name -> v1.Report + 24, // 14: v1.Rule.ctime:type_name -> google.protobuf.StringValue + 24, // 15: v1.Rule.mtime:type_name -> google.protobuf.StringValue + 24, // 16: v1.Rule.revision:type_name -> google.protobuf.StringValue + 24, // 17: v1.Rule.service_token:type_name -> google.protobuf.StringValue + 13, // 18: v1.Rule.adjuster:type_name -> v1.AmountAdjuster + 26, // 19: v1.Rule.regex_combine:type_name -> google.protobuf.BoolValue + 2, // 20: v1.Rule.amount_mode:type_name -> v1.Rule.AmountMode + 3, // 21: v1.Rule.failover:type_name -> v1.Rule.FailoverType + 10, // 22: v1.Rule.cluster:type_name -> v1.RateLimitCluster + 27, // 23: v1.Rule.method:type_name -> v1.MatchString + 7, // 24: v1.Rule.arguments:type_name -> v1.MatchArgument + 24, // 25: v1.Rule.name:type_name -> google.protobuf.StringValue + 24, // 26: v1.Rule.etime:type_name -> google.protobuf.StringValue + 25, // 27: v1.Rule.max_queue_delay:type_name -> google.protobuf.UInt32Value + 8, // 28: v1.Rule.concurrencyAmount:type_name -> v1.ConcurrencyAmount + 9, // 29: v1.Rule.customResponse:type_name -> v1.CustomResponse + 17, // 30: v1.Rule.metadata:type_name -> v1.Rule.MetadataEntry + 4, // 31: v1.MatchArgument.type:type_name -> v1.MatchArgument.Type + 27, // 32: v1.MatchArgument.value:type_name -> v1.MatchString + 24, // 33: v1.RateLimitCluster.service:type_name -> google.protobuf.StringValue + 24, // 34: v1.RateLimitCluster.namespace:type_name -> google.protobuf.StringValue + 25, // 35: v1.Amount.maxAmount:type_name -> google.protobuf.UInt32Value + 28, // 36: v1.Amount.validDuration:type_name -> google.protobuf.Duration + 25, // 37: v1.Amount.precision:type_name -> google.protobuf.UInt32Value + 25, // 38: v1.Amount.startAmount:type_name -> google.protobuf.UInt32Value + 25, // 39: v1.Amount.minAmount:type_name -> google.protobuf.UInt32Value + 28, // 40: v1.Report.interval:type_name -> google.protobuf.Duration + 25, // 41: v1.Report.amountPercent:type_name -> google.protobuf.UInt32Value + 14, // 42: v1.AmountAdjuster.climb:type_name -> v1.ClimbConfig + 26, // 43: v1.ClimbConfig.enable:type_name -> google.protobuf.BoolValue + 18, // 44: v1.ClimbConfig.metric:type_name -> v1.ClimbConfig.MetricConfig + 19, // 45: v1.ClimbConfig.policy:type_name -> v1.ClimbConfig.TriggerPolicy + 20, // 46: v1.ClimbConfig.throttling:type_name -> v1.ClimbConfig.ClimbThrottling + 27, // 47: v1.Rule.SubsetEntry.value:type_name -> v1.MatchString + 27, // 48: v1.Rule.LabelsEntry.value:type_name -> v1.MatchString + 28, // 49: v1.ClimbConfig.MetricConfig.window:type_name -> google.protobuf.Duration + 25, // 50: v1.ClimbConfig.MetricConfig.precision:type_name -> google.protobuf.UInt32Value + 28, // 51: v1.ClimbConfig.MetricConfig.reportInterval:type_name -> google.protobuf.Duration + 21, // 52: v1.ClimbConfig.TriggerPolicy.errorRate:type_name -> v1.ClimbConfig.TriggerPolicy.ErrorRate + 22, // 53: v1.ClimbConfig.TriggerPolicy.slowRate:type_name -> v1.ClimbConfig.TriggerPolicy.SlowRate + 29, // 54: v1.ClimbConfig.ClimbThrottling.coldBelowTuneDownRate:type_name -> google.protobuf.Int32Value + 29, // 55: v1.ClimbConfig.ClimbThrottling.coldBelowTuneUpRate:type_name -> google.protobuf.Int32Value + 29, // 56: v1.ClimbConfig.ClimbThrottling.coldAboveTuneDownRate:type_name -> google.protobuf.Int32Value + 29, // 57: v1.ClimbConfig.ClimbThrottling.coldAboveTuneUpRate:type_name -> google.protobuf.Int32Value + 29, // 58: v1.ClimbConfig.ClimbThrottling.limitThresholdToTuneUp:type_name -> google.protobuf.Int32Value + 28, // 59: v1.ClimbConfig.ClimbThrottling.judgeDuration:type_name -> google.protobuf.Duration + 29, // 60: v1.ClimbConfig.ClimbThrottling.tuneUpPeriod:type_name -> google.protobuf.Int32Value + 29, // 61: v1.ClimbConfig.ClimbThrottling.tuneDownPeriod:type_name -> google.protobuf.Int32Value + 26, // 62: v1.ClimbConfig.TriggerPolicy.ErrorRate.enable:type_name -> google.protobuf.BoolValue + 25, // 63: v1.ClimbConfig.TriggerPolicy.ErrorRate.requestVolumeThreshold:type_name -> google.protobuf.UInt32Value + 29, // 64: v1.ClimbConfig.TriggerPolicy.ErrorRate.errorRate:type_name -> google.protobuf.Int32Value + 23, // 65: v1.ClimbConfig.TriggerPolicy.ErrorRate.specials:type_name -> v1.ClimbConfig.TriggerPolicy.ErrorRate.SpecialConfig + 26, // 66: v1.ClimbConfig.TriggerPolicy.SlowRate.enable:type_name -> google.protobuf.BoolValue + 28, // 67: v1.ClimbConfig.TriggerPolicy.SlowRate.maxRt:type_name -> google.protobuf.Duration + 29, // 68: v1.ClimbConfig.TriggerPolicy.SlowRate.slowRate:type_name -> google.protobuf.Int32Value + 24, // 69: v1.ClimbConfig.TriggerPolicy.ErrorRate.SpecialConfig.type:type_name -> google.protobuf.StringValue + 30, // 70: v1.ClimbConfig.TriggerPolicy.ErrorRate.SpecialConfig.errorCodes:type_name -> google.protobuf.Int64Value + 29, // 71: v1.ClimbConfig.TriggerPolicy.ErrorRate.SpecialConfig.errorRate:type_name -> google.protobuf.Int32Value + 72, // [72:72] is the sub-list for method output_type + 72, // [72:72] is the sub-list for method input_type + 72, // [72:72] is the sub-list for extension type_name + 72, // [72:72] is the sub-list for extension extendee + 0, // [0:72] is the sub-list for field type_name +} + +func init() { file_ratelimit_proto_init() } +func file_ratelimit_proto_init() { + if File_ratelimit_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_ratelimit_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RateLimit); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_ratelimit_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Rule); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_ratelimit_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MatchArgument); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_ratelimit_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ConcurrencyAmount); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_ratelimit_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CustomResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_ratelimit_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RateLimitCluster); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_ratelimit_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Amount); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_ratelimit_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Report); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_ratelimit_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AmountAdjuster); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_ratelimit_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ClimbConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_ratelimit_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ClimbConfig_MetricConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_ratelimit_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ClimbConfig_TriggerPolicy); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_ratelimit_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ClimbConfig_ClimbThrottling); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_ratelimit_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ClimbConfig_TriggerPolicy_ErrorRate); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_ratelimit_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ClimbConfig_TriggerPolicy_SlowRate); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_ratelimit_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ClimbConfig_TriggerPolicy_ErrorRate_SpecialConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_ratelimit_proto_rawDesc, + NumEnums: 5, + NumMessages: 19, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_ratelimit_proto_goTypes, + DependencyIndexes: file_ratelimit_proto_depIdxs, + EnumInfos: file_ratelimit_proto_enumTypes, + MessageInfos: file_ratelimit_proto_msgTypes, + }.Build() + File_ratelimit_proto = out.File + file_ratelimit_proto_rawDesc = nil + file_ratelimit_proto_goTypes = nil + file_ratelimit_proto_depIdxs = nil } diff --git a/source/go/api/v1/traffic_manage/ratelimiter/grpcapi_ratelimiter.pb.go b/source/go/api/v1/traffic_manage/ratelimiter/grpcapi_ratelimiter.pb.go index 80b1d786..19c97e6d 100644 --- a/source/go/api/v1/traffic_manage/ratelimiter/grpcapi_ratelimiter.pb.go +++ b/source/go/api/v1/traffic_manage/ratelimiter/grpcapi_ratelimiter.pb.go @@ -1,35 +1,112 @@ // Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.33.0 +// protoc v5.27.3 // source: grpcapi_ratelimiter.proto -package ratelimiter // import "github.com/polarismesh/specification/source/go/api/v1/traffic_manage/ratelimiter" - -import proto "github.com/golang/protobuf/proto" -import fmt "fmt" -import math "math" +package ratelimiter import ( - context "golang.org/x/net/context" + context "context" grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" ) -// Reference imports to suppress errors if they are not otherwise used. -var _ = proto.Marshal -var _ = fmt.Errorf -var _ = math.Inf +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) -// This is a compile-time assertion to ensure that this generated file -// is compatible with the proto package it is being compiled against. -// A compilation error at this line likely means your copy of the -// proto package needs to be updated. -const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package +var File_grpcapi_ratelimiter_proto protoreflect.FileDescriptor + +var file_grpcapi_ratelimiter_proto_rawDesc = []byte{ + 0x0a, 0x19, 0x67, 0x72, 0x70, 0x63, 0x61, 0x70, 0x69, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, + 0x6d, 0x69, 0x74, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x11, 0x70, 0x6f, 0x6c, + 0x61, 0x72, 0x69, 0x73, 0x2e, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x2e, 0x76, 0x32, 0x1a, 0x11, + 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x32, 0xca, 0x01, 0x0a, 0x0f, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x47, + 0x52, 0x50, 0x43, 0x56, 0x32, 0x12, 0x5a, 0x0a, 0x07, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x12, 0x23, 0x2e, 0x70, 0x6f, 0x6c, 0x61, 0x72, 0x69, 0x73, 0x2e, 0x6d, 0x65, 0x74, 0x72, 0x69, + 0x63, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x70, 0x6f, 0x6c, 0x61, 0x72, 0x69, 0x73, 0x2e, + 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, + 0x6d, 0x69, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x28, 0x01, 0x30, + 0x01, 0x12, 0x5b, 0x0a, 0x0a, 0x54, 0x69, 0x6d, 0x65, 0x41, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x12, + 0x24, 0x2e, 0x70, 0x6f, 0x6c, 0x61, 0x72, 0x69, 0x73, 0x2e, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, + 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x41, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x70, 0x6f, 0x6c, 0x61, 0x72, 0x69, 0x73, 0x2e, + 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x41, 0x64, + 0x6a, 0x75, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0xab, + 0x01, 0x0a, 0x43, 0x63, 0x6f, 0x6d, 0x2e, 0x74, 0x65, 0x6e, 0x63, 0x65, 0x6e, 0x74, 0x2e, 0x70, + 0x6f, 0x6c, 0x61, 0x72, 0x69, 0x73, 0x2e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x74, 0x72, 0x61, 0x66, + 0x66, 0x69, 0x63, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x2e, 0x72, 0x61, 0x74, 0x65, 0x6c, + 0x69, 0x6d, 0x69, 0x74, 0x65, 0x72, 0x42, 0x12, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, + 0x74, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5a, 0x50, 0x67, 0x69, 0x74, 0x68, + 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x70, 0x6f, 0x6c, 0x61, 0x72, 0x69, 0x73, 0x6d, 0x65, + 0x73, 0x68, 0x2f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x2f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2f, 0x67, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, + 0x31, 0x2f, 0x74, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, + 0x2f, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x72, 0x62, 0x06, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x33, +} + +var file_grpcapi_ratelimiter_proto_goTypes = []interface{}{ + (*RateLimitRequest)(nil), // 0: polaris.metric.v2.RateLimitRequest + (*TimeAdjustRequest)(nil), // 1: polaris.metric.v2.TimeAdjustRequest + (*RateLimitResponse)(nil), // 2: polaris.metric.v2.RateLimitResponse + (*TimeAdjustResponse)(nil), // 3: polaris.metric.v2.TimeAdjustResponse +} +var file_grpcapi_ratelimiter_proto_depIdxs = []int32{ + 0, // 0: polaris.metric.v2.RateLimitGRPCV2.Service:input_type -> polaris.metric.v2.RateLimitRequest + 1, // 1: polaris.metric.v2.RateLimitGRPCV2.TimeAdjust:input_type -> polaris.metric.v2.TimeAdjustRequest + 2, // 2: polaris.metric.v2.RateLimitGRPCV2.Service:output_type -> polaris.metric.v2.RateLimitResponse + 3, // 3: polaris.metric.v2.RateLimitGRPCV2.TimeAdjust:output_type -> polaris.metric.v2.TimeAdjustResponse + 2, // [2:4] is the sub-list for method output_type + 0, // [0:2] is the sub-list for method input_type + 0, // [0:0] is the sub-list for extension type_name + 0, // [0:0] is the sub-list for extension extendee + 0, // [0:0] is the sub-list for field type_name +} + +func init() { file_grpcapi_ratelimiter_proto_init() } +func file_grpcapi_ratelimiter_proto_init() { + if File_grpcapi_ratelimiter_proto != nil { + return + } + file_ratelimiter_proto_init() + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_grpcapi_ratelimiter_proto_rawDesc, + NumEnums: 0, + NumMessages: 0, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_grpcapi_ratelimiter_proto_goTypes, + DependencyIndexes: file_grpcapi_ratelimiter_proto_depIdxs, + }.Build() + File_grpcapi_ratelimiter_proto = out.File + file_grpcapi_ratelimiter_proto_rawDesc = nil + file_grpcapi_ratelimiter_proto_goTypes = nil + file_grpcapi_ratelimiter_proto_depIdxs = nil +} // Reference imports to suppress errors if they are not otherwise used. var _ context.Context -var _ grpc.ClientConn +var _ grpc.ClientConnInterface // This is a compile-time assertion to ensure that this generated file // is compatible with the grpc package it is being compiled against. -const _ = grpc.SupportPackageIsVersion4 +const _ = grpc.SupportPackageIsVersion6 // RateLimitGRPCV2Client is the client API for RateLimitGRPCV2 service. // @@ -42,10 +119,10 @@ type RateLimitGRPCV2Client interface { } type rateLimitGRPCV2Client struct { - cc *grpc.ClientConn + cc grpc.ClientConnInterface } -func NewRateLimitGRPCV2Client(cc *grpc.ClientConn) RateLimitGRPCV2Client { +func NewRateLimitGRPCV2Client(cc grpc.ClientConnInterface) RateLimitGRPCV2Client { return &rateLimitGRPCV2Client{cc} } @@ -97,6 +174,17 @@ type RateLimitGRPCV2Server interface { TimeAdjust(context.Context, *TimeAdjustRequest) (*TimeAdjustResponse, error) } +// UnimplementedRateLimitGRPCV2Server can be embedded to have forward compatible implementations. +type UnimplementedRateLimitGRPCV2Server struct { +} + +func (*UnimplementedRateLimitGRPCV2Server) Service(RateLimitGRPCV2_ServiceServer) error { + return status.Errorf(codes.Unimplemented, "method Service not implemented") +} +func (*UnimplementedRateLimitGRPCV2Server) TimeAdjust(context.Context, *TimeAdjustRequest) (*TimeAdjustResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method TimeAdjust not implemented") +} + func RegisterRateLimitGRPCV2Server(s *grpc.Server, srv RateLimitGRPCV2Server) { s.RegisterService(&_RateLimitGRPCV2_serviceDesc, srv) } @@ -164,28 +252,3 @@ var _RateLimitGRPCV2_serviceDesc = grpc.ServiceDesc{ }, Metadata: "grpcapi_ratelimiter.proto", } - -func init() { - proto.RegisterFile("grpcapi_ratelimiter.proto", fileDescriptor_grpcapi_ratelimiter_e6f61dd264c034b3) -} - -var fileDescriptor_grpcapi_ratelimiter_e6f61dd264c034b3 = []byte{ - // 262 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x84, 0x91, 0x3d, 0x4e, 0x33, 0x31, - 0x10, 0x40, 0xbf, 0x6d, 0x3e, 0x24, 0x37, 0x28, 0xee, 0x48, 0xc9, 0x8f, 0x44, 0x35, 0x26, 0xcb, - 0x09, 0x48, 0x0a, 0x1a, 0x8a, 0x68, 0x41, 0x14, 0xa1, 0x88, 0x1c, 0x33, 0xbb, 0x19, 0x14, 0xff, - 0x30, 0x9e, 0xdd, 0x4b, 0x71, 0x13, 0x4e, 0x85, 0x80, 0xcd, 0x12, 0x14, 0x04, 0xad, 0xfd, 0xe6, - 0x3d, 0x6b, 0xac, 0x8e, 0x1a, 0x4e, 0xce, 0x26, 0x5a, 0xb2, 0x15, 0xdc, 0x90, 0x27, 0x41, 0x86, - 0xc4, 0x51, 0xa2, 0x1e, 0xa5, 0xb8, 0xb1, 0x4c, 0x19, 0x3c, 0x0a, 0x93, 0x83, 0xae, 0x1c, 0x8f, - 0xf6, 0xa8, 0xf2, 0xb5, 0x50, 0x87, 0x95, 0x15, 0xbc, 0x79, 0x3f, 0xbd, 0xae, 0xe6, 0xb3, 0xfb, - 0x52, 0x2f, 0xd4, 0xc1, 0x2d, 0x72, 0x47, 0x0e, 0xf5, 0x09, 0xec, 0x59, 0x60, 0xc0, 0x2b, 0x7c, - 0x6e, 0x31, 0xcb, 0xf8, 0xf4, 0x77, 0x28, 0xa7, 0x18, 0x32, 0x1e, 0xff, 0x3b, 0x2f, 0x2e, 0x0a, - 0xfd, 0xa0, 0xd4, 0x1d, 0x79, 0xbc, 0x7a, 0x7c, 0x6a, 0xb3, 0xe8, 0x9f, 0x26, 0xbf, 0xae, 0xb7, - 0xfe, 0xb3, 0x3f, 0xa8, 0x6d, 0x60, 0xfa, 0x52, 0xa8, 0x99, 0x8b, 0x1e, 0x04, 0x83, 0xc3, 0x20, - 0xc3, 0x58, 0x4e, 0xe8, 0xa8, 0x26, 0x67, 0x85, 0x62, 0x00, 0x9b, 0x08, 0xba, 0x09, 0x08, 0xdb, - 0xba, 0x26, 0x07, 0xde, 0x06, 0xdb, 0x20, 0xec, 0xac, 0x66, 0xaa, 0x87, 0xd7, 0x23, 0xf7, 0x9b, - 0x58, 0xcc, 0x1b, 0x92, 0x75, 0xbb, 0x02, 0x17, 0xbd, 0xe9, 0xbd, 0x1e, 0xf3, 0xda, 0x7c, 0x73, - 0x9b, 0x1c, 0x5b, 0x76, 0x68, 0x9a, 0x68, 0x6c, 0x22, 0xd3, 0x4d, 0x4c, 0x5f, 0x59, 0x7e, 0x56, - 0xcc, 0x4e, 0x65, 0xf5, 0xff, 0xe3, 0x07, 0x2e, 0xdf, 0x02, 0x00, 0x00, 0xff, 0xff, 0x8b, 0xc3, - 0x51, 0x46, 0xc4, 0x01, 0x00, 0x00, -} diff --git a/source/go/api/v1/traffic_manage/ratelimiter/ratelimiter.pb.go b/source/go/api/v1/traffic_manage/ratelimiter/ratelimiter.pb.go index e20e1527..2e33900d 100644 --- a/source/go/api/v1/traffic_manage/ratelimiter/ratelimiter.pb.go +++ b/source/go/api/v1/traffic_manage/ratelimiter/ratelimiter.pb.go @@ -1,22 +1,24 @@ // Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.33.0 +// protoc v5.27.3 // source: ratelimiter.proto -package ratelimiter // import "github.com/polarismesh/specification/source/go/api/v1/traffic_manage/ratelimiter" +package ratelimiter -import proto "github.com/golang/protobuf/proto" -import fmt "fmt" -import math "math" - -// Reference imports to suppress errors if they are not otherwise used. -var _ = proto.Marshal -var _ = fmt.Errorf -var _ = math.Inf +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) -// This is a compile-time assertion to ensure that this generated file -// is compatible with the proto package it is being compiled against. -// A compilation error at this line likely means your copy of the -// proto package needs to be updated. -const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) // 命令字 type RateLimitCmd int32 @@ -28,24 +30,47 @@ const ( RateLimitCmd_BATCH_ACQUIRE RateLimitCmd = 3 ) -var RateLimitCmd_name = map[int32]string{ - 0: "INIT", - 1: "ACQUIRE", - 2: "BATCH_INIT", - 3: "BATCH_ACQUIRE", -} -var RateLimitCmd_value = map[string]int32{ - "INIT": 0, - "ACQUIRE": 1, - "BATCH_INIT": 2, - "BATCH_ACQUIRE": 3, +// Enum value maps for RateLimitCmd. +var ( + RateLimitCmd_name = map[int32]string{ + 0: "INIT", + 1: "ACQUIRE", + 2: "BATCH_INIT", + 3: "BATCH_ACQUIRE", + } + RateLimitCmd_value = map[string]int32{ + "INIT": 0, + "ACQUIRE": 1, + "BATCH_INIT": 2, + "BATCH_ACQUIRE": 3, + } +) + +func (x RateLimitCmd) Enum() *RateLimitCmd { + p := new(RateLimitCmd) + *p = x + return p } func (x RateLimitCmd) String() string { - return proto.EnumName(RateLimitCmd_name, int32(x)) + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (RateLimitCmd) Descriptor() protoreflect.EnumDescriptor { + return file_ratelimiter_proto_enumTypes[0].Descriptor() +} + +func (RateLimitCmd) Type() protoreflect.EnumType { + return &file_ratelimiter_proto_enumTypes[0] +} + +func (x RateLimitCmd) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) } + +// Deprecated: Use RateLimitCmd.Descriptor instead. func (RateLimitCmd) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_ratelimiter_f717a24d735c3bb3, []int{0} + return file_ratelimiter_proto_rawDescGZIP(), []int{0} } // 限频模式 @@ -60,22 +85,45 @@ const ( Mode_BATCH_SHARE Mode = 2 ) -var Mode_name = map[int32]string{ - 0: "ADAPTIVE", - 1: "BATCH_OCCUPY", - 2: "BATCH_SHARE", -} -var Mode_value = map[string]int32{ - "ADAPTIVE": 0, - "BATCH_OCCUPY": 1, - "BATCH_SHARE": 2, +// Enum value maps for Mode. +var ( + Mode_name = map[int32]string{ + 0: "ADAPTIVE", + 1: "BATCH_OCCUPY", + 2: "BATCH_SHARE", + } + Mode_value = map[string]int32{ + "ADAPTIVE": 0, + "BATCH_OCCUPY": 1, + "BATCH_SHARE": 2, + } +) + +func (x Mode) Enum() *Mode { + p := new(Mode) + *p = x + return p } func (x Mode) String() string { - return proto.EnumName(Mode_name, int32(x)) + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (Mode) Descriptor() protoreflect.EnumDescriptor { + return file_ratelimiter_proto_enumTypes[1].Descriptor() +} + +func (Mode) Type() protoreflect.EnumType { + return &file_ratelimiter_proto_enumTypes[1] +} + +func (x Mode) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) } + +// Deprecated: Use Mode.Descriptor instead. func (Mode) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_ratelimiter_f717a24d735c3bb3, []int{1} + return file_ratelimiter_proto_rawDescGZIP(), []int{1} } // 阈值模式 @@ -88,24 +136,51 @@ const ( QuotaMode_DIVIDE QuotaMode = 1 ) -var QuotaMode_name = map[int32]string{ - 0: "WHOLE", - 1: "DIVIDE", -} -var QuotaMode_value = map[string]int32{ - "WHOLE": 0, - "DIVIDE": 1, +// Enum value maps for QuotaMode. +var ( + QuotaMode_name = map[int32]string{ + 0: "WHOLE", + 1: "DIVIDE", + } + QuotaMode_value = map[string]int32{ + "WHOLE": 0, + "DIVIDE": 1, + } +) + +func (x QuotaMode) Enum() *QuotaMode { + p := new(QuotaMode) + *p = x + return p } func (x QuotaMode) String() string { - return proto.EnumName(QuotaMode_name, int32(x)) + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (QuotaMode) Descriptor() protoreflect.EnumDescriptor { + return file_ratelimiter_proto_enumTypes[2].Descriptor() +} + +func (QuotaMode) Type() protoreflect.EnumType { + return &file_ratelimiter_proto_enumTypes[2] +} + +func (x QuotaMode) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) } + +// Deprecated: Use QuotaMode.Descriptor instead. func (QuotaMode) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_ratelimiter_f717a24d735c3bb3, []int{2} + return file_ratelimiter_proto_rawDescGZIP(), []int{2} } // 限流请求 type RateLimitRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + // 命令字 Cmd RateLimitCmd `protobuf:"varint,1,opt,name=cmd,proto3,enum=polaris.metric.v2.RateLimitCmd" json:"cmd,omitempty"` // 初始化请求 @@ -114,65 +189,74 @@ type RateLimitRequest struct { RateLimitReportRequest *RateLimitReportRequest `protobuf:"bytes,3,opt,name=rateLimitReportRequest,proto3" json:"rateLimitReportRequest,omitempty"` // 批量初始化请求 RateLimitBatchInitRequest *RateLimitBatchInitRequest `protobuf:"bytes,4,opt,name=rateLimitBatchInitRequest,proto3" json:"rateLimitBatchInitRequest,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` } -func (m *RateLimitRequest) Reset() { *m = RateLimitRequest{} } -func (m *RateLimitRequest) String() string { return proto.CompactTextString(m) } -func (*RateLimitRequest) ProtoMessage() {} -func (*RateLimitRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_ratelimiter_f717a24d735c3bb3, []int{0} -} -func (m *RateLimitRequest) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_RateLimitRequest.Unmarshal(m, b) -} -func (m *RateLimitRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_RateLimitRequest.Marshal(b, m, deterministic) -} -func (dst *RateLimitRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_RateLimitRequest.Merge(dst, src) +func (x *RateLimitRequest) Reset() { + *x = RateLimitRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_ratelimiter_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (m *RateLimitRequest) XXX_Size() int { - return xxx_messageInfo_RateLimitRequest.Size(m) + +func (x *RateLimitRequest) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *RateLimitRequest) XXX_DiscardUnknown() { - xxx_messageInfo_RateLimitRequest.DiscardUnknown(m) + +func (*RateLimitRequest) ProtoMessage() {} + +func (x *RateLimitRequest) ProtoReflect() protoreflect.Message { + mi := &file_ratelimiter_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) } -var xxx_messageInfo_RateLimitRequest proto.InternalMessageInfo +// Deprecated: Use RateLimitRequest.ProtoReflect.Descriptor instead. +func (*RateLimitRequest) Descriptor() ([]byte, []int) { + return file_ratelimiter_proto_rawDescGZIP(), []int{0} +} -func (m *RateLimitRequest) GetCmd() RateLimitCmd { - if m != nil { - return m.Cmd +func (x *RateLimitRequest) GetCmd() RateLimitCmd { + if x != nil { + return x.Cmd } return RateLimitCmd_INIT } -func (m *RateLimitRequest) GetRateLimitInitRequest() *RateLimitInitRequest { - if m != nil { - return m.RateLimitInitRequest +func (x *RateLimitRequest) GetRateLimitInitRequest() *RateLimitInitRequest { + if x != nil { + return x.RateLimitInitRequest } return nil } -func (m *RateLimitRequest) GetRateLimitReportRequest() *RateLimitReportRequest { - if m != nil { - return m.RateLimitReportRequest +func (x *RateLimitRequest) GetRateLimitReportRequest() *RateLimitReportRequest { + if x != nil { + return x.RateLimitReportRequest } return nil } -func (m *RateLimitRequest) GetRateLimitBatchInitRequest() *RateLimitBatchInitRequest { - if m != nil { - return m.RateLimitBatchInitRequest +func (x *RateLimitRequest) GetRateLimitBatchInitRequest() *RateLimitBatchInitRequest { + if x != nil { + return x.RateLimitBatchInitRequest } return nil } // 限流应答 type RateLimitResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + // 命令字 Cmd RateLimitCmd `protobuf:"varint,1,opt,name=cmd,proto3,enum=polaris.metric.v2.RateLimitCmd" json:"cmd,omitempty"` // 初始化应答 @@ -181,65 +265,74 @@ type RateLimitResponse struct { RateLimitReportResponse *RateLimitReportResponse `protobuf:"bytes,3,opt,name=rateLimitReportResponse,proto3" json:"rateLimitReportResponse,omitempty"` // 批量初始化应答 RateLimitBatchInitResponse *RateLimitBatchInitResponse `protobuf:"bytes,4,opt,name=rateLimitBatchInitResponse,proto3" json:"rateLimitBatchInitResponse,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` } -func (m *RateLimitResponse) Reset() { *m = RateLimitResponse{} } -func (m *RateLimitResponse) String() string { return proto.CompactTextString(m) } -func (*RateLimitResponse) ProtoMessage() {} -func (*RateLimitResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_ratelimiter_f717a24d735c3bb3, []int{1} -} -func (m *RateLimitResponse) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_RateLimitResponse.Unmarshal(m, b) -} -func (m *RateLimitResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_RateLimitResponse.Marshal(b, m, deterministic) -} -func (dst *RateLimitResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_RateLimitResponse.Merge(dst, src) +func (x *RateLimitResponse) Reset() { + *x = RateLimitResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_ratelimiter_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (m *RateLimitResponse) XXX_Size() int { - return xxx_messageInfo_RateLimitResponse.Size(m) + +func (x *RateLimitResponse) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *RateLimitResponse) XXX_DiscardUnknown() { - xxx_messageInfo_RateLimitResponse.DiscardUnknown(m) + +func (*RateLimitResponse) ProtoMessage() {} + +func (x *RateLimitResponse) ProtoReflect() protoreflect.Message { + mi := &file_ratelimiter_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) } -var xxx_messageInfo_RateLimitResponse proto.InternalMessageInfo +// Deprecated: Use RateLimitResponse.ProtoReflect.Descriptor instead. +func (*RateLimitResponse) Descriptor() ([]byte, []int) { + return file_ratelimiter_proto_rawDescGZIP(), []int{1} +} -func (m *RateLimitResponse) GetCmd() RateLimitCmd { - if m != nil { - return m.Cmd +func (x *RateLimitResponse) GetCmd() RateLimitCmd { + if x != nil { + return x.Cmd } return RateLimitCmd_INIT } -func (m *RateLimitResponse) GetRateLimitInitResponse() *RateLimitInitResponse { - if m != nil { - return m.RateLimitInitResponse +func (x *RateLimitResponse) GetRateLimitInitResponse() *RateLimitInitResponse { + if x != nil { + return x.RateLimitInitResponse } return nil } -func (m *RateLimitResponse) GetRateLimitReportResponse() *RateLimitReportResponse { - if m != nil { - return m.RateLimitReportResponse +func (x *RateLimitResponse) GetRateLimitReportResponse() *RateLimitReportResponse { + if x != nil { + return x.RateLimitReportResponse } return nil } -func (m *RateLimitResponse) GetRateLimitBatchInitResponse() *RateLimitBatchInitResponse { - if m != nil { - return m.RateLimitBatchInitResponse +func (x *RateLimitResponse) GetRateLimitBatchInitResponse() *RateLimitBatchInitResponse { + if x != nil { + return x.RateLimitBatchInitResponse } return nil } // 初始化请求 type RateLimitInitRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + // 限流目标对象数据 Target *LimitTarget `protobuf:"bytes,1,opt,name=target,proto3" json:"target,omitempty"` // 客户端唯一标识 @@ -249,73 +342,82 @@ type RateLimitInitRequest struct { // 客户端可指定滑窗数,不指定用默认值 SlideCount uint32 `protobuf:"varint,4,opt,name=slideCount,proto3" json:"slideCount,omitempty"` // 限流模式 - Mode Mode `protobuf:"varint,5,opt,name=mode,proto3,enum=polaris.metric.v2.Mode" json:"mode,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + Mode Mode `protobuf:"varint,5,opt,name=mode,proto3,enum=polaris.metric.v2.Mode" json:"mode,omitempty"` } -func (m *RateLimitInitRequest) Reset() { *m = RateLimitInitRequest{} } -func (m *RateLimitInitRequest) String() string { return proto.CompactTextString(m) } -func (*RateLimitInitRequest) ProtoMessage() {} -func (*RateLimitInitRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_ratelimiter_f717a24d735c3bb3, []int{2} -} -func (m *RateLimitInitRequest) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_RateLimitInitRequest.Unmarshal(m, b) -} -func (m *RateLimitInitRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_RateLimitInitRequest.Marshal(b, m, deterministic) -} -func (dst *RateLimitInitRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_RateLimitInitRequest.Merge(dst, src) +func (x *RateLimitInitRequest) Reset() { + *x = RateLimitInitRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_ratelimiter_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (m *RateLimitInitRequest) XXX_Size() int { - return xxx_messageInfo_RateLimitInitRequest.Size(m) + +func (x *RateLimitInitRequest) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *RateLimitInitRequest) XXX_DiscardUnknown() { - xxx_messageInfo_RateLimitInitRequest.DiscardUnknown(m) + +func (*RateLimitInitRequest) ProtoMessage() {} + +func (x *RateLimitInitRequest) ProtoReflect() protoreflect.Message { + mi := &file_ratelimiter_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) } -var xxx_messageInfo_RateLimitInitRequest proto.InternalMessageInfo +// Deprecated: Use RateLimitInitRequest.ProtoReflect.Descriptor instead. +func (*RateLimitInitRequest) Descriptor() ([]byte, []int) { + return file_ratelimiter_proto_rawDescGZIP(), []int{2} +} -func (m *RateLimitInitRequest) GetTarget() *LimitTarget { - if m != nil { - return m.Target +func (x *RateLimitInitRequest) GetTarget() *LimitTarget { + if x != nil { + return x.Target } return nil } -func (m *RateLimitInitRequest) GetClientId() string { - if m != nil { - return m.ClientId +func (x *RateLimitInitRequest) GetClientId() string { + if x != nil { + return x.ClientId } return "" } -func (m *RateLimitInitRequest) GetTotals() []*QuotaTotal { - if m != nil { - return m.Totals +func (x *RateLimitInitRequest) GetTotals() []*QuotaTotal { + if x != nil { + return x.Totals } return nil } -func (m *RateLimitInitRequest) GetSlideCount() uint32 { - if m != nil { - return m.SlideCount +func (x *RateLimitInitRequest) GetSlideCount() uint32 { + if x != nil { + return x.SlideCount } return 0 } -func (m *RateLimitInitRequest) GetMode() Mode { - if m != nil { - return m.Mode +func (x *RateLimitInitRequest) GetMode() Mode { + if x != nil { + return x.Mode } return Mode_ADAPTIVE } // 初始化应答 type RateLimitInitResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + // 应答错误码 Code uint32 `protobuf:"varint,1,opt,name=code,proto3" json:"code,omitempty"` // 限流目标对象,回传给客户端 @@ -327,176 +429,203 @@ type RateLimitInitResponse struct { // 实际滑窗个数 SlideCount uint32 `protobuf:"varint,6,opt,name=slideCount,proto3" json:"slideCount,omitempty"` // 限流server绝对时间,单位ms - Timestamp int64 `protobuf:"varint,7,opt,name=timestamp,proto3" json:"timestamp,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + Timestamp int64 `protobuf:"varint,7,opt,name=timestamp,proto3" json:"timestamp,omitempty"` } -func (m *RateLimitInitResponse) Reset() { *m = RateLimitInitResponse{} } -func (m *RateLimitInitResponse) String() string { return proto.CompactTextString(m) } -func (*RateLimitInitResponse) ProtoMessage() {} -func (*RateLimitInitResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_ratelimiter_f717a24d735c3bb3, []int{3} -} -func (m *RateLimitInitResponse) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_RateLimitInitResponse.Unmarshal(m, b) -} -func (m *RateLimitInitResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_RateLimitInitResponse.Marshal(b, m, deterministic) -} -func (dst *RateLimitInitResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_RateLimitInitResponse.Merge(dst, src) +func (x *RateLimitInitResponse) Reset() { + *x = RateLimitInitResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_ratelimiter_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (m *RateLimitInitResponse) XXX_Size() int { - return xxx_messageInfo_RateLimitInitResponse.Size(m) + +func (x *RateLimitInitResponse) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *RateLimitInitResponse) XXX_DiscardUnknown() { - xxx_messageInfo_RateLimitInitResponse.DiscardUnknown(m) + +func (*RateLimitInitResponse) ProtoMessage() {} + +func (x *RateLimitInitResponse) ProtoReflect() protoreflect.Message { + mi := &file_ratelimiter_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) } -var xxx_messageInfo_RateLimitInitResponse proto.InternalMessageInfo +// Deprecated: Use RateLimitInitResponse.ProtoReflect.Descriptor instead. +func (*RateLimitInitResponse) Descriptor() ([]byte, []int) { + return file_ratelimiter_proto_rawDescGZIP(), []int{3} +} -func (m *RateLimitInitResponse) GetCode() uint32 { - if m != nil { - return m.Code +func (x *RateLimitInitResponse) GetCode() uint32 { + if x != nil { + return x.Code } return 0 } -func (m *RateLimitInitResponse) GetTarget() *LimitTarget { - if m != nil { - return m.Target +func (x *RateLimitInitResponse) GetTarget() *LimitTarget { + if x != nil { + return x.Target } return nil } -func (m *RateLimitInitResponse) GetClientKey() uint32 { - if m != nil { - return m.ClientKey +func (x *RateLimitInitResponse) GetClientKey() uint32 { + if x != nil { + return x.ClientKey } return 0 } -func (m *RateLimitInitResponse) GetCounters() []*QuotaCounter { - if m != nil { - return m.Counters +func (x *RateLimitInitResponse) GetCounters() []*QuotaCounter { + if x != nil { + return x.Counters } return nil } -func (m *RateLimitInitResponse) GetSlideCount() uint32 { - if m != nil { - return m.SlideCount +func (x *RateLimitInitResponse) GetSlideCount() uint32 { + if x != nil { + return x.SlideCount } return 0 } -func (m *RateLimitInitResponse) GetTimestamp() int64 { - if m != nil { - return m.Timestamp +func (x *RateLimitInitResponse) GetTimestamp() int64 { + if x != nil { + return x.Timestamp } return 0 } // 批量初始化请求 type RateLimitBatchInitRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + // 每条规则汇总成一个Init请求 Request []*RateLimitInitRequest `protobuf:"bytes,1,rep,name=request,proto3" json:"request,omitempty"` // 客户端唯一标识 - ClientId string `protobuf:"bytes,2,opt,name=clientId,proto3" json:"clientId,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + ClientId string `protobuf:"bytes,2,opt,name=clientId,proto3" json:"clientId,omitempty"` } -func (m *RateLimitBatchInitRequest) Reset() { *m = RateLimitBatchInitRequest{} } -func (m *RateLimitBatchInitRequest) String() string { return proto.CompactTextString(m) } -func (*RateLimitBatchInitRequest) ProtoMessage() {} -func (*RateLimitBatchInitRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_ratelimiter_f717a24d735c3bb3, []int{4} -} -func (m *RateLimitBatchInitRequest) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_RateLimitBatchInitRequest.Unmarshal(m, b) -} -func (m *RateLimitBatchInitRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_RateLimitBatchInitRequest.Marshal(b, m, deterministic) -} -func (dst *RateLimitBatchInitRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_RateLimitBatchInitRequest.Merge(dst, src) +func (x *RateLimitBatchInitRequest) Reset() { + *x = RateLimitBatchInitRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_ratelimiter_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (m *RateLimitBatchInitRequest) XXX_Size() int { - return xxx_messageInfo_RateLimitBatchInitRequest.Size(m) + +func (x *RateLimitBatchInitRequest) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *RateLimitBatchInitRequest) XXX_DiscardUnknown() { - xxx_messageInfo_RateLimitBatchInitRequest.DiscardUnknown(m) + +func (*RateLimitBatchInitRequest) ProtoMessage() {} + +func (x *RateLimitBatchInitRequest) ProtoReflect() protoreflect.Message { + mi := &file_ratelimiter_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) } -var xxx_messageInfo_RateLimitBatchInitRequest proto.InternalMessageInfo +// Deprecated: Use RateLimitBatchInitRequest.ProtoReflect.Descriptor instead. +func (*RateLimitBatchInitRequest) Descriptor() ([]byte, []int) { + return file_ratelimiter_proto_rawDescGZIP(), []int{4} +} -func (m *RateLimitBatchInitRequest) GetRequest() []*RateLimitInitRequest { - if m != nil { - return m.Request +func (x *RateLimitBatchInitRequest) GetRequest() []*RateLimitInitRequest { + if x != nil { + return x.Request } return nil } -func (m *RateLimitBatchInitRequest) GetClientId() string { - if m != nil { - return m.ClientId +func (x *RateLimitBatchInitRequest) GetClientId() string { + if x != nil { + return x.ClientId } return "" } type LabeledQuotaCounter struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + // 自定义标签 Labels string `protobuf:"bytes,1,opt,name=labels,proto3" json:"labels,omitempty"` // 计数器的标识 - Counters []*QuotaCounter `protobuf:"bytes,2,rep,name=counters,proto3" json:"counters,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + Counters []*QuotaCounter `protobuf:"bytes,2,rep,name=counters,proto3" json:"counters,omitempty"` } -func (m *LabeledQuotaCounter) Reset() { *m = LabeledQuotaCounter{} } -func (m *LabeledQuotaCounter) String() string { return proto.CompactTextString(m) } -func (*LabeledQuotaCounter) ProtoMessage() {} -func (*LabeledQuotaCounter) Descriptor() ([]byte, []int) { - return fileDescriptor_ratelimiter_f717a24d735c3bb3, []int{5} -} -func (m *LabeledQuotaCounter) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_LabeledQuotaCounter.Unmarshal(m, b) -} -func (m *LabeledQuotaCounter) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_LabeledQuotaCounter.Marshal(b, m, deterministic) -} -func (dst *LabeledQuotaCounter) XXX_Merge(src proto.Message) { - xxx_messageInfo_LabeledQuotaCounter.Merge(dst, src) +func (x *LabeledQuotaCounter) Reset() { + *x = LabeledQuotaCounter{} + if protoimpl.UnsafeEnabled { + mi := &file_ratelimiter_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (m *LabeledQuotaCounter) XXX_Size() int { - return xxx_messageInfo_LabeledQuotaCounter.Size(m) + +func (x *LabeledQuotaCounter) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *LabeledQuotaCounter) XXX_DiscardUnknown() { - xxx_messageInfo_LabeledQuotaCounter.DiscardUnknown(m) + +func (*LabeledQuotaCounter) ProtoMessage() {} + +func (x *LabeledQuotaCounter) ProtoReflect() protoreflect.Message { + mi := &file_ratelimiter_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) } -var xxx_messageInfo_LabeledQuotaCounter proto.InternalMessageInfo +// Deprecated: Use LabeledQuotaCounter.ProtoReflect.Descriptor instead. +func (*LabeledQuotaCounter) Descriptor() ([]byte, []int) { + return file_ratelimiter_proto_rawDescGZIP(), []int{5} +} -func (m *LabeledQuotaCounter) GetLabels() string { - if m != nil { - return m.Labels +func (x *LabeledQuotaCounter) GetLabels() string { + if x != nil { + return x.Labels } return "" } -func (m *LabeledQuotaCounter) GetCounters() []*QuotaCounter { - if m != nil { - return m.Counters +func (x *LabeledQuotaCounter) GetCounters() []*QuotaCounter { + if x != nil { + return x.Counters } return nil } type BatchInitResult struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + // 应答错误码 Code uint32 `protobuf:"varint,1,opt,name=code,proto3" json:"code,omitempty"` // 限流目标对象,回传给客户端,labels为规则 @@ -504,66 +633,75 @@ type BatchInitResult struct { // 计数器的标识 Counters []*LabeledQuotaCounter `protobuf:"bytes,3,rep,name=counters,proto3" json:"counters,omitempty"` // 实际滑窗个数 - SlideCount uint32 `protobuf:"varint,4,opt,name=slideCount,proto3" json:"slideCount,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + SlideCount uint32 `protobuf:"varint,4,opt,name=slideCount,proto3" json:"slideCount,omitempty"` } -func (m *BatchInitResult) Reset() { *m = BatchInitResult{} } -func (m *BatchInitResult) String() string { return proto.CompactTextString(m) } -func (*BatchInitResult) ProtoMessage() {} -func (*BatchInitResult) Descriptor() ([]byte, []int) { - return fileDescriptor_ratelimiter_f717a24d735c3bb3, []int{6} -} -func (m *BatchInitResult) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_BatchInitResult.Unmarshal(m, b) -} -func (m *BatchInitResult) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_BatchInitResult.Marshal(b, m, deterministic) -} -func (dst *BatchInitResult) XXX_Merge(src proto.Message) { - xxx_messageInfo_BatchInitResult.Merge(dst, src) +func (x *BatchInitResult) Reset() { + *x = BatchInitResult{} + if protoimpl.UnsafeEnabled { + mi := &file_ratelimiter_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (m *BatchInitResult) XXX_Size() int { - return xxx_messageInfo_BatchInitResult.Size(m) + +func (x *BatchInitResult) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *BatchInitResult) XXX_DiscardUnknown() { - xxx_messageInfo_BatchInitResult.DiscardUnknown(m) + +func (*BatchInitResult) ProtoMessage() {} + +func (x *BatchInitResult) ProtoReflect() protoreflect.Message { + mi := &file_ratelimiter_proto_msgTypes[6] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) } -var xxx_messageInfo_BatchInitResult proto.InternalMessageInfo +// Deprecated: Use BatchInitResult.ProtoReflect.Descriptor instead. +func (*BatchInitResult) Descriptor() ([]byte, []int) { + return file_ratelimiter_proto_rawDescGZIP(), []int{6} +} -func (m *BatchInitResult) GetCode() uint32 { - if m != nil { - return m.Code +func (x *BatchInitResult) GetCode() uint32 { + if x != nil { + return x.Code } return 0 } -func (m *BatchInitResult) GetTarget() *LimitTarget { - if m != nil { - return m.Target +func (x *BatchInitResult) GetTarget() *LimitTarget { + if x != nil { + return x.Target } return nil } -func (m *BatchInitResult) GetCounters() []*LabeledQuotaCounter { - if m != nil { - return m.Counters +func (x *BatchInitResult) GetCounters() []*LabeledQuotaCounter { + if x != nil { + return x.Counters } return nil } -func (m *BatchInitResult) GetSlideCount() uint32 { - if m != nil { - return m.SlideCount +func (x *BatchInitResult) GetSlideCount() uint32 { + if x != nil { + return x.SlideCount } return 0 } // 批量初始化应答 type RateLimitBatchInitResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + // 应答错误码 Code uint32 `protobuf:"varint,1,opt,name=code,proto3" json:"code,omitempty"` // 客户端的标识,与clientId对应,一个server全局唯一,上报时候带入 @@ -571,181 +709,208 @@ type RateLimitBatchInitResponse struct { // 限流server绝对时间,单位ms Timestamp int64 `protobuf:"varint,3,opt,name=timestamp,proto3" json:"timestamp,omitempty"` // 批量初始化结果 - Result []*BatchInitResult `protobuf:"bytes,4,rep,name=result,proto3" json:"result,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + Result []*BatchInitResult `protobuf:"bytes,4,rep,name=result,proto3" json:"result,omitempty"` } -func (m *RateLimitBatchInitResponse) Reset() { *m = RateLimitBatchInitResponse{} } -func (m *RateLimitBatchInitResponse) String() string { return proto.CompactTextString(m) } -func (*RateLimitBatchInitResponse) ProtoMessage() {} -func (*RateLimitBatchInitResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_ratelimiter_f717a24d735c3bb3, []int{7} -} -func (m *RateLimitBatchInitResponse) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_RateLimitBatchInitResponse.Unmarshal(m, b) -} -func (m *RateLimitBatchInitResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_RateLimitBatchInitResponse.Marshal(b, m, deterministic) -} -func (dst *RateLimitBatchInitResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_RateLimitBatchInitResponse.Merge(dst, src) +func (x *RateLimitBatchInitResponse) Reset() { + *x = RateLimitBatchInitResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_ratelimiter_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (m *RateLimitBatchInitResponse) XXX_Size() int { - return xxx_messageInfo_RateLimitBatchInitResponse.Size(m) + +func (x *RateLimitBatchInitResponse) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *RateLimitBatchInitResponse) XXX_DiscardUnknown() { - xxx_messageInfo_RateLimitBatchInitResponse.DiscardUnknown(m) + +func (*RateLimitBatchInitResponse) ProtoMessage() {} + +func (x *RateLimitBatchInitResponse) ProtoReflect() protoreflect.Message { + mi := &file_ratelimiter_proto_msgTypes[7] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) } -var xxx_messageInfo_RateLimitBatchInitResponse proto.InternalMessageInfo +// Deprecated: Use RateLimitBatchInitResponse.ProtoReflect.Descriptor instead. +func (*RateLimitBatchInitResponse) Descriptor() ([]byte, []int) { + return file_ratelimiter_proto_rawDescGZIP(), []int{7} +} -func (m *RateLimitBatchInitResponse) GetCode() uint32 { - if m != nil { - return m.Code +func (x *RateLimitBatchInitResponse) GetCode() uint32 { + if x != nil { + return x.Code } return 0 } -func (m *RateLimitBatchInitResponse) GetClientKey() uint32 { - if m != nil { - return m.ClientKey +func (x *RateLimitBatchInitResponse) GetClientKey() uint32 { + if x != nil { + return x.ClientKey } return 0 } -func (m *RateLimitBatchInitResponse) GetTimestamp() int64 { - if m != nil { - return m.Timestamp +func (x *RateLimitBatchInitResponse) GetTimestamp() int64 { + if x != nil { + return x.Timestamp } return 0 } -func (m *RateLimitBatchInitResponse) GetResult() []*BatchInitResult { - if m != nil { - return m.Result +func (x *RateLimitBatchInitResponse) GetResult() []*BatchInitResult { + if x != nil { + return x.Result } return nil } // 限流上报请求 type RateLimitReportRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + // 客户端标识 ClientKey uint32 `protobuf:"varint,1,opt,name=clientKey,proto3" json:"clientKey,omitempty"` // 已使用的配额数 QuotaUses []*QuotaSum `protobuf:"bytes,2,rep,name=quotaUses,proto3" json:"quotaUses,omitempty"` // 配额发生的时间,单位ms - Timestamp int64 `protobuf:"varint,3,opt,name=timestamp,proto3" json:"timestamp,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + Timestamp int64 `protobuf:"varint,3,opt,name=timestamp,proto3" json:"timestamp,omitempty"` } -func (m *RateLimitReportRequest) Reset() { *m = RateLimitReportRequest{} } -func (m *RateLimitReportRequest) String() string { return proto.CompactTextString(m) } -func (*RateLimitReportRequest) ProtoMessage() {} -func (*RateLimitReportRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_ratelimiter_f717a24d735c3bb3, []int{8} -} -func (m *RateLimitReportRequest) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_RateLimitReportRequest.Unmarshal(m, b) -} -func (m *RateLimitReportRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_RateLimitReportRequest.Marshal(b, m, deterministic) -} -func (dst *RateLimitReportRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_RateLimitReportRequest.Merge(dst, src) +func (x *RateLimitReportRequest) Reset() { + *x = RateLimitReportRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_ratelimiter_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (m *RateLimitReportRequest) XXX_Size() int { - return xxx_messageInfo_RateLimitReportRequest.Size(m) + +func (x *RateLimitReportRequest) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *RateLimitReportRequest) XXX_DiscardUnknown() { - xxx_messageInfo_RateLimitReportRequest.DiscardUnknown(m) + +func (*RateLimitReportRequest) ProtoMessage() {} + +func (x *RateLimitReportRequest) ProtoReflect() protoreflect.Message { + mi := &file_ratelimiter_proto_msgTypes[8] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) } -var xxx_messageInfo_RateLimitReportRequest proto.InternalMessageInfo +// Deprecated: Use RateLimitReportRequest.ProtoReflect.Descriptor instead. +func (*RateLimitReportRequest) Descriptor() ([]byte, []int) { + return file_ratelimiter_proto_rawDescGZIP(), []int{8} +} -func (m *RateLimitReportRequest) GetClientKey() uint32 { - if m != nil { - return m.ClientKey +func (x *RateLimitReportRequest) GetClientKey() uint32 { + if x != nil { + return x.ClientKey } return 0 } -func (m *RateLimitReportRequest) GetQuotaUses() []*QuotaSum { - if m != nil { - return m.QuotaUses +func (x *RateLimitReportRequest) GetQuotaUses() []*QuotaSum { + if x != nil { + return x.QuotaUses } return nil } -func (m *RateLimitReportRequest) GetTimestamp() int64 { - if m != nil { - return m.Timestamp +func (x *RateLimitReportRequest) GetTimestamp() int64 { + if x != nil { + return x.Timestamp } return 0 } // 限流上报应答 type RateLimitReportResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + Code uint32 `protobuf:"varint,1,opt,name=code,proto3" json:"code,omitempty"` // 剩余配额数 QuotaLefts []*QuotaLeft `protobuf:"bytes,2,rep,name=quotaLefts,proto3" json:"quotaLefts,omitempty"` // 限流server绝对时间,单位ms - Timestamp int64 `protobuf:"varint,3,opt,name=timestamp,proto3" json:"timestamp,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + Timestamp int64 `protobuf:"varint,3,opt,name=timestamp,proto3" json:"timestamp,omitempty"` } -func (m *RateLimitReportResponse) Reset() { *m = RateLimitReportResponse{} } -func (m *RateLimitReportResponse) String() string { return proto.CompactTextString(m) } -func (*RateLimitReportResponse) ProtoMessage() {} -func (*RateLimitReportResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_ratelimiter_f717a24d735c3bb3, []int{9} -} -func (m *RateLimitReportResponse) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_RateLimitReportResponse.Unmarshal(m, b) -} -func (m *RateLimitReportResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_RateLimitReportResponse.Marshal(b, m, deterministic) -} -func (dst *RateLimitReportResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_RateLimitReportResponse.Merge(dst, src) +func (x *RateLimitReportResponse) Reset() { + *x = RateLimitReportResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_ratelimiter_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (m *RateLimitReportResponse) XXX_Size() int { - return xxx_messageInfo_RateLimitReportResponse.Size(m) + +func (x *RateLimitReportResponse) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *RateLimitReportResponse) XXX_DiscardUnknown() { - xxx_messageInfo_RateLimitReportResponse.DiscardUnknown(m) + +func (*RateLimitReportResponse) ProtoMessage() {} + +func (x *RateLimitReportResponse) ProtoReflect() protoreflect.Message { + mi := &file_ratelimiter_proto_msgTypes[9] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) } -var xxx_messageInfo_RateLimitReportResponse proto.InternalMessageInfo +// Deprecated: Use RateLimitReportResponse.ProtoReflect.Descriptor instead. +func (*RateLimitReportResponse) Descriptor() ([]byte, []int) { + return file_ratelimiter_proto_rawDescGZIP(), []int{9} +} -func (m *RateLimitReportResponse) GetCode() uint32 { - if m != nil { - return m.Code +func (x *RateLimitReportResponse) GetCode() uint32 { + if x != nil { + return x.Code } return 0 } -func (m *RateLimitReportResponse) GetQuotaLefts() []*QuotaLeft { - if m != nil { - return m.QuotaLefts +func (x *RateLimitReportResponse) GetQuotaLefts() []*QuotaLeft { + if x != nil { + return x.QuotaLefts } return nil } -func (m *RateLimitReportResponse) GetTimestamp() int64 { - if m != nil { - return m.Timestamp +func (x *RateLimitReportResponse) GetTimestamp() int64 { + if x != nil { + return x.Timestamp } return 0 } // 限流目标,针对哪部分数据进行限流 type LimitTarget struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + // 命名空间 Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` // 服务名 @@ -753,124 +918,142 @@ type LimitTarget struct { // 自定义标签 Labels string `protobuf:"bytes,3,opt,name=labels,proto3" json:"labels,omitempty"` // 批量自定义标签 - LabelsList []string `protobuf:"bytes,4,rep,name=labels_list,json=labelsList,proto3" json:"labels_list,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + LabelsList []string `protobuf:"bytes,4,rep,name=labels_list,json=labelsList,proto3" json:"labels_list,omitempty"` } -func (m *LimitTarget) Reset() { *m = LimitTarget{} } -func (m *LimitTarget) String() string { return proto.CompactTextString(m) } -func (*LimitTarget) ProtoMessage() {} -func (*LimitTarget) Descriptor() ([]byte, []int) { - return fileDescriptor_ratelimiter_f717a24d735c3bb3, []int{10} -} -func (m *LimitTarget) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_LimitTarget.Unmarshal(m, b) -} -func (m *LimitTarget) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_LimitTarget.Marshal(b, m, deterministic) -} -func (dst *LimitTarget) XXX_Merge(src proto.Message) { - xxx_messageInfo_LimitTarget.Merge(dst, src) +func (x *LimitTarget) Reset() { + *x = LimitTarget{} + if protoimpl.UnsafeEnabled { + mi := &file_ratelimiter_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (m *LimitTarget) XXX_Size() int { - return xxx_messageInfo_LimitTarget.Size(m) + +func (x *LimitTarget) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *LimitTarget) XXX_DiscardUnknown() { - xxx_messageInfo_LimitTarget.DiscardUnknown(m) + +func (*LimitTarget) ProtoMessage() {} + +func (x *LimitTarget) ProtoReflect() protoreflect.Message { + mi := &file_ratelimiter_proto_msgTypes[10] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) } -var xxx_messageInfo_LimitTarget proto.InternalMessageInfo +// Deprecated: Use LimitTarget.ProtoReflect.Descriptor instead. +func (*LimitTarget) Descriptor() ([]byte, []int) { + return file_ratelimiter_proto_rawDescGZIP(), []int{10} +} -func (m *LimitTarget) GetNamespace() string { - if m != nil { - return m.Namespace +func (x *LimitTarget) GetNamespace() string { + if x != nil { + return x.Namespace } return "" } -func (m *LimitTarget) GetService() string { - if m != nil { - return m.Service +func (x *LimitTarget) GetService() string { + if x != nil { + return x.Service } return "" } -func (m *LimitTarget) GetLabels() string { - if m != nil { - return m.Labels +func (x *LimitTarget) GetLabels() string { + if x != nil { + return x.Labels } return "" } -func (m *LimitTarget) GetLabelsList() []string { - if m != nil { - return m.LabelsList +func (x *LimitTarget) GetLabelsList() []string { + if x != nil { + return x.LabelsList } return nil } // 阈值配置的值 type QuotaTotal struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + // 阈值模式 Mode QuotaMode `protobuf:"varint,1,opt,name=mode,proto3,enum=polaris.metric.v2.QuotaMode" json:"mode,omitempty"` // 单位秒 Duration uint32 `protobuf:"varint,2,opt,name=duration,proto3" json:"duration,omitempty"` // 限流阈值 - MaxAmount uint32 `protobuf:"varint,3,opt,name=maxAmount,proto3" json:"maxAmount,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + MaxAmount uint32 `protobuf:"varint,3,opt,name=maxAmount,proto3" json:"maxAmount,omitempty"` } -func (m *QuotaTotal) Reset() { *m = QuotaTotal{} } -func (m *QuotaTotal) String() string { return proto.CompactTextString(m) } -func (*QuotaTotal) ProtoMessage() {} -func (*QuotaTotal) Descriptor() ([]byte, []int) { - return fileDescriptor_ratelimiter_f717a24d735c3bb3, []int{11} -} -func (m *QuotaTotal) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_QuotaTotal.Unmarshal(m, b) -} -func (m *QuotaTotal) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_QuotaTotal.Marshal(b, m, deterministic) -} -func (dst *QuotaTotal) XXX_Merge(src proto.Message) { - xxx_messageInfo_QuotaTotal.Merge(dst, src) +func (x *QuotaTotal) Reset() { + *x = QuotaTotal{} + if protoimpl.UnsafeEnabled { + mi := &file_ratelimiter_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (m *QuotaTotal) XXX_Size() int { - return xxx_messageInfo_QuotaTotal.Size(m) + +func (x *QuotaTotal) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *QuotaTotal) XXX_DiscardUnknown() { - xxx_messageInfo_QuotaTotal.DiscardUnknown(m) + +func (*QuotaTotal) ProtoMessage() {} + +func (x *QuotaTotal) ProtoReflect() protoreflect.Message { + mi := &file_ratelimiter_proto_msgTypes[11] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) } -var xxx_messageInfo_QuotaTotal proto.InternalMessageInfo +// Deprecated: Use QuotaTotal.ProtoReflect.Descriptor instead. +func (*QuotaTotal) Descriptor() ([]byte, []int) { + return file_ratelimiter_proto_rawDescGZIP(), []int{11} +} -func (m *QuotaTotal) GetMode() QuotaMode { - if m != nil { - return m.Mode +func (x *QuotaTotal) GetMode() QuotaMode { + if x != nil { + return x.Mode } return QuotaMode_WHOLE } -func (m *QuotaTotal) GetDuration() uint32 { - if m != nil { - return m.Duration +func (x *QuotaTotal) GetDuration() uint32 { + if x != nil { + return x.Duration } return 0 } -func (m *QuotaTotal) GetMaxAmount() uint32 { - if m != nil { - return m.MaxAmount +func (x *QuotaTotal) GetMaxAmount() uint32 { + if x != nil { + return x.MaxAmount } return 0 } // 限流计数器 type QuotaCounter struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + // 单位秒 Duration uint32 `protobuf:"varint,1,opt,name=duration,proto3" json:"duration,omitempty"` // bucket的标识,上报时候带入 @@ -880,131 +1063,149 @@ type QuotaCounter struct { // 实际限流模式 Mode Mode `protobuf:"varint,4,opt,name=mode,proto3,enum=polaris.metric.v2.Mode" json:"mode,omitempty"` // 接入的客户端数量 - ClientCount uint32 `protobuf:"varint,5,opt,name=clientCount,proto3" json:"clientCount,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + ClientCount uint32 `protobuf:"varint,5,opt,name=clientCount,proto3" json:"clientCount,omitempty"` } -func (m *QuotaCounter) Reset() { *m = QuotaCounter{} } -func (m *QuotaCounter) String() string { return proto.CompactTextString(m) } -func (*QuotaCounter) ProtoMessage() {} -func (*QuotaCounter) Descriptor() ([]byte, []int) { - return fileDescriptor_ratelimiter_f717a24d735c3bb3, []int{12} -} -func (m *QuotaCounter) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_QuotaCounter.Unmarshal(m, b) -} -func (m *QuotaCounter) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_QuotaCounter.Marshal(b, m, deterministic) -} -func (dst *QuotaCounter) XXX_Merge(src proto.Message) { - xxx_messageInfo_QuotaCounter.Merge(dst, src) +func (x *QuotaCounter) Reset() { + *x = QuotaCounter{} + if protoimpl.UnsafeEnabled { + mi := &file_ratelimiter_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (m *QuotaCounter) XXX_Size() int { - return xxx_messageInfo_QuotaCounter.Size(m) + +func (x *QuotaCounter) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *QuotaCounter) XXX_DiscardUnknown() { - xxx_messageInfo_QuotaCounter.DiscardUnknown(m) + +func (*QuotaCounter) ProtoMessage() {} + +func (x *QuotaCounter) ProtoReflect() protoreflect.Message { + mi := &file_ratelimiter_proto_msgTypes[12] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) } -var xxx_messageInfo_QuotaCounter proto.InternalMessageInfo +// Deprecated: Use QuotaCounter.ProtoReflect.Descriptor instead. +func (*QuotaCounter) Descriptor() ([]byte, []int) { + return file_ratelimiter_proto_rawDescGZIP(), []int{12} +} -func (m *QuotaCounter) GetDuration() uint32 { - if m != nil { - return m.Duration +func (x *QuotaCounter) GetDuration() uint32 { + if x != nil { + return x.Duration } return 0 } -func (m *QuotaCounter) GetCounterKey() uint32 { - if m != nil { - return m.CounterKey +func (x *QuotaCounter) GetCounterKey() uint32 { + if x != nil { + return x.CounterKey } return 0 } -func (m *QuotaCounter) GetLeft() int64 { - if m != nil { - return m.Left +func (x *QuotaCounter) GetLeft() int64 { + if x != nil { + return x.Left } return 0 } -func (m *QuotaCounter) GetMode() Mode { - if m != nil { - return m.Mode +func (x *QuotaCounter) GetMode() Mode { + if x != nil { + return x.Mode } return Mode_ADAPTIVE } -func (m *QuotaCounter) GetClientCount() uint32 { - if m != nil { - return m.ClientCount +func (x *QuotaCounter) GetClientCount() uint32 { + if x != nil { + return x.ClientCount } return 0 } // 客户端阈值使用统计 type QuotaSum struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + // 计数器的标识,一个server全局唯一,上报时候带入 CounterKey uint32 `protobuf:"varint,1,opt,name=counterKey,proto3" json:"counterKey,omitempty"` // 已使用的配额数,上报时候带入 Used uint32 `protobuf:"varint,2,opt,name=used,proto3" json:"used,omitempty"` // 被限流数,上报时候带入 - Limited uint32 `protobuf:"varint,3,opt,name=limited,proto3" json:"limited,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + Limited uint32 `protobuf:"varint,3,opt,name=limited,proto3" json:"limited,omitempty"` } -func (m *QuotaSum) Reset() { *m = QuotaSum{} } -func (m *QuotaSum) String() string { return proto.CompactTextString(m) } -func (*QuotaSum) ProtoMessage() {} -func (*QuotaSum) Descriptor() ([]byte, []int) { - return fileDescriptor_ratelimiter_f717a24d735c3bb3, []int{13} -} -func (m *QuotaSum) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_QuotaSum.Unmarshal(m, b) -} -func (m *QuotaSum) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_QuotaSum.Marshal(b, m, deterministic) -} -func (dst *QuotaSum) XXX_Merge(src proto.Message) { - xxx_messageInfo_QuotaSum.Merge(dst, src) +func (x *QuotaSum) Reset() { + *x = QuotaSum{} + if protoimpl.UnsafeEnabled { + mi := &file_ratelimiter_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (m *QuotaSum) XXX_Size() int { - return xxx_messageInfo_QuotaSum.Size(m) + +func (x *QuotaSum) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *QuotaSum) XXX_DiscardUnknown() { - xxx_messageInfo_QuotaSum.DiscardUnknown(m) + +func (*QuotaSum) ProtoMessage() {} + +func (x *QuotaSum) ProtoReflect() protoreflect.Message { + mi := &file_ratelimiter_proto_msgTypes[13] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) } -var xxx_messageInfo_QuotaSum proto.InternalMessageInfo +// Deprecated: Use QuotaSum.ProtoReflect.Descriptor instead. +func (*QuotaSum) Descriptor() ([]byte, []int) { + return file_ratelimiter_proto_rawDescGZIP(), []int{13} +} -func (m *QuotaSum) GetCounterKey() uint32 { - if m != nil { - return m.CounterKey +func (x *QuotaSum) GetCounterKey() uint32 { + if x != nil { + return x.CounterKey } return 0 } -func (m *QuotaSum) GetUsed() uint32 { - if m != nil { - return m.Used +func (x *QuotaSum) GetUsed() uint32 { + if x != nil { + return x.Used } return 0 } -func (m *QuotaSum) GetLimited() uint32 { - if m != nil { - return m.Limited +func (x *QuotaSum) GetLimited() uint32 { + if x != nil { + return x.Limited } return 0 } // 客户端阈值使用统计,由服务端返回 type QuotaLeft struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + // 计数器的标识,一个server全局唯一,上报时候带入 CounterKey uint32 `protobuf:"varint,1,opt,name=counterKey,proto3" json:"counterKey,omitempty"` // 剩余配额数,应答返回,允许为负数 @@ -1012,228 +1213,662 @@ type QuotaLeft struct { // 当前限流模式 Mode Mode `protobuf:"varint,3,opt,name=mode,proto3,enum=polaris.metric.v2.Mode" json:"mode,omitempty"` // 接入的客户端数量 - ClientCount uint32 `protobuf:"varint,4,opt,name=clientCount,proto3" json:"clientCount,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + ClientCount uint32 `protobuf:"varint,4,opt,name=clientCount,proto3" json:"clientCount,omitempty"` } -func (m *QuotaLeft) Reset() { *m = QuotaLeft{} } -func (m *QuotaLeft) String() string { return proto.CompactTextString(m) } -func (*QuotaLeft) ProtoMessage() {} -func (*QuotaLeft) Descriptor() ([]byte, []int) { - return fileDescriptor_ratelimiter_f717a24d735c3bb3, []int{14} -} -func (m *QuotaLeft) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_QuotaLeft.Unmarshal(m, b) -} -func (m *QuotaLeft) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_QuotaLeft.Marshal(b, m, deterministic) -} -func (dst *QuotaLeft) XXX_Merge(src proto.Message) { - xxx_messageInfo_QuotaLeft.Merge(dst, src) +func (x *QuotaLeft) Reset() { + *x = QuotaLeft{} + if protoimpl.UnsafeEnabled { + mi := &file_ratelimiter_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (m *QuotaLeft) XXX_Size() int { - return xxx_messageInfo_QuotaLeft.Size(m) + +func (x *QuotaLeft) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *QuotaLeft) XXX_DiscardUnknown() { - xxx_messageInfo_QuotaLeft.DiscardUnknown(m) + +func (*QuotaLeft) ProtoMessage() {} + +func (x *QuotaLeft) ProtoReflect() protoreflect.Message { + mi := &file_ratelimiter_proto_msgTypes[14] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) } -var xxx_messageInfo_QuotaLeft proto.InternalMessageInfo +// Deprecated: Use QuotaLeft.ProtoReflect.Descriptor instead. +func (*QuotaLeft) Descriptor() ([]byte, []int) { + return file_ratelimiter_proto_rawDescGZIP(), []int{14} +} -func (m *QuotaLeft) GetCounterKey() uint32 { - if m != nil { - return m.CounterKey +func (x *QuotaLeft) GetCounterKey() uint32 { + if x != nil { + return x.CounterKey } return 0 } -func (m *QuotaLeft) GetLeft() int64 { - if m != nil { - return m.Left +func (x *QuotaLeft) GetLeft() int64 { + if x != nil { + return x.Left } return 0 } -func (m *QuotaLeft) GetMode() Mode { - if m != nil { - return m.Mode +func (x *QuotaLeft) GetMode() Mode { + if x != nil { + return x.Mode } return Mode_ADAPTIVE } -func (m *QuotaLeft) GetClientCount() uint32 { - if m != nil { - return m.ClientCount +func (x *QuotaLeft) GetClientCount() uint32 { + if x != nil { + return x.ClientCount } return 0 } // 时间点对齐的请求 type TimeAdjustRequest struct { - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields } -func (m *TimeAdjustRequest) Reset() { *m = TimeAdjustRequest{} } -func (m *TimeAdjustRequest) String() string { return proto.CompactTextString(m) } -func (*TimeAdjustRequest) ProtoMessage() {} -func (*TimeAdjustRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_ratelimiter_f717a24d735c3bb3, []int{15} -} -func (m *TimeAdjustRequest) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_TimeAdjustRequest.Unmarshal(m, b) -} -func (m *TimeAdjustRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_TimeAdjustRequest.Marshal(b, m, deterministic) -} -func (dst *TimeAdjustRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_TimeAdjustRequest.Merge(dst, src) +func (x *TimeAdjustRequest) Reset() { + *x = TimeAdjustRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_ratelimiter_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (m *TimeAdjustRequest) XXX_Size() int { - return xxx_messageInfo_TimeAdjustRequest.Size(m) + +func (x *TimeAdjustRequest) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *TimeAdjustRequest) XXX_DiscardUnknown() { - xxx_messageInfo_TimeAdjustRequest.DiscardUnknown(m) + +func (*TimeAdjustRequest) ProtoMessage() {} + +func (x *TimeAdjustRequest) ProtoReflect() protoreflect.Message { + mi := &file_ratelimiter_proto_msgTypes[15] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) } -var xxx_messageInfo_TimeAdjustRequest proto.InternalMessageInfo +// Deprecated: Use TimeAdjustRequest.ProtoReflect.Descriptor instead. +func (*TimeAdjustRequest) Descriptor() ([]byte, []int) { + return file_ratelimiter_proto_rawDescGZIP(), []int{15} +} // 时间点对齐的应答 type TimeAdjustResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + // 服务器时间点,毫秒 - ServerTimestamp int64 `protobuf:"varint,1,opt,name=serverTimestamp,proto3" json:"serverTimestamp,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + ServerTimestamp int64 `protobuf:"varint,1,opt,name=serverTimestamp,proto3" json:"serverTimestamp,omitempty"` } -func (m *TimeAdjustResponse) Reset() { *m = TimeAdjustResponse{} } -func (m *TimeAdjustResponse) String() string { return proto.CompactTextString(m) } -func (*TimeAdjustResponse) ProtoMessage() {} -func (*TimeAdjustResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_ratelimiter_f717a24d735c3bb3, []int{16} -} -func (m *TimeAdjustResponse) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_TimeAdjustResponse.Unmarshal(m, b) -} -func (m *TimeAdjustResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_TimeAdjustResponse.Marshal(b, m, deterministic) -} -func (dst *TimeAdjustResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_TimeAdjustResponse.Merge(dst, src) +func (x *TimeAdjustResponse) Reset() { + *x = TimeAdjustResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_ratelimiter_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (m *TimeAdjustResponse) XXX_Size() int { - return xxx_messageInfo_TimeAdjustResponse.Size(m) + +func (x *TimeAdjustResponse) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *TimeAdjustResponse) XXX_DiscardUnknown() { - xxx_messageInfo_TimeAdjustResponse.DiscardUnknown(m) + +func (*TimeAdjustResponse) ProtoMessage() {} + +func (x *TimeAdjustResponse) ProtoReflect() protoreflect.Message { + mi := &file_ratelimiter_proto_msgTypes[16] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) } -var xxx_messageInfo_TimeAdjustResponse proto.InternalMessageInfo +// Deprecated: Use TimeAdjustResponse.ProtoReflect.Descriptor instead. +func (*TimeAdjustResponse) Descriptor() ([]byte, []int) { + return file_ratelimiter_proto_rawDescGZIP(), []int{16} +} -func (m *TimeAdjustResponse) GetServerTimestamp() int64 { - if m != nil { - return m.ServerTimestamp +func (x *TimeAdjustResponse) GetServerTimestamp() int64 { + if x != nil { + return x.ServerTimestamp } return 0 } -func init() { - proto.RegisterType((*RateLimitRequest)(nil), "polaris.metric.v2.RateLimitRequest") - proto.RegisterType((*RateLimitResponse)(nil), "polaris.metric.v2.RateLimitResponse") - proto.RegisterType((*RateLimitInitRequest)(nil), "polaris.metric.v2.RateLimitInitRequest") - proto.RegisterType((*RateLimitInitResponse)(nil), "polaris.metric.v2.RateLimitInitResponse") - proto.RegisterType((*RateLimitBatchInitRequest)(nil), "polaris.metric.v2.RateLimitBatchInitRequest") - proto.RegisterType((*LabeledQuotaCounter)(nil), "polaris.metric.v2.LabeledQuotaCounter") - proto.RegisterType((*BatchInitResult)(nil), "polaris.metric.v2.BatchInitResult") - proto.RegisterType((*RateLimitBatchInitResponse)(nil), "polaris.metric.v2.RateLimitBatchInitResponse") - proto.RegisterType((*RateLimitReportRequest)(nil), "polaris.metric.v2.RateLimitReportRequest") - proto.RegisterType((*RateLimitReportResponse)(nil), "polaris.metric.v2.RateLimitReportResponse") - proto.RegisterType((*LimitTarget)(nil), "polaris.metric.v2.LimitTarget") - proto.RegisterType((*QuotaTotal)(nil), "polaris.metric.v2.QuotaTotal") - proto.RegisterType((*QuotaCounter)(nil), "polaris.metric.v2.QuotaCounter") - proto.RegisterType((*QuotaSum)(nil), "polaris.metric.v2.QuotaSum") - proto.RegisterType((*QuotaLeft)(nil), "polaris.metric.v2.QuotaLeft") - proto.RegisterType((*TimeAdjustRequest)(nil), "polaris.metric.v2.TimeAdjustRequest") - proto.RegisterType((*TimeAdjustResponse)(nil), "polaris.metric.v2.TimeAdjustResponse") - proto.RegisterEnum("polaris.metric.v2.RateLimitCmd", RateLimitCmd_name, RateLimitCmd_value) - proto.RegisterEnum("polaris.metric.v2.Mode", Mode_name, Mode_value) - proto.RegisterEnum("polaris.metric.v2.QuotaMode", QuotaMode_name, QuotaMode_value) -} - -func init() { proto.RegisterFile("ratelimiter.proto", fileDescriptor_ratelimiter_f717a24d735c3bb3) } - -var fileDescriptor_ratelimiter_f717a24d735c3bb3 = []byte{ - // 1078 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x57, 0x5d, 0x6f, 0xe3, 0x44, - 0x17, 0xde, 0x49, 0xd2, 0x34, 0x39, 0x69, 0xb7, 0xc9, 0xec, 0x6e, 0x9b, 0xed, 0xdb, 0xb7, 0x8d, - 0x7c, 0x01, 0xa1, 0x80, 0x43, 0x83, 0x00, 0xf1, 0x21, 0xa4, 0x24, 0xad, 0xd4, 0x88, 0xc0, 0x76, - 0x67, 0xd3, 0xe5, 0x4b, 0xa2, 0x72, 0xed, 0x49, 0xeb, 0xca, 0x8e, 0xb3, 0x9e, 0x71, 0xb5, 0x70, - 0xc1, 0x3d, 0x37, 0xf0, 0x37, 0xe0, 0x82, 0x1f, 0xc1, 0x1f, 0x42, 0xe2, 0x1a, 0x2e, 0x90, 0x67, - 0x26, 0x8e, 0xe3, 0xd8, 0xd9, 0xec, 0x8a, 0x3b, 0xcf, 0xc9, 0x39, 0xcf, 0x39, 0xe7, 0x39, 0xcf, - 0x99, 0xd8, 0x50, 0xf3, 0x0d, 0x4e, 0x1d, 0xdb, 0xb5, 0x39, 0xf5, 0xf5, 0x89, 0xef, 0x71, 0x0f, - 0xd7, 0x26, 0x9e, 0x63, 0xf8, 0x36, 0xd3, 0x5d, 0xca, 0x7d, 0xdb, 0xd4, 0x6f, 0xdb, 0xda, 0x5f, - 0x39, 0xa8, 0x12, 0x83, 0xd3, 0x41, 0xe8, 0x48, 0xe8, 0xb3, 0x80, 0x32, 0x8e, 0x8f, 0x20, 0x6f, - 0xba, 0x56, 0x1d, 0x35, 0x50, 0xf3, 0x6e, 0xfb, 0x40, 0x5f, 0x88, 0xd2, 0xa3, 0x88, 0x9e, 0x6b, - 0x91, 0xd0, 0x17, 0x7f, 0x0b, 0xf7, 0xfd, 0xa9, 0xb1, 0x3f, 0x8e, 0xa0, 0xea, 0xb9, 0x06, 0x6a, - 0x56, 0xda, 0xaf, 0x2f, 0xc3, 0x88, 0xb9, 0x93, 0x54, 0x10, 0x6c, 0xc0, 0xb6, 0x3f, 0xab, 0x71, - 0xe2, 0xf9, 0x11, 0x7c, 0x5e, 0xc0, 0xbf, 0xb1, 0x0c, 0x7e, 0x2e, 0x80, 0x64, 0x00, 0xe1, 0x1b, - 0x78, 0x18, 0xfd, 0xd2, 0x35, 0xb8, 0x79, 0x1d, 0x6f, 0xa2, 0x20, 0xb2, 0xbc, 0xb5, 0x2c, 0x4b, - 0x32, 0x86, 0x64, 0xc3, 0x69, 0x7f, 0xe7, 0xa0, 0x16, 0x2b, 0x8f, 0x4d, 0xbc, 0x31, 0xa3, 0xaf, - 0x42, 0xfa, 0x77, 0xf0, 0x20, 0xc1, 0x97, 0xc4, 0x52, 0xac, 0x37, 0x5f, 0xcc, 0xba, 0xf4, 0x27, - 0xe9, 0x30, 0xd8, 0x82, 0x9d, 0x05, 0xba, 0x54, 0x06, 0x49, 0xfc, 0xe1, 0x2a, 0xc4, 0xab, 0x1c, - 0x59, 0x50, 0xd8, 0x85, 0xdd, 0x34, 0xae, 0x54, 0x22, 0xc9, 0xfd, 0xdb, 0x2b, 0x72, 0xaf, 0x72, - 0x2d, 0x01, 0xd4, 0xfe, 0x44, 0x70, 0x3f, 0x4d, 0x7b, 0xf8, 0x7d, 0x28, 0x72, 0xc3, 0xbf, 0xa2, - 0x5c, 0xcc, 0xa0, 0xd2, 0xde, 0x4f, 0xc9, 0x29, 0x82, 0x86, 0xc2, 0x8b, 0x28, 0x6f, 0xbc, 0x0b, - 0x25, 0xd3, 0xb1, 0xe9, 0x98, 0xf7, 0x2d, 0x41, 0x7c, 0x99, 0x44, 0x67, 0xfc, 0x1e, 0x14, 0xb9, - 0xc7, 0x0d, 0x87, 0xd5, 0xf3, 0x8d, 0x7c, 0xb3, 0xd2, 0xfe, 0x7f, 0x0a, 0xe6, 0xe3, 0xc0, 0xe3, - 0xc6, 0x30, 0xf4, 0x22, 0xca, 0x19, 0xef, 0x03, 0x30, 0xc7, 0xb6, 0x68, 0xcf, 0x0b, 0xc6, 0x52, - 0x7e, 0x9b, 0x24, 0x66, 0xc1, 0x6f, 0x42, 0xc1, 0xf5, 0x2c, 0x5a, 0x5f, 0x13, 0x62, 0xd9, 0x49, - 0x01, 0xfd, 0xdc, 0xb3, 0x28, 0x11, 0x4e, 0xda, 0x3f, 0x08, 0x1e, 0xa4, 0x8e, 0x1d, 0x63, 0x28, - 0x98, 0x21, 0x0c, 0x12, 0x09, 0xc4, 0x73, 0x8c, 0x85, 0xdc, 0x4b, 0xb1, 0xb0, 0x07, 0x65, 0xd9, - 0xf5, 0x67, 0xf4, 0x7b, 0xa1, 0x8e, 0x4d, 0x32, 0x33, 0xe0, 0x8f, 0xa1, 0x64, 0x86, 0x95, 0x53, - 0x9f, 0xd5, 0xd7, 0x04, 0x13, 0x07, 0x59, 0x4c, 0xf4, 0xa4, 0x1f, 0x89, 0x02, 0x12, 0x6c, 0x14, - 0x17, 0xd8, 0xd8, 0x83, 0x32, 0xb7, 0x5d, 0xca, 0xb8, 0xe1, 0x4e, 0xea, 0xeb, 0x0d, 0xd4, 0xcc, - 0x93, 0x99, 0x41, 0xfb, 0x01, 0x1e, 0x66, 0x6e, 0x29, 0xee, 0xc0, 0xba, 0xaf, 0x96, 0x1c, 0x89, - 0xb2, 0x56, 0xbe, 0xa9, 0xa6, 0x71, 0xcb, 0xc6, 0xaf, 0xdd, 0xc0, 0xbd, 0x81, 0x71, 0x49, 0x1d, - 0x6a, 0xc5, 0x5b, 0xc3, 0xdb, 0x50, 0x74, 0x42, 0x33, 0x13, 0xcc, 0x97, 0x89, 0x3a, 0xcd, 0xb1, - 0x94, 0x7b, 0x49, 0x96, 0xb4, 0x3f, 0x10, 0x6c, 0xc5, 0xd5, 0x1e, 0x38, 0xfc, 0x3f, 0x1d, 0x70, - 0x37, 0x56, 0x9c, 0x14, 0xf3, 0x6b, 0x69, 0x91, 0x8b, 0xed, 0x66, 0x4e, 0x72, 0x41, 0xd7, 0xda, - 0xaf, 0x08, 0x76, 0xb3, 0xd7, 0x3a, 0xb5, 0x9d, 0x39, 0xdd, 0xe5, 0x92, 0xba, 0x9b, 0x93, 0x46, - 0x3e, 0x21, 0x0d, 0xfc, 0x11, 0x14, 0x7d, 0x41, 0x54, 0xbd, 0x20, 0x1a, 0xd2, 0x52, 0x1a, 0x4a, - 0x50, 0x4a, 0x54, 0x84, 0xf6, 0x0b, 0x82, 0xed, 0xf4, 0xff, 0x98, 0xf9, 0x92, 0x50, 0xb2, 0xa4, - 0x0f, 0xa1, 0xfc, 0x2c, 0x64, 0xe7, 0x9c, 0xd1, 0xe9, 0x94, 0xff, 0x97, 0x35, 0xe5, 0x27, 0x81, - 0x4b, 0x66, 0xde, 0xcb, 0xbb, 0xd1, 0x7e, 0x42, 0xb0, 0x93, 0x71, 0xf9, 0xa6, 0x32, 0xf7, 0x09, - 0x80, 0x80, 0x1e, 0xd0, 0x11, 0x9f, 0x56, 0xb2, 0x97, 0x55, 0x49, 0xe8, 0x44, 0x62, 0xfe, 0x2f, - 0xa8, 0xe5, 0x47, 0xa8, 0xc4, 0x34, 0x14, 0x3a, 0x8f, 0x0d, 0x97, 0xb2, 0x89, 0x61, 0x52, 0xa5, - 0xf9, 0x99, 0x01, 0xd7, 0x61, 0x9d, 0x51, 0xff, 0xd6, 0x36, 0xa9, 0x5a, 0xa0, 0xe9, 0x31, 0xb6, - 0x28, 0xf9, 0xb9, 0x45, 0x39, 0x80, 0x8a, 0x7c, 0xba, 0x70, 0x6c, 0x26, 0xa7, 0x57, 0x26, 0x20, - 0x4d, 0x03, 0x9b, 0x71, 0xed, 0x39, 0xc0, 0xec, 0x5a, 0xc5, 0xef, 0xa8, 0xeb, 0x52, 0xfe, 0xb7, - 0x66, 0xf6, 0x38, 0xbb, 0x33, 0xc3, 0xa5, 0xb6, 0x02, 0xdf, 0xe0, 0xb6, 0x37, 0x56, 0xa2, 0x8a, - 0xce, 0x61, 0x33, 0xae, 0xf1, 0xbc, 0xe3, 0x0a, 0x0d, 0xab, 0x9b, 0x2e, 0x32, 0x68, 0xbf, 0x23, - 0xd8, 0x98, 0x5b, 0xf6, 0x38, 0x14, 0x4a, 0x40, 0xed, 0x03, 0xa8, 0xdd, 0x98, 0xa9, 0x37, 0x66, - 0x09, 0xc7, 0xe6, 0xd0, 0x11, 0x57, 0xfc, 0x8a, 0xe7, 0xe8, 0xee, 0x2f, 0xac, 0x70, 0xf7, 0xe3, - 0x06, 0x54, 0xa4, 0xf2, 0xe4, 0xc6, 0xad, 0x89, 0x0c, 0x71, 0x93, 0xf6, 0x15, 0x94, 0xa6, 0x52, - 0x4b, 0x94, 0x83, 0xd2, 0xca, 0x09, 0x18, 0xb5, 0x54, 0xa1, 0xe2, 0x39, 0x1c, 0x9e, 0x7c, 0xc9, - 0xb4, 0x14, 0x17, 0xd3, 0xa3, 0xf6, 0x33, 0x82, 0x72, 0xa4, 0x9d, 0x55, 0xb0, 0x45, 0xab, 0xb9, - 0x94, 0x56, 0xf3, 0xaf, 0xd0, 0x6a, 0x61, 0xb1, 0xd5, 0x7b, 0x50, 0x1b, 0xda, 0x2e, 0xed, 0x58, - 0x37, 0x01, 0x8b, 0x5e, 0xc6, 0x3e, 0x05, 0x1c, 0x37, 0xaa, 0x7d, 0x69, 0xc2, 0x56, 0xa8, 0x41, - 0xea, 0x0f, 0x23, 0x8d, 0x23, 0x51, 0x58, 0xd2, 0x7c, 0x78, 0x0a, 0x1b, 0xf1, 0x17, 0x33, 0x5c, - 0x82, 0x42, 0xff, 0x8b, 0xfe, 0xb0, 0x7a, 0x07, 0x57, 0x60, 0xbd, 0xd3, 0x7b, 0x7c, 0xde, 0x27, - 0x27, 0x55, 0x84, 0xef, 0x02, 0x74, 0x3b, 0xc3, 0xde, 0xe9, 0x85, 0xf8, 0x31, 0x87, 0x6b, 0xb0, - 0x29, 0xcf, 0x53, 0x97, 0xfc, 0xe1, 0x07, 0x50, 0x08, 0xdb, 0xc1, 0x1b, 0x50, 0xea, 0x1c, 0x77, - 0xce, 0x86, 0xfd, 0xa7, 0x27, 0xd5, 0x3b, 0xb8, 0x0a, 0x1b, 0xd2, 0xf1, 0x51, 0xaf, 0x77, 0x7e, - 0xf6, 0x75, 0x15, 0xe1, 0x2d, 0xa8, 0x48, 0xcb, 0x93, 0xd3, 0x0e, 0x39, 0xa9, 0xe6, 0x0e, 0x35, - 0xc5, 0xb3, 0x88, 0x2e, 0xc3, 0xda, 0x97, 0xa7, 0x8f, 0x06, 0x61, 0x28, 0x40, 0xf1, 0xb8, 0xff, - 0xb4, 0x7f, 0x7c, 0x52, 0x45, 0xdd, 0xdf, 0x10, 0xf4, 0x4c, 0xcf, 0xd5, 0x39, 0x1d, 0x9b, 0x74, - 0xcc, 0x23, 0x2a, 0xd9, 0x84, 0x9a, 0xf6, 0xc8, 0x36, 0x85, 0x1e, 0x75, 0x63, 0x62, 0xeb, 0xb7, - 0x47, 0x3a, 0xf7, 0x8d, 0xd1, 0xc8, 0x36, 0x75, 0xd7, 0x18, 0x1b, 0x57, 0x54, 0x8f, 0x7d, 0x48, - 0x74, 0x67, 0x1f, 0x0b, 0xd4, 0x3f, 0x0b, 0x3f, 0x2a, 0xbe, 0x39, 0xbb, 0xb2, 0xf9, 0x75, 0x70, - 0xa9, 0x9b, 0x9e, 0xdb, 0x52, 0xa8, 0x2e, 0x65, 0xd7, 0xad, 0x39, 0xe4, 0x16, 0xf3, 0x02, 0xdf, - 0xa4, 0xad, 0x2b, 0xaf, 0x65, 0x4c, 0xec, 0xd6, 0xed, 0x51, 0x4b, 0xe5, 0xb8, 0x90, 0x39, 0x5a, - 0xb1, 0x1c, 0x97, 0x45, 0xf1, 0xb5, 0xf2, 0xee, 0xbf, 0x01, 0x00, 0x00, 0xff, 0xff, 0x46, 0x99, - 0xff, 0xcf, 0xc2, 0x0c, 0x00, 0x00, +var File_ratelimiter_proto protoreflect.FileDescriptor + +var file_ratelimiter_proto_rawDesc = []byte{ + 0x0a, 0x11, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x72, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x12, 0x11, 0x70, 0x6f, 0x6c, 0x61, 0x72, 0x69, 0x73, 0x2e, 0x6d, 0x65, 0x74, + 0x72, 0x69, 0x63, 0x2e, 0x76, 0x32, 0x22, 0xf1, 0x02, 0x0a, 0x10, 0x52, 0x61, 0x74, 0x65, 0x4c, + 0x69, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x31, 0x0a, 0x03, 0x63, + 0x6d, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1f, 0x2e, 0x70, 0x6f, 0x6c, 0x61, 0x72, + 0x69, 0x73, 0x2e, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x61, 0x74, + 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x43, 0x6d, 0x64, 0x52, 0x03, 0x63, 0x6d, 0x64, 0x12, 0x5b, + 0x0a, 0x14, 0x72, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x49, 0x6e, 0x69, 0x74, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x70, + 0x6f, 0x6c, 0x61, 0x72, 0x69, 0x73, 0x2e, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x2e, 0x76, 0x32, + 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x49, 0x6e, 0x69, 0x74, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x14, 0x72, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, + 0x49, 0x6e, 0x69, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x61, 0x0a, 0x16, 0x72, + 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x70, 0x6f, + 0x6c, 0x61, 0x72, 0x69, 0x73, 0x2e, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x2e, 0x76, 0x32, 0x2e, + 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x16, 0x72, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, + 0x74, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x6a, + 0x0a, 0x19, 0x72, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x42, 0x61, 0x74, 0x63, 0x68, + 0x49, 0x6e, 0x69, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x2c, 0x2e, 0x70, 0x6f, 0x6c, 0x61, 0x72, 0x69, 0x73, 0x2e, 0x6d, 0x65, 0x74, 0x72, + 0x69, 0x63, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x42, + 0x61, 0x74, 0x63, 0x68, 0x49, 0x6e, 0x69, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, + 0x19, 0x72, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x42, 0x61, 0x74, 0x63, 0x68, 0x49, + 0x6e, 0x69, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0xfb, 0x02, 0x0a, 0x11, 0x52, + 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x31, 0x0a, 0x03, 0x63, 0x6d, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1f, 0x2e, + 0x70, 0x6f, 0x6c, 0x61, 0x72, 0x69, 0x73, 0x2e, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x2e, 0x76, + 0x32, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x43, 0x6d, 0x64, 0x52, 0x03, + 0x63, 0x6d, 0x64, 0x12, 0x5e, 0x0a, 0x15, 0x72, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, + 0x49, 0x6e, 0x69, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x70, 0x6f, 0x6c, 0x61, 0x72, 0x69, 0x73, 0x2e, 0x6d, 0x65, 0x74, + 0x72, 0x69, 0x63, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, + 0x49, 0x6e, 0x69, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x15, 0x72, 0x61, + 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x49, 0x6e, 0x69, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x64, 0x0a, 0x17, 0x72, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, + 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x70, 0x6f, 0x6c, 0x61, 0x72, 0x69, 0x73, 0x2e, 0x6d, + 0x65, 0x74, 0x72, 0x69, 0x63, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, + 0x69, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x52, 0x17, 0x72, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x72, + 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6d, 0x0a, 0x1a, 0x72, 0x61, 0x74, + 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x42, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6e, 0x69, 0x74, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, + 0x70, 0x6f, 0x6c, 0x61, 0x72, 0x69, 0x73, 0x2e, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x2e, 0x76, + 0x32, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x42, 0x61, 0x74, 0x63, 0x68, + 0x49, 0x6e, 0x69, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x1a, 0x72, 0x61, + 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x42, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6e, 0x69, 0x74, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xee, 0x01, 0x0a, 0x14, 0x52, 0x61, 0x74, + 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x49, 0x6e, 0x69, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x36, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1e, 0x2e, 0x70, 0x6f, 0x6c, 0x61, 0x72, 0x69, 0x73, 0x2e, 0x6d, 0x65, 0x74, 0x72, + 0x69, 0x63, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, + 0x74, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x6c, 0x69, + 0x65, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x6c, 0x69, + 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x35, 0x0a, 0x06, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x73, 0x18, + 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x70, 0x6f, 0x6c, 0x61, 0x72, 0x69, 0x73, 0x2e, + 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x2e, 0x76, 0x32, 0x2e, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x54, + 0x6f, 0x74, 0x61, 0x6c, 0x52, 0x06, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x73, 0x12, 0x1e, 0x0a, 0x0a, + 0x73, 0x6c, 0x69, 0x64, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x0a, 0x73, 0x6c, 0x69, 0x64, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2b, 0x0a, 0x04, + 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x70, 0x6f, 0x6c, + 0x61, 0x72, 0x69, 0x73, 0x2e, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x2e, 0x76, 0x32, 0x2e, 0x4d, + 0x6f, 0x64, 0x65, 0x52, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x22, 0xfc, 0x01, 0x0a, 0x15, 0x52, 0x61, + 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x49, 0x6e, 0x69, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x36, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, + 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x70, 0x6f, 0x6c, 0x61, 0x72, 0x69, + 0x73, 0x2e, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69, 0x6d, 0x69, + 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, + 0x1c, 0x0a, 0x09, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4b, 0x65, 0x79, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x09, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4b, 0x65, 0x79, 0x12, 0x3b, 0x0a, + 0x08, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x1f, 0x2e, 0x70, 0x6f, 0x6c, 0x61, 0x72, 0x69, 0x73, 0x2e, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, + 0x2e, 0x76, 0x32, 0x2e, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, + 0x52, 0x08, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x6c, + 0x69, 0x64, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, + 0x73, 0x6c, 0x69, 0x64, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, + 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x74, + 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0x7a, 0x0a, 0x19, 0x52, 0x61, 0x74, 0x65, + 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x42, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6e, 0x69, 0x74, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x41, 0x0a, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x70, 0x6f, 0x6c, 0x61, 0x72, 0x69, 0x73, + 0x2e, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, + 0x69, 0x6d, 0x69, 0x74, 0x49, 0x6e, 0x69, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, + 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x6c, 0x69, 0x65, + 0x6e, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x6c, 0x69, 0x65, + 0x6e, 0x74, 0x49, 0x64, 0x22, 0x6a, 0x0a, 0x13, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x65, 0x64, 0x51, + 0x75, 0x6f, 0x74, 0x61, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x6c, + 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6c, 0x61, 0x62, + 0x65, 0x6c, 0x73, 0x12, 0x3b, 0x0a, 0x08, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x18, + 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x70, 0x6f, 0x6c, 0x61, 0x72, 0x69, 0x73, 0x2e, + 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x2e, 0x76, 0x32, 0x2e, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x43, + 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x52, 0x08, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, + 0x22, 0xc1, 0x01, 0x0a, 0x0f, 0x42, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6e, 0x69, 0x74, 0x52, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x36, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, + 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x70, 0x6f, 0x6c, 0x61, 0x72, + 0x69, 0x73, 0x2e, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69, 0x6d, + 0x69, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, + 0x12, 0x42, 0x0a, 0x08, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x70, 0x6f, 0x6c, 0x61, 0x72, 0x69, 0x73, 0x2e, 0x6d, 0x65, 0x74, + 0x72, 0x69, 0x63, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x65, 0x64, 0x51, 0x75, + 0x6f, 0x74, 0x61, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x52, 0x08, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x65, 0x72, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x6c, 0x69, 0x64, 0x65, 0x43, 0x6f, 0x75, + 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x73, 0x6c, 0x69, 0x64, 0x65, 0x43, + 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xa8, 0x01, 0x0a, 0x1a, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, + 0x69, 0x74, 0x42, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6e, 0x69, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6c, 0x69, 0x65, 0x6e, + 0x74, 0x4b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x63, 0x6c, 0x69, 0x65, + 0x6e, 0x74, 0x4b, 0x65, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, + 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, + 0x61, 0x6d, 0x70, 0x12, 0x3a, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x04, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x70, 0x6f, 0x6c, 0x61, 0x72, 0x69, 0x73, 0x2e, 0x6d, 0x65, + 0x74, 0x72, 0x69, 0x63, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6e, 0x69, + 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, + 0x8f, 0x01, 0x0a, 0x16, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x70, + 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6c, + 0x69, 0x65, 0x6e, 0x74, 0x4b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x63, + 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4b, 0x65, 0x79, 0x12, 0x39, 0x0a, 0x09, 0x71, 0x75, 0x6f, 0x74, + 0x61, 0x55, 0x73, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x6f, + 0x6c, 0x61, 0x72, 0x69, 0x73, 0x2e, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x2e, 0x76, 0x32, 0x2e, + 0x51, 0x75, 0x6f, 0x74, 0x61, 0x53, 0x75, 0x6d, 0x52, 0x09, 0x71, 0x75, 0x6f, 0x74, 0x61, 0x55, + 0x73, 0x65, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, + 0x70, 0x22, 0x89, 0x01, 0x0a, 0x17, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x52, + 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, + 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x63, 0x6f, 0x64, + 0x65, 0x12, 0x3c, 0x0a, 0x0a, 0x71, 0x75, 0x6f, 0x74, 0x61, 0x4c, 0x65, 0x66, 0x74, 0x73, 0x18, + 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x6f, 0x6c, 0x61, 0x72, 0x69, 0x73, 0x2e, + 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x2e, 0x76, 0x32, 0x2e, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x4c, + 0x65, 0x66, 0x74, 0x52, 0x0a, 0x71, 0x75, 0x6f, 0x74, 0x61, 0x4c, 0x65, 0x66, 0x74, 0x73, 0x12, + 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x03, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0x7e, 0x0a, + 0x0b, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x1c, 0x0a, 0x09, + 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x1f, 0x0a, 0x0b, + 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, + 0x09, 0x52, 0x0a, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x78, 0x0a, + 0x0a, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x30, 0x0a, 0x04, 0x6d, + 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x70, 0x6f, 0x6c, 0x61, + 0x72, 0x69, 0x73, 0x2e, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x2e, 0x76, 0x32, 0x2e, 0x51, 0x75, + 0x6f, 0x74, 0x61, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x12, 0x1a, 0x0a, + 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x6d, 0x61, 0x78, + 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x6d, 0x61, + 0x78, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xad, 0x01, 0x0a, 0x0c, 0x51, 0x75, 0x6f, 0x74, + 0x61, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x64, 0x75, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x4b, + 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, + 0x72, 0x4b, 0x65, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x65, 0x66, 0x74, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x03, 0x52, 0x04, 0x6c, 0x65, 0x66, 0x74, 0x12, 0x2b, 0x0a, 0x04, 0x6d, 0x6f, 0x64, 0x65, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x70, 0x6f, 0x6c, 0x61, 0x72, 0x69, 0x73, + 0x2e, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x52, + 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, + 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x63, 0x6c, 0x69, 0x65, + 0x6e, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x58, 0x0a, 0x08, 0x51, 0x75, 0x6f, 0x74, 0x61, + 0x53, 0x75, 0x6d, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x4b, 0x65, + 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, + 0x4b, 0x65, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x04, 0x75, 0x73, 0x65, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x6c, 0x69, 0x6d, 0x69, 0x74, + 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x65, + 0x64, 0x22, 0x8e, 0x01, 0x0a, 0x09, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x4c, 0x65, 0x66, 0x74, 0x12, + 0x1e, 0x0a, 0x0a, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x4b, 0x65, 0x79, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x4b, 0x65, 0x79, 0x12, + 0x12, 0x0a, 0x04, 0x6c, 0x65, 0x66, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x6c, + 0x65, 0x66, 0x74, 0x12, 0x2b, 0x0a, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0e, 0x32, 0x17, 0x2e, 0x70, 0x6f, 0x6c, 0x61, 0x72, 0x69, 0x73, 0x2e, 0x6d, 0x65, 0x74, 0x72, + 0x69, 0x63, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x6d, 0x6f, 0x64, 0x65, + 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x75, + 0x6e, 0x74, 0x22, 0x13, 0x0a, 0x11, 0x54, 0x69, 0x6d, 0x65, 0x41, 0x64, 0x6a, 0x75, 0x73, 0x74, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x3e, 0x0a, 0x12, 0x54, 0x69, 0x6d, 0x65, 0x41, + 0x64, 0x6a, 0x75, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x28, 0x0a, + 0x0f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x69, + 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2a, 0x48, 0x0a, 0x0c, 0x52, 0x61, 0x74, 0x65, 0x4c, + 0x69, 0x6d, 0x69, 0x74, 0x43, 0x6d, 0x64, 0x12, 0x08, 0x0a, 0x04, 0x49, 0x4e, 0x49, 0x54, 0x10, + 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x41, 0x43, 0x51, 0x55, 0x49, 0x52, 0x45, 0x10, 0x01, 0x12, 0x0e, + 0x0a, 0x0a, 0x42, 0x41, 0x54, 0x43, 0x48, 0x5f, 0x49, 0x4e, 0x49, 0x54, 0x10, 0x02, 0x12, 0x11, + 0x0a, 0x0d, 0x42, 0x41, 0x54, 0x43, 0x48, 0x5f, 0x41, 0x43, 0x51, 0x55, 0x49, 0x52, 0x45, 0x10, + 0x03, 0x2a, 0x37, 0x0a, 0x04, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x0c, 0x0a, 0x08, 0x41, 0x44, 0x41, + 0x50, 0x54, 0x49, 0x56, 0x45, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c, 0x42, 0x41, 0x54, 0x43, 0x48, + 0x5f, 0x4f, 0x43, 0x43, 0x55, 0x50, 0x59, 0x10, 0x01, 0x12, 0x0f, 0x0a, 0x0b, 0x42, 0x41, 0x54, + 0x43, 0x48, 0x5f, 0x53, 0x48, 0x41, 0x52, 0x45, 0x10, 0x02, 0x2a, 0x22, 0x0a, 0x09, 0x51, 0x75, + 0x6f, 0x74, 0x61, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x09, 0x0a, 0x05, 0x57, 0x48, 0x4f, 0x4c, 0x45, + 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x44, 0x49, 0x56, 0x49, 0x44, 0x45, 0x10, 0x01, 0x42, 0xa9, + 0x01, 0x0a, 0x43, 0x63, 0x6f, 0x6d, 0x2e, 0x74, 0x65, 0x6e, 0x63, 0x65, 0x6e, 0x74, 0x2e, 0x70, + 0x6f, 0x6c, 0x61, 0x72, 0x69, 0x73, 0x2e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x74, 0x72, 0x61, 0x66, + 0x66, 0x69, 0x63, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x2e, 0x72, 0x61, 0x74, 0x65, 0x6c, + 0x69, 0x6d, 0x69, 0x74, 0x65, 0x72, 0x42, 0x10, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, + 0x74, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x5a, 0x50, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x70, 0x6f, 0x6c, 0x61, 0x72, 0x69, 0x73, 0x6d, 0x65, 0x73, 0x68, + 0x2f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2f, 0x67, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, + 0x74, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x2f, 0x72, + 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x72, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x33, +} + +var ( + file_ratelimiter_proto_rawDescOnce sync.Once + file_ratelimiter_proto_rawDescData = file_ratelimiter_proto_rawDesc +) + +func file_ratelimiter_proto_rawDescGZIP() []byte { + file_ratelimiter_proto_rawDescOnce.Do(func() { + file_ratelimiter_proto_rawDescData = protoimpl.X.CompressGZIP(file_ratelimiter_proto_rawDescData) + }) + return file_ratelimiter_proto_rawDescData +} + +var file_ratelimiter_proto_enumTypes = make([]protoimpl.EnumInfo, 3) +var file_ratelimiter_proto_msgTypes = make([]protoimpl.MessageInfo, 17) +var file_ratelimiter_proto_goTypes = []interface{}{ + (RateLimitCmd)(0), // 0: polaris.metric.v2.RateLimitCmd + (Mode)(0), // 1: polaris.metric.v2.Mode + (QuotaMode)(0), // 2: polaris.metric.v2.QuotaMode + (*RateLimitRequest)(nil), // 3: polaris.metric.v2.RateLimitRequest + (*RateLimitResponse)(nil), // 4: polaris.metric.v2.RateLimitResponse + (*RateLimitInitRequest)(nil), // 5: polaris.metric.v2.RateLimitInitRequest + (*RateLimitInitResponse)(nil), // 6: polaris.metric.v2.RateLimitInitResponse + (*RateLimitBatchInitRequest)(nil), // 7: polaris.metric.v2.RateLimitBatchInitRequest + (*LabeledQuotaCounter)(nil), // 8: polaris.metric.v2.LabeledQuotaCounter + (*BatchInitResult)(nil), // 9: polaris.metric.v2.BatchInitResult + (*RateLimitBatchInitResponse)(nil), // 10: polaris.metric.v2.RateLimitBatchInitResponse + (*RateLimitReportRequest)(nil), // 11: polaris.metric.v2.RateLimitReportRequest + (*RateLimitReportResponse)(nil), // 12: polaris.metric.v2.RateLimitReportResponse + (*LimitTarget)(nil), // 13: polaris.metric.v2.LimitTarget + (*QuotaTotal)(nil), // 14: polaris.metric.v2.QuotaTotal + (*QuotaCounter)(nil), // 15: polaris.metric.v2.QuotaCounter + (*QuotaSum)(nil), // 16: polaris.metric.v2.QuotaSum + (*QuotaLeft)(nil), // 17: polaris.metric.v2.QuotaLeft + (*TimeAdjustRequest)(nil), // 18: polaris.metric.v2.TimeAdjustRequest + (*TimeAdjustResponse)(nil), // 19: polaris.metric.v2.TimeAdjustResponse +} +var file_ratelimiter_proto_depIdxs = []int32{ + 0, // 0: polaris.metric.v2.RateLimitRequest.cmd:type_name -> polaris.metric.v2.RateLimitCmd + 5, // 1: polaris.metric.v2.RateLimitRequest.rateLimitInitRequest:type_name -> polaris.metric.v2.RateLimitInitRequest + 11, // 2: polaris.metric.v2.RateLimitRequest.rateLimitReportRequest:type_name -> polaris.metric.v2.RateLimitReportRequest + 7, // 3: polaris.metric.v2.RateLimitRequest.rateLimitBatchInitRequest:type_name -> polaris.metric.v2.RateLimitBatchInitRequest + 0, // 4: polaris.metric.v2.RateLimitResponse.cmd:type_name -> polaris.metric.v2.RateLimitCmd + 6, // 5: polaris.metric.v2.RateLimitResponse.rateLimitInitResponse:type_name -> polaris.metric.v2.RateLimitInitResponse + 12, // 6: polaris.metric.v2.RateLimitResponse.rateLimitReportResponse:type_name -> polaris.metric.v2.RateLimitReportResponse + 10, // 7: polaris.metric.v2.RateLimitResponse.rateLimitBatchInitResponse:type_name -> polaris.metric.v2.RateLimitBatchInitResponse + 13, // 8: polaris.metric.v2.RateLimitInitRequest.target:type_name -> polaris.metric.v2.LimitTarget + 14, // 9: polaris.metric.v2.RateLimitInitRequest.totals:type_name -> polaris.metric.v2.QuotaTotal + 1, // 10: polaris.metric.v2.RateLimitInitRequest.mode:type_name -> polaris.metric.v2.Mode + 13, // 11: polaris.metric.v2.RateLimitInitResponse.target:type_name -> polaris.metric.v2.LimitTarget + 15, // 12: polaris.metric.v2.RateLimitInitResponse.counters:type_name -> polaris.metric.v2.QuotaCounter + 5, // 13: polaris.metric.v2.RateLimitBatchInitRequest.request:type_name -> polaris.metric.v2.RateLimitInitRequest + 15, // 14: polaris.metric.v2.LabeledQuotaCounter.counters:type_name -> polaris.metric.v2.QuotaCounter + 13, // 15: polaris.metric.v2.BatchInitResult.target:type_name -> polaris.metric.v2.LimitTarget + 8, // 16: polaris.metric.v2.BatchInitResult.counters:type_name -> polaris.metric.v2.LabeledQuotaCounter + 9, // 17: polaris.metric.v2.RateLimitBatchInitResponse.result:type_name -> polaris.metric.v2.BatchInitResult + 16, // 18: polaris.metric.v2.RateLimitReportRequest.quotaUses:type_name -> polaris.metric.v2.QuotaSum + 17, // 19: polaris.metric.v2.RateLimitReportResponse.quotaLefts:type_name -> polaris.metric.v2.QuotaLeft + 2, // 20: polaris.metric.v2.QuotaTotal.mode:type_name -> polaris.metric.v2.QuotaMode + 1, // 21: polaris.metric.v2.QuotaCounter.mode:type_name -> polaris.metric.v2.Mode + 1, // 22: polaris.metric.v2.QuotaLeft.mode:type_name -> polaris.metric.v2.Mode + 23, // [23:23] is the sub-list for method output_type + 23, // [23:23] is the sub-list for method input_type + 23, // [23:23] is the sub-list for extension type_name + 23, // [23:23] is the sub-list for extension extendee + 0, // [0:23] is the sub-list for field type_name +} + +func init() { file_ratelimiter_proto_init() } +func file_ratelimiter_proto_init() { + if File_ratelimiter_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_ratelimiter_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RateLimitRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_ratelimiter_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RateLimitResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_ratelimiter_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RateLimitInitRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_ratelimiter_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RateLimitInitResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_ratelimiter_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RateLimitBatchInitRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_ratelimiter_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*LabeledQuotaCounter); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_ratelimiter_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BatchInitResult); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_ratelimiter_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RateLimitBatchInitResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_ratelimiter_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RateLimitReportRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_ratelimiter_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RateLimitReportResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_ratelimiter_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*LimitTarget); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_ratelimiter_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*QuotaTotal); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_ratelimiter_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*QuotaCounter); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_ratelimiter_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*QuotaSum); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_ratelimiter_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*QuotaLeft); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_ratelimiter_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TimeAdjustRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_ratelimiter_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TimeAdjustResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_ratelimiter_proto_rawDesc, + NumEnums: 3, + NumMessages: 17, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_ratelimiter_proto_goTypes, + DependencyIndexes: file_ratelimiter_proto_depIdxs, + EnumInfos: file_ratelimiter_proto_enumTypes, + MessageInfos: file_ratelimiter_proto_msgTypes, + }.Build() + File_ratelimiter_proto = out.File + file_ratelimiter_proto_rawDesc = nil + file_ratelimiter_proto_goTypes = nil + file_ratelimiter_proto_depIdxs = nil } diff --git a/source/go/api/v1/traffic_manage/routing.pb.go b/source/go/api/v1/traffic_manage/routing.pb.go index fca5fb98..e06373ec 100644 --- a/source/go/api/v1/traffic_manage/routing.pb.go +++ b/source/go/api/v1/traffic_manage/routing.pb.go @@ -1,25 +1,27 @@ // Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.33.0 +// protoc v5.27.3 // source: routing.proto -package traffic_manage // import "github.com/polarismesh/specification/source/go/api/v1/traffic_manage" +package traffic_manage -import proto "github.com/golang/protobuf/proto" -import fmt "fmt" -import math "math" -import model "github.com/polarismesh/specification/source/go/api/v1/model" -import anypb "google.golang.org/protobuf/types/known/anypb" -import wrapperspb "google.golang.org/protobuf/types/known/wrapperspb" - -// Reference imports to suppress errors if they are not otherwise used. -var _ = proto.Marshal -var _ = fmt.Errorf -var _ = math.Inf +import ( + model "github.com/polarismesh/specification/source/go/api/v1/model" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + anypb "google.golang.org/protobuf/types/known/anypb" + wrapperspb "google.golang.org/protobuf/types/known/wrapperspb" + reflect "reflect" + sync "sync" +) -// This is a compile-time assertion to ensure that this generated file -// is compatible with the proto package it is being compiled against. -// A compilation error at this line likely means your copy of the -// proto package needs to be updated. -const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) type RoutingPolicy int32 @@ -32,22 +34,45 @@ const ( RoutingPolicy_NearbyPolicy RoutingPolicy = 2 ) -var RoutingPolicy_name = map[int32]string{ - 0: "RulePolicy", - 1: "MetadataPolicy", - 2: "NearbyPolicy", -} -var RoutingPolicy_value = map[string]int32{ - "RulePolicy": 0, - "MetadataPolicy": 1, - "NearbyPolicy": 2, +// Enum value maps for RoutingPolicy. +var ( + RoutingPolicy_name = map[int32]string{ + 0: "RulePolicy", + 1: "MetadataPolicy", + 2: "NearbyPolicy", + } + RoutingPolicy_value = map[string]int32{ + "RulePolicy": 0, + "MetadataPolicy": 1, + "NearbyPolicy": 2, + } +) + +func (x RoutingPolicy) Enum() *RoutingPolicy { + p := new(RoutingPolicy) + *p = x + return p } func (x RoutingPolicy) String() string { - return proto.EnumName(RoutingPolicy_name, int32(x)) + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (RoutingPolicy) Descriptor() protoreflect.EnumDescriptor { + return file_routing_proto_enumTypes[0].Descriptor() } + +func (RoutingPolicy) Type() protoreflect.EnumType { + return &file_routing_proto_enumTypes[0] +} + +func (x RoutingPolicy) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use RoutingPolicy.Descriptor instead. func (RoutingPolicy) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_routing_0241e1af806e0692, []int{0} + return file_routing_proto_rawDescGZIP(), []int{0} } type MetadataFailover_FailoverRange int32 @@ -61,22 +86,45 @@ const ( MetadataFailover_OTHER_KEYS MetadataFailover_FailoverRange = 2 ) -var MetadataFailover_FailoverRange_name = map[int32]string{ - 0: "ALL", - 1: "OTHERS", - 2: "OTHER_KEYS", -} -var MetadataFailover_FailoverRange_value = map[string]int32{ - "ALL": 0, - "OTHERS": 1, - "OTHER_KEYS": 2, +// Enum value maps for MetadataFailover_FailoverRange. +var ( + MetadataFailover_FailoverRange_name = map[int32]string{ + 0: "ALL", + 1: "OTHERS", + 2: "OTHER_KEYS", + } + MetadataFailover_FailoverRange_value = map[string]int32{ + "ALL": 0, + "OTHERS": 1, + "OTHER_KEYS": 2, + } +) + +func (x MetadataFailover_FailoverRange) Enum() *MetadataFailover_FailoverRange { + p := new(MetadataFailover_FailoverRange) + *p = x + return p } func (x MetadataFailover_FailoverRange) String() string { - return proto.EnumName(MetadataFailover_FailoverRange_name, int32(x)) + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (MetadataFailover_FailoverRange) Descriptor() protoreflect.EnumDescriptor { + return file_routing_proto_enumTypes[1].Descriptor() +} + +func (MetadataFailover_FailoverRange) Type() protoreflect.EnumType { + return &file_routing_proto_enumTypes[1] +} + +func (x MetadataFailover_FailoverRange) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) } + +// Deprecated: Use MetadataFailover_FailoverRange.Descriptor instead. func (MetadataFailover_FailoverRange) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_routing_0241e1af806e0692, []int{5, 0} + return file_routing_proto_rawDescGZIP(), []int{5, 0} } type NearbyRoutingConfig_LocationLevel int32 @@ -94,26 +142,49 @@ const ( NearbyRoutingConfig_ALL NearbyRoutingConfig_LocationLevel = 4 ) -var NearbyRoutingConfig_LocationLevel_name = map[int32]string{ - 0: "UNKNOWN", - 1: "CAMPUS", - 2: "ZONE", - 3: "REGION", - 4: "ALL", -} -var NearbyRoutingConfig_LocationLevel_value = map[string]int32{ - "UNKNOWN": 0, - "CAMPUS": 1, - "ZONE": 2, - "REGION": 3, - "ALL": 4, +// Enum value maps for NearbyRoutingConfig_LocationLevel. +var ( + NearbyRoutingConfig_LocationLevel_name = map[int32]string{ + 0: "UNKNOWN", + 1: "CAMPUS", + 2: "ZONE", + 3: "REGION", + 4: "ALL", + } + NearbyRoutingConfig_LocationLevel_value = map[string]int32{ + "UNKNOWN": 0, + "CAMPUS": 1, + "ZONE": 2, + "REGION": 3, + "ALL": 4, + } +) + +func (x NearbyRoutingConfig_LocationLevel) Enum() *NearbyRoutingConfig_LocationLevel { + p := new(NearbyRoutingConfig_LocationLevel) + *p = x + return p } func (x NearbyRoutingConfig_LocationLevel) String() string { - return proto.EnumName(NearbyRoutingConfig_LocationLevel_name, int32(x)) + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (NearbyRoutingConfig_LocationLevel) Descriptor() protoreflect.EnumDescriptor { + return file_routing_proto_enumTypes[2].Descriptor() } + +func (NearbyRoutingConfig_LocationLevel) Type() protoreflect.EnumType { + return &file_routing_proto_enumTypes[2] +} + +func (x NearbyRoutingConfig_LocationLevel) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use NearbyRoutingConfig_LocationLevel.Descriptor instead. func (NearbyRoutingConfig_LocationLevel) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_routing_0241e1af806e0692, []int{7, 0} + return file_routing_proto_rawDescGZIP(), []int{7, 0} } // label type for gateway request @@ -138,35 +209,62 @@ const ( SourceMatch_CALLER_METADATA SourceMatch_Type = 7 ) -var SourceMatch_Type_name = map[int32]string{ - 0: "CUSTOM", - 1: "METHOD", - 2: "HEADER", - 3: "QUERY", - 4: "CALLER_IP", - 5: "PATH", - 6: "COOKIE", - 7: "CALLER_METADATA", -} -var SourceMatch_Type_value = map[string]int32{ - "CUSTOM": 0, - "METHOD": 1, - "HEADER": 2, - "QUERY": 3, - "CALLER_IP": 4, - "PATH": 5, - "COOKIE": 6, - "CALLER_METADATA": 7, +// Enum value maps for SourceMatch_Type. +var ( + SourceMatch_Type_name = map[int32]string{ + 0: "CUSTOM", + 1: "METHOD", + 2: "HEADER", + 3: "QUERY", + 4: "CALLER_IP", + 5: "PATH", + 6: "COOKIE", + 7: "CALLER_METADATA", + } + SourceMatch_Type_value = map[string]int32{ + "CUSTOM": 0, + "METHOD": 1, + "HEADER": 2, + "QUERY": 3, + "CALLER_IP": 4, + "PATH": 5, + "COOKIE": 6, + "CALLER_METADATA": 7, + } +) + +func (x SourceMatch_Type) Enum() *SourceMatch_Type { + p := new(SourceMatch_Type) + *p = x + return p } func (x SourceMatch_Type) String() string { - return proto.EnumName(SourceMatch_Type_name, int32(x)) + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (SourceMatch_Type) Descriptor() protoreflect.EnumDescriptor { + return file_routing_proto_enumTypes[3].Descriptor() +} + +func (SourceMatch_Type) Type() protoreflect.EnumType { + return &file_routing_proto_enumTypes[3] +} + +func (x SourceMatch_Type) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) } + +// Deprecated: Use SourceMatch_Type.Descriptor instead. func (SourceMatch_Type) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_routing_0241e1af806e0692, []int{12, 0} + return file_routing_proto_rawDescGZIP(), []int{12, 0} } type Routing struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + Service *wrapperspb.StringValue `protobuf:"bytes,1,opt,name=service,proto3" json:"service,omitempty"` Namespace *wrapperspb.StringValue `protobuf:"bytes,2,opt,name=namespace,proto3" json:"namespace,omitempty"` // 每个服务可以配置多条入站或者出站规则 @@ -178,218 +276,245 @@ type Routing struct { Revision *wrapperspb.StringValue `protobuf:"bytes,7,opt,name=revision,proto3" json:"revision,omitempty"` ServiceToken *wrapperspb.StringValue `protobuf:"bytes,8,opt,name=service_token,proto3" json:"service_token,omitempty"` // route rules for current service - Rules []*RouteRule `protobuf:"bytes,21,rep,name=rules,proto3" json:"rules,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + Rules []*RouteRule `protobuf:"bytes,21,rep,name=rules,proto3" json:"rules,omitempty"` } -func (m *Routing) Reset() { *m = Routing{} } -func (m *Routing) String() string { return proto.CompactTextString(m) } -func (*Routing) ProtoMessage() {} -func (*Routing) Descriptor() ([]byte, []int) { - return fileDescriptor_routing_0241e1af806e0692, []int{0} -} -func (m *Routing) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_Routing.Unmarshal(m, b) -} -func (m *Routing) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_Routing.Marshal(b, m, deterministic) -} -func (dst *Routing) XXX_Merge(src proto.Message) { - xxx_messageInfo_Routing.Merge(dst, src) +func (x *Routing) Reset() { + *x = Routing{} + if protoimpl.UnsafeEnabled { + mi := &file_routing_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (m *Routing) XXX_Size() int { - return xxx_messageInfo_Routing.Size(m) + +func (x *Routing) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *Routing) XXX_DiscardUnknown() { - xxx_messageInfo_Routing.DiscardUnknown(m) + +func (*Routing) ProtoMessage() {} + +func (x *Routing) ProtoReflect() protoreflect.Message { + mi := &file_routing_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) } -var xxx_messageInfo_Routing proto.InternalMessageInfo +// Deprecated: Use Routing.ProtoReflect.Descriptor instead. +func (*Routing) Descriptor() ([]byte, []int) { + return file_routing_proto_rawDescGZIP(), []int{0} +} -func (m *Routing) GetService() *wrapperspb.StringValue { - if m != nil { - return m.Service +func (x *Routing) GetService() *wrapperspb.StringValue { + if x != nil { + return x.Service } return nil } -func (m *Routing) GetNamespace() *wrapperspb.StringValue { - if m != nil { - return m.Namespace +func (x *Routing) GetNamespace() *wrapperspb.StringValue { + if x != nil { + return x.Namespace } return nil } -func (m *Routing) GetInbounds() []*Route { - if m != nil { - return m.Inbounds +func (x *Routing) GetInbounds() []*Route { + if x != nil { + return x.Inbounds } return nil } -func (m *Routing) GetOutbounds() []*Route { - if m != nil { - return m.Outbounds +func (x *Routing) GetOutbounds() []*Route { + if x != nil { + return x.Outbounds } return nil } -func (m *Routing) GetCtime() *wrapperspb.StringValue { - if m != nil { - return m.Ctime +func (x *Routing) GetCtime() *wrapperspb.StringValue { + if x != nil { + return x.Ctime } return nil } -func (m *Routing) GetMtime() *wrapperspb.StringValue { - if m != nil { - return m.Mtime +func (x *Routing) GetMtime() *wrapperspb.StringValue { + if x != nil { + return x.Mtime } return nil } -func (m *Routing) GetRevision() *wrapperspb.StringValue { - if m != nil { - return m.Revision +func (x *Routing) GetRevision() *wrapperspb.StringValue { + if x != nil { + return x.Revision } return nil } -func (m *Routing) GetServiceToken() *wrapperspb.StringValue { - if m != nil { - return m.ServiceToken +func (x *Routing) GetServiceToken() *wrapperspb.StringValue { + if x != nil { + return x.ServiceToken } return nil } -func (m *Routing) GetRules() []*RouteRule { - if m != nil { - return m.Rules +func (x *Routing) GetRules() []*RouteRule { + if x != nil { + return x.Rules } return nil } // deprecated: only for compatible to the old version server type Route struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + // 如果匹配Source规则,按照Destination路由 // 多个Source之间的关系为或 Sources []*Source `protobuf:"bytes,1,rep,name=sources,proto3" json:"sources,omitempty"` Destinations []*Destination `protobuf:"bytes,2,rep,name=destinations,proto3" json:"destinations,omitempty"` // extendInfo 用于承载一些额外信息 // case 1: 升级到 v2 版本时,记录对应到 v2 版本的 id 信息 - ExtendInfo map[string]string `protobuf:"bytes,3,rep,name=extendInfo,proto3" json:"extendInfo,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + ExtendInfo map[string]string `protobuf:"bytes,3,rep,name=extendInfo,proto3" json:"extendInfo,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } -func (m *Route) Reset() { *m = Route{} } -func (m *Route) String() string { return proto.CompactTextString(m) } -func (*Route) ProtoMessage() {} -func (*Route) Descriptor() ([]byte, []int) { - return fileDescriptor_routing_0241e1af806e0692, []int{1} -} -func (m *Route) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_Route.Unmarshal(m, b) -} -func (m *Route) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_Route.Marshal(b, m, deterministic) -} -func (dst *Route) XXX_Merge(src proto.Message) { - xxx_messageInfo_Route.Merge(dst, src) +func (x *Route) Reset() { + *x = Route{} + if protoimpl.UnsafeEnabled { + mi := &file_routing_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (m *Route) XXX_Size() int { - return xxx_messageInfo_Route.Size(m) + +func (x *Route) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *Route) XXX_DiscardUnknown() { - xxx_messageInfo_Route.DiscardUnknown(m) + +func (*Route) ProtoMessage() {} + +func (x *Route) ProtoReflect() protoreflect.Message { + mi := &file_routing_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) } -var xxx_messageInfo_Route proto.InternalMessageInfo +// Deprecated: Use Route.ProtoReflect.Descriptor instead. +func (*Route) Descriptor() ([]byte, []int) { + return file_routing_proto_rawDescGZIP(), []int{1} +} -func (m *Route) GetSources() []*Source { - if m != nil { - return m.Sources +func (x *Route) GetSources() []*Source { + if x != nil { + return x.Sources } return nil } -func (m *Route) GetDestinations() []*Destination { - if m != nil { - return m.Destinations +func (x *Route) GetDestinations() []*Destination { + if x != nil { + return x.Destinations } return nil } -func (m *Route) GetExtendInfo() map[string]string { - if m != nil { - return m.ExtendInfo +func (x *Route) GetExtendInfo() map[string]string { + if x != nil { + return x.ExtendInfo } return nil } // deprecated: only for compatible to the old version server type Source struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + // 主调方服务以及命名空间 Service *wrapperspb.StringValue `protobuf:"bytes,1,opt,name=service,proto3" json:"service,omitempty"` Namespace *wrapperspb.StringValue `protobuf:"bytes,2,opt,name=namespace,proto3" json:"namespace,omitempty"` // 主调方服务实例标签或者请求标签 // value支持正则匹配 - Metadata map[string]*model.MatchString `protobuf:"bytes,3,rep,name=metadata,proto3" json:"metadata,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + Metadata map[string]*model.MatchString `protobuf:"bytes,3,rep,name=metadata,proto3" json:"metadata,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } -func (m *Source) Reset() { *m = Source{} } -func (m *Source) String() string { return proto.CompactTextString(m) } -func (*Source) ProtoMessage() {} -func (*Source) Descriptor() ([]byte, []int) { - return fileDescriptor_routing_0241e1af806e0692, []int{2} -} -func (m *Source) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_Source.Unmarshal(m, b) -} -func (m *Source) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_Source.Marshal(b, m, deterministic) -} -func (dst *Source) XXX_Merge(src proto.Message) { - xxx_messageInfo_Source.Merge(dst, src) +func (x *Source) Reset() { + *x = Source{} + if protoimpl.UnsafeEnabled { + mi := &file_routing_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (m *Source) XXX_Size() int { - return xxx_messageInfo_Source.Size(m) + +func (x *Source) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *Source) XXX_DiscardUnknown() { - xxx_messageInfo_Source.DiscardUnknown(m) + +func (*Source) ProtoMessage() {} + +func (x *Source) ProtoReflect() protoreflect.Message { + mi := &file_routing_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) } -var xxx_messageInfo_Source proto.InternalMessageInfo +// Deprecated: Use Source.ProtoReflect.Descriptor instead. +func (*Source) Descriptor() ([]byte, []int) { + return file_routing_proto_rawDescGZIP(), []int{2} +} -func (m *Source) GetService() *wrapperspb.StringValue { - if m != nil { - return m.Service +func (x *Source) GetService() *wrapperspb.StringValue { + if x != nil { + return x.Service } return nil } -func (m *Source) GetNamespace() *wrapperspb.StringValue { - if m != nil { - return m.Namespace +func (x *Source) GetNamespace() *wrapperspb.StringValue { + if x != nil { + return x.Namespace } return nil } -func (m *Source) GetMetadata() map[string]*model.MatchString { - if m != nil { - return m.Metadata +func (x *Source) GetMetadata() map[string]*model.MatchString { + if x != nil { + return x.Metadata } return nil } // deprecated: only for compatible to the old version server type Destination struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + // 被调方服务以及命名空间 Service *wrapperspb.StringValue `protobuf:"bytes,1,opt,name=service,proto3" json:"service,omitempty"` Namespace *wrapperspb.StringValue `protobuf:"bytes,2,opt,name=namespace,proto3" json:"namespace,omitempty"` @@ -413,94 +538,103 @@ type Destination struct { // 是否对该set执行隔离,隔离后,不会再分配流量 Isolate *wrapperspb.BoolValue `protobuf:"bytes,7,opt,name=isolate,proto3" json:"isolate,omitempty"` // 实例分组名 - Name *wrapperspb.StringValue `protobuf:"bytes,8,opt,name=name,proto3" json:"name,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + Name *wrapperspb.StringValue `protobuf:"bytes,8,opt,name=name,proto3" json:"name,omitempty"` } -func (m *Destination) Reset() { *m = Destination{} } -func (m *Destination) String() string { return proto.CompactTextString(m) } -func (*Destination) ProtoMessage() {} -func (*Destination) Descriptor() ([]byte, []int) { - return fileDescriptor_routing_0241e1af806e0692, []int{3} -} -func (m *Destination) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_Destination.Unmarshal(m, b) -} -func (m *Destination) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_Destination.Marshal(b, m, deterministic) -} -func (dst *Destination) XXX_Merge(src proto.Message) { - xxx_messageInfo_Destination.Merge(dst, src) +func (x *Destination) Reset() { + *x = Destination{} + if protoimpl.UnsafeEnabled { + mi := &file_routing_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (m *Destination) XXX_Size() int { - return xxx_messageInfo_Destination.Size(m) + +func (x *Destination) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *Destination) XXX_DiscardUnknown() { - xxx_messageInfo_Destination.DiscardUnknown(m) + +func (*Destination) ProtoMessage() {} + +func (x *Destination) ProtoReflect() protoreflect.Message { + mi := &file_routing_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) } -var xxx_messageInfo_Destination proto.InternalMessageInfo +// Deprecated: Use Destination.ProtoReflect.Descriptor instead. +func (*Destination) Descriptor() ([]byte, []int) { + return file_routing_proto_rawDescGZIP(), []int{3} +} -func (m *Destination) GetService() *wrapperspb.StringValue { - if m != nil { - return m.Service +func (x *Destination) GetService() *wrapperspb.StringValue { + if x != nil { + return x.Service } return nil } -func (m *Destination) GetNamespace() *wrapperspb.StringValue { - if m != nil { - return m.Namespace +func (x *Destination) GetNamespace() *wrapperspb.StringValue { + if x != nil { + return x.Namespace } return nil } -func (m *Destination) GetMetadata() map[string]*model.MatchString { - if m != nil { - return m.Metadata +func (x *Destination) GetMetadata() map[string]*model.MatchString { + if x != nil { + return x.Metadata } return nil } -func (m *Destination) GetPriority() *wrapperspb.UInt32Value { - if m != nil { - return m.Priority +func (x *Destination) GetPriority() *wrapperspb.UInt32Value { + if x != nil { + return x.Priority } return nil } -func (m *Destination) GetWeight() *wrapperspb.UInt32Value { - if m != nil { - return m.Weight +func (x *Destination) GetWeight() *wrapperspb.UInt32Value { + if x != nil { + return x.Weight } return nil } -func (m *Destination) GetTransfer() *wrapperspb.StringValue { - if m != nil { - return m.Transfer +func (x *Destination) GetTransfer() *wrapperspb.StringValue { + if x != nil { + return x.Transfer } return nil } -func (m *Destination) GetIsolate() *wrapperspb.BoolValue { - if m != nil { - return m.Isolate +func (x *Destination) GetIsolate() *wrapperspb.BoolValue { + if x != nil { + return x.Isolate } return nil } -func (m *Destination) GetName() *wrapperspb.StringValue { - if m != nil { - return m.Name +func (x *Destination) GetName() *wrapperspb.StringValue { + if x != nil { + return x.Name } return nil } // configuration root for route type RouteRule struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` // route rule name Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` @@ -529,250 +663,294 @@ type RouteRule struct { // deprecated_filed only for compatible to the old version server ExtendInfo map[string]string `protobuf:"bytes,20,rep,name=extendInfo,proto3" json:"extendInfo,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // 路由规则标签数据 - Metadata map[string]string `protobuf:"bytes,50,rep,name=metadata,proto3" json:"metadata,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + Metadata map[string]string `protobuf:"bytes,21,rep,name=metadata,proto3" json:"metadata,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // 操作标志位 + Editable bool `protobuf:"varint,30,opt,name=editable,proto3" json:"editable,omitempty"` + Deleteable bool `protobuf:"varint,31,opt,name=deleteable,proto3" json:"deleteable,omitempty"` } -func (m *RouteRule) Reset() { *m = RouteRule{} } -func (m *RouteRule) String() string { return proto.CompactTextString(m) } -func (*RouteRule) ProtoMessage() {} -func (*RouteRule) Descriptor() ([]byte, []int) { - return fileDescriptor_routing_0241e1af806e0692, []int{4} -} -func (m *RouteRule) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_RouteRule.Unmarshal(m, b) -} -func (m *RouteRule) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_RouteRule.Marshal(b, m, deterministic) -} -func (dst *RouteRule) XXX_Merge(src proto.Message) { - xxx_messageInfo_RouteRule.Merge(dst, src) +func (x *RouteRule) Reset() { + *x = RouteRule{} + if protoimpl.UnsafeEnabled { + mi := &file_routing_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (m *RouteRule) XXX_Size() int { - return xxx_messageInfo_RouteRule.Size(m) + +func (x *RouteRule) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *RouteRule) XXX_DiscardUnknown() { - xxx_messageInfo_RouteRule.DiscardUnknown(m) + +func (*RouteRule) ProtoMessage() {} + +func (x *RouteRule) ProtoReflect() protoreflect.Message { + mi := &file_routing_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) } -var xxx_messageInfo_RouteRule proto.InternalMessageInfo +// Deprecated: Use RouteRule.ProtoReflect.Descriptor instead. +func (*RouteRule) Descriptor() ([]byte, []int) { + return file_routing_proto_rawDescGZIP(), []int{4} +} -func (m *RouteRule) GetId() string { - if m != nil { - return m.Id +func (x *RouteRule) GetId() string { + if x != nil { + return x.Id } return "" } -func (m *RouteRule) GetName() string { - if m != nil { - return m.Name +func (x *RouteRule) GetName() string { + if x != nil { + return x.Name } return "" } -func (m *RouteRule) GetNamespace() string { - if m != nil { - return m.Namespace +func (x *RouteRule) GetNamespace() string { + if x != nil { + return x.Namespace } return "" } -func (m *RouteRule) GetEnable() bool { - if m != nil { - return m.Enable +func (x *RouteRule) GetEnable() bool { + if x != nil { + return x.Enable } return false } -func (m *RouteRule) GetRoutingPolicy() RoutingPolicy { - if m != nil { - return m.RoutingPolicy +func (x *RouteRule) GetRoutingPolicy() RoutingPolicy { + if x != nil { + return x.RoutingPolicy } return RoutingPolicy_RulePolicy } -func (m *RouteRule) GetRoutingConfig() *anypb.Any { - if m != nil { - return m.RoutingConfig +func (x *RouteRule) GetRoutingConfig() *anypb.Any { + if x != nil { + return x.RoutingConfig } return nil } -func (m *RouteRule) GetRevision() string { - if m != nil { - return m.Revision +func (x *RouteRule) GetRevision() string { + if x != nil { + return x.Revision } return "" } -func (m *RouteRule) GetCtime() string { - if m != nil { - return m.Ctime +func (x *RouteRule) GetCtime() string { + if x != nil { + return x.Ctime } return "" } -func (m *RouteRule) GetMtime() string { - if m != nil { - return m.Mtime +func (x *RouteRule) GetMtime() string { + if x != nil { + return x.Mtime } return "" } -func (m *RouteRule) GetEtime() string { - if m != nil { - return m.Etime +func (x *RouteRule) GetEtime() string { + if x != nil { + return x.Etime } return "" } -func (m *RouteRule) GetPriority() uint32 { - if m != nil { - return m.Priority +func (x *RouteRule) GetPriority() uint32 { + if x != nil { + return x.Priority } return 0 } -func (m *RouteRule) GetDescription() string { - if m != nil { - return m.Description +func (x *RouteRule) GetDescription() string { + if x != nil { + return x.Description } return "" } -func (m *RouteRule) GetExtendInfo() map[string]string { - if m != nil { - return m.ExtendInfo +func (x *RouteRule) GetExtendInfo() map[string]string { + if x != nil { + return x.ExtendInfo } return nil } -func (m *RouteRule) GetMetadata() map[string]string { - if m != nil { - return m.Metadata +func (x *RouteRule) GetMetadata() map[string]string { + if x != nil { + return x.Metadata } return nil } +func (x *RouteRule) GetEditable() bool { + if x != nil { + return x.Editable + } + return false +} + +func (x *RouteRule) GetDeleteable() bool { + if x != nil { + return x.Deleteable + } + return false +} + type MetadataFailover struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + // failover_range metadata route bottom type FailoverRange MetadataFailover_FailoverRange `protobuf:"varint,1,opt,name=failover_range,json=failoverRange,proto3,enum=v1.MetadataFailover_FailoverRange" json:"failover_range,omitempty"` // only use to failover_range == OTHER_KEYS - Labels map[string]string `protobuf:"bytes,2,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + Labels map[string]string `protobuf:"bytes,2,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } -func (m *MetadataFailover) Reset() { *m = MetadataFailover{} } -func (m *MetadataFailover) String() string { return proto.CompactTextString(m) } -func (*MetadataFailover) ProtoMessage() {} -func (*MetadataFailover) Descriptor() ([]byte, []int) { - return fileDescriptor_routing_0241e1af806e0692, []int{5} -} -func (m *MetadataFailover) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_MetadataFailover.Unmarshal(m, b) -} -func (m *MetadataFailover) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_MetadataFailover.Marshal(b, m, deterministic) -} -func (dst *MetadataFailover) XXX_Merge(src proto.Message) { - xxx_messageInfo_MetadataFailover.Merge(dst, src) +func (x *MetadataFailover) Reset() { + *x = MetadataFailover{} + if protoimpl.UnsafeEnabled { + mi := &file_routing_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (m *MetadataFailover) XXX_Size() int { - return xxx_messageInfo_MetadataFailover.Size(m) + +func (x *MetadataFailover) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *MetadataFailover) XXX_DiscardUnknown() { - xxx_messageInfo_MetadataFailover.DiscardUnknown(m) + +func (*MetadataFailover) ProtoMessage() {} + +func (x *MetadataFailover) ProtoReflect() protoreflect.Message { + mi := &file_routing_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) } -var xxx_messageInfo_MetadataFailover proto.InternalMessageInfo +// Deprecated: Use MetadataFailover.ProtoReflect.Descriptor instead. +func (*MetadataFailover) Descriptor() ([]byte, []int) { + return file_routing_proto_rawDescGZIP(), []int{5} +} -func (m *MetadataFailover) GetFailoverRange() MetadataFailover_FailoverRange { - if m != nil { - return m.FailoverRange +func (x *MetadataFailover) GetFailoverRange() MetadataFailover_FailoverRange { + if x != nil { + return x.FailoverRange } return MetadataFailover_ALL } -func (m *MetadataFailover) GetLabels() map[string]string { - if m != nil { - return m.Labels +func (x *MetadataFailover) GetLabels() map[string]string { + if x != nil { + return x.Labels } return nil } // MetadataRoutingConfig metadata routing configuration type MetadataRoutingConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + // service Service string `protobuf:"bytes,1,opt,name=service,proto3" json:"service,omitempty"` // namespace Namespace string `protobuf:"bytes,2,opt,name=namespace,proto3" json:"namespace,omitempty"` Labels map[string]string `protobuf:"bytes,3,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // When metadata not found, it will fall back to the - Failover *MetadataFailover `protobuf:"bytes,4,opt,name=failover,proto3" json:"failover,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + Failover *MetadataFailover `protobuf:"bytes,4,opt,name=failover,proto3" json:"failover,omitempty"` } -func (m *MetadataRoutingConfig) Reset() { *m = MetadataRoutingConfig{} } -func (m *MetadataRoutingConfig) String() string { return proto.CompactTextString(m) } -func (*MetadataRoutingConfig) ProtoMessage() {} -func (*MetadataRoutingConfig) Descriptor() ([]byte, []int) { - return fileDescriptor_routing_0241e1af806e0692, []int{6} -} -func (m *MetadataRoutingConfig) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_MetadataRoutingConfig.Unmarshal(m, b) -} -func (m *MetadataRoutingConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_MetadataRoutingConfig.Marshal(b, m, deterministic) -} -func (dst *MetadataRoutingConfig) XXX_Merge(src proto.Message) { - xxx_messageInfo_MetadataRoutingConfig.Merge(dst, src) +func (x *MetadataRoutingConfig) Reset() { + *x = MetadataRoutingConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_routing_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (m *MetadataRoutingConfig) XXX_Size() int { - return xxx_messageInfo_MetadataRoutingConfig.Size(m) + +func (x *MetadataRoutingConfig) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *MetadataRoutingConfig) XXX_DiscardUnknown() { - xxx_messageInfo_MetadataRoutingConfig.DiscardUnknown(m) + +func (*MetadataRoutingConfig) ProtoMessage() {} + +func (x *MetadataRoutingConfig) ProtoReflect() protoreflect.Message { + mi := &file_routing_proto_msgTypes[6] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) } -var xxx_messageInfo_MetadataRoutingConfig proto.InternalMessageInfo +// Deprecated: Use MetadataRoutingConfig.ProtoReflect.Descriptor instead. +func (*MetadataRoutingConfig) Descriptor() ([]byte, []int) { + return file_routing_proto_rawDescGZIP(), []int{6} +} -func (m *MetadataRoutingConfig) GetService() string { - if m != nil { - return m.Service +func (x *MetadataRoutingConfig) GetService() string { + if x != nil { + return x.Service } return "" } -func (m *MetadataRoutingConfig) GetNamespace() string { - if m != nil { - return m.Namespace +func (x *MetadataRoutingConfig) GetNamespace() string { + if x != nil { + return x.Namespace } return "" } -func (m *MetadataRoutingConfig) GetLabels() map[string]string { - if m != nil { - return m.Labels +func (x *MetadataRoutingConfig) GetLabels() map[string]string { + if x != nil { + return x.Labels } return nil } -func (m *MetadataRoutingConfig) GetFailover() *MetadataFailover { - if m != nil { - return m.Failover +func (x *MetadataRoutingConfig) GetFailover() *MetadataFailover { + if x != nil { + return x.Failover } return nil } // NearbyRoutingConfig routing configuration type NearbyRoutingConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + // 被调服务名,支持*,代表全部服务 Service string `protobuf:"bytes,1,opt,name=service,proto3" json:"service,omitempty"` // 被调命名空间 @@ -782,249 +960,289 @@ type NearbyRoutingConfig struct { // 最大就近级别 MaxMatchLevel NearbyRoutingConfig_LocationLevel `protobuf:"varint,4,opt,name=max_match_level,proto3,enum=v1.NearbyRoutingConfig_LocationLevel" json:"max_match_level,omitempty"` // 是否强制就近 - StrictNearby bool `protobuf:"varint,5,opt,name=strict_nearby,proto3" json:"strict_nearby,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + StrictNearby bool `protobuf:"varint,5,opt,name=strict_nearby,proto3" json:"strict_nearby,omitempty"` } -func (m *NearbyRoutingConfig) Reset() { *m = NearbyRoutingConfig{} } -func (m *NearbyRoutingConfig) String() string { return proto.CompactTextString(m) } -func (*NearbyRoutingConfig) ProtoMessage() {} -func (*NearbyRoutingConfig) Descriptor() ([]byte, []int) { - return fileDescriptor_routing_0241e1af806e0692, []int{7} -} -func (m *NearbyRoutingConfig) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_NearbyRoutingConfig.Unmarshal(m, b) -} -func (m *NearbyRoutingConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_NearbyRoutingConfig.Marshal(b, m, deterministic) -} -func (dst *NearbyRoutingConfig) XXX_Merge(src proto.Message) { - xxx_messageInfo_NearbyRoutingConfig.Merge(dst, src) +func (x *NearbyRoutingConfig) Reset() { + *x = NearbyRoutingConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_routing_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (m *NearbyRoutingConfig) XXX_Size() int { - return xxx_messageInfo_NearbyRoutingConfig.Size(m) + +func (x *NearbyRoutingConfig) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *NearbyRoutingConfig) XXX_DiscardUnknown() { - xxx_messageInfo_NearbyRoutingConfig.DiscardUnknown(m) + +func (*NearbyRoutingConfig) ProtoMessage() {} + +func (x *NearbyRoutingConfig) ProtoReflect() protoreflect.Message { + mi := &file_routing_proto_msgTypes[7] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) } -var xxx_messageInfo_NearbyRoutingConfig proto.InternalMessageInfo +// Deprecated: Use NearbyRoutingConfig.ProtoReflect.Descriptor instead. +func (*NearbyRoutingConfig) Descriptor() ([]byte, []int) { + return file_routing_proto_rawDescGZIP(), []int{7} +} -func (m *NearbyRoutingConfig) GetService() string { - if m != nil { - return m.Service +func (x *NearbyRoutingConfig) GetService() string { + if x != nil { + return x.Service } return "" } -func (m *NearbyRoutingConfig) GetNamespace() string { - if m != nil { - return m.Namespace +func (x *NearbyRoutingConfig) GetNamespace() string { + if x != nil { + return x.Namespace } return "" } -func (m *NearbyRoutingConfig) GetMatchLevel() NearbyRoutingConfig_LocationLevel { - if m != nil { - return m.MatchLevel +func (x *NearbyRoutingConfig) GetMatchLevel() NearbyRoutingConfig_LocationLevel { + if x != nil { + return x.MatchLevel } return NearbyRoutingConfig_UNKNOWN } -func (m *NearbyRoutingConfig) GetMaxMatchLevel() NearbyRoutingConfig_LocationLevel { - if m != nil { - return m.MaxMatchLevel +func (x *NearbyRoutingConfig) GetMaxMatchLevel() NearbyRoutingConfig_LocationLevel { + if x != nil { + return x.MaxMatchLevel } return NearbyRoutingConfig_UNKNOWN } -func (m *NearbyRoutingConfig) GetStrictNearby() bool { - if m != nil { - return m.StrictNearby +func (x *NearbyRoutingConfig) GetStrictNearby() bool { + if x != nil { + return x.StrictNearby } return false } // RuleRoutingConfig routing configuration type RuleRoutingConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + // source source info // deprecated_filed only for compatible to the old version server - Sources []*SourceService `protobuf:"bytes,1,rep,name=sources,proto3" json:"sources,omitempty"` // Deprecated: Do not use. + // + // Deprecated: Marked as deprecated in routing.proto. + Sources []*SourceService `protobuf:"bytes,1,rep,name=sources,proto3" json:"sources,omitempty"` // destination destinations info // deprecated_filed only for compatible to the old version server - Destinations []*DestinationGroup `protobuf:"bytes,2,rep,name=destinations,proto3" json:"destinations,omitempty"` // Deprecated: Do not use. + // + // Deprecated: Marked as deprecated in routing.proto. + Destinations []*DestinationGroup `protobuf:"bytes,2,rep,name=destinations,proto3" json:"destinations,omitempty"` // rule route chain - Rules []*SubRuleRouting `protobuf:"bytes,3,rep,name=rules,proto3" json:"rules,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + Rules []*SubRuleRouting `protobuf:"bytes,3,rep,name=rules,proto3" json:"rules,omitempty"` } -func (m *RuleRoutingConfig) Reset() { *m = RuleRoutingConfig{} } -func (m *RuleRoutingConfig) String() string { return proto.CompactTextString(m) } -func (*RuleRoutingConfig) ProtoMessage() {} -func (*RuleRoutingConfig) Descriptor() ([]byte, []int) { - return fileDescriptor_routing_0241e1af806e0692, []int{8} -} -func (m *RuleRoutingConfig) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_RuleRoutingConfig.Unmarshal(m, b) -} -func (m *RuleRoutingConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_RuleRoutingConfig.Marshal(b, m, deterministic) -} -func (dst *RuleRoutingConfig) XXX_Merge(src proto.Message) { - xxx_messageInfo_RuleRoutingConfig.Merge(dst, src) +func (x *RuleRoutingConfig) Reset() { + *x = RuleRoutingConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_routing_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (m *RuleRoutingConfig) XXX_Size() int { - return xxx_messageInfo_RuleRoutingConfig.Size(m) + +func (x *RuleRoutingConfig) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *RuleRoutingConfig) XXX_DiscardUnknown() { - xxx_messageInfo_RuleRoutingConfig.DiscardUnknown(m) + +func (*RuleRoutingConfig) ProtoMessage() {} + +func (x *RuleRoutingConfig) ProtoReflect() protoreflect.Message { + mi := &file_routing_proto_msgTypes[8] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) } -var xxx_messageInfo_RuleRoutingConfig proto.InternalMessageInfo +// Deprecated: Use RuleRoutingConfig.ProtoReflect.Descriptor instead. +func (*RuleRoutingConfig) Descriptor() ([]byte, []int) { + return file_routing_proto_rawDescGZIP(), []int{8} +} -// Deprecated: Do not use. -func (m *RuleRoutingConfig) GetSources() []*SourceService { - if m != nil { - return m.Sources +// Deprecated: Marked as deprecated in routing.proto. +func (x *RuleRoutingConfig) GetSources() []*SourceService { + if x != nil { + return x.Sources } return nil } -// Deprecated: Do not use. -func (m *RuleRoutingConfig) GetDestinations() []*DestinationGroup { - if m != nil { - return m.Destinations +// Deprecated: Marked as deprecated in routing.proto. +func (x *RuleRoutingConfig) GetDestinations() []*DestinationGroup { + if x != nil { + return x.Destinations } return nil } -func (m *RuleRoutingConfig) GetRules() []*SubRuleRouting { - if m != nil { - return m.Rules +func (x *RuleRoutingConfig) GetRules() []*SubRuleRouting { + if x != nil { + return x.Rules } return nil } // SubRuleRouting sub routing configuration type SubRuleRouting struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + // sub routing rule name Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // source source info Sources []*SourceService `protobuf:"bytes,2,rep,name=sources,proto3" json:"sources,omitempty"` // destination destinations info - Destinations []*DestinationGroup `protobuf:"bytes,3,rep,name=destinations,proto3" json:"destinations,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + Destinations []*DestinationGroup `protobuf:"bytes,3,rep,name=destinations,proto3" json:"destinations,omitempty"` } -func (m *SubRuleRouting) Reset() { *m = SubRuleRouting{} } -func (m *SubRuleRouting) String() string { return proto.CompactTextString(m) } -func (*SubRuleRouting) ProtoMessage() {} -func (*SubRuleRouting) Descriptor() ([]byte, []int) { - return fileDescriptor_routing_0241e1af806e0692, []int{9} -} -func (m *SubRuleRouting) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_SubRuleRouting.Unmarshal(m, b) -} -func (m *SubRuleRouting) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_SubRuleRouting.Marshal(b, m, deterministic) -} -func (dst *SubRuleRouting) XXX_Merge(src proto.Message) { - xxx_messageInfo_SubRuleRouting.Merge(dst, src) +func (x *SubRuleRouting) Reset() { + *x = SubRuleRouting{} + if protoimpl.UnsafeEnabled { + mi := &file_routing_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (m *SubRuleRouting) XXX_Size() int { - return xxx_messageInfo_SubRuleRouting.Size(m) + +func (x *SubRuleRouting) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *SubRuleRouting) XXX_DiscardUnknown() { - xxx_messageInfo_SubRuleRouting.DiscardUnknown(m) + +func (*SubRuleRouting) ProtoMessage() {} + +func (x *SubRuleRouting) ProtoReflect() protoreflect.Message { + mi := &file_routing_proto_msgTypes[9] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) } -var xxx_messageInfo_SubRuleRouting proto.InternalMessageInfo +// Deprecated: Use SubRuleRouting.ProtoReflect.Descriptor instead. +func (*SubRuleRouting) Descriptor() ([]byte, []int) { + return file_routing_proto_rawDescGZIP(), []int{9} +} -func (m *SubRuleRouting) GetName() string { - if m != nil { - return m.Name +func (x *SubRuleRouting) GetName() string { + if x != nil { + return x.Name } return "" } -func (m *SubRuleRouting) GetSources() []*SourceService { - if m != nil { - return m.Sources +func (x *SubRuleRouting) GetSources() []*SourceService { + if x != nil { + return x.Sources } return nil } -func (m *SubRuleRouting) GetDestinations() []*DestinationGroup { - if m != nil { - return m.Destinations +func (x *SubRuleRouting) GetDestinations() []*DestinationGroup { + if x != nil { + return x.Destinations } return nil } type SourceService struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + // Main tuning service and namespace Service string `protobuf:"bytes,1,opt,name=service,proto3" json:"service,omitempty"` Namespace string `protobuf:"bytes,2,opt,name=namespace,proto3" json:"namespace,omitempty"` // Master Control Service Example Tag or Request Label // Value supports regular matching - Arguments []*SourceMatch `protobuf:"bytes,3,rep,name=arguments,proto3" json:"arguments,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + Arguments []*SourceMatch `protobuf:"bytes,3,rep,name=arguments,proto3" json:"arguments,omitempty"` } -func (m *SourceService) Reset() { *m = SourceService{} } -func (m *SourceService) String() string { return proto.CompactTextString(m) } -func (*SourceService) ProtoMessage() {} -func (*SourceService) Descriptor() ([]byte, []int) { - return fileDescriptor_routing_0241e1af806e0692, []int{10} -} -func (m *SourceService) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_SourceService.Unmarshal(m, b) -} -func (m *SourceService) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_SourceService.Marshal(b, m, deterministic) -} -func (dst *SourceService) XXX_Merge(src proto.Message) { - xxx_messageInfo_SourceService.Merge(dst, src) +func (x *SourceService) Reset() { + *x = SourceService{} + if protoimpl.UnsafeEnabled { + mi := &file_routing_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (m *SourceService) XXX_Size() int { - return xxx_messageInfo_SourceService.Size(m) + +func (x *SourceService) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *SourceService) XXX_DiscardUnknown() { - xxx_messageInfo_SourceService.DiscardUnknown(m) + +func (*SourceService) ProtoMessage() {} + +func (x *SourceService) ProtoReflect() protoreflect.Message { + mi := &file_routing_proto_msgTypes[10] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) } -var xxx_messageInfo_SourceService proto.InternalMessageInfo +// Deprecated: Use SourceService.ProtoReflect.Descriptor instead. +func (*SourceService) Descriptor() ([]byte, []int) { + return file_routing_proto_rawDescGZIP(), []int{10} +} -func (m *SourceService) GetService() string { - if m != nil { - return m.Service +func (x *SourceService) GetService() string { + if x != nil { + return x.Service } return "" } -func (m *SourceService) GetNamespace() string { - if m != nil { - return m.Namespace +func (x *SourceService) GetNamespace() string { + if x != nil { + return x.Namespace } return "" } -func (m *SourceService) GetArguments() []*SourceMatch { - if m != nil { - return m.Arguments +func (x *SourceService) GetArguments() []*SourceMatch { + if x != nil { + return x.Arguments } return nil } type DestinationGroup struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + // Templated service and namespace Service string `protobuf:"bytes,1,opt,name=service,proto3" json:"service,omitempty"` Namespace string `protobuf:"bytes,2,opt,name=namespace,proto3" json:"namespace,omitempty"` @@ -1049,269 +1267,721 @@ type DestinationGroup struct { // Whether to isolate the SET, after isolation, no traffic will be allocated Isolate bool `protobuf:"varint,7,opt,name=isolate,proto3" json:"isolate,omitempty"` // name desition name - Name string `protobuf:"bytes,8,opt,name=name,proto3" json:"name,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + Name string `protobuf:"bytes,8,opt,name=name,proto3" json:"name,omitempty"` } -func (m *DestinationGroup) Reset() { *m = DestinationGroup{} } -func (m *DestinationGroup) String() string { return proto.CompactTextString(m) } -func (*DestinationGroup) ProtoMessage() {} -func (*DestinationGroup) Descriptor() ([]byte, []int) { - return fileDescriptor_routing_0241e1af806e0692, []int{11} -} -func (m *DestinationGroup) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_DestinationGroup.Unmarshal(m, b) -} -func (m *DestinationGroup) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_DestinationGroup.Marshal(b, m, deterministic) -} -func (dst *DestinationGroup) XXX_Merge(src proto.Message) { - xxx_messageInfo_DestinationGroup.Merge(dst, src) +func (x *DestinationGroup) Reset() { + *x = DestinationGroup{} + if protoimpl.UnsafeEnabled { + mi := &file_routing_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (m *DestinationGroup) XXX_Size() int { - return xxx_messageInfo_DestinationGroup.Size(m) + +func (x *DestinationGroup) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *DestinationGroup) XXX_DiscardUnknown() { - xxx_messageInfo_DestinationGroup.DiscardUnknown(m) + +func (*DestinationGroup) ProtoMessage() {} + +func (x *DestinationGroup) ProtoReflect() protoreflect.Message { + mi := &file_routing_proto_msgTypes[11] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) } -var xxx_messageInfo_DestinationGroup proto.InternalMessageInfo +// Deprecated: Use DestinationGroup.ProtoReflect.Descriptor instead. +func (*DestinationGroup) Descriptor() ([]byte, []int) { + return file_routing_proto_rawDescGZIP(), []int{11} +} -func (m *DestinationGroup) GetService() string { - if m != nil { - return m.Service +func (x *DestinationGroup) GetService() string { + if x != nil { + return x.Service } return "" } -func (m *DestinationGroup) GetNamespace() string { - if m != nil { - return m.Namespace +func (x *DestinationGroup) GetNamespace() string { + if x != nil { + return x.Namespace } return "" } -func (m *DestinationGroup) GetLabels() map[string]*model.MatchString { - if m != nil { - return m.Labels +func (x *DestinationGroup) GetLabels() map[string]*model.MatchString { + if x != nil { + return x.Labels } return nil } -func (m *DestinationGroup) GetPriority() uint32 { - if m != nil { - return m.Priority +func (x *DestinationGroup) GetPriority() uint32 { + if x != nil { + return x.Priority } return 0 } -func (m *DestinationGroup) GetWeight() uint32 { - if m != nil { - return m.Weight +func (x *DestinationGroup) GetWeight() uint32 { + if x != nil { + return x.Weight } return 0 } -func (m *DestinationGroup) GetTransfer() string { - if m != nil { - return m.Transfer +func (x *DestinationGroup) GetTransfer() string { + if x != nil { + return x.Transfer } return "" } -func (m *DestinationGroup) GetIsolate() bool { - if m != nil { - return m.Isolate +func (x *DestinationGroup) GetIsolate() bool { + if x != nil { + return x.Isolate } return false } -func (m *DestinationGroup) GetName() string { - if m != nil { - return m.Name +func (x *DestinationGroup) GetName() string { + if x != nil { + return x.Name } return "" } // SourceMatch type SourceMatch struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + Type SourceMatch_Type `protobuf:"varint,1,opt,name=type,proto3,enum=v1.SourceMatch_Type" json:"type,omitempty"` // header key or query key Key string `protobuf:"bytes,2,opt,name=key,proto3" json:"key,omitempty"` // header value or query value - Value *model.MatchString `protobuf:"bytes,3,opt,name=value,proto3" json:"value,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + Value *model.MatchString `protobuf:"bytes,3,opt,name=value,proto3" json:"value,omitempty"` } -func (m *SourceMatch) Reset() { *m = SourceMatch{} } -func (m *SourceMatch) String() string { return proto.CompactTextString(m) } -func (*SourceMatch) ProtoMessage() {} -func (*SourceMatch) Descriptor() ([]byte, []int) { - return fileDescriptor_routing_0241e1af806e0692, []int{12} -} -func (m *SourceMatch) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_SourceMatch.Unmarshal(m, b) -} -func (m *SourceMatch) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_SourceMatch.Marshal(b, m, deterministic) -} -func (dst *SourceMatch) XXX_Merge(src proto.Message) { - xxx_messageInfo_SourceMatch.Merge(dst, src) +func (x *SourceMatch) Reset() { + *x = SourceMatch{} + if protoimpl.UnsafeEnabled { + mi := &file_routing_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (m *SourceMatch) XXX_Size() int { - return xxx_messageInfo_SourceMatch.Size(m) + +func (x *SourceMatch) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *SourceMatch) XXX_DiscardUnknown() { - xxx_messageInfo_SourceMatch.DiscardUnknown(m) + +func (*SourceMatch) ProtoMessage() {} + +func (x *SourceMatch) ProtoReflect() protoreflect.Message { + mi := &file_routing_proto_msgTypes[12] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) } -var xxx_messageInfo_SourceMatch proto.InternalMessageInfo +// Deprecated: Use SourceMatch.ProtoReflect.Descriptor instead. +func (*SourceMatch) Descriptor() ([]byte, []int) { + return file_routing_proto_rawDescGZIP(), []int{12} +} -func (m *SourceMatch) GetType() SourceMatch_Type { - if m != nil { - return m.Type +func (x *SourceMatch) GetType() SourceMatch_Type { + if x != nil { + return x.Type } return SourceMatch_CUSTOM } -func (m *SourceMatch) GetKey() string { - if m != nil { - return m.Key +func (x *SourceMatch) GetKey() string { + if x != nil { + return x.Key } return "" } -func (m *SourceMatch) GetValue() *model.MatchString { - if m != nil { - return m.Value +func (x *SourceMatch) GetValue() *model.MatchString { + if x != nil { + return x.Value } return nil } -func init() { - proto.RegisterType((*Routing)(nil), "v1.Routing") - proto.RegisterType((*Route)(nil), "v1.Route") - proto.RegisterMapType((map[string]string)(nil), "v1.Route.ExtendInfoEntry") - proto.RegisterType((*Source)(nil), "v1.Source") - proto.RegisterMapType((map[string]*model.MatchString)(nil), "v1.Source.MetadataEntry") - proto.RegisterType((*Destination)(nil), "v1.Destination") - proto.RegisterMapType((map[string]*model.MatchString)(nil), "v1.Destination.MetadataEntry") - proto.RegisterType((*RouteRule)(nil), "v1.RouteRule") - proto.RegisterMapType((map[string]string)(nil), "v1.RouteRule.ExtendInfoEntry") - proto.RegisterMapType((map[string]string)(nil), "v1.RouteRule.MetadataEntry") - proto.RegisterType((*MetadataFailover)(nil), "v1.MetadataFailover") - proto.RegisterMapType((map[string]string)(nil), "v1.MetadataFailover.LabelsEntry") - proto.RegisterType((*MetadataRoutingConfig)(nil), "v1.MetadataRoutingConfig") - proto.RegisterMapType((map[string]string)(nil), "v1.MetadataRoutingConfig.LabelsEntry") - proto.RegisterType((*NearbyRoutingConfig)(nil), "v1.NearbyRoutingConfig") - proto.RegisterType((*RuleRoutingConfig)(nil), "v1.RuleRoutingConfig") - proto.RegisterType((*SubRuleRouting)(nil), "v1.SubRuleRouting") - proto.RegisterType((*SourceService)(nil), "v1.SourceService") - proto.RegisterType((*DestinationGroup)(nil), "v1.DestinationGroup") - proto.RegisterMapType((map[string]*model.MatchString)(nil), "v1.DestinationGroup.LabelsEntry") - proto.RegisterType((*SourceMatch)(nil), "v1.SourceMatch") - proto.RegisterEnum("v1.RoutingPolicy", RoutingPolicy_name, RoutingPolicy_value) - proto.RegisterEnum("v1.MetadataFailover_FailoverRange", MetadataFailover_FailoverRange_name, MetadataFailover_FailoverRange_value) - proto.RegisterEnum("v1.NearbyRoutingConfig_LocationLevel", NearbyRoutingConfig_LocationLevel_name, NearbyRoutingConfig_LocationLevel_value) - proto.RegisterEnum("v1.SourceMatch_Type", SourceMatch_Type_name, SourceMatch_Type_value) -} - -func init() { proto.RegisterFile("routing.proto", fileDescriptor_routing_0241e1af806e0692) } - -var fileDescriptor_routing_0241e1af806e0692 = []byte{ - // 1425 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x56, 0xcd, 0x6e, 0xdb, 0x46, - 0x10, 0x0e, 0x29, 0x59, 0x12, 0x47, 0x96, 0xcc, 0x6c, 0x94, 0x80, 0x51, 0xd3, 0xc2, 0x50, 0x13, - 0xd4, 0x68, 0x51, 0x2a, 0x71, 0x8c, 0xc6, 0x4e, 0x93, 0x83, 0x1c, 0xb3, 0xb6, 0x13, 0xd9, 0x72, - 0x69, 0xbb, 0x45, 0x72, 0x11, 0x28, 0x6a, 0x25, 0x2f, 0x42, 0x91, 0x04, 0x49, 0x29, 0xd1, 0xad, - 0xc7, 0x02, 0x45, 0xdf, 0xa0, 0x8f, 0xd0, 0x67, 0xe9, 0xb1, 0xa7, 0xa2, 0x40, 0x5f, 0xa0, 0x2f, - 0xd0, 0x4b, 0xc1, 0xdd, 0xa5, 0xf8, 0x13, 0x29, 0x51, 0x7e, 0x80, 0xdc, 0x76, 0x67, 0xbe, 0x99, - 0x9d, 0x9d, 0x9d, 0xf9, 0x76, 0xa0, 0xe2, 0x39, 0xe3, 0x80, 0xd8, 0x43, 0xd5, 0xf5, 0x9c, 0xc0, - 0x41, 0xe2, 0xe4, 0x4e, 0xfd, 0xb3, 0xa1, 0xe3, 0x0c, 0x2d, 0xdc, 0xa4, 0x92, 0xde, 0x78, 0xd0, - 0x7c, 0xe1, 0x19, 0xae, 0x8b, 0x3d, 0x9f, 0x61, 0xea, 0xd7, 0xb3, 0x7a, 0xc3, 0x9e, 0x72, 0x55, - 0x79, 0xe4, 0xf4, 0xb1, 0xc5, 0x36, 0x8d, 0xbf, 0x73, 0x50, 0xd4, 0x99, 0x77, 0xf4, 0x0d, 0x14, - 0x7d, 0xec, 0x4d, 0x88, 0x89, 0x15, 0x61, 0x5d, 0xd8, 0x28, 0x6f, 0xde, 0x50, 0x99, 0x17, 0x35, - 0xf2, 0xa2, 0x9e, 0x06, 0x1e, 0xb1, 0x87, 0x3f, 0x18, 0xd6, 0x18, 0xeb, 0x11, 0x18, 0xdd, 0x07, - 0xc9, 0x36, 0x46, 0xd8, 0x77, 0x0d, 0x13, 0x2b, 0xe2, 0x12, 0x96, 0x31, 0x1c, 0xdd, 0x82, 0x12, - 0xb1, 0x7b, 0xce, 0xd8, 0xee, 0xfb, 0x4a, 0x6e, 0x3d, 0xb7, 0x51, 0xde, 0x94, 0xd4, 0xc9, 0x1d, - 0x35, 0x0c, 0x09, 0xeb, 0x33, 0x15, 0xfa, 0x02, 0x24, 0x67, 0x1c, 0x70, 0x5c, 0x3e, 0x8b, 0x8b, - 0x75, 0x68, 0x13, 0x56, 0xcc, 0x80, 0x8c, 0xb0, 0xb2, 0xb2, 0x44, 0x1c, 0x0c, 0x1a, 0xda, 0x8c, - 0xa8, 0x4d, 0x61, 0x19, 0x1b, 0x0a, 0x45, 0xdb, 0x50, 0xf2, 0xf0, 0x84, 0xf8, 0xc4, 0xb1, 0x95, - 0xe2, 0x12, 0x66, 0x33, 0x34, 0xda, 0x85, 0x0a, 0x4f, 0x5c, 0x37, 0x70, 0x9e, 0x63, 0x5b, 0x29, - 0x2d, 0x61, 0x9e, 0x36, 0x41, 0x9f, 0xc3, 0x8a, 0x37, 0xb6, 0xb0, 0xaf, 0x5c, 0xa5, 0xa9, 0xa8, - 0xc4, 0xa9, 0x18, 0x5b, 0x58, 0x67, 0xba, 0xc7, 0xf9, 0x92, 0x24, 0x5f, 0x6d, 0xfc, 0x25, 0xc0, - 0x0a, 0x55, 0xa1, 0x9b, 0x50, 0xf4, 0x9d, 0xb1, 0x67, 0x62, 0x5f, 0x11, 0xa8, 0x19, 0x84, 0x66, - 0xa7, 0x54, 0xa4, 0x47, 0x2a, 0x74, 0x17, 0x56, 0xfb, 0xd8, 0x0f, 0x88, 0x6d, 0x04, 0xc4, 0xb1, - 0x7d, 0x45, 0xa4, 0xd0, 0xb5, 0x10, 0xba, 0x17, 0xcb, 0xf5, 0x14, 0x08, 0xed, 0x00, 0xe0, 0x97, - 0x01, 0xb6, 0xfb, 0x87, 0xf6, 0xc0, 0xe1, 0xef, 0x78, 0x7d, 0x16, 0x94, 0xaa, 0xcd, 0x74, 0x9a, - 0x1d, 0x78, 0x53, 0x3d, 0x01, 0xae, 0x3f, 0x84, 0xb5, 0x8c, 0x1a, 0xc9, 0x90, 0x7b, 0x8e, 0xa7, - 0xb4, 0x06, 0x25, 0x3d, 0x5c, 0xa2, 0x1a, 0xac, 0x4c, 0xc2, 0x3c, 0xd0, 0xea, 0x92, 0x74, 0xb6, - 0xb9, 0x2f, 0x6e, 0x0b, 0x8d, 0x9f, 0x44, 0x28, 0xb0, 0x2b, 0x7c, 0x94, 0xf2, 0xdd, 0x82, 0xd2, - 0x08, 0x07, 0x46, 0xdf, 0x08, 0x0c, 0x7e, 0x6d, 0x25, 0x4e, 0xaa, 0x7a, 0xc4, 0x55, 0xec, 0xd6, - 0x33, 0x64, 0xbd, 0x0d, 0x95, 0x94, 0x6a, 0xce, 0x8d, 0x6f, 0x25, 0x6f, 0xcc, 0xf3, 0x7f, 0x64, - 0x04, 0xe6, 0x05, 0x0b, 0x24, 0x99, 0x82, 0xdf, 0xf2, 0x50, 0x4e, 0x3c, 0xcd, 0x47, 0xc9, 0xc3, - 0xce, 0x2b, 0x79, 0xf8, 0x34, 0x53, 0x31, 0x8b, 0x92, 0x11, 0x76, 0x92, 0xeb, 0x11, 0xc7, 0x23, - 0xc1, 0x54, 0xc9, 0x2f, 0x38, 0xf5, 0xfc, 0xd0, 0x0e, 0xee, 0x6e, 0xf2, 0x4e, 0x8a, 0xd0, 0x68, - 0x0b, 0x0a, 0x2f, 0x30, 0x19, 0x5e, 0x04, 0x0b, 0x9b, 0x3d, 0x69, 0xc7, 0xb1, 0xe1, 0x79, 0x81, - 0x67, 0xd8, 0xfe, 0x00, 0x7b, 0x4b, 0x35, 0xfc, 0x0c, 0x8d, 0xb6, 0xa0, 0x48, 0x7c, 0xc7, 0x32, - 0x02, 0xcc, 0x5b, 0xbe, 0xfe, 0x8a, 0xe1, 0xae, 0xe3, 0x58, 0x3c, 0xad, 0x1c, 0x8a, 0x6e, 0x43, - 0x3e, 0xcc, 0xd3, 0x52, 0x6d, 0x4e, 0x91, 0x1f, 0xb8, 0x3c, 0xfe, 0xcd, 0x83, 0x34, 0xe3, 0x06, - 0x54, 0x05, 0x91, 0xf4, 0xb9, 0x27, 0x91, 0xf4, 0x11, 0xe2, 0xd1, 0xb1, 0xc6, 0xa2, 0x6b, 0x74, - 0x23, 0x59, 0x08, 0x39, 0xaa, 0x48, 0x3c, 0xf5, 0x35, 0x28, 0x60, 0xdb, 0xe8, 0x59, 0x98, 0xbe, - 0x56, 0x49, 0xe7, 0x3b, 0xb4, 0x03, 0x55, 0xfe, 0x4d, 0x75, 0x5d, 0xc7, 0x22, 0xe6, 0x94, 0xbe, - 0x4a, 0x75, 0xf3, 0x72, 0xc4, 0x03, 0xc4, 0x1e, 0x9e, 0x50, 0x85, 0x9e, 0x01, 0xa2, 0x07, 0xb1, - 0xa9, 0xe9, 0xd8, 0x03, 0x32, 0xe4, 0x0f, 0x53, 0x7b, 0x25, 0x59, 0x2d, 0x3b, 0x61, 0xcd, 0xb0, - 0xa8, 0x9e, 0xa1, 0x62, 0x29, 0x41, 0xb6, 0xb5, 0xe8, 0x3b, 0x28, 0x31, 0xe2, 0x60, 0x84, 0x5f, - 0x8b, 0x08, 0x5f, 0x62, 0xd2, 0x51, 0x24, 0xc5, 0x54, 0x0a, 0x4c, 0x4a, 0x37, 0xa1, 0xf7, 0x59, - 0x79, 0x96, 0xd7, 0x85, 0x8d, 0x4a, 0xa2, 0x00, 0xd7, 0xa1, 0xdc, 0xc7, 0xbe, 0xe9, 0x11, 0x37, - 0xac, 0x70, 0x65, 0x95, 0xda, 0x25, 0x45, 0xe8, 0x61, 0x8a, 0x18, 0x6b, 0x71, 0x67, 0xcc, 0x5e, - 0xe4, 0x75, 0xe4, 0x88, 0xee, 0x25, 0xda, 0x6a, 0x93, 0x1a, 0x7f, 0x92, 0x36, 0x5e, 0xc4, 0x30, - 0xef, 0xc7, 0xaa, 0xf5, 0x6f, 0xdf, 0x5c, 0x81, 0x8b, 0x29, 0xf9, 0x67, 0x11, 0xe4, 0xc8, 0xfa, - 0x3b, 0x83, 0x58, 0xce, 0x04, 0x7b, 0xe8, 0x10, 0xaa, 0x03, 0xbe, 0xee, 0x7a, 0x86, 0x3d, 0x64, - 0xdc, 0x54, 0xdd, 0x6c, 0xd0, 0xca, 0xcd, 0xa0, 0xd5, 0x68, 0xa1, 0x87, 0x48, 0xbd, 0x32, 0x48, - 0x6e, 0xd1, 0x36, 0x14, 0x2c, 0xa3, 0x87, 0xad, 0xe8, 0x6f, 0x5a, 0x9f, 0xeb, 0xa2, 0x4d, 0x21, - 0x2c, 0x2f, 0x1c, 0x5f, 0xdf, 0x81, 0x72, 0x42, 0xfc, 0x56, 0x97, 0xda, 0x82, 0x4a, 0x2a, 0x28, - 0x54, 0x84, 0x5c, 0xab, 0xdd, 0x96, 0x2f, 0x21, 0x80, 0x42, 0xe7, 0xec, 0x40, 0xd3, 0x4f, 0x65, - 0x01, 0x55, 0x01, 0xe8, 0xba, 0xfb, 0x44, 0x7b, 0x7a, 0x2a, 0x8b, 0x8d, 0xff, 0x04, 0xb8, 0x1a, - 0x45, 0xc6, 0x5b, 0xe0, 0x11, 0x2b, 0x5a, 0x25, 0x4d, 0xd2, 0x52, 0x4c, 0xc3, 0x37, 0xb2, 0x34, - 0x9c, 0xea, 0xbe, 0x87, 0xb3, 0xcb, 0x33, 0x9a, 0xbd, 0x95, 0xbc, 0x7c, 0xea, 0x88, 0x79, 0x19, - 0x40, 0xb7, 0xa1, 0x14, 0x25, 0x93, 0x93, 0x6d, 0x6d, 0x5e, 0xf6, 0xf4, 0x19, 0xea, 0x7d, 0x72, - 0xf6, 0xa7, 0x08, 0x57, 0x8e, 0xb1, 0xe1, 0xf5, 0xa6, 0x1f, 0xe6, 0xee, 0xfb, 0x50, 0x1e, 0x85, - 0x1c, 0xd7, 0xb5, 0xf0, 0x04, 0x5b, 0x94, 0x99, 0xaa, 0x2c, 0x01, 0x73, 0x4e, 0x51, 0xdb, 0x8e, - 0x49, 0x3f, 0x9e, 0x76, 0x08, 0xd6, 0x93, 0x96, 0xa8, 0x03, 0x6b, 0x23, 0xe3, 0x65, 0x37, 0xe9, - 0x2c, 0xff, 0x36, 0xce, 0xb2, 0xd6, 0xe8, 0x26, 0x54, 0xfc, 0xc0, 0x23, 0x66, 0xd0, 0xb5, 0xa9, - 0x31, 0xa5, 0xbe, 0x92, 0x9e, 0x16, 0x36, 0xf6, 0xa1, 0x92, 0xf2, 0x83, 0xca, 0x50, 0x3c, 0x3f, - 0x7e, 0x72, 0xdc, 0xf9, 0xf1, 0x98, 0xd5, 0xd1, 0xa3, 0xd6, 0xd1, 0xc9, 0x79, 0x58, 0x47, 0x25, - 0xc8, 0x3f, 0xeb, 0x1c, 0x6b, 0xb2, 0x18, 0x4a, 0x75, 0x6d, 0xff, 0xb0, 0x73, 0x2c, 0xe7, 0xa2, - 0x92, 0xcb, 0x37, 0x7e, 0x17, 0xe0, 0x32, 0x9d, 0xf4, 0x52, 0x69, 0x6d, 0x66, 0xe7, 0xbb, 0xcb, - 0xf1, 0x28, 0x72, 0xca, 0x12, 0xbc, 0x2b, 0x2a, 0x42, 0x3c, 0xea, 0x3d, 0x98, 0x3b, 0xea, 0xd5, - 0x32, 0x1f, 0xf7, 0xbe, 0xe7, 0x8c, 0x5d, 0x6a, 0x98, 0x9e, 0xf9, 0x36, 0xa2, 0x19, 0x94, 0x15, - 0x22, 0xa2, 0x87, 0x8d, 0x7b, 0x89, 0xb8, 0xf8, 0x20, 0xda, 0xf8, 0x45, 0x80, 0x6a, 0x5a, 0x33, - 0xfb, 0x76, 0x84, 0xc4, 0xb7, 0xf3, 0x55, 0x1c, 0xbf, 0xb8, 0x20, 0xfe, 0x38, 0xf6, 0xed, 0x4c, - 0xec, 0xb9, 0xc5, 0xb1, 0xa7, 0xe3, 0x6e, 0x4c, 0xa0, 0x92, 0xf2, 0xf9, 0xce, 0xe5, 0xf8, 0x35, - 0x48, 0x86, 0x37, 0x1c, 0x8f, 0xb0, 0x1d, 0x44, 0xe7, 0xaf, 0xc5, 0x11, 0xd3, 0xdf, 0x58, 0x8f, - 0x11, 0x8d, 0x3f, 0x44, 0x90, 0xb3, 0xa1, 0xbd, 0xf3, 0xd9, 0xdb, 0x19, 0x1a, 0x58, 0x9f, 0x77, - 0xf1, 0xb9, 0x0c, 0x50, 0xcf, 0x8c, 0x5b, 0xc9, 0xff, 0xec, 0x5a, 0x6a, 0xa0, 0xaa, 0xcc, 0x46, - 0xa6, 0x7a, 0x66, 0x64, 0x92, 0x12, 0x43, 0x91, 0x92, 0x1e, 0x8a, 0x4a, 0xf1, 0xe0, 0x83, 0x12, - 0x83, 0x0f, 0x7f, 0xe3, 0xfa, 0xe3, 0x37, 0xb1, 0xc9, 0x5b, 0x0c, 0x36, 0xff, 0x08, 0x50, 0x4e, - 0xe4, 0x1a, 0x6d, 0x40, 0x3e, 0x98, 0xba, 0xd1, 0xc7, 0x52, 0xcb, 0x3c, 0x85, 0x7a, 0x36, 0x75, - 0xb1, 0x4e, 0x11, 0xd1, 0xb1, 0xe2, 0x9c, 0x63, 0x73, 0xaf, 0x3b, 0xb6, 0xe1, 0x40, 0x3e, 0x74, - 0x43, 0x7b, 0xf5, 0xfc, 0xf4, 0xac, 0x73, 0xc4, 0xfa, 0xf6, 0x48, 0x3b, 0x3b, 0xe8, 0xec, 0xc9, - 0x42, 0xb8, 0x3e, 0xd0, 0x5a, 0x7b, 0x9a, 0x2e, 0x8b, 0x48, 0x82, 0x95, 0xef, 0xcf, 0x35, 0xfd, - 0xa9, 0x9c, 0x43, 0x15, 0x90, 0x1e, 0xb5, 0xda, 0x6d, 0x4d, 0xef, 0x1e, 0x9e, 0xc8, 0xf9, 0xb0, - 0xbb, 0x4f, 0x5a, 0x67, 0x07, 0xf2, 0x0a, 0xf5, 0xd3, 0xe9, 0x3c, 0x39, 0xd4, 0xe4, 0x02, 0xba, - 0x02, 0x6b, 0x1c, 0x74, 0xa4, 0x9d, 0xb5, 0xf6, 0x5a, 0x67, 0x2d, 0xb9, 0xf8, 0xa5, 0x06, 0x95, - 0xd4, 0xe8, 0x14, 0xfe, 0x30, 0x61, 0x1f, 0xb1, 0x9d, 0x7c, 0x09, 0x21, 0xa8, 0x46, 0xe4, 0xcd, - 0x65, 0x02, 0x92, 0x61, 0x95, 0x71, 0x18, 0x97, 0x88, 0xbb, 0xbf, 0x0a, 0x70, 0xcf, 0x74, 0x46, - 0x6a, 0x80, 0x6d, 0x13, 0xdb, 0x81, 0xea, 0x3a, 0x96, 0xe1, 0x11, 0x5f, 0xf5, 0x5d, 0x6c, 0x92, - 0x01, 0x61, 0x9c, 0xa4, 0x1a, 0x2e, 0x09, 0xef, 0x1d, 0x78, 0xc6, 0x60, 0x40, 0x4c, 0x75, 0x64, - 0xd8, 0xc6, 0x10, 0xef, 0xae, 0x46, 0x01, 0x84, 0x33, 0xd8, 0xb3, 0xbd, 0x21, 0x09, 0x2e, 0xc6, - 0x3d, 0xd5, 0x74, 0x46, 0x4d, 0xee, 0x65, 0x84, 0xfd, 0x8b, 0x66, 0xca, 0x53, 0x93, 0x75, 0x69, - 0x73, 0xe8, 0x34, 0x0d, 0x97, 0x34, 0x27, 0x77, 0x9a, 0xdc, 0x67, 0x97, 0xf9, 0xec, 0x15, 0xe8, - 0x40, 0x77, 0xf7, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x25, 0x6b, 0x11, 0xef, 0xd9, 0x10, 0x00, - 0x00, +var File_routing_proto protoreflect.FileDescriptor + +var file_routing_proto_rawDesc = []byte{ + 0x0a, 0x0d, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, + 0x02, 0x76, 0x31, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x61, 0x6e, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0b, + 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xde, 0x03, 0x0a, 0x07, + 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x36, 0x0a, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, + 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, + 0x3a, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x25, 0x0a, 0x08, 0x69, + 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x09, 0x2e, + 0x76, 0x31, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x08, 0x69, 0x6e, 0x62, 0x6f, 0x75, 0x6e, + 0x64, 0x73, 0x12, 0x27, 0x0a, 0x09, 0x6f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x73, 0x18, + 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, + 0x52, 0x09, 0x6f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x73, 0x12, 0x32, 0x0a, 0x05, 0x63, + 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, + 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x63, 0x74, 0x69, 0x6d, 0x65, 0x12, + 0x32, 0x0a, 0x05, 0x6d, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x6d, 0x74, + 0x69, 0x6d, 0x65, 0x12, 0x38, 0x0a, 0x08, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x52, 0x08, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x42, 0x0a, + 0x0d, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x08, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x52, 0x0d, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, + 0x6e, 0x12, 0x23, 0x0a, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x15, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x0d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x52, + 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x4a, 0x04, 0x08, 0x09, 0x10, 0x15, 0x22, 0xdc, 0x01, 0x0a, + 0x05, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x12, 0x24, 0x0a, 0x07, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x52, 0x07, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x33, 0x0a, 0x0c, + 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x12, 0x39, 0x0a, 0x0a, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x18, + 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, + 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x52, 0x0a, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x1a, 0x3d, 0x0a, 0x0f, + 0x45, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, + 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, + 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x80, 0x02, 0x0a, 0x06, + 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x36, 0x0a, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, + 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x3a, + 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, + 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x34, 0x0a, 0x08, 0x6d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x76, + 0x31, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x1a, 0x4c, 0x0a, 0x0d, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, + 0x6b, 0x65, 0x79, 0x12, 0x25, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x74, 0x72, + 0x69, 0x6e, 0x67, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x9c, + 0x04, 0x0a, 0x0b, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x36, + 0x0a, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x07, 0x73, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x3a, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, + 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, + 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, + 0x63, 0x65, 0x12, 0x39, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x38, 0x0a, + 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08, 0x70, + 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x34, 0x0a, 0x06, 0x77, 0x65, 0x69, 0x67, 0x68, + 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, + 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x06, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x38, 0x0a, + 0x08, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08, 0x74, + 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x12, 0x34, 0x0a, 0x07, 0x69, 0x73, 0x6f, 0x6c, 0x61, + 0x74, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x52, 0x07, 0x69, 0x73, 0x6f, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x30, 0x0a, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, + 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x1a, + 0x4c, 0x0a, 0x0d, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, + 0x65, 0x79, 0x12, 0x25, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x0f, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x74, 0x72, 0x69, + 0x6e, 0x67, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xaa, 0x05, + 0x0a, 0x09, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, + 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x16, 0x0a, + 0x06, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x65, + 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x39, 0x0a, 0x0e, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, + 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x11, 0x2e, + 0x76, 0x31, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x52, 0x0e, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x12, 0x3c, 0x0a, 0x0e, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x0e, + 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1a, + 0x0a, 0x08, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x74, + 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x63, 0x74, 0x69, 0x6d, 0x65, + 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x05, 0x6d, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x18, + 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, + 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, + 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, + 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3d, 0x0a, 0x0a, 0x65, 0x78, + 0x74, 0x65, 0x6e, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x14, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, + 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x2e, 0x45, 0x78, + 0x74, 0x65, 0x6e, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x65, + 0x78, 0x74, 0x65, 0x6e, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x37, 0x0a, 0x08, 0x6d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x15, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x76, 0x31, + 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x64, 0x69, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x1e, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x65, 0x64, 0x69, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x1e, + 0x0a, 0x0a, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x1f, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x0a, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x61, 0x62, 0x6c, 0x65, 0x1a, 0x3d, + 0x0a, 0x0f, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, + 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x3b, 0x0a, + 0x0d, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, + 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, + 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x88, 0x02, 0x0a, 0x10, 0x4d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x46, 0x61, 0x69, 0x6c, 0x6f, 0x76, 0x65, 0x72, 0x12, + 0x49, 0x0a, 0x0e, 0x66, 0x61, 0x69, 0x6c, 0x6f, 0x76, 0x65, 0x72, 0x5f, 0x72, 0x61, 0x6e, 0x67, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x46, 0x61, 0x69, 0x6c, 0x6f, 0x76, 0x65, 0x72, 0x2e, 0x46, 0x61, + 0x69, 0x6c, 0x6f, 0x76, 0x65, 0x72, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x0d, 0x66, 0x61, 0x69, + 0x6c, 0x6f, 0x76, 0x65, 0x72, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x38, 0x0a, 0x06, 0x6c, 0x61, + 0x62, 0x65, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x76, 0x31, 0x2e, + 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x46, 0x61, 0x69, 0x6c, 0x6f, 0x76, 0x65, 0x72, + 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, + 0x62, 0x65, 0x6c, 0x73, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, + 0x34, 0x0a, 0x0d, 0x46, 0x61, 0x69, 0x6c, 0x6f, 0x76, 0x65, 0x72, 0x52, 0x61, 0x6e, 0x67, 0x65, + 0x12, 0x07, 0x0a, 0x03, 0x41, 0x4c, 0x4c, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x4f, 0x54, 0x48, + 0x45, 0x52, 0x53, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x4f, 0x54, 0x48, 0x45, 0x52, 0x5f, 0x4b, + 0x45, 0x59, 0x53, 0x10, 0x02, 0x22, 0xfb, 0x01, 0x0a, 0x15, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, + 0x18, 0x0a, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, + 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, + 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x3d, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, + 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, + 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x30, 0x0a, 0x08, 0x66, 0x61, 0x69, 0x6c, 0x6f, 0x76, + 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x46, 0x61, 0x69, 0x6c, 0x6f, 0x76, 0x65, 0x72, 0x52, 0x08, + 0x66, 0x61, 0x69, 0x6c, 0x6f, 0x76, 0x65, 0x72, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, + 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, + 0x02, 0x38, 0x01, 0x22, 0xd6, 0x02, 0x0a, 0x13, 0x4e, 0x65, 0x61, 0x72, 0x62, 0x79, 0x52, 0x6f, + 0x75, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x73, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, + 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, + 0x61, 0x63, 0x65, 0x12, 0x47, 0x0a, 0x0b, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x6c, 0x65, 0x76, + 0x65, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x25, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, + 0x61, 0x72, 0x62, 0x79, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, + 0x0b, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x4f, 0x0a, 0x0f, + 0x6d, 0x61, 0x78, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x25, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x61, 0x72, 0x62, + 0x79, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4c, + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x0f, 0x6d, 0x61, + 0x78, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x24, 0x0a, + 0x0d, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x5f, 0x6e, 0x65, 0x61, 0x72, 0x62, 0x79, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x5f, 0x6e, 0x65, 0x61, + 0x72, 0x62, 0x79, 0x22, 0x47, 0x0a, 0x0d, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, + 0x65, 0x76, 0x65, 0x6c, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, + 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x43, 0x41, 0x4d, 0x50, 0x55, 0x53, 0x10, 0x01, 0x12, 0x08, 0x0a, + 0x04, 0x5a, 0x4f, 0x4e, 0x45, 0x10, 0x02, 0x12, 0x0a, 0x0a, 0x06, 0x52, 0x45, 0x47, 0x49, 0x4f, + 0x4e, 0x10, 0x03, 0x12, 0x07, 0x0a, 0x03, 0x41, 0x4c, 0x4c, 0x10, 0x04, 0x22, 0xac, 0x01, 0x0a, + 0x11, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x12, 0x2f, 0x0a, 0x07, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x42, 0x02, 0x18, 0x01, 0x52, 0x07, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x73, 0x12, 0x3c, 0x0a, 0x0c, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x76, 0x31, 0x2e, 0x44, + 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x42, + 0x02, 0x18, 0x01, 0x52, 0x0c, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x12, 0x28, 0x0a, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x12, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75, 0x62, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x6f, 0x75, + 0x74, 0x69, 0x6e, 0x67, 0x52, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x22, 0x8b, 0x01, 0x0a, 0x0e, + 0x53, 0x75, 0x62, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x12, + 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x12, 0x2b, 0x0a, 0x07, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x02, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x07, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, + 0x38, 0x0a, 0x0c, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, + 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x73, 0x74, 0x69, + 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x0c, 0x64, 0x65, 0x73, + 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x76, 0x0a, 0x0d, 0x53, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, + 0x63, 0x65, 0x12, 0x2d, 0x0a, 0x09, 0x61, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, + 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x09, 0x61, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, + 0x73, 0x22, 0xce, 0x02, 0x0a, 0x10, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x38, + 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, + 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x47, + 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x69, 0x6f, + 0x72, 0x69, 0x74, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x70, 0x72, 0x69, 0x6f, + 0x72, 0x69, 0x74, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x1a, 0x0a, 0x08, + 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x69, 0x73, 0x6f, 0x6c, + 0x61, 0x74, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x69, 0x73, 0x6f, 0x6c, 0x61, + 0x74, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x1a, 0x4a, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x25, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x61, 0x74, 0x63, + 0x68, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, + 0x38, 0x01, 0x22, 0xe1, 0x01, 0x0a, 0x0b, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4d, 0x61, 0x74, + 0x63, 0x68, 0x12, 0x28, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, + 0x32, 0x14, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4d, 0x61, 0x74, 0x63, + 0x68, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x10, 0x0a, 0x03, + 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x25, + 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, + 0x76, 0x31, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x6f, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0a, 0x0a, + 0x06, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x4d, 0x45, 0x54, + 0x48, 0x4f, 0x44, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x48, 0x45, 0x41, 0x44, 0x45, 0x52, 0x10, + 0x02, 0x12, 0x09, 0x0a, 0x05, 0x51, 0x55, 0x45, 0x52, 0x59, 0x10, 0x03, 0x12, 0x0d, 0x0a, 0x09, + 0x43, 0x41, 0x4c, 0x4c, 0x45, 0x52, 0x5f, 0x49, 0x50, 0x10, 0x04, 0x12, 0x08, 0x0a, 0x04, 0x50, + 0x41, 0x54, 0x48, 0x10, 0x05, 0x12, 0x0a, 0x0a, 0x06, 0x43, 0x4f, 0x4f, 0x4b, 0x49, 0x45, 0x10, + 0x06, 0x12, 0x13, 0x0a, 0x0f, 0x43, 0x41, 0x4c, 0x4c, 0x45, 0x52, 0x5f, 0x4d, 0x45, 0x54, 0x41, + 0x44, 0x41, 0x54, 0x41, 0x10, 0x07, 0x2a, 0x45, 0x0a, 0x0d, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, + 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x0e, 0x0a, 0x0a, 0x52, 0x75, 0x6c, 0x65, 0x50, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x10, 0x00, 0x12, 0x12, 0x0a, 0x0e, 0x4d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x10, 0x01, 0x12, 0x10, 0x0a, 0x0c, 0x4e, + 0x65, 0x61, 0x72, 0x62, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x10, 0x02, 0x42, 0x8d, 0x01, + 0x0a, 0x37, 0x63, 0x6f, 0x6d, 0x2e, 0x74, 0x65, 0x6e, 0x63, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x6f, + 0x6c, 0x61, 0x72, 0x69, 0x73, 0x2e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x74, 0x72, 0x61, 0x66, 0x66, + 0x69, 0x63, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x42, 0x0c, 0x52, 0x6f, 0x75, 0x74, 0x69, + 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x5a, 0x44, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x70, 0x6f, 0x6c, 0x61, 0x72, 0x69, 0x73, 0x6d, 0x65, 0x73, 0x68, 0x2f, + 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x2f, 0x67, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x74, + 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x62, 0x06, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_routing_proto_rawDescOnce sync.Once + file_routing_proto_rawDescData = file_routing_proto_rawDesc +) + +func file_routing_proto_rawDescGZIP() []byte { + file_routing_proto_rawDescOnce.Do(func() { + file_routing_proto_rawDescData = protoimpl.X.CompressGZIP(file_routing_proto_rawDescData) + }) + return file_routing_proto_rawDescData +} + +var file_routing_proto_enumTypes = make([]protoimpl.EnumInfo, 4) +var file_routing_proto_msgTypes = make([]protoimpl.MessageInfo, 21) +var file_routing_proto_goTypes = []interface{}{ + (RoutingPolicy)(0), // 0: v1.RoutingPolicy + (MetadataFailover_FailoverRange)(0), // 1: v1.MetadataFailover.FailoverRange + (NearbyRoutingConfig_LocationLevel)(0), // 2: v1.NearbyRoutingConfig.LocationLevel + (SourceMatch_Type)(0), // 3: v1.SourceMatch.Type + (*Routing)(nil), // 4: v1.Routing + (*Route)(nil), // 5: v1.Route + (*Source)(nil), // 6: v1.Source + (*Destination)(nil), // 7: v1.Destination + (*RouteRule)(nil), // 8: v1.RouteRule + (*MetadataFailover)(nil), // 9: v1.MetadataFailover + (*MetadataRoutingConfig)(nil), // 10: v1.MetadataRoutingConfig + (*NearbyRoutingConfig)(nil), // 11: v1.NearbyRoutingConfig + (*RuleRoutingConfig)(nil), // 12: v1.RuleRoutingConfig + (*SubRuleRouting)(nil), // 13: v1.SubRuleRouting + (*SourceService)(nil), // 14: v1.SourceService + (*DestinationGroup)(nil), // 15: v1.DestinationGroup + (*SourceMatch)(nil), // 16: v1.SourceMatch + nil, // 17: v1.Route.ExtendInfoEntry + nil, // 18: v1.Source.MetadataEntry + nil, // 19: v1.Destination.MetadataEntry + nil, // 20: v1.RouteRule.ExtendInfoEntry + nil, // 21: v1.RouteRule.MetadataEntry + nil, // 22: v1.MetadataFailover.LabelsEntry + nil, // 23: v1.MetadataRoutingConfig.LabelsEntry + nil, // 24: v1.DestinationGroup.LabelsEntry + (*wrapperspb.StringValue)(nil), // 25: google.protobuf.StringValue + (*wrapperspb.UInt32Value)(nil), // 26: google.protobuf.UInt32Value + (*wrapperspb.BoolValue)(nil), // 27: google.protobuf.BoolValue + (*anypb.Any)(nil), // 28: google.protobuf.Any + (*model.MatchString)(nil), // 29: v1.MatchString +} +var file_routing_proto_depIdxs = []int32{ + 25, // 0: v1.Routing.service:type_name -> google.protobuf.StringValue + 25, // 1: v1.Routing.namespace:type_name -> google.protobuf.StringValue + 5, // 2: v1.Routing.inbounds:type_name -> v1.Route + 5, // 3: v1.Routing.outbounds:type_name -> v1.Route + 25, // 4: v1.Routing.ctime:type_name -> google.protobuf.StringValue + 25, // 5: v1.Routing.mtime:type_name -> google.protobuf.StringValue + 25, // 6: v1.Routing.revision:type_name -> google.protobuf.StringValue + 25, // 7: v1.Routing.service_token:type_name -> google.protobuf.StringValue + 8, // 8: v1.Routing.rules:type_name -> v1.RouteRule + 6, // 9: v1.Route.sources:type_name -> v1.Source + 7, // 10: v1.Route.destinations:type_name -> v1.Destination + 17, // 11: v1.Route.extendInfo:type_name -> v1.Route.ExtendInfoEntry + 25, // 12: v1.Source.service:type_name -> google.protobuf.StringValue + 25, // 13: v1.Source.namespace:type_name -> google.protobuf.StringValue + 18, // 14: v1.Source.metadata:type_name -> v1.Source.MetadataEntry + 25, // 15: v1.Destination.service:type_name -> google.protobuf.StringValue + 25, // 16: v1.Destination.namespace:type_name -> google.protobuf.StringValue + 19, // 17: v1.Destination.metadata:type_name -> v1.Destination.MetadataEntry + 26, // 18: v1.Destination.priority:type_name -> google.protobuf.UInt32Value + 26, // 19: v1.Destination.weight:type_name -> google.protobuf.UInt32Value + 25, // 20: v1.Destination.transfer:type_name -> google.protobuf.StringValue + 27, // 21: v1.Destination.isolate:type_name -> google.protobuf.BoolValue + 25, // 22: v1.Destination.name:type_name -> google.protobuf.StringValue + 0, // 23: v1.RouteRule.routing_policy:type_name -> v1.RoutingPolicy + 28, // 24: v1.RouteRule.routing_config:type_name -> google.protobuf.Any + 20, // 25: v1.RouteRule.extendInfo:type_name -> v1.RouteRule.ExtendInfoEntry + 21, // 26: v1.RouteRule.metadata:type_name -> v1.RouteRule.MetadataEntry + 1, // 27: v1.MetadataFailover.failover_range:type_name -> v1.MetadataFailover.FailoverRange + 22, // 28: v1.MetadataFailover.labels:type_name -> v1.MetadataFailover.LabelsEntry + 23, // 29: v1.MetadataRoutingConfig.labels:type_name -> v1.MetadataRoutingConfig.LabelsEntry + 9, // 30: v1.MetadataRoutingConfig.failover:type_name -> v1.MetadataFailover + 2, // 31: v1.NearbyRoutingConfig.match_level:type_name -> v1.NearbyRoutingConfig.LocationLevel + 2, // 32: v1.NearbyRoutingConfig.max_match_level:type_name -> v1.NearbyRoutingConfig.LocationLevel + 14, // 33: v1.RuleRoutingConfig.sources:type_name -> v1.SourceService + 15, // 34: v1.RuleRoutingConfig.destinations:type_name -> v1.DestinationGroup + 13, // 35: v1.RuleRoutingConfig.rules:type_name -> v1.SubRuleRouting + 14, // 36: v1.SubRuleRouting.sources:type_name -> v1.SourceService + 15, // 37: v1.SubRuleRouting.destinations:type_name -> v1.DestinationGroup + 16, // 38: v1.SourceService.arguments:type_name -> v1.SourceMatch + 24, // 39: v1.DestinationGroup.labels:type_name -> v1.DestinationGroup.LabelsEntry + 3, // 40: v1.SourceMatch.type:type_name -> v1.SourceMatch.Type + 29, // 41: v1.SourceMatch.value:type_name -> v1.MatchString + 29, // 42: v1.Source.MetadataEntry.value:type_name -> v1.MatchString + 29, // 43: v1.Destination.MetadataEntry.value:type_name -> v1.MatchString + 29, // 44: v1.DestinationGroup.LabelsEntry.value:type_name -> v1.MatchString + 45, // [45:45] is the sub-list for method output_type + 45, // [45:45] is the sub-list for method input_type + 45, // [45:45] is the sub-list for extension type_name + 45, // [45:45] is the sub-list for extension extendee + 0, // [0:45] is the sub-list for field type_name +} + +func init() { file_routing_proto_init() } +func file_routing_proto_init() { + if File_routing_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_routing_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Routing); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_routing_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Route); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_routing_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Source); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_routing_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Destination); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_routing_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RouteRule); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_routing_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MetadataFailover); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_routing_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MetadataRoutingConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_routing_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*NearbyRoutingConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_routing_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RuleRoutingConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_routing_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SubRuleRouting); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_routing_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SourceService); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_routing_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DestinationGroup); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_routing_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SourceMatch); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_routing_proto_rawDesc, + NumEnums: 4, + NumMessages: 21, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_routing_proto_goTypes, + DependencyIndexes: file_routing_proto_depIdxs, + EnumInfos: file_routing_proto_enumTypes, + MessageInfos: file_routing_proto_msgTypes, + }.Build() + File_routing_proto = out.File + file_routing_proto_rawDesc = nil + file_routing_proto_goTypes = nil + file_routing_proto_depIdxs = nil } diff --git a/source/go/build.sh b/source/go/build.sh index e24ed491..c0a4832c 100644 --- a/source/go/build.sh +++ b/source/go/build.sh @@ -31,30 +31,28 @@ security_dir=${workdir}/api/v1/security ratelimiter_dir=${workdir}/api/v1/traffic_manage/ratelimiter out_dir=${workdir}/source/go -protoc_dir=${workdir}/source/protoc/protoc-${CURRENT_OS}-${CURRENT_ARCH} - proto_files_model="model.proto namespace.proto code.proto" proto_files_service_manage="client.proto service.proto request.proto response.proto grpcapi.proto heartbeat.proto configrelease.proto contract.proto" -proto_files_traffic_manage="routing.proto ratelimit.proto lane.proto" +proto_files_traffic_manage="routing.proto ratelimit.proto lane.proto lossless.proto" proto_files_fault_tolerance="circuitbreaker.proto fault_detector.proto" proto_files_config_manage="config_file.proto config_file_response.proto grpc_config_api.proto" proto_files_security="auth.proto" proto_files_ratelimiter="ratelimiter.proto grpcapi_ratelimiter.proto" -pushd "${protoc_dir}"/bin -chmod +x * -popd - -if [ "$CURRENT_OS" == "linux" ]; then +if [[ "$CURRENT_OS" == "linux" || "$CURRENT_OS" == "darwin" ]]; then + protoc_dir=${workdir}/source/protoc/protoc-${CURRENT_OS}-${CURRENT_ARCH} + pushd "${protoc_dir}"/bin + chmod +x * + popd rm -rf "${out_dir}/api/v1" mkdir -p "${out_dir}/api/v1" # generate model pushd "${model_dir}" "${protoc_dir}"/bin/protoc \ - --plugin=protoc-gen-go="${protoc_dir}"/bin/protoc-gen-go \ - --go_out=plugins=grpc:"${out_dir}" \ - --proto_path="${protoc_dir}"/include \ - --proto_path=. ${proto_files_model} + --plugin=protoc-gen-go="${protoc_dir}"/bin/protoc-gen-go \ + --go_out=plugins=grpc:"${out_dir}" \ + --proto_path="${protoc_dir}"/include \ + --proto_path=. ${proto_files_model} mv "${out_dir}/github.com/polarismesh/specification/source/go/api/v1/model" "${out_dir}/api/v1" pushd "${out_dir}/api/v1/model" "${protoc_dir}"/bin/protoc-go-inject-tag -input="*.pb.go" @@ -128,8 +126,8 @@ if [ "$CURRENT_OS" == "linux" ]; then "${protoc_dir}"/bin/protoc-go-inject-tag -input="*.pb.go" popd popd - - pushd "${ratelimiter_dir}" + + pushd "${ratelimiter_dir}" "${protoc_dir}"/bin/protoc \ --plugin=protoc-gen-go="${protoc_dir}"/bin/protoc-gen-go \ --go_out=plugins=grpc:"${out_dir}" \ @@ -143,5 +141,5 @@ if [ "$CURRENT_OS" == "linux" ]; then rm -rf "${out_dir}/github.com" else - docker run --rm -it -v "$(dirname $(pwd))":/app --workdir /app/v1 debian:buster ./build.sh + docker run --rm -it -v "$(dirname $(pwd))":/app --workdir /app/source/go debian:buster bash build.sh fi diff --git a/source/java/build-mac.sh b/source/java/build-mac.sh index b5495c96..e883d739 100644 --- a/source/java/build-mac.sh +++ b/source/java/build-mac.sh @@ -26,7 +26,6 @@ traffic_manage_dir=${workdir}/api/v1/traffic_manage fault_tolerance_dir=${workdir}/api/v1/fault_tolerance config_manage_dir=${workdir}/api/v1/config_manage security_dir=${workdir}/api/v1/security - java_root_dir=${workdir}/source/java/polaris-specification java_test_root_dir=${workdir}/source/java/polaris-specification-test java_source_dir=${java_root_dir}/src/main @@ -45,8 +44,17 @@ cp ${traffic_manage_dir}/ratelimiter/*.proto ${java_source_dir}/proto/ version=`cat ${workdir}/VERSION` echo $version pushd ${java_root_dir} +cp pom.xml pom.xml.bak sed -i "" "s/##VERSION##/${version}/g" pom.xml +mvn clean install +mv pom.xml.bak pom.xml popd pushd ${java_test_root_dir} +cp pom.xml pom.xml.bak sed -i "" "s/##VERSION##/${version}/g" pom.xml -popd \ No newline at end of file +mvn clean install +mv pom.xml.bak pom.xml +popd + +rm -rf ${java_source_dir}/proto + diff --git a/source/java/polaris-specification-test/pom.xml b/source/java/polaris-specification-test/pom.xml index 37e5159e..4642814e 100644 --- a/source/java/polaris-specification-test/pom.xml +++ b/source/java/polaris-specification-test/pom.xml @@ -14,7 +14,7 @@ - 2.0.0.0-SNAPSHOT + ##VERSION## 8 8 UTF-8 diff --git a/source/java/polaris-specification/src/main/package-info.md b/source/java/polaris-specification/src/main/package-info.md new file mode 100644 index 00000000..88d050b1 --- /dev/null +++ b/source/java/polaris-specification/src/main/package-info.md @@ -0,0 +1 @@ +main \ No newline at end of file diff --git a/source/java/polaris-specification/src/main/proto/auth.proto b/source/java/polaris-specification/src/main/proto/auth.proto deleted file mode 100644 index 163f3e09..00000000 --- a/source/java/polaris-specification/src/main/proto/auth.proto +++ /dev/null @@ -1,197 +0,0 @@ -syntax = "proto3"; - -package v1; - -import "google/protobuf/wrappers.proto"; - -option go_package = "github.com/polarismesh/specification/source/go/api/v1/security"; -option java_package = "com.tencent.polaris.specification.api.v1.security"; -option java_outer_classname = "SecurityProto"; - -enum AuthAction { - // deprecated_filed 该字段从未使用过 - ONLY_READ = 0; - // deprecated_filed 使用 ALLOW 进行替代 - READ_WRITE = 1; - ALLOW = 10; - DENY = 11; -} - -enum ResourceType { - Namespaces = 0; - Services = 1; - ConfigGroups = 2; - RouteRules = 3; - RateLimitRules = 4; - CircuitBreakerRules = 5; - FaultDetectRules = 6; - LaneRules = 7; - Users = 20; - UserGroups = 21; - Roles = 22; - PolicyRules = 23; -} - -message LoginRequest { - google.protobuf.StringValue owner = 1; - google.protobuf.StringValue name = 2; - google.protobuf.StringValue password = 3; - map options = 4; -} - -message LoginResponse { - google.protobuf.StringValue user_id = 1 [ json_name = "user_id" ]; - google.protobuf.StringValue name = 2; - google.protobuf.StringValue role = 3; - google.protobuf.StringValue owner_id = 4 [ json_name = "owner_id" ]; - google.protobuf.StringValue token = 5; - map options = 6; -} - -message User { - google.protobuf.StringValue id = 1; - google.protobuf.StringValue name = 2; - google.protobuf.StringValue password = 3; - google.protobuf.StringValue owner = 4; - google.protobuf.StringValue source = 5; - google.protobuf.StringValue auth_token = 6 [ json_name = "auth_token" ]; - google.protobuf.BoolValue token_enable = 7 [ json_name = "token_enable" ]; - google.protobuf.StringValue comment = 8; - google.protobuf.StringValue ctime = 9; - google.protobuf.StringValue mtime = 10; - google.protobuf.StringValue user_type = 11 [ json_name = "user_type" ]; - google.protobuf.StringValue mobile = 12; - google.protobuf.StringValue email = 13; - map metadata = 14; -} - -message ModifyUserPassword { - google.protobuf.StringValue id = 1; - google.protobuf.StringValue old_password = 2 [ json_name = "old_password" ]; - google.protobuf.StringValue new_password = 3 [ json_name = "new_password" ]; -} - -message UserGroupRelation { - google.protobuf.StringValue group_id = 1 [ json_name = "group_id" ]; - repeated User users = 2; -} - -message UserGroup { - google.protobuf.StringValue id = 1; - google.protobuf.StringValue name = 2; - google.protobuf.StringValue owner = 3; - google.protobuf.StringValue auth_token = 4 [ json_name = "auth_token" ]; - google.protobuf.BoolValue token_enable = 5 [ json_name = "token_enable" ]; - google.protobuf.StringValue comment = 6; - google.protobuf.StringValue ctime = 7; - google.protobuf.StringValue mtime = 8; - UserGroupRelation relation = 9; - google.protobuf.UInt32Value user_count = 10 [ json_name = "user_count" ]; - google.protobuf.StringValue source = 11; - map metadata = 12; -} - -message ModifyUserGroup { - google.protobuf.StringValue id = 1; - google.protobuf.StringValue owner = 2; - google.protobuf.StringValue name = 3; - google.protobuf.StringValue auth_token = 4 [ json_name = "auth_token" ]; - google.protobuf.BoolValue token_enable = 5 [ json_name = "token_enable" ]; - google.protobuf.StringValue comment = 6; - UserGroupRelation add_relations = 7 [ json_name = "add_relations" ]; - UserGroupRelation remove_relations = 8 [ json_name = "remove_relations" ]; - map metadata = 9; - google.protobuf.StringValue source = 10; -} - -message Role { - string id = 1; - string name = 2; - string owner = 4; - string source = 5; - bool default_role = 6 [ json_name = "default_role" ]; - map metadata = 7; - string comment = 8; - string ctime = 9; - string mtime = 10; - repeated User users = 20; - repeated UserGroup user_groups = 21 [ json_name = "user_groups" ]; -} - -message Principal { - google.protobuf.StringValue id = 1; - google.protobuf.StringValue name = 2; -} - -message Principals { - repeated Principal users = 1; - repeated Principal groups = 2; - repeated Principal roles = 3; -} - -message StrategyResourceEntry { - google.protobuf.StringValue id = 1; - google.protobuf.StringValue namespace = 2; - google.protobuf.StringValue name = 3; -} - -message StrategyResources { - google.protobuf.StringValue strategy_id = 1 [ json_name = "strategy_id" ]; - repeated StrategyResourceEntry namespaces = 2; - repeated StrategyResourceEntry services = 3; - repeated StrategyResourceEntry config_groups = 4 - [ json_name = "config_groups" ]; - repeated StrategyResourceEntry route_rules = 5 [ json_name = "route_rules" ]; - repeated StrategyResourceEntry ratelimit_rules = 6 [ json_name = "ratelimit_rules" ]; - repeated StrategyResourceEntry circuitbreaker_rules = 7 [ json_name = "circuitbreaker_rules" ]; - repeated StrategyResourceEntry faultdetect_rules = 8 [ json_name = "faultdetect_rules" ]; - repeated StrategyResourceEntry lane_rules = 9 [ json_name = "lane_rules" ]; - - repeated StrategyResourceEntry users = 21 [ json_name = "users" ]; - repeated StrategyResourceEntry user_groups = 22 [ json_name = "user_groups" ]; - repeated StrategyResourceEntry roles = 23 [ json_name = "roles" ]; - repeated StrategyResourceEntry auth_policies = 24 [ json_name = "auth_policies" ]; -} - -message StrategyResourceLabel { - string key = 1; - string value = 2; - string compare_type = 3 [ json_name = "compare_type" ]; -} - -message AuthStrategy { - google.protobuf.StringValue id = 1; - google.protobuf.StringValue name = 2; - Principals principals = 3; - StrategyResources resources = 4; - AuthAction action = 5; - google.protobuf.StringValue comment = 6; - google.protobuf.StringValue owner = 7; - google.protobuf.StringValue ctime = 8; - google.protobuf.StringValue mtime = 9; - google.protobuf.StringValue auth_token = 10 [ json_name = "auth_token" ]; - google.protobuf.BoolValue default_strategy = 11 - [ json_name = "default_strategy" ]; - map metadata = 12; - google.protobuf.StringValue source = 13; - repeated string functions = 14; - repeated StrategyResourceLabel resource_labels = 15 - [ json_name = "resource_labels" ]; -} - -message ModifyAuthStrategy { - google.protobuf.StringValue id = 1; - google.protobuf.StringValue name = 2; - Principals add_principals = 3 [ json_name = "add_principals" ]; - Principals remove_principals = 4 [ json_name = "remove_principals" ]; - StrategyResources add_resources = 5 [ json_name = "add_resources" ]; - StrategyResources remove_resources = 6 [ json_name = "remove_resources" ]; - AuthAction action = 7; - google.protobuf.StringValue comment = 8; - google.protobuf.StringValue owner = 9; - map metadata = 12; - google.protobuf.StringValue source = 13; - repeated string functions = 14; - repeated StrategyResourceLabel resource_labels = 15 - [ json_name = "resource_labels" ]; -} diff --git a/source/java/polaris-specification/src/main/proto/circuitbreaker.proto b/source/java/polaris-specification/src/main/proto/circuitbreaker.proto deleted file mode 100644 index a47f2341..00000000 --- a/source/java/polaris-specification/src/main/proto/circuitbreaker.proto +++ /dev/null @@ -1,356 +0,0 @@ -syntax = "proto3"; - -package v1; - -import "google/protobuf/wrappers.proto"; -import "google/protobuf/duration.proto"; -import "model.proto"; - -option go_package = "github.com/polarismesh/specification/source/go/api/v1/fault_tolerance"; -option java_package = "com.tencent.polaris.specification.api.v1.fault.tolerance"; -option java_outer_classname = "CircuitBreakerProto"; - -//单个熔断规则定义 -message CircuitBreaker { - // deprecated - google.protobuf.StringValue id = 1; - - // 规则版本 - // deprecated - google.protobuf.StringValue version = 2; - - // 规则名 - // deprecated - google.protobuf.StringValue name = 3; - - // 规则命名空间 - // deprecated - google.protobuf.StringValue namespace = 4; - - // 规则所属服务 - google.protobuf.StringValue service = 5; - google.protobuf.StringValue service_namespace = 6; - - //熔断规则可以分为被调规则和主调规则 - //被调规则针对所有的指定主调生效,假如不指定则对所有的主调生效 - //主调规则为当前主调方的规则,假如不指定则针对所有被调生效 - // deprecated - repeated CbRule inbounds = 7; - // deprecated - repeated CbRule outbounds = 8; - - // deprecated - google.protobuf.StringValue token = 9; - // deprecated - google.protobuf.StringValue owners = 10; - - // 业务 - // deprecated - google.protobuf.StringValue business = 11; - // 部门 - // deprecated - google.protobuf.StringValue department = 12; - - // 规则描述 - // deprecated - google.protobuf.StringValue comment = 13; - // deprecated - google.protobuf.StringValue ctime = 14; - // deprecated - google.protobuf.StringValue mtime = 15; - - google.protobuf.StringValue revision = 16; - - reserved 17 to 20; - // circuitbreaker rules for current service - repeated CircuitBreakerRule rules = 21; -} - -// 主调匹配规则 -message SourceMatcher { - // 主调命名空间以及服务名,可以为*,代表全匹配 - google.protobuf.StringValue service = 1; - google.protobuf.StringValue namespace = 2; - // 可选,主调业务标签,用于匹配是否使用该熔断规则,可放置用户的接口信息等 - map labels = 3; -} - -// 熔断恢复配置 -message RecoverConfig { - // 触发熔断后到半开状态之间的等待间隔 - google.protobuf.Duration sleepWindow = 1; - // 半开后,最多重试多少次恢复 - google.protobuf.UInt32Value maxRetryAfterHalfOpen = 2; - // 半开后放量的最大百分比 - repeated google.protobuf.UInt32Value requestRateAfterHalfOpen = 3; - // 熔断器半开到关闭所必须的最少成功率,默认100% - google.protobuf.UInt32Value successRateToClose = 4; - // 半开后最大放量数(用户不配置最大百分比时默认使用该配置) - google.protobuf.UInt32Value requestCountAfterHalfOpen = 5; - //主动探测配置 - enum OutlierDetectWhen { - //不开启监控探测 - NEVER = 0; - //只有在熔断恢复时才开启健康探测 - ON_RECOVER = 1; - //一直开启健康探测 - ALWAYS = 2; - } - OutlierDetectWhen outlierDetectWhen = 6; -} - -// 熔断策略 -message CbPolicy { - // 错误率熔断配置 - message ErrRateConfig { - //是否启用错误率配置 - google.protobuf.BoolValue enable = 1; - // 触发错误率熔断的最低请求阈值 - google.protobuf.UInt32Value requestVolumeThreshold = 2; - // 可选。触发保持状态的错误率阈值,假如不配置,则默认不会进入Preserved状态 - google.protobuf.UInt32Value errorRateToPreserved = 3; - // 触发熔断的错误率阈值 - google.protobuf.UInt32Value errorRateToOpen = 4; - //错误码相关特定配置 - message SpecialConfig { - // 熔断关心的错误类型,用户可以自己定义 - google.protobuf.StringValue type = 1; - repeated google.protobuf.Int64Value errorCodes = 2; - google.protobuf.UInt32Value errorRateToPreserved = 3; - google.protobuf.UInt32Value errorRateToOpen = 4; - } - repeated SpecialConfig specials = 5; - } - ErrRateConfig errorRate = 1; - // 慢调用率熔断策略配置 - message SlowRateConfig { - // 是否启用慢调用率配置 - google.protobuf.BoolValue enable = 1; - // 最大响应时间,超过该时间属于慢调用请求 - google.protobuf.Duration maxRt = 2; - // 可选。触发保持状态的超时率阈值,假如不配置,则默认不会进入Preserved状态 - google.protobuf.UInt32Value slowRateToPreserved = 3; - // 触发熔断的超时率阈值 - google.protobuf.UInt32Value slowRateToOpen = 4; - } - SlowRateConfig slowRate = 2; - // 熔断的决策周期,多久触发一次熔断决策 - google.protobuf.Duration judgeDuration = 3; - //最大熔断比例,超过多少比例后不会继续熔断 - google.protobuf.UInt32Value maxEjectionPercent = 4; - //连续错误数熔断配置 - message ConsecutiveErrConfig { - // 是否启用连续错误数配置 - google.protobuf.BoolValue enable = 1; - // 连续错误数阈值,进入Preserved状态 - google.protobuf.UInt32Value consecutiveErrorToPreserved = 2; - // 连续错误数阈值,进入Open状态 - google.protobuf.UInt32Value consecutiveErrorToOpen = 3; - } - ConsecutiveErrConfig consecutive = 5; -} - -// 目标set的规则 -message DestinationSet { - // 被调命名空间以及服务名,可以为*,代表全匹配 - google.protobuf.StringValue service = 1; - google.protobuf.StringValue namespace = 2; - // 可选,SUBSET标识 - map metadata = 3; - // 需要进行熔断的资源 - // 支持SUBSET(子集群),以及INSTANCE(单个实例),默认为SUBSET - enum Resource { - // 针对实例分组进行熔断 - SUBSET = 0; - // 针对实例进行熔断 - INSTANCE = 1; - } - Resource resource = 4; - // 熔断决策类型,支持GLOBAL(分布式决策)以及LOCAL(本地决策),默认GLOBAL - // 当指定为GLOBAL时,则会定期上报统计数据并根据汇总数据进行熔断决策 - enum Type { - GLOBAL = 0; - LOCAL = 1; - } - Type type = 5; - - //熔断范围,是否扩散针对相同服务下所有接口进行熔断 - enum Scope { - //触发熔断条件,扩散熔断所有接口 - ALL = 0; - //触发熔断条件,只熔断当前接口 - CURRENT = 1; - } - Scope scope = 6; - - // 熔断数据度量周期 - // 所有的阈值指标按此周期进行统计 - google.protobuf.Duration metricWindow = 7; - - // 熔断数据统计精度,决定数据度量的最小周期 - // 度量滑窗的步长=window/precision - google.protobuf.UInt32Value metricPrecision = 8; - - // 熔断数据上报周期,对分布式熔断有效 - google.protobuf.Duration updateInterval = 9; - - // 触发熔断后恢复配置 - RecoverConfig recover = 10; - - // 熔断策略 - CbPolicy policy = 11; - - // 被调的接口信息,指定哪些接口会使用该规则 - MatchString method = 12; - - // 返回码,指定哪些返回码会使用该规则 - repeated google.protobuf.Int64Value errorCodes = 13; -} - -// 具体熔断规则 -message CbRule { - // 如果匹配Source规则,按照Destination进行熔断 - // 多个Source之间的关系为或 - repeated SourceMatcher sources = 1; - repeated DestinationSet destinations = 2; -} - -message RuleMatcher { - message SourceService { - string service = 1; - string namespace = 2; - } - - message DestinationService { - string service = 1; - string namespace = 2; - // deprecated_filed using api.path in blockConfig instead - MatchString method = 3 [deprecated = true]; - } - SourceService source = 1; - DestinationService destination = 2; -} - -// circuitbreaking level -enum Level { - UNKNOWN = 0; - // service level circuitbreaking - SERVICE = 1; - // method level circuitbreaking - METHOD = 2; - // group level circuitbreaking - GROUP = 3; - // instance level circuitbreaking - INSTANCE = 4; -} - -// new specific rule for circuitbreaker config -message CircuitBreakerRule { - string id = 1; - // rule name - string name = 2; - // namespace of rule - string namespace = 3; - // enable this router - bool enable = 4; - // revision routing version - string revision = 5; - // ctime create time of the rules - string ctime = 6; - // mtime modify time of the rules - string mtime = 7; - // etime enable time of the rules - string etime = 8; - // description simple description rules - string description = 9; - // reserve for metadata - reserved 10 to 20; - // the circuitbreaking level - Level level = 21; - // match condition for this rule - RuleMatcher rule_matcher = 22; - // deprecated_filed error conditions to judge an invocation as an error - repeated ErrorCondition error_conditions = 23 [deprecated = true]; - // deprecated_filed trigger condition to trigger circuitbreaking - repeated TriggerCondition trigger_condition = 24 [deprecated = true]; - // the maximum % of an upstream cluster that can be ejected - uint32 max_ejection_percent = 25; - // recover condition to make resource open to close - RecoverCondition recoverCondition = 26; - // fault detection enable config - FaultDetectConfig faultDetectConfig = 27; - // fall back configuration - FallbackConfig fallbackConfig = 28; - // list for block configuration - repeated BlockConfig block_configs = 29 [ json_name = "block_configs" ]; - // priority rules priority - uint32 priority = 30 [ json_name = "priority" ]; - // 熔断规则标签数据 - map metadata = 50; -} - -// the condition to judge an input invocation as an error -message ErrorCondition { - enum InputType { - UNKNOWN = 0; - RET_CODE = 1; - DELAY = 2; - } - InputType input_type = 1; - MatchString condition = 2; -} - -// the error condition to trigger circuitbreaking -message TriggerCondition { - enum TriggerType { - UNKNOWN = 0; - ERROR_RATE = 1; - CONSECUTIVE_ERROR = 2; - } - TriggerType trigger_type = 1; - uint32 error_count = 2; - uint32 error_percent = 3; - uint32 interval = 4; - uint32 minimum_request = 5; -} - -// circuitbreaking OPEN status recover -message RecoverCondition { - // seconds from open to half-open - uint32 sleep_window = 1; - // consecutive success request to recover - uint32 consecutiveSuccess = 2; -} - -// fault detect config within circuitbreaking -message FaultDetectConfig { - bool enable = 1; -} - -// fallback config -message FallbackConfig { - bool enable = 1; - FallbackResponse response = 2; -} - -// fallback response -message FallbackResponse { - int32 code = 1; - message MessageHeader { - string key = 1; - string value = 2; - } - repeated MessageHeader headers = 2; - string body = 3; -} - -// blocking strategy -message BlockConfig { - string name = 1 [ json_name = "name" ]; - // blocking target api - API api = 2 [ json_name = "api" ]; - // conditions to judge an invocation as an error - repeated ErrorCondition error_conditions = 3 [ json_name = "error_conditions" ]; - // trigger condition to trigger circuitbreaking - repeated TriggerCondition trigger_conditions = 4 [ json_name = "trigger_conditions" ]; -} \ No newline at end of file diff --git a/source/java/polaris-specification/src/main/proto/client.proto b/source/java/polaris-specification/src/main/proto/client.proto deleted file mode 100644 index e52dfcf7..00000000 --- a/source/java/polaris-specification/src/main/proto/client.proto +++ /dev/null @@ -1,45 +0,0 @@ -syntax = "proto3"; - -package v1; - -import "google/protobuf/wrappers.proto"; -import "model.proto"; - -option go_package = "github.com/polarismesh/specification/source/go/api/v1/service_manage"; -option java_package = "com.tencent.polaris.specification.api.v1.service.manage"; -option java_outer_classname = "ClientProto"; - -message Client { - google.protobuf.StringValue host = 1; - - enum ClientType { - UNKNOWN = 0; - SDK = 1; - AGENT = 2; - } - - ClientType type = 2; - - google.protobuf.StringValue version = 3; - - Location location = 4; - - google.protobuf.StringValue id = 5; - - repeated StatInfo stat = 6; - - google.protobuf.StringValue ctime = 7; - google.protobuf.StringValue mtime = 8; -} - -message StatInfo { - - google.protobuf.StringValue target = 1; - - google.protobuf.UInt32Value port = 2; - - google.protobuf.StringValue path = 3; - - google.protobuf.StringValue protocol = 4; - -} \ No newline at end of file diff --git a/source/java/polaris-specification/src/main/proto/code.proto b/source/java/polaris-specification/src/main/proto/code.proto deleted file mode 100644 index baad235d..00000000 --- a/source/java/polaris-specification/src/main/proto/code.proto +++ /dev/null @@ -1,194 +0,0 @@ -syntax = "proto3"; - -package v1; - -option go_package = "github.com/polarismesh/specification/source/go/api/v1/model"; - -option java_package = "com.tencent.polaris.specification.api.v1.model"; -option java_outer_classname = "CodeProto"; - -enum Code { - // base module status codes - Unknown = 0; - ExecuteSuccess = 200000; - DataNoChange = 200001; - NoNeedUpdate = 200002; - BadRequest = 400000; - ParseException = 400001; - EmptyRequest = 400002; - BatchSizeOverLimit = 400003; - InvalidDiscoverResource = 400004; - InvalidRequestID = 400100; - InvalidUserName = 400101; - InvalidUserToken = 400102; - InvalidParameter = 400103; - EmptyQueryParameter = 400104; - InvalidQueryInsParameter = 400105; - InvalidNamespaceName = 400110; - InvalidNamespaceOwners = 400111; - InvalidNamespaceToken = 400112; - InvalidServiceName = 400120; - InvalidServiceOwners = 400121; - InvalidServiceToken = 400122; - InvalidServiceMetadata = 400123; - InvalidServicePorts = 400124; - InvalidServiceBusiness = 400125; - InvalidServiceDepartment = 400126; - InvalidServiceCMDB = 400127; - InvalidServiceComment = 400128; - InvalidServiceAliasComment = 400129; - InvalidInstanceID = 400130; - InvalidInstanceHost = 400131; - InvalidInstancePort = 400132; - InvalidServiceAlias = 400133; - InvalidNamespaceWithAlias = 400134; - InvalidServiceAliasOwners = 400135; - InvalidInstanceProtocol = 400136; - InvalidInstanceVersion = 400137; - InvalidInstanceLogicSet = 400138; - InvalidInstanceIsolate = 400139; - HealthCheckNotOpen = 400140; - HeartbeatOnDisabledIns = 400141; - HeartbeatExceedLimit = 400142; - HeartbeatTypeNotFound = 400143; - InvalidMetadata = 400150; - InvalidRateLimitID = 400151; - InvalidRateLimitLabels = 400152; - InvalidRateLimitAmounts = 400153; - InvalidRateLimitName = 400154; - InvalidCircuitBreakerID = 400160; - InvalidCircuitBreakerVersion = 400161; - InvalidCircuitBreakerName = 400162; - InvalidCircuitBreakerNamespace = 400163; - InvalidCircuitBreakerOwners = 400164; - InvalidCircuitBreakerToken = 400165; - InvalidCircuitBreakerBusiness = 400166; - InvalidCircuitBreakerDepartment = 400167; - InvalidCircuitBreakerComment = 400168; - CircuitBreakerRuleExisted = 400169; - InvalidRoutingID = 400700; - InvalidRoutingPolicy = 400701; - InvalidRoutingName = 400702; - InvalidRoutingPriority = 400703; - InvalidFaultDetectID = 400900; - InvalidFaultDetectName = 400901; - InvalidFaultDetectNamespace = 400902; - FaultDetectRuleExisted = 400903; - InvalidMatchRule = 400904; - - // network relative codes - ServicesExistedMesh = 400170; - ResourcesExistedMesh = 400171; - InvalidMeshParameter = 400172; - - // platform relative codes - InvalidPlatformID = 400180; - InvalidPlatformName = 400181; - InvalidPlatformDomain = 400182; - InvalidPlatformQPS = 400183; - InvalidPlatformToken = 400184; - InvalidPlatformOwner = 400185; - InvalidPlatformDepartment = 400186; - InvalidPlatformComment = 400187; - NotFoundPlatform = 400188; - - // flux relative codes - InvalidFluxRateLimitId = 400190; - InvalidFluxRateLimitQps = 400191; - InvalidFluxRateLimitSetKey = 400192; - - ExistedResource = 400201; - NotFoundResource = 400202; - NamespaceExistedServices = 400203; - ServiceExistedInstances = 400204; - ServiceExistedRoutings = 400205; - ServiceExistedRateLimits = 400206; - ExistReleasedConfig = 400207; - SameInstanceRequest = 400208; - ServiceExistedCircuitBreakers = 400209; - ServiceExistedAlias = 400210; - NamespaceExistedMeshResources = 400211; - NamespaceExistedCircuitBreakers = 400212; - ServiceSubscribedByMeshes = 400213; - ServiceExistedFluxRateLimits = 400214; - NamespaceExistedConfigGroups = 400219; - - NotFoundService = 400301; - NotFoundRouting = 400302; - NotFoundInstance = 400303; - NotFoundServiceAlias = 400304; - NotFoundNamespace = 400305; - NotFoundSourceService = 400306; - NotFoundRateLimit = 400307; - NotFoundCircuitBreaker = 400308; - NotFoundMasterConfig = 400309; - NotFoundTagConfig = 400310; - NotFoundTagConfigOrService = 400311; - ClientAPINotOpen = 400401; - NotAllowBusinessService = 400402; - NotAllowAliasUpdate = 400501; - NotAllowAliasCreateInstance = 400502; - NotAllowAliasCreateRouting = 400503; - NotAllowCreateAliasForAlias = 400504; - NotAllowAliasCreateRateLimit = 400505; - NotAllowAliasBindRule = 400506; - NotAllowDifferentNamespaceBindRule = 400507; - Unauthorized = 401000; - NotAllowedAccess = 401001; - CMDBNotFindHost = 404001; - DataConflict = 409000; - InstanceTooManyRequests = 429001; - IPRateLimit = 429002; - APIRateLimit = 403003; - ExecuteException = 500000; - StoreLayerException = 500001; - CMDBPluginException = 500002; - ParseRoutingException = 500004; - ParseRateLimitException = 500005; - ParseCircuitBreakerException = 500006; - HeartbeatException = 500007; - InstanceRegisTimeout = 500008; - - // config center status codes - InvalidConfigFileGroupName = 400801; - InvalidConfigFileName = 400802; - InvalidConfigFileContentLength = 400803; - InvalidConfigFileFormat = 400804; - InvalidConfigFileTags = 400805; - InvalidWatchConfigFileFormat = 400806; - NotFoundResourceConfigFile = 400807; - InvalidConfigFileTemplateName = 400808; - EncryptConfigFileException = 400809; - DecryptConfigFileException = 400810; - - // auth codes - InvalidUserOwners = 400410; - InvalidUserID = 400411; - InvalidUserPassword = 400412; - InvalidUserMobile = 400413; - InvalidUserEmail = 400414; - InvalidUserGroupOwners = 400420; - InvalidUserGroupID = 400421; - InvalidAuthStrategyOwners = 400430; - InvalidAuthStrategyName = 400431; - InvalidAuthStrategyID = 400432; - InvalidPrincipalType = 400440; - - UserExisted = 400215; - UserGroupExisted = 400216; - AuthStrategyRuleExisted = 400217; - SubAccountExisted = 400218; - NotFoundUser = 400312; - NotFoundOwnerUser = 400313; - NotFoundUserGroup = 400314; - NotFoundAuthStrategyRule = 400315; - NotAllowModifyDefaultStrategyPrincipal = 400508; - NotAllowModifyOwnerDefaultStrategy = 400509;; - - EmptyAutToken = 401002; - TokenDisabled = 401003; - TokenNotExisted = 401004; - - AuthTokenForbidden = 403001; - OperationRoleForbidden = 403002; -} diff --git a/source/java/polaris-specification/src/main/proto/config_file.proto b/source/java/polaris-specification/src/main/proto/config_file.proto deleted file mode 100644 index 80e2b8aa..00000000 --- a/source/java/polaris-specification/src/main/proto/config_file.proto +++ /dev/null @@ -1,213 +0,0 @@ -syntax = "proto3"; - -package v1; - -import "google/protobuf/wrappers.proto"; -import "model.proto"; -option go_package = "github.com/polarismesh/specification/source/go/api/v1/config_manage"; -option java_package = "com.tencent.polaris.specification.api.v1.config.manage"; -option java_outer_classname = "ConfigFileProto"; - -message ConfigFileGroup { - google.protobuf.UInt64Value id = 1; - google.protobuf.StringValue name = 2; - google.protobuf.StringValue namespace = 3; - google.protobuf.StringValue comment = 4; - google.protobuf.StringValue create_time = 5; - google.protobuf.StringValue create_by = 6; - google.protobuf.StringValue modify_time = 7; - google.protobuf.StringValue modify_by = 8; - google.protobuf.UInt64Value fileCount = 9; - - repeated google.protobuf.StringValue user_ids = 10 [ json_name = "user_ids" ]; - repeated google.protobuf.StringValue group_ids = 11 - [ json_name = "group_ids" ]; - - repeated google.protobuf.StringValue remove_user_ids = 13 - [ json_name = "remove_user_ids" ]; - repeated google.protobuf.StringValue remove_group_ids = 14 - [ json_name = "remove_group_ids" ]; - - google.protobuf.BoolValue editable = 15; - google.protobuf.StringValue owner = 16; - - google.protobuf.StringValue business = 17; - google.protobuf.StringValue department = 18; - map metadata = 19; -} - -message ConfigFile { - google.protobuf.UInt64Value id = 1; - google.protobuf.StringValue name = 2; - google.protobuf.StringValue namespace = 3; - google.protobuf.StringValue group = 4; - google.protobuf.StringValue content = 5; - google.protobuf.StringValue format = 6; - google.protobuf.StringValue comment = 7; - google.protobuf.StringValue status = 8; - repeated ConfigFileTag tags = 9; - google.protobuf.StringValue create_time = 10; - google.protobuf.StringValue create_by = 11; - google.protobuf.StringValue modify_time = 12; - google.protobuf.StringValue modify_by = 13; - google.protobuf.StringValue release_time = 14; - google.protobuf.StringValue release_by = 15; - // 是否为加密配置文件 - google.protobuf.BoolValue encrypted = 16; - // 加密算法 - google.protobuf.StringValue encrypt_algo = 17; -} - -message ConfigFileTag { - google.protobuf.StringValue key = 1; - google.protobuf.StringValue value = 2; -} - -message ConfigFileRelease { - google.protobuf.UInt64Value id = 1; - google.protobuf.StringValue name = 2; - google.protobuf.StringValue namespace = 3; - google.protobuf.StringValue group = 4; - google.protobuf.StringValue file_name = 5; - google.protobuf.StringValue content = 6; - google.protobuf.StringValue comment = 7; - google.protobuf.StringValue md5 = 8; - google.protobuf.UInt64Value version = 9; - google.protobuf.StringValue create_time = 10; - google.protobuf.StringValue create_by = 11; - google.protobuf.StringValue modify_time = 12; - google.protobuf.StringValue modify_by = 13; - repeated ConfigFileTag tags = 14; - // 当前生效配置 - google.protobuf.BoolValue active = 15; - google.protobuf.StringValue format = 16; - google.protobuf.StringValue release_description = 17; - google.protobuf.StringValue release_type = 18; - // 配置灰度发布时需要匹配的客户端标签信息 - repeated ClientLabel beta_labels = 19; -} - -message ConfigFileReleaseHistory { - google.protobuf.UInt64Value id = 1; - google.protobuf.StringValue name = 2; - google.protobuf.StringValue namespace = 3; - google.protobuf.StringValue group = 4; - google.protobuf.StringValue file_name = 5; - google.protobuf.StringValue content = 6; - google.protobuf.StringValue format = 7; - google.protobuf.StringValue comment = 8; - google.protobuf.StringValue md5 = 9; - google.protobuf.StringValue type = 10; - google.protobuf.StringValue status = 11; - repeated ConfigFileTag tags = 12; - google.protobuf.StringValue create_time = 13; - google.protobuf.StringValue create_by = 14; - google.protobuf.StringValue modify_time = 15; - google.protobuf.StringValue modify_by = 16; - // 配置发布失败的原因 - google.protobuf.StringValue reason = 17; - google.protobuf.StringValue release_description = 18; -} - -message ConfigFileTemplate { - google.protobuf.UInt64Value id = 1; - google.protobuf.StringValue name = 2; - google.protobuf.StringValue content = 3; - google.protobuf.StringValue format = 4; - google.protobuf.StringValue comment = 5; - google.protobuf.StringValue create_time = 6; - google.protobuf.StringValue create_by = 7; - google.protobuf.StringValue modify_time = 8; - google.protobuf.StringValue modify_by = 9; -} - -message ClientConfigFileInfo { - google.protobuf.StringValue namespace = 1; - google.protobuf.StringValue group = 2; - google.protobuf.StringValue file_name = 3; - google.protobuf.StringValue content = 4; - google.protobuf.UInt64Value version = 5; - google.protobuf.StringValue md5 = 6; - repeated ConfigFileTag tags = 7; - // 是否为加密配置文件 - google.protobuf.BoolValue encrypted = 8; - // 公钥,用于加密数据密钥 - google.protobuf.StringValue public_key = 9; - // 配置文件版本名称 - google.protobuf.StringValue name = 10; - // 配置文件的发布时间 - google.protobuf.StringValue release_time = 11 [ json_name = "release_time" ]; -} - -message ClientWatchConfigFileRequest { - google.protobuf.StringValue client_ip = 1; - google.protobuf.StringValue service_name = 2; - repeated ClientConfigFileInfo watch_files = 3; -} - -message ConfigFileExportRequest { - google.protobuf.StringValue namespace = 1; - repeated google.protobuf.StringValue groups = 2; - repeated google.protobuf.StringValue names = 3; -} - -message ConfigFilePublishInfo { - google.protobuf.StringValue release_name = 1 [ json_name = "release_name" ]; - google.protobuf.StringValue namespace = 2; - google.protobuf.StringValue group = 3; - google.protobuf.StringValue file_name = 4 [ json_name = "file_name" ]; - google.protobuf.StringValue content = 5; - google.protobuf.StringValue comment = 6; - google.protobuf.StringValue format = 7; - google.protobuf.StringValue release_description = 8 - [ json_name = "release_description" ]; - google.protobuf.StringValue create_by = 11 [ json_name = "create_by" ]; - google.protobuf.StringValue modify_by = 13 [ json_name = "modify_by" ]; - repeated ConfigFileTag tags = 14; - google.protobuf.StringValue md5 = 15; - // 是否为加密配置文件 - google.protobuf.BoolValue encrypted = 16; - // 加密算法 - google.protobuf.StringValue encrypt_algo = 17; -} - -message ConfigFileGroupRequest { - google.protobuf.StringValue revision = 1; - ConfigFileGroup config_file_group = 2 [ json_name = "config_file_group" ]; - // 配置标签 - map client_labels = 12 [ json_name = "client_labels" ]; -} - -message ConfigDiscoverRequest { - enum ConfigDiscoverRequestType { - UNKNOWN = 0; - CONFIG_FILE = 1; - CONFIG_FILE_Names = 2; - CONFIG_FILE_GROUPS = 3; - } - ConfigDiscoverRequestType type = 1; - ClientConfigFileInfo config_file = 2 [ json_name = "config_file" ]; - string revision = 3; -} - -message ConfigDiscoverResponse { - enum ConfigDiscoverResponseType { - UNKNOWN = 0; - CONFIG_FILE = 1; - CONFIG_FILE_Names = 2; - CONFIG_FILE_GROUPS = 3; - } - - uint32 code = 1; - string info = 2; - string revision = 3; - - ConfigDiscoverResponseType type = 4; - - ClientConfigFileInfo config_file = 5 [ json_name = "config_file" ]; - - repeated ClientConfigFileInfo config_file_names = 6 - [ json_name = "config_file_names" ]; - repeated ConfigFileGroup config_file_groups = 7 - [ json_name = "config_file_groups" ]; -} diff --git a/source/java/polaris-specification/src/main/proto/config_file_response.proto b/source/java/polaris-specification/src/main/proto/config_file_response.proto deleted file mode 100644 index 29108bdd..00000000 --- a/source/java/polaris-specification/src/main/proto/config_file_response.proto +++ /dev/null @@ -1,82 +0,0 @@ -syntax = "proto3"; - -package v1; - -import "google/protobuf/wrappers.proto"; -import "config_file.proto"; - -option go_package = "github.com/polarismesh/specification/source/go/api/v1/config_manage"; -option java_package = "com.tencent.polaris.specification.api.v1.config.manage"; -option java_outer_classname = "ConfigFileResponseProto"; - -message ConfigSimpleResponse { - google.protobuf.UInt32Value code = 1; - google.protobuf.StringValue info = 2; -} - -message ConfigResponse { - google.protobuf.UInt32Value code = 1; - google.protobuf.StringValue info = 2; - - ConfigFileGroup configFileGroup = 3; - ConfigFile configFile = 4; - ConfigFileRelease configFileRelease = 5; - ConfigFileReleaseHistory configFileReleaseHistory = 6; - ConfigFileTemplate configFileTemplate = 7; -} - -message ConfigBatchWriteResponse { - google.protobuf.UInt32Value code = 1; - google.protobuf.StringValue info = 2; - google.protobuf.UInt32Value total = 3; - - repeated ConfigResponse responses = 4; -} - -message ConfigBatchQueryResponse { - google.protobuf.UInt32Value code = 1; - google.protobuf.StringValue info = 2; - google.protobuf.UInt32Value total = 3; - repeated ConfigFileGroup configFileGroups = 4; - repeated ConfigFile configFiles = 5; - repeated ConfigFileRelease configFileReleases = 6; - repeated ConfigFileReleaseHistory configFileReleaseHistories = 7; - repeated ConfigFileTemplate configFileTemplates = 8; -} - -message ConfigClientResponse { - google.protobuf.UInt32Value code = 1; - google.protobuf.StringValue info = 2; - - ClientConfigFileInfo configFile = 3; -} - -message ConfigImportResponse { - google.protobuf.UInt32Value code = 1; - google.protobuf.StringValue info = 2; - repeated ConfigFile createConfigFiles = 3; - repeated ConfigFile skipConfigFiles = 4; - repeated ConfigFile overwriteConfigFiles = 5; -} - -message ConfigExportResponse { - google.protobuf.UInt32Value code = 1; - google.protobuf.StringValue info = 2; - google.protobuf.BytesValue data = 3; -} - -message ConfigEncryptAlgorithmResponse { - google.protobuf.UInt32Value code = 1; - google.protobuf.StringValue info = 2; - repeated google.protobuf.StringValue algorithms = 3; -} - -message ConfigClientListResponse { - google.protobuf.UInt32Value code = 1; - google.protobuf.StringValue info = 2; - google.protobuf.StringValue revision = 3; - - string namespace = 4; - string group = 5; - repeated ClientConfigFileInfo config_file_infos = 6 [json_name = "config_file_infos"]; -} \ No newline at end of file diff --git a/source/java/polaris-specification/src/main/proto/configrelease.proto b/source/java/polaris-specification/src/main/proto/configrelease.proto deleted file mode 100644 index f0676255..00000000 --- a/source/java/polaris-specification/src/main/proto/configrelease.proto +++ /dev/null @@ -1,24 +0,0 @@ -syntax = "proto3"; - -package v1; - -import "google/protobuf/wrappers.proto"; -import "service.proto"; -import "circuitbreaker.proto"; - -option go_package = "github.com/polarismesh/specification/source/go/api/v1/service_manage"; -option java_package = "com.tencent.polaris.specification.api.v1.service.manage"; -option java_outer_classname = "ConfigReleaseProto"; - -message ConfigRelease { - Service service = 1; - google.protobuf.StringValue ctime = 2; - google.protobuf.StringValue mtime = 3; - - CircuitBreaker circuitBreaker = 4; -} - -message ConfigWithService { - repeated Service services = 1; - CircuitBreaker circuitBreaker = 2; -} \ No newline at end of file diff --git a/source/java/polaris-specification/src/main/proto/contract.proto b/source/java/polaris-specification/src/main/proto/contract.proto deleted file mode 100644 index c69f6ada..00000000 --- a/source/java/polaris-specification/src/main/proto/contract.proto +++ /dev/null @@ -1,75 +0,0 @@ -syntax = "proto3"; - -package v1; - -option go_package = "github.com/polarismesh/specification/source/go/api/v1/service_manage"; -option java_package = "com.tencent.polaris.specification.api.v1.service.manage"; -option java_outer_classname = "ServiceContractProto"; - -message ServiceContract { - // 契约ID - string id = 1; - // 契约名称 - // deprecated, use type field - string name = 2; - // 所属命名空间 - string namespace = 3; - // 所属服务名称 - string service = 4; - // 协议,http/grpc/dubbo/thrift - string protocol = 5; - // 契约版本 - string version = 6; - // 信息摘要 - string revision = 7; - // 额外描述 - string content = 8; - // 接口描述信息 - repeated InterfaceDescriptor interfaces = 9; - // 创建时间 - string ctime = 10; - // 更新时间 - string mtime = 11; - // 接口状态,Offline/Online - string status = 12; - // 类型 - string type = 14; -} - -message InterfaceDescriptor { - enum Source { - UNKNOWN = 0; - Manual = 1; - Client = 2; - } - - // 接口ID - string id = 1; - // 方法名称,对应 http method/ dubbo interface func/grpc service func - string method = 2; - // 接口名称,http path/dubbo interface/grpc service - string path = 3; - // 接口描述信息 - string content = 4; - // 创建来源 - Source source = 5; - // 接口信息摘要 - string revision = 6; - // 创建时间 - string ctime = 7; - // 更新时间 - string mtime = 8; - // 接口名称描述信息 - // deprecated, use type field - string name = 9; - // 所属命名空间 - string namespace = 10; - // 所属服务名称 - string service = 11; - // 协议,http/grpc/dubbo/thrift - string protocol = 12; - // 契约版本 - string version = 13; - // 类型 - string type = 14; -} diff --git a/source/java/polaris-specification/src/main/proto/fault_detector.proto b/source/java/polaris-specification/src/main/proto/fault_detector.proto deleted file mode 100644 index 217669be..00000000 --- a/source/java/polaris-specification/src/main/proto/fault_detector.proto +++ /dev/null @@ -1,90 +0,0 @@ -syntax = "proto3"; - -package v1; - -import "model.proto"; - -option go_package = "github.com/polarismesh/specification/source/go/api/v1/fault_tolerance"; -option java_package = "com.tencent.polaris.specification.api.v1.fault.tolerance"; -option java_outer_classname = "FaultDetectorProto"; - -message FaultDetector { - // fault detect rules for current service - repeated FaultDetectRule rules = 1; - // total revision for the fault detect rules - string revision = 2; -} - -message FaultDetectRule { - string id = 1; - // rule name - string name = 2; - // namespace of rule - string namespace = 3; - // revision routing version - string revision = 4; - // ctime create time of the rules - string ctime = 5; - // mtime modify time of the rules - string mtime = 6; - // description simple description rules - string description = 7; - - // reserve for metadata - reserved 8 to 20; - - message DestinationService { - string service = 1; - string namespace = 2; - // deprecated_filed use api.path instead - MatchString method = 3 [deprecated = true]; - API api = 4; - } - // detect target - DestinationService target_service = 21; - // detect interval - uint32 interval = 22; - // detect timeout - uint32 timeout = 23; - // detect port - uint32 port = 24; - // detect protocol - enum Protocol { - UNKNOWN = 0; - HTTP = 1; - TCP = 2; - UDP = 3; - } - Protocol protocol = 25; - // http detect config - HttpProtocolConfig http_config = 26; - // tcp detect config - TcpProtocolConfig tcp_config = 27; - // udp detect config - UdpProtocolConfig udp_config = 28; - // priority rules priority - uint32 priority = 29 [ json_name = "priority" ]; - // 探测规则标签数据 - map metadata = 50; -} - -message HttpProtocolConfig { - string method = 1; - string url = 2; - message MessageHeader { - string key = 1; - string value = 2; - } - repeated MessageHeader headers = 3; - string body = 4; -} - -message TcpProtocolConfig { - string send = 1; - repeated string receive = 2; -} - -message UdpProtocolConfig { - string send = 1; - repeated string receive = 2; -} diff --git a/source/java/polaris-specification/src/main/proto/grpc_config_api.proto b/source/java/polaris-specification/src/main/proto/grpc_config_api.proto deleted file mode 100644 index c6103609..00000000 --- a/source/java/polaris-specification/src/main/proto/grpc_config_api.proto +++ /dev/null @@ -1,37 +0,0 @@ -syntax = "proto3"; - -package v1; - -import "config_file.proto"; -import "config_file_response.proto"; - -option go_package = "github.com/polarismesh/specification/source/go/api/v1/config_manage"; -option java_package = "com.tencent.polaris.specification.api.v1.config.manage"; -option java_outer_classname = "PolarisConfigGRPCService"; - -service PolarisConfigGRPC { - - // 拉取配置 - rpc GetConfigFile(ClientConfigFileInfo) returns (ConfigClientResponse) {} - - // 创建配置 - rpc CreateConfigFile(ConfigFile) returns (ConfigClientResponse) {} - - // 更新配置 - rpc UpdateConfigFile(ConfigFile) returns (ConfigClientResponse) {} - - // 发布配置 - rpc PublishConfigFile(ConfigFileRelease) returns (ConfigClientResponse) {} - - // 发布配置 - rpc UpsertAndPublishConfigFile(ConfigFilePublishInfo) returns (ConfigClientResponse) {} - - // 订阅配置变更 - rpc WatchConfigFiles(ClientWatchConfigFileRequest) returns (ConfigClientResponse) {} - - // 拉取指定配置分组下的配置文件列表 - rpc GetConfigFileMetadataList(ConfigFileGroupRequest) returns (ConfigClientListResponse) {} - - // 统一发现接口 - rpc Discover(stream ConfigDiscoverRequest) returns (stream ConfigDiscoverResponse) {} -} diff --git a/source/java/polaris-specification/src/main/proto/grpcapi.proto b/source/java/polaris-specification/src/main/proto/grpcapi.proto deleted file mode 100644 index 4a1e2cbf..00000000 --- a/source/java/polaris-specification/src/main/proto/grpcapi.proto +++ /dev/null @@ -1,44 +0,0 @@ -syntax = "proto3"; - -package v1; - -import "client.proto"; -import "service.proto"; -import "request.proto"; -import "response.proto"; -import "heartbeat.proto"; -import "contract.proto"; - -option go_package = "github.com/polarismesh/specification/source/go/api/v1/service_manage"; -option java_package = "com.tencent.polaris.specification.api.v1.service.manage"; -option java_outer_classname = "PolarisGRPCService"; - -service PolarisGRPC { - // 客户端上报 - rpc ReportClient(Client) returns (Response) {} - // 被调方注册服务实例 - rpc RegisterInstance(Instance) returns (Response) {} - // 被调方反注册服务实例 - rpc DeregisterInstance(Instance) returns (Response) {} - // 统一发现接口 - rpc Discover(stream DiscoverRequest) returns (stream DiscoverResponse) {} - // 被调方上报心跳 - rpc Heartbeat(Instance) returns (Response) {} -} - -service PolarisHeartbeatGRPC { - // 被调方批量上报心跳 - rpc BatchHeartbeat(stream HeartbeatsRequest) - returns (stream HeartbeatsResponse) {} - // 批量获取心跳记录 - rpc BatchGetHeartbeat(GetHeartbeatsRequest) returns (GetHeartbeatsResponse) {} - // 批量删除心跳记录 - rpc BatchDelHeartbeat(DelHeartbeatsRequest) returns (DelHeartbeatsResponse) {} -} - -service PolarisServiceContractGRPC { - // 上报服务契约 - rpc ReportServiceContract(ServiceContract) returns (Response) {} - // 查询服务契约 - rpc GetServiceContract(ServiceContract) returns (Response) {} -} diff --git a/source/java/polaris-specification/src/main/proto/grpcapi_ratelimiter.proto b/source/java/polaris-specification/src/main/proto/grpcapi_ratelimiter.proto deleted file mode 100644 index b1194ea2..00000000 --- a/source/java/polaris-specification/src/main/proto/grpcapi_ratelimiter.proto +++ /dev/null @@ -1,17 +0,0 @@ -syntax = "proto3"; - -package polaris.metric.v2; - -option go_package = "github.com/polarismesh/specification/source/go/api/v1/traffic_manage/ratelimiter"; -option java_package = "com.tencent.polaris.specification.api.v1.traffic.manage.ratelimiter"; -option java_outer_classname = "RateLimiterService"; - -import "ratelimiter.proto"; - -service RateLimitGRPCV2 { - // 限流接口 - rpc Service(stream RateLimitRequest) returns(stream RateLimitResponse) {} - - //时间对齐接口 - rpc TimeAdjust(TimeAdjustRequest) returns(TimeAdjustResponse) {} -} \ No newline at end of file diff --git a/source/java/polaris-specification/src/main/proto/heartbeat.proto b/source/java/polaris-specification/src/main/proto/heartbeat.proto deleted file mode 100644 index 2751d6b9..00000000 --- a/source/java/polaris-specification/src/main/proto/heartbeat.proto +++ /dev/null @@ -1,47 +0,0 @@ -syntax = "proto3"; - -package v1; - -import "service.proto"; - -option go_package = "github.com/polarismesh/specification/source/go/api/v1/service_manage"; -option java_package = "com.tencent.polaris.specification.api.v1.service.manage"; - -message HeartbeatRecord { - string instanceId = 1 [ json_name = "instance_id" ]; - reserved 2 to 5; - int64 lastHeartbeatSec = 6 [ json_name = "last_heartbeat_sec" ]; - bool exist = 7 [ json_name = "exist" ]; -} - -message InstanceHeartbeat { - string instanceId = 1 [ json_name = "instance_id" ]; - string service = 2 [ json_name = "service" ]; - string namespace = 3 [ json_name = "namespace" ]; - string host = 4 [ json_name = "host" ]; - uint32 port = 5 [ json_name = "port" ]; -} - -message HeartbeatsRequest { - repeated InstanceHeartbeat heartbeats = 1 [ json_name = "heartbeats" ]; -} - -message HeartbeatsResponse { -} - -message GetHeartbeatsRequest { - repeated string instanceIds = 1 [ json_name = "instance_ids" ]; -} - -message GetHeartbeatsResponse { - repeated HeartbeatRecord records = 1 [ json_name = "records" ]; -} - -message DelHeartbeatsRequest { - repeated string instanceIds = 1 [ json_name = "instance_ids" ]; -} - -message DelHeartbeatsResponse { - uint32 code = 1; - string info = 2; -} diff --git a/source/java/polaris-specification/src/main/proto/lane.proto b/source/java/polaris-specification/src/main/proto/lane.proto deleted file mode 100644 index 9eb00f25..00000000 --- a/source/java/polaris-specification/src/main/proto/lane.proto +++ /dev/null @@ -1,108 +0,0 @@ -syntax = "proto3"; - -package v1; - -import "google/protobuf/any.proto"; -import "model.proto"; -import "routing.proto"; - -option go_package = "github.com/polarismesh/specification/source/go/api/v1/traffic_manage"; -option java_package = "com.tencent.polaris.specification.api.v1.traffic.manage"; -option java_outer_classname = "LaneProto"; - -// 流量入口 -message TrafficEntry { - // 标记流量入口类型 - // type == "polarismesh.cn/gateway/spring-cloud-gateway", 则 selector 为 - // ServiceGatewaySelector type == "polarismesh.cn/service, 则 selector 为 - // ServiceSelector - string type = 1; - google.protobuf.Any selector = 2; -} - -// 微服务网关入口定义 -message ServiceGatewaySelector { - string namespace = 1; - string service = 2; - // 决定要不要部份 - map labels = 3; -} - -// 普通服务入口定义 -message ServiceSelector { - string namespace = 1; - string service = 2; - // 决定要不要部份 - map labels = 3; -} - -// 泳道组实体定义 -message LaneGroup { - // 泳道组 ID - string id = 1; - // 泳道组名称 - string name = 2; - // 泳道组内的流量入口信息 - repeated TrafficEntry entries = 3; - // 在泳道组内的服务列表信息 - repeated DestinationGroup destinations = 4; - // 泳道组描述信息 - string revision = 7; - // 泳道组描述信息 - string description = 8; - // 泳道组的创建时间 - string ctime = 9; - // 泳道组的更新时间 - string mtime = 10; - // 泳道组内的流量入口信息 - repeated LaneRule rules = 11; - // 泳道组标签信息 - map metadata = 20; -} - -// TrafficMatchRule 流量匹配规则 -message TrafficMatchRule { - // 流量匹配规则,判断哪些流量需要进入泳道 - repeated SourceMatch arguments = 4; - // 多个 SourceMatch 之间的判断关系 - enum TrafficMatchMode { - // 与模式 - AND = 0; - // 或模式 - OR = 1; - } - TrafficMatchMode matchMode = 14; -} - -// 泳道规则 -message LaneRule { - string id = 1; - string name = 2; - // 所属泳道组的名称 - string group_name = 3; - // 流量匹配规则 - TrafficMatchRule traffic_match_rule = 4; - // 保存这个泳道的默认实例标签 - string default_label_value = 5; - // 泳道规则是否启用 - bool enable = 6; - enum LaneMatchMode { - // 严格匹配模式 - STRICT = 0; - // 宽松匹配模式 - PERMISSIVE = 1; - } - LaneMatchMode match_mode = 7; - // revision routing version - string revision = 8; - // ctime create time of the rules - string ctime = 9; - // mtime modify time of the rules - string mtime = 10; - // etime enable time of the rules - string etime = 11; - // priority rules priority - uint32 priority = 12; - // description simple description rules - string description = 13; -} \ No newline at end of file diff --git a/source/java/polaris-specification/src/main/proto/model.proto b/source/java/polaris-specification/src/main/proto/model.proto deleted file mode 100644 index b24d8547..00000000 --- a/source/java/polaris-specification/src/main/proto/model.proto +++ /dev/null @@ -1,71 +0,0 @@ -syntax = "proto3"; - -package v1; - -import "google/protobuf/wrappers.proto"; - -option go_package = "github.com/polarismesh/specification/source/go/api/v1/model"; - -option java_package = "com.tencent.polaris.specification.api.v1.model"; -option java_outer_classname = "ModelProto"; - -message Location { - google.protobuf.StringValue region = 1; - google.protobuf.StringValue zone = 2; - google.protobuf.StringValue campus = 3; -} - -message MatchString { - enum MatchStringType { - // Equivalent match - EXACT = 0; - // Regular match - REGEX = 1; - // Not equals match - NOT_EQUALS = 2; - // Include match - IN = 3; - // Not include match - NOT_IN = 4; - // Range match - RANGE = 5; - } - - enum ValueType { - TEXT = 0; - PARAMETER = 1; - VARIABLE = 2; - } - - MatchStringType type = 1; - google.protobuf.StringValue value = 2; - ValueType value_type = 3 [ json_name = "value_type" ]; -} - -message StringList { repeated string values = 1; } - -// 汇总查询数据 -message Summary { - // 服务总数 - uint32 total_service_count = 1 [ json_name = "total_service_count" ]; - // 健康实例总数 - uint32 total_health_instance_count = 2 - [ json_name = "total_health_instance_count" ]; - // 实例总数 - uint32 total_instance_count = 3 [ json_name = "total_instance_count" ]; -} - -message ClientLabel { - string key = 1; - MatchString value = 2; -} - -// API统一数据结构 -message API { - // API的协议,*或者为空代表全部 - string protocol = 1 [ json_name = "protocol" ]; - // API的方法,*或者为空代表全部 - string method = 2 [ json_name = "method" ]; - // API的路径,支持多种匹配方式 - MatchString path = 3 [ json_name = "path" ]; -} \ No newline at end of file diff --git a/source/java/polaris-specification/src/main/proto/namespace.proto b/source/java/polaris-specification/src/main/proto/namespace.proto deleted file mode 100644 index a23850d8..00000000 --- a/source/java/polaris-specification/src/main/proto/namespace.proto +++ /dev/null @@ -1,35 +0,0 @@ -syntax = "proto3"; - -package v1; - -import "google/protobuf/wrappers.proto"; - -option go_package = "github.com/polarismesh/specification/source/go/api/v1/model"; - -option java_package = "com.tencent.polaris.specification.api.v1.model"; -option java_outer_classname = "NamespaceProto"; - -message Namespace { - google.protobuf.StringValue name = 1; - google.protobuf.StringValue comment = 2; - google.protobuf.StringValue owners = 3; - google.protobuf.StringValue token = 4; - google.protobuf.StringValue ctime = 5; - google.protobuf.StringValue mtime = 6; - - google.protobuf.UInt32Value total_service_count = 7 [json_name = "total_service_count"]; - google.protobuf.UInt32Value total_health_instance_count = 8 [json_name = "total_health_instance_count"]; - google.protobuf.UInt32Value total_instance_count = 9 [json_name = "total_instance_count"]; - - repeated google.protobuf.StringValue user_ids = 10 [json_name = "user_ids"]; - repeated google.protobuf.StringValue group_ids = 11 [json_name = "group_ids"]; - - repeated google.protobuf.StringValue remove_user_ids = 13 [json_name = "remove_user_ids"]; - repeated google.protobuf.StringValue remove_group_ids = 14 [json_name = "remove_group_ids"]; - - google.protobuf.StringValue id = 12; - - google.protobuf.BoolValue editable = 15; - - repeated google.protobuf.StringValue service_export_to = 16 [ json_name = "service_export_to" ]; -} \ No newline at end of file diff --git a/source/java/polaris-specification/src/main/proto/ratelimit.proto b/source/java/polaris-specification/src/main/proto/ratelimit.proto deleted file mode 100644 index a12d17f5..00000000 --- a/source/java/polaris-specification/src/main/proto/ratelimit.proto +++ /dev/null @@ -1,216 +0,0 @@ -syntax = "proto3"; - -package v1; - -import "google/protobuf/wrappers.proto"; -import "google/protobuf/duration.proto"; -import "model.proto"; - -option go_package = "github.com/polarismesh/specification/source/go/api/v1/traffic_manage"; -option java_package = "com.tencent.polaris.specification.api.v1.traffic.manage"; -option java_outer_classname = "RateLimitProto"; - -// 同一服务下限流规则集合 -message RateLimit { - // 限流规则集合 - repeated Rule rules = 1; - // 限流规则汇总的revision信息 - google.protobuf.StringValue revision = 2; -} - -// 单个限流规则信息 -message Rule { - // 限流规则唯一标识 - google.protobuf.StringValue id = 1; - // 限流规则所属服务名 - google.protobuf.StringValue service = 2; - // 限流规则所属命名空间 - google.protobuf.StringValue namespace = 3; - // 可选,SUBSET标识 - map subset = 4; - // 限流规则优先级,0值最高 - google.protobuf.UInt32Value priority = 5; - // 限流资源 - enum Resource { - // 针对QPS进行限流 - QPS = 0; - // 针对并发数进行限流 - CONCURRENCY = 1; - } - Resource resource = 6; - // 限流类型 - // global全局限流(默认)或者local单机限流 - enum Type { - GLOBAL = 0; - LOCAL = 1; - } - Type type = 7; - // 业务标签集合,通过KV进行匹配,全部匹配才使用该规则 - map labels = 8; - // 限流阈值 - // 可以有多个粒度的配置(比如同时针对秒级,分钟级,天级),匹配一个则进行限流 - // 全局限流模式下,该值为服务配额总量;单机限流模式下,该值为单个节点能处理的配额量 - repeated Amount amounts = 9; - // 限流动作,对应着客户端的插件名字 - google.protobuf.StringValue action = 10; - // 是否停用该限流规则,默认启用 - google.protobuf.BoolValue disable = 11; - // 限流上报方式,同时支持按固定周期上报,以及达到配额百分比后上报 - Report report = 12; - // 限流规则创建时间 - google.protobuf.StringValue ctime = 13; - // 限流规则修改时间 - google.protobuf.StringValue mtime = 14; - // 限流规则revision信息 - google.protobuf.StringValue revision = 15; - // 服务的TOKEN信息,仅用于控制台,discover接口不下发 - google.protobuf.StringValue service_token = 16 [json_name = "service_token"]; - // 配额调整算法 - AmountAdjuster adjuster = 17; - // 通配符是否合并计算,默认分开计数 - google.protobuf.BoolValue regex_combine = 18 [json_name = "regex_combine"]; - - // 限流阈值模 - enum AmountMode { - GLOBAL_TOTAL = 0; // 总体阈值 - SHARE_EQUALLY = 1; // 单机均摊阈值 - } - AmountMode amount_mode = 19; - // 与限流集群连接失败时降级模式 - enum FailoverType { - FAILOVER_LOCAL = 0; // 降级成本地阈值 - FAILOVER_PASS = 1; // 降级成直接通过 - } - FailoverType failover = 20; - // 分布式限流服务集群 - RateLimitCluster cluster = 21; - // 被调接口名 - MatchString method = 22; - // 被调的参数过滤条件,满足过滤条件才进入限流规则 - repeated MatchArgument arguments = 23; - // 限流规则名 - google.protobuf.StringValue name = 24; - // 限流规则启用时间 - google.protobuf.StringValue etime = 25; - // 最大排队时长,单位秒 - google.protobuf.UInt32Value max_queue_delay = 26 [json_name = "max_queue_delay"]; - // 限流规则标签数据 - map metadata = 50; -} - -message MatchArgument { - // label type for gateway request - enum Type { - // custom arguments - CUSTOM = 0; - // method, match the http post/get/put/delete or grpc method - METHOD = 1; - // header, match the http header, dubbo attachment, grpc header - HEADER = 2; - // query, match the http query, dubbo argument - QUERY = 3; - // caller service - CALLER_SERVICE = 4; - // caller host ip - CALLER_IP =5; - } - Type type = 1; - // header key or query key - string key = 2; - // header value or query value - MatchString value = 3; -} - -// 分布式限流服务集群 -message RateLimitCluster { - google.protobuf.StringValue service = 1; - // 限流规则所属命名空间 - google.protobuf.StringValue namespace = 2; -} - -// 限流配额 -message Amount { - // 时间周期内的最大配额数 - google.protobuf.UInt32Value maxAmount = 1; - // 配额生效的时间周期,必须大于等于1s - google.protobuf.Duration validDuration = 2; - // 请求统计精度 - google.protobuf.UInt32Value precision = 3; - // 可选,起始限流阈值,爬坡起始值 - google.protobuf.UInt32Value startAmount = 4; - // 可选,最小限流阈值,降低时最小值 - google.protobuf.UInt32Value minAmount = 5; -} - -// 限流上报方式 -message Report { - // 配额固定上报周期,单位毫秒 - google.protobuf.Duration interval = 1; - // 使用了百分之多少配额后启动一次实时上报,值范围(0,100] - google.protobuf.UInt32Value amountPercent = 2; -} - -// 配额调整算法 -message AmountAdjuster { - ClimbConfig climb = 1; -} - -// 限流调整算法Climb相关配置 -message ClimbConfig { - google.protobuf.BoolValue enable = 1; // 是否开启 - - // 限流数据统计配置 - message MetricConfig { - // 限流数据度量周期,默认60s - google.protobuf.Duration window = 1; - // 数据统计精度,决定数据度量的最小周期,度量滑窗的步长=window/precision - google.protobuf.UInt32Value precision = 2; - // 上报周期,默认20s - google.protobuf.Duration reportInterval = 3; - } - MetricConfig metric = 2; // 限流数据统计配置 - - // 触发调整的策略 - message TriggerPolicy { - // 错误率触发调整配置 - message ErrorRate { - google.protobuf.BoolValue enable = 1; // 是否开启 - google.protobuf.UInt32Value requestVolumeThreshold = 2; // 触发限流调整的最小的请求数 - google.protobuf.Int32Value errorRate = 3; // 触发限流的错误率配置 - - // 特殊错误码触发调整配置 - message SpecialConfig { - google.protobuf.StringValue type = 1; // 自定义错误类型 - repeated google.protobuf.Int64Value errorCodes = 2; // 特定规则针对的错误码 - google.protobuf.Int32Value errorRate = 3; //特定规则错误率 - } - repeated SpecialConfig specials = 4; // 针对部分错误码,使用额外的错误率统计,可设置多组特殊规则 - } - - // 慢调用触发调整配置 - message SlowRate { - google.protobuf.BoolValue enable = 1; // 是否开启 - google.protobuf.Duration maxRt = 2; // 最大响应时间,超过该响应时间属于慢调用 - google.protobuf.Int32Value slowRate = 3; // 慢请求率阈值,达到该阈值进行限流 - } - - ErrorRate errorRate = 1; // 按错误率阈值调整 - SlowRate slowRate = 2; // 慢调用进行触发调整 - } - - TriggerPolicy policy = 3; // 触发调整策略 - - // 爬坡调整相关参数 - message ClimbThrottling { - google.protobuf.Int32Value coldBelowTuneDownRate = 1; // 冷水位以下区间的下调百分比 - google.protobuf.Int32Value coldBelowTuneUpRate = 2; // 冷水位以下区间的上调百分比 - google.protobuf.Int32Value coldAboveTuneDownRate = 3; // 冷水位以上区间的下调百分比 - google.protobuf.Int32Value coldAboveTuneUpRate = 4; // 冷水位以上区间的上调百分比 - google.protobuf.Int32Value limitThresholdToTuneUp = 5; // 冷水位以上,超过该百分的请求被限流后进行阈值上调 - google.protobuf.Duration judgeDuration = 6; // 阈值调整规则的决策间隔 - google.protobuf.Int32Value tuneUpPeriod = 7; // 阈值上调周期数,连续N个决策间隔都为上调,才执行上调 - google.protobuf.Int32Value tuneDownPeriod = 8; // 阈值下调周期数,连续N个决策间隔都为下调,才执行下调 - } - - ClimbThrottling throttling = 4; // 限流调整相关参数 -} \ No newline at end of file diff --git a/source/java/polaris-specification/src/main/proto/ratelimiter.proto b/source/java/polaris-specification/src/main/proto/ratelimiter.proto deleted file mode 100644 index e43c66c7..00000000 --- a/source/java/polaris-specification/src/main/proto/ratelimiter.proto +++ /dev/null @@ -1,211 +0,0 @@ -syntax = "proto3"; - -package polaris.metric.v2; - -option go_package = "github.com/polarismesh/specification/source/go/api/v1/traffic_manage/ratelimiter"; -option java_package = "com.tencent.polaris.specification.api.v1.traffic.manage.ratelimiter"; -option java_outer_classname = "RateLimiterProto"; - -//命令字 -enum RateLimitCmd { - INIT = 0; - ACQUIRE = 1; - BATCH_INIT = 2; - BATCH_ACQUIRE = 3; -} - -//限流请求 -message RateLimitRequest { - //命令字 - RateLimitCmd cmd = 1; - //初始化请求 - RateLimitInitRequest rateLimitInitRequest = 2; - //上报请求 - RateLimitReportRequest rateLimitReportRequest = 3; - //批量初始化请求 - RateLimitBatchInitRequest rateLimitBatchInitRequest = 4; -} - -//限流应答 -message RateLimitResponse { - //命令字 - RateLimitCmd cmd = 1; - //初始化应答 - RateLimitInitResponse rateLimitInitResponse = 2; - //上报应答 - RateLimitReportResponse rateLimitReportResponse = 3; - //批量初始化应答 - RateLimitBatchInitResponse rateLimitBatchInitResponse = 4; -} - -//限频模式 -enum Mode { - //自适应模式,根据历史流量自动调整 - ADAPTIVE = 0; - //批量抢占模式,客户端进行拉取,Server返回全量剩余配额 - BATCH_OCCUPY = 1; - //批量分摊模式,客户端进行拉取,Server按比例进行分摊 - BATCH_SHARE = 2; -} - -//初始化请求 -message RateLimitInitRequest { - //限流目标对象数据 - LimitTarget target = 1; - //客户端唯一标识 - string clientId = 2; - //限流规则信息 - repeated QuotaTotal totals = 3; - //客户端可指定滑窗数,不指定用默认值 - uint32 slideCount = 4; - //限流模式 - Mode mode = 5; -} - -//初始化应答 -message RateLimitInitResponse { - //应答错误码 - uint32 code = 1; - //限流目标对象,回传给客户端 - LimitTarget target = 2; - //客户端的标识,与clientId对应,一个server全局唯一,上报时候带入 - uint32 clientKey = 3; - //计数器的标识 - repeated QuotaCounter counters = 5; - //实际滑窗个数 - uint32 slideCount = 6; - //限流server绝对时间,单位ms - int64 timestamp = 7; -} - -//批量初始化请求 -message RateLimitBatchInitRequest { - //每条规则汇总成一个Init请求 - repeated RateLimitInitRequest request = 1; - //客户端唯一标识 - string clientId = 2; -} - -message LabeledQuotaCounter { - //自定义标签 - string labels = 1; - //计数器的标识 - repeated QuotaCounter counters = 2; -} - -message BatchInitResult { - //应答错误码 - uint32 code = 1; - //限流目标对象,回传给客户端,labels为规则 - LimitTarget target = 2; - //计数器的标识 - repeated LabeledQuotaCounter counters = 3; - //实际滑窗个数 - uint32 slideCount = 4; -} - -//批量初始化应答 -message RateLimitBatchInitResponse { - //应答错误码 - uint32 code = 1; - //客户端的标识,与clientId对应,一个server全局唯一,上报时候带入 - uint32 clientKey = 2; - //限流server绝对时间,单位ms - int64 timestamp = 3; - //批量初始化结果 - repeated BatchInitResult result = 4; -} - -//限流上报请求 -message RateLimitReportRequest { - //客户端标识 - uint32 clientKey = 1; - //已使用的配额数 - repeated QuotaSum quotaUses = 2; - //配额发生的时间,单位ms - int64 timestamp = 3; -} - -//限流上报应答 -message RateLimitReportResponse { - uint32 code = 1; - //剩余配额数 - repeated QuotaLeft quotaLefts = 2; - //限流server绝对时间,单位ms - int64 timestamp = 3; -} - -//限流目标,针对哪部分数据进行限流 -message LimitTarget { - //命名空间 - string namespace = 1; - //服务名 - string service = 2; - //自定义标签 - string labels = 3; - //批量自定义标签 - repeated string labels_list = 4; -} - -//阈值模式 -enum QuotaMode { - //整体阈值 - WHOLE = 0; - //单机均分阈值 - DIVIDE = 1; -} - -//阈值配置的值 -message QuotaTotal { - //阈值模式 - QuotaMode mode = 1; - //单位秒 - uint32 duration = 2; - //限流阈值 - uint32 maxAmount = 3; -} - -//限流计数器 -message QuotaCounter { - //单位秒 - uint32 duration = 1; - // bucket的标识,上报时候带入 - uint32 counterKey = 2; - //剩余配额数,应答返回,允许为负数 - int64 left = 3; - //实际限流模式 - Mode mode = 4; - //接入的客户端数量 - uint32 clientCount = 5; -} - -//客户端阈值使用统计 -message QuotaSum { - //计数器的标识,一个server全局唯一,上报时候带入 - uint32 counterKey = 1; - //已使用的配额数,上报时候带入 - uint32 used = 2; - //被限流数,上报时候带入 - uint32 limited = 3; -} - -//客户端阈值使用统计,由服务端返回 -message QuotaLeft { - //计数器的标识,一个server全局唯一,上报时候带入 - uint32 counterKey = 1; - //剩余配额数,应答返回,允许为负数 - int64 left = 2; - //当前限流模式 - Mode mode = 3; - //接入的客户端数量 - uint32 clientCount = 4; -} - -//时间点对齐的请求 -message TimeAdjustRequest {} - -//时间点对齐的应答 -message TimeAdjustResponse { - //服务器时间点,毫秒 - int64 serverTimestamp = 1; -} diff --git a/source/java/polaris-specification/src/main/proto/request.proto b/source/java/polaris-specification/src/main/proto/request.proto deleted file mode 100644 index 49f98b43..00000000 --- a/source/java/polaris-specification/src/main/proto/request.proto +++ /dev/null @@ -1,41 +0,0 @@ -syntax = "proto3"; - -package v1; - -import "service.proto"; -import "contract.proto"; - -option go_package = "github.com/polarismesh/specification/source/go/api/v1/service_manage"; -option java_package = "com.tencent.polaris.specification.api.v1.service.manage"; -option java_outer_classname = "RequestProto"; - -message DiscoverFilter { - bool OnlyHealthyInstance = 1; -} - -message DiscoverRequest { - enum DiscoverRequestType { - UNKNOWN = 0; - INSTANCE = 1; - CLUSTER = 2; - ROUTING = 3; - RATE_LIMIT = 4; - CIRCUIT_BREAKER = 5; - SERVICES = 6; - reserved 7 to 11; - NAMESPACES = 12; - FAULT_DETECTOR = 13; - reserved 14 to 99; - LANE = 100; - // 自定义路由规则 - CUSTOM_ROUTE_RULE = 101; - // 就近路由规则 - NEARBY_ROUTE_RULE = 102; - } - - DiscoverRequestType type = 1; - Service service = 2; - reserved 3 to 4; - DiscoverFilter Filter = 30; -} - diff --git a/source/java/polaris-specification/src/main/proto/response.proto b/source/java/polaris-specification/src/main/proto/response.proto deleted file mode 100644 index d04f56e6..00000000 --- a/source/java/polaris-specification/src/main/proto/response.proto +++ /dev/null @@ -1,126 +0,0 @@ -syntax = "proto3"; - -package v1; - -import "google/protobuf/wrappers.proto"; -import "google/protobuf/any.proto"; -import "namespace.proto"; -import "service.proto"; -import "routing.proto"; -import "ratelimit.proto"; -import "circuitbreaker.proto"; -import "model.proto"; -import "client.proto"; -import "configrelease.proto"; -import "fault_detector.proto"; -import "auth.proto"; -import "contract.proto"; -import "lane.proto"; - -option go_package = "github.com/polarismesh/specification/source/go/api/v1/service_manage"; -option java_package = "com.tencent.polaris.specification.api.v1.service.manage"; -option java_outer_classname = "ResponseProto"; - -message Response { - google.protobuf.UInt32Value code = 1; - google.protobuf.StringValue info = 2; - Client client = 3; - Namespace namespace = 4; - Service service = 5; - Instance instance = 6; - Routing routing = 7; - ServiceAlias alias = 8; - Rule rateLimit = 9; - CircuitBreaker circuitBreaker = 10; - ConfigRelease configRelease = 11; - reserved 12 to 18; - User user = 19; - UserGroup userGroup = 20; - AuthStrategy authStrategy = 21; - UserGroupRelation relation = 22; - LoginResponse loginResponse = 23; - ModifyAuthStrategy modifyAuthStrategy = 24; - ModifyUserGroup modifyUserGroup = 25; - StrategyResources resources = 26; - OptionSwitch optionSwitch = 27; - InstanceLabels instanceLabels = 28; - - google.protobuf.Any data = 29; - - ServiceContract serviceContract = 30; -} - -message BatchWriteResponse { - google.protobuf.UInt32Value code = 1; - google.protobuf.StringValue info = 2; - google.protobuf.UInt32Value size = 3; - repeated Response responses = 4; -} - -message BatchQueryResponse { - google.protobuf.UInt32Value code = 1; - google.protobuf.StringValue info = 2; - google.protobuf.UInt32Value amount = 3; - google.protobuf.UInt32Value size = 4; - repeated Namespace namespaces = 5; - repeated Service services = 6; - repeated Instance instances = 7; - repeated Routing routings = 8; - repeated ServiceAlias aliases = 9; - repeated Rule rateLimits = 10; - repeated ConfigWithService configWithServices = 11; - reserved 12 to 17; - repeated User users = 18; - repeated UserGroup userGroups = 19; - repeated AuthStrategy authStrategies = 20; - repeated Client clients = 21; - - repeated google.protobuf.Any data = 22; - Summary summary = 23; -} - -message DiscoverResponse { - google.protobuf.UInt32Value code = 1; - google.protobuf.StringValue info = 2; - - enum DiscoverResponseType { - UNKNOWN = 0; - INSTANCE = 1; - CLUSTER = 2; - ROUTING = 3; - RATE_LIMIT = 4; - CIRCUIT_BREAKER = 5; - SERVICES = 6; - reserved 7 to 11; - reserved "MESH", "MESH_CONFIG", "FLUX_DBREFRESH", "FLUX_SDK", "FLUX_SERVER"; - NAMESPACES = 12; - FAULT_DETECTOR = 13; - reserved 14 to 99; - LANE = 100; - // 自定义路由规则 - CUSTOM_ROUTE_RULE = 101; - // 就近路由规则 - NEARBY_ROUTE_RULE = 102; - } - - DiscoverResponseType type = 3; - Service service = 4; - repeated Instance instances = 5; - Routing routing = 6; - RateLimit rateLimit = 7; - CircuitBreaker circuitBreaker = 8; - repeated Service services = 9; - repeated Namespace namespaces = 10; - FaultDetector faultDetector = 11; - reserved 12 to 20; - Service aliasFor = 21; - repeated LaneGroup lanes = 22; - // 自定义路由规则内容 - repeated RouteRule customRouteRules = 23; - // 就近路由规则内容 - repeated RouteRule nearbyRouteRules = 24; -} - -message OptionSwitch { map options = 1; } - -message InstanceLabels { map labels = 1; } diff --git a/source/java/polaris-specification/src/main/proto/routing.proto b/source/java/polaris-specification/src/main/proto/routing.proto deleted file mode 100644 index 0754f134..00000000 --- a/source/java/polaris-specification/src/main/proto/routing.proto +++ /dev/null @@ -1,275 +0,0 @@ -syntax = "proto3"; - -package v1; - -import "google/protobuf/wrappers.proto"; -import "google/protobuf/any.proto"; -import "model.proto"; - -option go_package = "github.com/polarismesh/specification/source/go/api/v1/traffic_manage"; -option java_package = "com.tencent.polaris.specification.api.v1.traffic.manage"; -option java_outer_classname = "RoutingProto"; - -message Routing { - // 规则所属服务以及命名空间 - - google.protobuf.StringValue service = 1; - google.protobuf.StringValue namespace = 2; - - // 每个服务可以配置多条入站或者出站规则 - // 对于每个请求,从上到下依次匹配,若命中则终止 - repeated Route inbounds = 3; - repeated Route outbounds = 4; - - google.protobuf.StringValue ctime = 5; - google.protobuf.StringValue mtime = 6; - google.protobuf.StringValue revision = 7; - - google.protobuf.StringValue service_token = 8 [ json_name = "service_token" ]; - - reserved 9 to 20; - // route rules for current service - repeated RouteRule rules = 21; -} - -// deprecated: only for compatible to the old version server -message Route { - // 如果匹配Source规则,按照Destination路由 - // 多个Source之间的关系为或 - repeated Source sources = 1; - repeated Destination destinations = 2; - - // extendInfo 用于承载一些额外信息 - // case 1: 升级到 v2 版本时,记录对应到 v2 版本的 id 信息 - map extendInfo = 3; -} - -// deprecated: only for compatible to the old version server -message Source { - // 主调方服务以及命名空间 - google.protobuf.StringValue service = 1; - google.protobuf.StringValue namespace = 2; - - // 主调方服务实例标签或者请求标签 - // value支持正则匹配 - map metadata = 3; -} - -// deprecated: only for compatible to the old version server -message Destination { - // 被调方服务以及命名空间 - google.protobuf.StringValue service = 1; - google.protobuf.StringValue namespace = 2; - - // 被调方服务实例标签 - // value支持正则匹配 - map metadata = 3; - - // 根据服务名和服务实例metadata筛选符合条件的服务实例子集 - // 服务实例子集可以设置优先级和权重 - // 优先级:整型,范围[0, 9],最高优先级为0 - // 权重:整型 - // 先按优先级路由,如果存在高优先级,不会使用低优先级 - // 如果存在优先级相同的子集,再按权重分配 - // 优先级和权重可以都不设置/设置一个/设置两个 - // 如果部分设置优先级,部分没有设置,认为没有设置的优先级最低 - // 如果部分设置权重,部分没有设置,认为没有设置的权重为0 - // 如果全部没有设置权重,认为权重相同 - google.protobuf.UInt32Value priority = 4; - google.protobuf.UInt32Value weight = 5; - - // 将请求转发到代理服务 - google.protobuf.StringValue transfer = 6; - - //是否对该set执行隔离,隔离后,不会再分配流量 - google.protobuf.BoolValue isolate = 7; - - // 实例分组名 - google.protobuf.StringValue name = 8; -} - -enum RoutingPolicy { - // Route by rule rule => RuleRoutingConfig - RulePolicy = 0; - // Route by destination metadata ==> MetadataRoutingConfig - MetadataPolicy = 1; -} - -// configuration root for route -message RouteRule { - string id = 1; - // route rule name - string name = 2; - // namespace namingspace of routing rules - string namespace = 3; - // Enable this router - bool enable = 4; - // Router type - RoutingPolicy routing_policy = 5 [ json_name = "routing_policy" ]; - // Routing configuration for router - google.protobuf.Any routing_config = 6 [ json_name = "routing_config" ]; - // revision routing version - string revision = 7; - // ctime create time of the rules - string ctime = 8; - // mtime modify time of the rules - string mtime = 9; - // etime enable time of the rules - string etime = 10; - // priority rules priority - uint32 priority = 11; - // description simple description rules - string description = 12; - // extendInfo 用于承载一些额外信息 - // case 1: 升级到 v2 版本时,记录对应到 v1 版本的 id 信息 - // deprecated_filed only for compatible to the old version server - map extendInfo = 20; - // 路由规则标签数据 - map metadata = 50; -} - -message MetadataFailover { - enum FailoverRange { - // ALL return all instances - ALL = 0; - // OTHERS retuen without thie labels instances - OTHERS = 1; - // OTHER_KEYS return other instances which match keys - OTHER_KEYS = 2; - } - // failover_range metadata route bottom type - FailoverRange failover_range = 1; - // only use to failover_range == OTHER_KEYS - map labels = 2; -} - -// MetadataRoutingConfig metadata routing configuration -message MetadataRoutingConfig { - // service - string service = 1; - // namespace - string namespace = 2; - map labels = 3; - // When metadata not found, it will fall back to the - MetadataFailover failover = 4; -} - -// NearbyRoutingConfig routing configuration -message NearbyRoutingConfig { - enum LocationLevel { - // 未知就近级别,等同于未定义级别 - UNKNOWN = 0; - // 机房就近级别 - CAMPUS = 1; - // 可用区就近级别 - ZONE = 2; - // 地域就近级别 - REGION = 3; - // 全局就近级别 - ALL = 4; - } - // 被调服务名,支持*,代表全部服务 - string service = 1 [ json_name = "service" ]; - // 被调命名空间 - string namespace = 2 [ json_name = "namespace" ]; - // 默认就近级别 - LocationLevel match_level = 3 [ json_name = "match_level" ]; - // 最大就近级别 - LocationLevel max_match_level = 4 [ json_name = "max_match_level" ]; - // 是否强制就近 - bool strict_nearby = 5 [ json_name = "strict_nearby" ]; -} - -// RuleRoutingConfig routing configuration -message RuleRoutingConfig { - // source source info - // deprecated_filed only for compatible to the old version server - repeated SourceService sources = 1 [deprecated = true]; - // destination destinations info - // deprecated_filed only for compatible to the old version server - repeated DestinationGroup destinations = 2 [deprecated = true]; - // rule route chain - repeated SubRuleRouting rules = 3; -} - -// SubRuleRouting sub routing configuration -message SubRuleRouting { - // sub routing rule name - string name = 1; - // source source info - repeated SourceService sources = 2; - // destination destinations info - repeated DestinationGroup destinations = 3; -} - -message SourceService { - // Main tuning service and namespace - string service = 1; - string namespace = 2; - - // Master Control Service Example Tag or Request Label - // Value supports regular matching - repeated SourceMatch arguments = 3; -} - -message DestinationGroup { - // Templated service and namespace - string service = 1; - string namespace = 2; - - // Templated service example label - // Value supports regular matching - map labels = 3; - - // According to the service name and service instance Metadata Filter the - // qualified service instance subset Service instance subset can set priority - // and weight Priority: integer, range [0, 9], the highest priority is 0 - // Weight: Integer - // Press priority routing, if there is high priority, low priority will not - // use If there is a subset of the same priority, then assign by weight - // Priority and weight can be not set / set up one / set two - // If the section is set priority, some are not set, it is considered that the - // priority is not set. If the part is set, some is not set, it is considered - // that the weight is not set to 0 If you have no weight, you think the weight - // is the same - uint32 priority = 4; - uint32 weight = 5; - - // Forward requests to proxy service - string transfer = 6; - - // Whether to isolate the SET, after isolation, no traffic will be allocated - bool isolate = 7; - - // name desition name - string name = 8; -} - -// SourceMatch -message SourceMatch { - // label type for gateway request - enum Type { - // custom arguments - CUSTOM = 0; - // method, match the http post/get/put/delete or grpc method - METHOD = 1; - // header, match the http header, dubbo attachment, grpc header - HEADER = 2; - // query, match the http query, dubbo argument - QUERY = 3; - // caller host ip - CALLER_IP = 4; - // path, math the http url - PATH = 5; - // cookie match http cookie - COOKIE = 6; - // indicate the caller instance metadata - CALLER_METADATA = 7; - } - Type type = 1; - // header key or query key - string key = 2; - // header value or query value - MatchString value = 3; -} - diff --git a/source/java/polaris-specification/src/main/proto/service.proto b/source/java/polaris-specification/src/main/proto/service.proto deleted file mode 100644 index 98338052..00000000 --- a/source/java/polaris-specification/src/main/proto/service.proto +++ /dev/null @@ -1,109 +0,0 @@ -syntax = "proto3"; - -package v1; - -import "google/protobuf/wrappers.proto"; -import "model.proto"; - -option go_package = "github.com/polarismesh/specification/source/go/api/v1/service_manage"; -option java_package = "com.tencent.polaris.specification.api.v1.service.manage"; -option java_outer_classname = "ServiceProto"; - -message Service { - google.protobuf.StringValue name = 1; - google.protobuf.StringValue namespace = 2; - - map metadata = 3; - - google.protobuf.StringValue ports = 4; - google.protobuf.StringValue business = 5; - google.protobuf.StringValue department = 6; - google.protobuf.StringValue cmdb_mod1 = 7 [json_name = "cmdb_mod1"]; - google.protobuf.StringValue cmdb_mod2 = 8 [json_name = "cmdb_mod2"]; - google.protobuf.StringValue cmdb_mod3 = 9 [json_name = "cmdb_mod3"]; - google.protobuf.StringValue comment = 10; - google.protobuf.StringValue owners = 11; - google.protobuf.StringValue token = 12; - - google.protobuf.StringValue ctime = 13; - google.protobuf.StringValue mtime = 14; - google.protobuf.StringValue revision = 15; - google.protobuf.StringValue platform_id = 16 [json_name = "platform_id"]; - - google.protobuf.UInt32Value total_instance_count = 17 [json_name = "total_instance_count"]; - google.protobuf.UInt32Value healthy_instance_count = 18 [json_name = "healthy_instance_count"]; - - repeated google.protobuf.StringValue user_ids = 19 [json_name = "user_ids"]; - repeated google.protobuf.StringValue group_ids = 20 [json_name = "group_ids"]; - - repeated google.protobuf.StringValue remove_user_ids = 22 [json_name = "remove_user_ids"]; - repeated google.protobuf.StringValue remove_group_ids = 23 [json_name = "remove_group_ids"]; - - google.protobuf.StringValue id = 21; - google.protobuf.BoolValue editable = 24; - repeated google.protobuf.StringValue export_to = 25 [ json_name = "export_to" ]; -} - -enum AliasType { - DEFAULT = 0; - CL5SID = 1; -} - -message ServiceAlias { - google.protobuf.StringValue service = 1; - google.protobuf.StringValue namespace = 2; - google.protobuf.StringValue alias = 3; - google.protobuf.StringValue alias_namespace = 4 [json_name = "alias_namespace"]; - AliasType type = 5; - google.protobuf.StringValue owners = 6; - google.protobuf.StringValue comment = 7; - google.protobuf.StringValue service_token = 8 [json_name = "service_token"]; - - google.protobuf.StringValue ctime = 9; - google.protobuf.StringValue mtime = 10; - - google.protobuf.StringValue id = 11; - google.protobuf.BoolValue editable = 12; -} - -message Instance { - google.protobuf.StringValue id = 1; - google.protobuf.StringValue service = 2; - google.protobuf.StringValue namespace = 3; - google.protobuf.StringValue vpc_id = 21 [json_name = "vpc_id"]; - google.protobuf.StringValue host = 4; - google.protobuf.UInt32Value port = 5; - google.protobuf.StringValue protocol = 6; - google.protobuf.StringValue version = 7; - google.protobuf.UInt32Value priority = 8; - google.protobuf.UInt32Value weight = 9; - google.protobuf.BoolValue enable_health_check = 20; - HealthCheck health_check = 10; - google.protobuf.BoolValue healthy = 11; - google.protobuf.BoolValue isolate = 12; - Location location = 13; - - map metadata = 14; - google.protobuf.StringValue logic_set = 15 [json_name = "logic_set"]; - - google.protobuf.StringValue ctime = 16; - google.protobuf.StringValue mtime = 17; - google.protobuf.StringValue revision = 18; - - google.protobuf.StringValue service_token = 19 [json_name = "service_token"]; -} - -message HealthCheck { - enum HealthCheckType { - UNKNOWN = 0; - HEARTBEAT = 1; - } - - HealthCheckType type = 1; - - HeartbeatHealthCheck heartbeat = 2; -} - -message HeartbeatHealthCheck { - google.protobuf.UInt32Value ttl = 1; -} diff --git a/source/protoc/protoc-darwin-arm64/bin/protoc b/source/protoc/protoc-darwin-arm64/bin/protoc new file mode 100755 index 00000000..67d44afd Binary files /dev/null and b/source/protoc/protoc-darwin-arm64/bin/protoc differ diff --git a/source/protoc/protoc-darwin-arm64/bin/protoc-gen-go b/source/protoc/protoc-darwin-arm64/bin/protoc-gen-go new file mode 100755 index 00000000..8d38cd62 Binary files /dev/null and b/source/protoc/protoc-darwin-arm64/bin/protoc-gen-go differ diff --git a/source/protoc/protoc-darwin-arm64/bin/protoc-go-inject-tag b/source/protoc/protoc-darwin-arm64/bin/protoc-go-inject-tag new file mode 100755 index 00000000..ce87406e Binary files /dev/null and b/source/protoc/protoc-darwin-arm64/bin/protoc-go-inject-tag differ diff --git a/source/protoc/protoc-darwin-arm64/include/google/protobuf/any.proto b/source/protoc/protoc-darwin-arm64/include/google/protobuf/any.proto new file mode 100644 index 00000000..eff44e50 --- /dev/null +++ b/source/protoc/protoc-darwin-arm64/include/google/protobuf/any.proto @@ -0,0 +1,162 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// https://developers.google.com/protocol-buffers/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +syntax = "proto3"; + +package google.protobuf; + +option go_package = "google.golang.org/protobuf/types/known/anypb"; +option java_package = "com.google.protobuf"; +option java_outer_classname = "AnyProto"; +option java_multiple_files = true; +option objc_class_prefix = "GPB"; +option csharp_namespace = "Google.Protobuf.WellKnownTypes"; + +// `Any` contains an arbitrary serialized protocol buffer message along with a +// URL that describes the type of the serialized message. +// +// Protobuf library provides support to pack/unpack Any values in the form +// of utility functions or additional generated methods of the Any type. +// +// Example 1: Pack and unpack a message in C++. +// +// Foo foo = ...; +// Any any; +// any.PackFrom(foo); +// ... +// if (any.UnpackTo(&foo)) { +// ... +// } +// +// Example 2: Pack and unpack a message in Java. +// +// Foo foo = ...; +// Any any = Any.pack(foo); +// ... +// if (any.is(Foo.class)) { +// foo = any.unpack(Foo.class); +// } +// // or ... +// if (any.isSameTypeAs(Foo.getDefaultInstance())) { +// foo = any.unpack(Foo.getDefaultInstance()); +// } +// +// Example 3: Pack and unpack a message in Python. +// +// foo = Foo(...) +// any = Any() +// any.Pack(foo) +// ... +// if any.Is(Foo.DESCRIPTOR): +// any.Unpack(foo) +// ... +// +// Example 4: Pack and unpack a message in Go +// +// foo := &pb.Foo{...} +// any, err := anypb.New(foo) +// if err != nil { +// ... +// } +// ... +// foo := &pb.Foo{} +// if err := any.UnmarshalTo(foo); err != nil { +// ... +// } +// +// The pack methods provided by protobuf library will by default use +// 'type.googleapis.com/full.type.name' as the type URL and the unpack +// methods only use the fully qualified type name after the last '/' +// in the type URL, for example "foo.bar.com/x/y.z" will yield type +// name "y.z". +// +// JSON +// ==== +// The JSON representation of an `Any` value uses the regular +// representation of the deserialized, embedded message, with an +// additional field `@type` which contains the type URL. Example: +// +// package google.profile; +// message Person { +// string first_name = 1; +// string last_name = 2; +// } +// +// { +// "@type": "type.googleapis.com/google.profile.Person", +// "firstName": , +// "lastName": +// } +// +// If the embedded message type is well-known and has a custom JSON +// representation, that representation will be embedded adding a field +// `value` which holds the custom JSON in addition to the `@type` +// field. Example (for message [google.protobuf.Duration][]): +// +// { +// "@type": "type.googleapis.com/google.protobuf.Duration", +// "value": "1.212s" +// } +// +message Any { + // A URL/resource name that uniquely identifies the type of the serialized + // protocol buffer message. This string must contain at least + // one "/" character. The last segment of the URL's path must represent + // the fully qualified name of the type (as in + // `path/google.protobuf.Duration`). The name should be in a canonical form + // (e.g., leading "." is not accepted). + // + // In practice, teams usually precompile into the binary all types that they + // expect it to use in the context of Any. However, for URLs which use the + // scheme `http`, `https`, or no scheme, one can optionally set up a type + // server that maps type URLs to message definitions as follows: + // + // * If no scheme is provided, `https` is assumed. + // * An HTTP GET on the URL must yield a [google.protobuf.Type][] + // value in binary format, or produce an error. + // * Applications are allowed to cache lookup results based on the + // URL, or have them precompiled into a binary to avoid any + // lookup. Therefore, binary compatibility needs to be preserved + // on changes to types. (Use versioned type names to manage + // breaking changes.) + // + // Note: this functionality is not currently available in the official + // protobuf release, and it is not used for type URLs beginning with + // type.googleapis.com. As of May 2023, there are no widely used type server + // implementations and no plans to implement one. + // + // Schemes other than `http`, `https` (or the empty scheme) might be + // used with implementation specific semantics. + // + string type_url = 1; + + // Must be a valid serialized protocol buffer of the above specified type. + bytes value = 2; +} diff --git a/source/protoc/protoc-darwin-arm64/include/google/protobuf/api.proto b/source/protoc/protoc-darwin-arm64/include/google/protobuf/api.proto new file mode 100644 index 00000000..42223516 --- /dev/null +++ b/source/protoc/protoc-darwin-arm64/include/google/protobuf/api.proto @@ -0,0 +1,207 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// https://developers.google.com/protocol-buffers/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +syntax = "proto3"; + +package google.protobuf; + +import "google/protobuf/source_context.proto"; +import "google/protobuf/type.proto"; + +option java_package = "com.google.protobuf"; +option java_outer_classname = "ApiProto"; +option java_multiple_files = true; +option objc_class_prefix = "GPB"; +option csharp_namespace = "Google.Protobuf.WellKnownTypes"; +option go_package = "google.golang.org/protobuf/types/known/apipb"; + +// Api is a light-weight descriptor for an API Interface. +// +// Interfaces are also described as "protocol buffer services" in some contexts, +// such as by the "service" keyword in a .proto file, but they are different +// from API Services, which represent a concrete implementation of an interface +// as opposed to simply a description of methods and bindings. They are also +// sometimes simply referred to as "APIs" in other contexts, such as the name of +// this message itself. See https://cloud.google.com/apis/design/glossary for +// detailed terminology. +message Api { + // The fully qualified name of this interface, including package name + // followed by the interface's simple name. + string name = 1; + + // The methods of this interface, in unspecified order. + repeated Method methods = 2; + + // Any metadata attached to the interface. + repeated Option options = 3; + + // A version string for this interface. If specified, must have the form + // `major-version.minor-version`, as in `1.10`. If the minor version is + // omitted, it defaults to zero. If the entire version field is empty, the + // major version is derived from the package name, as outlined below. If the + // field is not empty, the version in the package name will be verified to be + // consistent with what is provided here. + // + // The versioning schema uses [semantic + // versioning](http://semver.org) where the major version number + // indicates a breaking change and the minor version an additive, + // non-breaking change. Both version numbers are signals to users + // what to expect from different versions, and should be carefully + // chosen based on the product plan. + // + // The major version is also reflected in the package name of the + // interface, which must end in `v`, as in + // `google.feature.v1`. For major versions 0 and 1, the suffix can + // be omitted. Zero major versions must only be used for + // experimental, non-GA interfaces. + // + string version = 4; + + // Source context for the protocol buffer service represented by this + // message. + SourceContext source_context = 5; + + // Included interfaces. See [Mixin][]. + repeated Mixin mixins = 6; + + // The source syntax of the service. + Syntax syntax = 7; +} + +// Method represents a method of an API interface. +message Method { + // The simple name of this method. + string name = 1; + + // A URL of the input message type. + string request_type_url = 2; + + // If true, the request is streamed. + bool request_streaming = 3; + + // The URL of the output message type. + string response_type_url = 4; + + // If true, the response is streamed. + bool response_streaming = 5; + + // Any metadata attached to the method. + repeated Option options = 6; + + // The source syntax of this method. + Syntax syntax = 7; +} + +// Declares an API Interface to be included in this interface. The including +// interface must redeclare all the methods from the included interface, but +// documentation and options are inherited as follows: +// +// - If after comment and whitespace stripping, the documentation +// string of the redeclared method is empty, it will be inherited +// from the original method. +// +// - Each annotation belonging to the service config (http, +// visibility) which is not set in the redeclared method will be +// inherited. +// +// - If an http annotation is inherited, the path pattern will be +// modified as follows. Any version prefix will be replaced by the +// version of the including interface plus the [root][] path if +// specified. +// +// Example of a simple mixin: +// +// package google.acl.v1; +// service AccessControl { +// // Get the underlying ACL object. +// rpc GetAcl(GetAclRequest) returns (Acl) { +// option (google.api.http).get = "/v1/{resource=**}:getAcl"; +// } +// } +// +// package google.storage.v2; +// service Storage { +// rpc GetAcl(GetAclRequest) returns (Acl); +// +// // Get a data record. +// rpc GetData(GetDataRequest) returns (Data) { +// option (google.api.http).get = "/v2/{resource=**}"; +// } +// } +// +// Example of a mixin configuration: +// +// apis: +// - name: google.storage.v2.Storage +// mixins: +// - name: google.acl.v1.AccessControl +// +// The mixin construct implies that all methods in `AccessControl` are +// also declared with same name and request/response types in +// `Storage`. A documentation generator or annotation processor will +// see the effective `Storage.GetAcl` method after inherting +// documentation and annotations as follows: +// +// service Storage { +// // Get the underlying ACL object. +// rpc GetAcl(GetAclRequest) returns (Acl) { +// option (google.api.http).get = "/v2/{resource=**}:getAcl"; +// } +// ... +// } +// +// Note how the version in the path pattern changed from `v1` to `v2`. +// +// If the `root` field in the mixin is specified, it should be a +// relative path under which inherited HTTP paths are placed. Example: +// +// apis: +// - name: google.storage.v2.Storage +// mixins: +// - name: google.acl.v1.AccessControl +// root: acls +// +// This implies the following inherited HTTP annotation: +// +// service Storage { +// // Get the underlying ACL object. +// rpc GetAcl(GetAclRequest) returns (Acl) { +// option (google.api.http).get = "/v2/acls/{resource=**}:getAcl"; +// } +// ... +// } +message Mixin { + // The fully qualified name of the interface which is included. + string name = 1; + + // If non-empty specifies a path under which inherited HTTP paths + // are rooted. + string root = 2; +} diff --git a/source/protoc/protoc-darwin-arm64/include/google/protobuf/compiler/plugin.proto b/source/protoc/protoc-darwin-arm64/include/google/protobuf/compiler/plugin.proto new file mode 100644 index 00000000..033fab23 --- /dev/null +++ b/source/protoc/protoc-darwin-arm64/include/google/protobuf/compiler/plugin.proto @@ -0,0 +1,180 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file or at +// https://developers.google.com/open-source/licenses/bsd + +// Author: kenton@google.com (Kenton Varda) +// +// protoc (aka the Protocol Compiler) can be extended via plugins. A plugin is +// just a program that reads a CodeGeneratorRequest from stdin and writes a +// CodeGeneratorResponse to stdout. +// +// Plugins written using C++ can use google/protobuf/compiler/plugin.h instead +// of dealing with the raw protocol defined here. +// +// A plugin executable needs only to be placed somewhere in the path. The +// plugin should be named "protoc-gen-$NAME", and will then be used when the +// flag "--${NAME}_out" is passed to protoc. + +syntax = "proto2"; + +package google.protobuf.compiler; +option java_package = "com.google.protobuf.compiler"; +option java_outer_classname = "PluginProtos"; + +option csharp_namespace = "Google.Protobuf.Compiler"; +option go_package = "google.golang.org/protobuf/types/pluginpb"; + +import "google/protobuf/descriptor.proto"; + +// The version number of protocol compiler. +message Version { + optional int32 major = 1; + optional int32 minor = 2; + optional int32 patch = 3; + // A suffix for alpha, beta or rc release, e.g., "alpha-1", "rc2". It should + // be empty for mainline stable releases. + optional string suffix = 4; +} + +// An encoded CodeGeneratorRequest is written to the plugin's stdin. +message CodeGeneratorRequest { + // The .proto files that were explicitly listed on the command-line. The + // code generator should generate code only for these files. Each file's + // descriptor will be included in proto_file, below. + repeated string file_to_generate = 1; + + // The generator parameter passed on the command-line. + optional string parameter = 2; + + // FileDescriptorProtos for all files in files_to_generate and everything + // they import. The files will appear in topological order, so each file + // appears before any file that imports it. + // + // Note: the files listed in files_to_generate will include runtime-retention + // options only, but all other files will include source-retention options. + // The source_file_descriptors field below is available in case you need + // source-retention options for files_to_generate. + // + // protoc guarantees that all proto_files will be written after + // the fields above, even though this is not technically guaranteed by the + // protobuf wire format. This theoretically could allow a plugin to stream + // in the FileDescriptorProtos and handle them one by one rather than read + // the entire set into memory at once. However, as of this writing, this + // is not similarly optimized on protoc's end -- it will store all fields in + // memory at once before sending them to the plugin. + // + // Type names of fields and extensions in the FileDescriptorProto are always + // fully qualified. + repeated FileDescriptorProto proto_file = 15; + + // File descriptors with all options, including source-retention options. + // These descriptors are only provided for the files listed in + // files_to_generate. + repeated FileDescriptorProto source_file_descriptors = 17; + + // The version number of protocol compiler. + optional Version compiler_version = 3; +} + +// The plugin writes an encoded CodeGeneratorResponse to stdout. +message CodeGeneratorResponse { + // Error message. If non-empty, code generation failed. The plugin process + // should exit with status code zero even if it reports an error in this way. + // + // This should be used to indicate errors in .proto files which prevent the + // code generator from generating correct code. Errors which indicate a + // problem in protoc itself -- such as the input CodeGeneratorRequest being + // unparseable -- should be reported by writing a message to stderr and + // exiting with a non-zero status code. + optional string error = 1; + + // A bitmask of supported features that the code generator supports. + // This is a bitwise "or" of values from the Feature enum. + optional uint64 supported_features = 2; + + // Sync with code_generator.h. + enum Feature { + FEATURE_NONE = 0; + FEATURE_PROTO3_OPTIONAL = 1; + FEATURE_SUPPORTS_EDITIONS = 2; + } + + // The minimum edition this plugin supports. This will be treated as an + // Edition enum, but we want to allow unknown values. It should be specified + // according the edition enum value, *not* the edition number. Only takes + // effect for plugins that have FEATURE_SUPPORTS_EDITIONS set. + optional int32 minimum_edition = 3; + + // The maximum edition this plugin supports. This will be treated as an + // Edition enum, but we want to allow unknown values. It should be specified + // according the edition enum value, *not* the edition number. Only takes + // effect for plugins that have FEATURE_SUPPORTS_EDITIONS set. + optional int32 maximum_edition = 4; + + // Represents a single generated file. + message File { + // The file name, relative to the output directory. The name must not + // contain "." or ".." components and must be relative, not be absolute (so, + // the file cannot lie outside the output directory). "/" must be used as + // the path separator, not "\". + // + // If the name is omitted, the content will be appended to the previous + // file. This allows the generator to break large files into small chunks, + // and allows the generated text to be streamed back to protoc so that large + // files need not reside completely in memory at one time. Note that as of + // this writing protoc does not optimize for this -- it will read the entire + // CodeGeneratorResponse before writing files to disk. + optional string name = 1; + + // If non-empty, indicates that the named file should already exist, and the + // content here is to be inserted into that file at a defined insertion + // point. This feature allows a code generator to extend the output + // produced by another code generator. The original generator may provide + // insertion points by placing special annotations in the file that look + // like: + // @@protoc_insertion_point(NAME) + // The annotation can have arbitrary text before and after it on the line, + // which allows it to be placed in a comment. NAME should be replaced with + // an identifier naming the point -- this is what other generators will use + // as the insertion_point. Code inserted at this point will be placed + // immediately above the line containing the insertion point (thus multiple + // insertions to the same point will come out in the order they were added). + // The double-@ is intended to make it unlikely that the generated code + // could contain things that look like insertion points by accident. + // + // For example, the C++ code generator places the following line in the + // .pb.h files that it generates: + // // @@protoc_insertion_point(namespace_scope) + // This line appears within the scope of the file's package namespace, but + // outside of any particular class. Another plugin can then specify the + // insertion_point "namespace_scope" to generate additional classes or + // other declarations that should be placed in this scope. + // + // Note that if the line containing the insertion point begins with + // whitespace, the same whitespace will be added to every line of the + // inserted text. This is useful for languages like Python, where + // indentation matters. In these languages, the insertion point comment + // should be indented the same amount as any inserted code will need to be + // in order to work correctly in that context. + // + // The code generator that generates the initial file and the one which + // inserts into it must both run as part of a single invocation of protoc. + // Code generators are executed in the order in which they appear on the + // command line. + // + // If |insertion_point| is present, |name| must also be present. + optional string insertion_point = 2; + + // The file contents. + optional string content = 15; + + // Information describing the file content being inserted. If an insertion + // point is used, this information will be appropriately offset and inserted + // into the code generation metadata for the generated files. + optional GeneratedCodeInfo generated_code_info = 16; + } + repeated File file = 15; +} diff --git a/source/protoc/protoc-darwin-arm64/include/google/protobuf/cpp_features.proto b/source/protoc/protoc-darwin-arm64/include/google/protobuf/cpp_features.proto new file mode 100644 index 00000000..605f67b4 --- /dev/null +++ b/source/protoc/protoc-darwin-arm64/include/google/protobuf/cpp_features.proto @@ -0,0 +1,58 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2023 Google Inc. All rights reserved. +// +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file or at +// https://developers.google.com/open-source/licenses/bsd + +syntax = "proto2"; + +package pb; + +import "google/protobuf/descriptor.proto"; + +extend google.protobuf.FeatureSet { + optional CppFeatures cpp = 1000; +} + +message CppFeatures { + // Whether or not to treat an enum field as closed. This option is only + // applicable to enum fields, and will be removed in the future. It is + // consistent with the legacy behavior of using proto3 enum types for proto2 + // fields. + optional bool legacy_closed_enum = 1 [ + retention = RETENTION_RUNTIME, + targets = TARGET_TYPE_FIELD, + targets = TARGET_TYPE_FILE, + // TODO Enable this in google3 once protoc rolls out. + feature_support = { + edition_introduced: EDITION_2023, + edition_deprecated: EDITION_2023, + deprecation_warning: "The legacy closed enum treatment in C++ is " + "deprecated and is scheduled to be removed in " + "edition 2025. Mark enum type on the enum " + "definitions themselves rather than on fields.", + }, + edition_defaults = { edition: EDITION_PROTO2, value: "true" }, + edition_defaults = { edition: EDITION_PROTO3, value: "false" } + ]; + + enum StringType { + STRING_TYPE_UNKNOWN = 0; + VIEW = 1; + CORD = 2; + STRING = 3; + } + + optional StringType string_type = 2 [ + retention = RETENTION_RUNTIME, + targets = TARGET_TYPE_FIELD, + targets = TARGET_TYPE_FILE, + // TODO Enable this in google3 once protoc rolls out. + feature_support = { + edition_introduced: EDITION_2023, + }, + edition_defaults = { edition: EDITION_PROTO2, value: "STRING" }, + edition_defaults = { edition: EDITION_2024, value: "VIEW" } + ]; +} diff --git a/source/protoc/protoc-darwin-arm64/include/google/protobuf/descriptor.proto b/source/protoc/protoc-darwin-arm64/include/google/protobuf/descriptor.proto new file mode 100644 index 00000000..acd7e675 --- /dev/null +++ b/source/protoc/protoc-darwin-arm64/include/google/protobuf/descriptor.proto @@ -0,0 +1,1301 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// https://developers.google.com/protocol-buffers/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +// Author: kenton@google.com (Kenton Varda) +// Based on original Protocol Buffers design by +// Sanjay Ghemawat, Jeff Dean, and others. +// +// The messages in this file describe the definitions found in .proto files. +// A valid .proto file can be translated directly to a FileDescriptorProto +// without any other information (e.g. without reading its imports). + +syntax = "proto2"; + +package google.protobuf; + +option go_package = "google.golang.org/protobuf/types/descriptorpb"; +option java_package = "com.google.protobuf"; +option java_outer_classname = "DescriptorProtos"; +option csharp_namespace = "Google.Protobuf.Reflection"; +option objc_class_prefix = "GPB"; +option cc_enable_arenas = true; + +// descriptor.proto must be optimized for speed because reflection-based +// algorithms don't work during bootstrapping. +option optimize_for = SPEED; + +// The protocol compiler can output a FileDescriptorSet containing the .proto +// files it parses. +message FileDescriptorSet { + repeated FileDescriptorProto file = 1; +} + +// The full set of known editions. +enum Edition { + // A placeholder for an unknown edition value. + EDITION_UNKNOWN = 0; + + // A placeholder edition for specifying default behaviors *before* a feature + // was first introduced. This is effectively an "infinite past". + EDITION_LEGACY = 900; + + // Legacy syntax "editions". These pre-date editions, but behave much like + // distinct editions. These can't be used to specify the edition of proto + // files, but feature definitions must supply proto2/proto3 defaults for + // backwards compatibility. + EDITION_PROTO2 = 998; + EDITION_PROTO3 = 999; + + // Editions that have been released. The specific values are arbitrary and + // should not be depended on, but they will always be time-ordered for easy + // comparison. + EDITION_2023 = 1000; + EDITION_2024 = 1001; + + // Placeholder editions for testing feature resolution. These should not be + // used or relyed on outside of tests. + EDITION_1_TEST_ONLY = 1; + EDITION_2_TEST_ONLY = 2; + EDITION_99997_TEST_ONLY = 99997; + EDITION_99998_TEST_ONLY = 99998; + EDITION_99999_TEST_ONLY = 99999; + + // Placeholder for specifying unbounded edition support. This should only + // ever be used by plugins that can expect to never require any changes to + // support a new edition. + EDITION_MAX = 0x7FFFFFFF; +} + +// Describes a complete .proto file. +message FileDescriptorProto { + optional string name = 1; // file name, relative to root of source tree + optional string package = 2; // e.g. "foo", "foo.bar", etc. + + // Names of files imported by this file. + repeated string dependency = 3; + // Indexes of the public imported files in the dependency list above. + repeated int32 public_dependency = 10; + // Indexes of the weak imported files in the dependency list. + // For Google-internal migration only. Do not use. + repeated int32 weak_dependency = 11; + + // All top-level definitions in this file. + repeated DescriptorProto message_type = 4; + repeated EnumDescriptorProto enum_type = 5; + repeated ServiceDescriptorProto service = 6; + repeated FieldDescriptorProto extension = 7; + + optional FileOptions options = 8; + + // This field contains optional information about the original source code. + // You may safely remove this entire field without harming runtime + // functionality of the descriptors -- the information is needed only by + // development tools. + optional SourceCodeInfo source_code_info = 9; + + // The syntax of the proto file. + // The supported values are "proto2", "proto3", and "editions". + // + // If `edition` is present, this value must be "editions". + optional string syntax = 12; + + // The edition of the proto file. + optional Edition edition = 14; +} + +// Describes a message type. +message DescriptorProto { + optional string name = 1; + + repeated FieldDescriptorProto field = 2; + repeated FieldDescriptorProto extension = 6; + + repeated DescriptorProto nested_type = 3; + repeated EnumDescriptorProto enum_type = 4; + + message ExtensionRange { + optional int32 start = 1; // Inclusive. + optional int32 end = 2; // Exclusive. + + optional ExtensionRangeOptions options = 3; + } + repeated ExtensionRange extension_range = 5; + + repeated OneofDescriptorProto oneof_decl = 8; + + optional MessageOptions options = 7; + + // Range of reserved tag numbers. Reserved tag numbers may not be used by + // fields or extension ranges in the same message. Reserved ranges may + // not overlap. + message ReservedRange { + optional int32 start = 1; // Inclusive. + optional int32 end = 2; // Exclusive. + } + repeated ReservedRange reserved_range = 9; + // Reserved field names, which may not be used by fields in the same message. + // A given name may only be reserved once. + repeated string reserved_name = 10; +} + +message ExtensionRangeOptions { + // The parser stores options it doesn't recognize here. See above. + repeated UninterpretedOption uninterpreted_option = 999; + + message Declaration { + // The extension number declared within the extension range. + optional int32 number = 1; + + // The fully-qualified name of the extension field. There must be a leading + // dot in front of the full name. + optional string full_name = 2; + + // The fully-qualified type name of the extension field. Unlike + // Metadata.type, Declaration.type must have a leading dot for messages + // and enums. + optional string type = 3; + + // If true, indicates that the number is reserved in the extension range, + // and any extension field with the number will fail to compile. Set this + // when a declared extension field is deleted. + optional bool reserved = 5; + + // If true, indicates that the extension must be defined as repeated. + // Otherwise the extension must be defined as optional. + optional bool repeated = 6; + + reserved 4; // removed is_repeated + } + + // For external users: DO NOT USE. We are in the process of open sourcing + // extension declaration and executing internal cleanups before it can be + // used externally. + repeated Declaration declaration = 2 [retention = RETENTION_SOURCE]; + + // Any features defined in the specific edition. + optional FeatureSet features = 50; + + // The verification state of the extension range. + enum VerificationState { + // All the extensions of the range must be declared. + DECLARATION = 0; + UNVERIFIED = 1; + } + + // The verification state of the range. + // TODO: flip the default to DECLARATION once all empty ranges + // are marked as UNVERIFIED. + optional VerificationState verification = 3 + [default = UNVERIFIED, retention = RETENTION_SOURCE]; + + // Clients can define custom options in extensions of this message. See above. + extensions 1000 to max; +} + +// Describes a field within a message. +message FieldDescriptorProto { + enum Type { + // 0 is reserved for errors. + // Order is weird for historical reasons. + TYPE_DOUBLE = 1; + TYPE_FLOAT = 2; + // Not ZigZag encoded. Negative numbers take 10 bytes. Use TYPE_SINT64 if + // negative values are likely. + TYPE_INT64 = 3; + TYPE_UINT64 = 4; + // Not ZigZag encoded. Negative numbers take 10 bytes. Use TYPE_SINT32 if + // negative values are likely. + TYPE_INT32 = 5; + TYPE_FIXED64 = 6; + TYPE_FIXED32 = 7; + TYPE_BOOL = 8; + TYPE_STRING = 9; + // Tag-delimited aggregate. + // Group type is deprecated and not supported after google.protobuf. However, Proto3 + // implementations should still be able to parse the group wire format and + // treat group fields as unknown fields. In Editions, the group wire format + // can be enabled via the `message_encoding` feature. + TYPE_GROUP = 10; + TYPE_MESSAGE = 11; // Length-delimited aggregate. + + // New in version 2. + TYPE_BYTES = 12; + TYPE_UINT32 = 13; + TYPE_ENUM = 14; + TYPE_SFIXED32 = 15; + TYPE_SFIXED64 = 16; + TYPE_SINT32 = 17; // Uses ZigZag encoding. + TYPE_SINT64 = 18; // Uses ZigZag encoding. + } + + enum Label { + // 0 is reserved for errors + LABEL_OPTIONAL = 1; + LABEL_REPEATED = 3; + // The required label is only allowed in google.protobuf. In proto3 and Editions + // it's explicitly prohibited. In Editions, the `field_presence` feature + // can be used to get this behavior. + LABEL_REQUIRED = 2; + } + + optional string name = 1; + optional int32 number = 3; + optional Label label = 4; + + // If type_name is set, this need not be set. If both this and type_name + // are set, this must be one of TYPE_ENUM, TYPE_MESSAGE or TYPE_GROUP. + optional Type type = 5; + + // For message and enum types, this is the name of the type. If the name + // starts with a '.', it is fully-qualified. Otherwise, C++-like scoping + // rules are used to find the type (i.e. first the nested types within this + // message are searched, then within the parent, on up to the root + // namespace). + optional string type_name = 6; + + // For extensions, this is the name of the type being extended. It is + // resolved in the same manner as type_name. + optional string extendee = 2; + + // For numeric types, contains the original text representation of the value. + // For booleans, "true" or "false". + // For strings, contains the default text contents (not escaped in any way). + // For bytes, contains the C escaped value. All bytes >= 128 are escaped. + optional string default_value = 7; + + // If set, gives the index of a oneof in the containing type's oneof_decl + // list. This field is a member of that oneof. + optional int32 oneof_index = 9; + + // JSON name of this field. The value is set by protocol compiler. If the + // user has set a "json_name" option on this field, that option's value + // will be used. Otherwise, it's deduced from the field's name by converting + // it to camelCase. + optional string json_name = 10; + + optional FieldOptions options = 8; + + // If true, this is a proto3 "optional". When a proto3 field is optional, it + // tracks presence regardless of field type. + // + // When proto3_optional is true, this field must belong to a oneof to signal + // to old proto3 clients that presence is tracked for this field. This oneof + // is known as a "synthetic" oneof, and this field must be its sole member + // (each proto3 optional field gets its own synthetic oneof). Synthetic oneofs + // exist in the descriptor only, and do not generate any API. Synthetic oneofs + // must be ordered after all "real" oneofs. + // + // For message fields, proto3_optional doesn't create any semantic change, + // since non-repeated message fields always track presence. However it still + // indicates the semantic detail of whether the user wrote "optional" or not. + // This can be useful for round-tripping the .proto file. For consistency we + // give message fields a synthetic oneof also, even though it is not required + // to track presence. This is especially important because the parser can't + // tell if a field is a message or an enum, so it must always create a + // synthetic oneof. + // + // Proto2 optional fields do not set this flag, because they already indicate + // optional with `LABEL_OPTIONAL`. + optional bool proto3_optional = 17; +} + +// Describes a oneof. +message OneofDescriptorProto { + optional string name = 1; + optional OneofOptions options = 2; +} + +// Describes an enum type. +message EnumDescriptorProto { + optional string name = 1; + + repeated EnumValueDescriptorProto value = 2; + + optional EnumOptions options = 3; + + // Range of reserved numeric values. Reserved values may not be used by + // entries in the same enum. Reserved ranges may not overlap. + // + // Note that this is distinct from DescriptorProto.ReservedRange in that it + // is inclusive such that it can appropriately represent the entire int32 + // domain. + message EnumReservedRange { + optional int32 start = 1; // Inclusive. + optional int32 end = 2; // Inclusive. + } + + // Range of reserved numeric values. Reserved numeric values may not be used + // by enum values in the same enum declaration. Reserved ranges may not + // overlap. + repeated EnumReservedRange reserved_range = 4; + + // Reserved enum value names, which may not be reused. A given name may only + // be reserved once. + repeated string reserved_name = 5; +} + +// Describes a value within an enum. +message EnumValueDescriptorProto { + optional string name = 1; + optional int32 number = 2; + + optional EnumValueOptions options = 3; +} + +// Describes a service. +message ServiceDescriptorProto { + optional string name = 1; + repeated MethodDescriptorProto method = 2; + + optional ServiceOptions options = 3; +} + +// Describes a method of a service. +message MethodDescriptorProto { + optional string name = 1; + + // Input and output type names. These are resolved in the same way as + // FieldDescriptorProto.type_name, but must refer to a message type. + optional string input_type = 2; + optional string output_type = 3; + + optional MethodOptions options = 4; + + // Identifies if client streams multiple client messages + optional bool client_streaming = 5 [default = false]; + // Identifies if server streams multiple server messages + optional bool server_streaming = 6 [default = false]; +} + +// =================================================================== +// Options + +// Each of the definitions above may have "options" attached. These are +// just annotations which may cause code to be generated slightly differently +// or may contain hints for code that manipulates protocol messages. +// +// Clients may define custom options as extensions of the *Options messages. +// These extensions may not yet be known at parsing time, so the parser cannot +// store the values in them. Instead it stores them in a field in the *Options +// message called uninterpreted_option. This field must have the same name +// across all *Options messages. We then use this field to populate the +// extensions when we build a descriptor, at which point all protos have been +// parsed and so all extensions are known. +// +// Extension numbers for custom options may be chosen as follows: +// * For options which will only be used within a single application or +// organization, or for experimental options, use field numbers 50000 +// through 99999. It is up to you to ensure that you do not use the +// same number for multiple options. +// * For options which will be published and used publicly by multiple +// independent entities, e-mail protobuf-global-extension-registry@google.com +// to reserve extension numbers. Simply provide your project name (e.g. +// Objective-C plugin) and your project website (if available) -- there's no +// need to explain how you intend to use them. Usually you only need one +// extension number. You can declare multiple options with only one extension +// number by putting them in a sub-message. See the Custom Options section of +// the docs for examples: +// https://developers.google.com/protocol-buffers/docs/proto#options +// If this turns out to be popular, a web service will be set up +// to automatically assign option numbers. + +message FileOptions { + + // Sets the Java package where classes generated from this .proto will be + // placed. By default, the proto package is used, but this is often + // inappropriate because proto packages do not normally start with backwards + // domain names. + optional string java_package = 1; + + // Controls the name of the wrapper Java class generated for the .proto file. + // That class will always contain the .proto file's getDescriptor() method as + // well as any top-level extensions defined in the .proto file. + // If java_multiple_files is disabled, then all the other classes from the + // .proto file will be nested inside the single wrapper outer class. + optional string java_outer_classname = 8; + + // If enabled, then the Java code generator will generate a separate .java + // file for each top-level message, enum, and service defined in the .proto + // file. Thus, these types will *not* be nested inside the wrapper class + // named by java_outer_classname. However, the wrapper class will still be + // generated to contain the file's getDescriptor() method as well as any + // top-level extensions defined in the file. + optional bool java_multiple_files = 10 [default = false]; + + // This option does nothing. + optional bool java_generate_equals_and_hash = 20 [deprecated=true]; + + // A proto2 file can set this to true to opt in to UTF-8 checking for Java, + // which will throw an exception if invalid UTF-8 is parsed from the wire or + // assigned to a string field. + // + // TODO: clarify exactly what kinds of field types this option + // applies to, and update these docs accordingly. + // + // Proto3 files already perform these checks. Setting the option explicitly to + // false has no effect: it cannot be used to opt proto3 files out of UTF-8 + // checks. + optional bool java_string_check_utf8 = 27 [default = false]; + + // Generated classes can be optimized for speed or code size. + enum OptimizeMode { + SPEED = 1; // Generate complete code for parsing, serialization, + // etc. + CODE_SIZE = 2; // Use ReflectionOps to implement these methods. + LITE_RUNTIME = 3; // Generate code using MessageLite and the lite runtime. + } + optional OptimizeMode optimize_for = 9 [default = SPEED]; + + // Sets the Go package where structs generated from this .proto will be + // placed. If omitted, the Go package will be derived from the following: + // - The basename of the package import path, if provided. + // - Otherwise, the package statement in the .proto file, if present. + // - Otherwise, the basename of the .proto file, without extension. + optional string go_package = 11; + + // Should generic services be generated in each language? "Generic" services + // are not specific to any particular RPC system. They are generated by the + // main code generators in each language (without additional plugins). + // Generic services were the only kind of service generation supported by + // early versions of google.protobuf. + // + // Generic services are now considered deprecated in favor of using plugins + // that generate code specific to your particular RPC system. Therefore, + // these default to false. Old code which depends on generic services should + // explicitly set them to true. + optional bool cc_generic_services = 16 [default = false]; + optional bool java_generic_services = 17 [default = false]; + optional bool py_generic_services = 18 [default = false]; + reserved 42; // removed php_generic_services + reserved "php_generic_services"; + + // Is this file deprecated? + // Depending on the target platform, this can emit Deprecated annotations + // for everything in the file, or it will be completely ignored; in the very + // least, this is a formalization for deprecating files. + optional bool deprecated = 23 [default = false]; + + // Enables the use of arenas for the proto messages in this file. This applies + // only to generated classes for C++. + optional bool cc_enable_arenas = 31 [default = true]; + + // Sets the objective c class prefix which is prepended to all objective c + // generated classes from this .proto. There is no default. + optional string objc_class_prefix = 36; + + // Namespace for generated classes; defaults to the package. + optional string csharp_namespace = 37; + + // By default Swift generators will take the proto package and CamelCase it + // replacing '.' with underscore and use that to prefix the types/symbols + // defined. When this options is provided, they will use this value instead + // to prefix the types/symbols defined. + optional string swift_prefix = 39; + + // Sets the php class prefix which is prepended to all php generated classes + // from this .proto. Default is empty. + optional string php_class_prefix = 40; + + // Use this option to change the namespace of php generated classes. Default + // is empty. When this option is empty, the package name will be used for + // determining the namespace. + optional string php_namespace = 41; + + // Use this option to change the namespace of php generated metadata classes. + // Default is empty. When this option is empty, the proto file name will be + // used for determining the namespace. + optional string php_metadata_namespace = 44; + + // Use this option to change the package of ruby generated classes. Default + // is empty. When this option is not set, the package name will be used for + // determining the ruby package. + optional string ruby_package = 45; + + // Any features defined in the specific edition. + optional FeatureSet features = 50; + + // The parser stores options it doesn't recognize here. + // See the documentation for the "Options" section above. + repeated UninterpretedOption uninterpreted_option = 999; + + // Clients can define custom options in extensions of this message. + // See the documentation for the "Options" section above. + extensions 1000 to max; + + reserved 38; +} + +message MessageOptions { + // Set true to use the old proto1 MessageSet wire format for extensions. + // This is provided for backwards-compatibility with the MessageSet wire + // format. You should not use this for any other reason: It's less + // efficient, has fewer features, and is more complicated. + // + // The message must be defined exactly as follows: + // message Foo { + // option message_set_wire_format = true; + // extensions 4 to max; + // } + // Note that the message cannot have any defined fields; MessageSets only + // have extensions. + // + // All extensions of your type must be singular messages; e.g. they cannot + // be int32s, enums, or repeated messages. + // + // Because this is an option, the above two restrictions are not enforced by + // the protocol compiler. + optional bool message_set_wire_format = 1 [default = false]; + + // Disables the generation of the standard "descriptor()" accessor, which can + // conflict with a field of the same name. This is meant to make migration + // from proto1 easier; new code should avoid fields named "descriptor". + optional bool no_standard_descriptor_accessor = 2 [default = false]; + + // Is this message deprecated? + // Depending on the target platform, this can emit Deprecated annotations + // for the message, or it will be completely ignored; in the very least, + // this is a formalization for deprecating messages. + optional bool deprecated = 3 [default = false]; + + reserved 4, 5, 6; + + // Whether the message is an automatically generated map entry type for the + // maps field. + // + // For maps fields: + // map map_field = 1; + // The parsed descriptor looks like: + // message MapFieldEntry { + // option map_entry = true; + // optional KeyType key = 1; + // optional ValueType value = 2; + // } + // repeated MapFieldEntry map_field = 1; + // + // Implementations may choose not to generate the map_entry=true message, but + // use a native map in the target language to hold the keys and values. + // The reflection APIs in such implementations still need to work as + // if the field is a repeated message field. + // + // NOTE: Do not set the option in .proto files. Always use the maps syntax + // instead. The option should only be implicitly set by the proto compiler + // parser. + optional bool map_entry = 7; + + reserved 8; // javalite_serializable + reserved 9; // javanano_as_lite + + // Enable the legacy handling of JSON field name conflicts. This lowercases + // and strips underscored from the fields before comparison in proto3 only. + // The new behavior takes `json_name` into account and applies to proto2 as + // well. + // + // This should only be used as a temporary measure against broken builds due + // to the change in behavior for JSON field name conflicts. + // + // TODO This is legacy behavior we plan to remove once downstream + // teams have had time to migrate. + optional bool deprecated_legacy_json_field_conflicts = 11 [deprecated = true]; + + // Any features defined in the specific edition. + optional FeatureSet features = 12; + + // The parser stores options it doesn't recognize here. See above. + repeated UninterpretedOption uninterpreted_option = 999; + + // Clients can define custom options in extensions of this message. See above. + extensions 1000 to max; +} + +message FieldOptions { + // The ctype option instructs the C++ code generator to use a different + // representation of the field than it normally would. See the specific + // options below. This option is only implemented to support use of + // [ctype=CORD] and [ctype=STRING] (the default) on non-repeated fields of + // type "bytes" in the open source release -- sorry, we'll try to include + // other types in a future version! + optional CType ctype = 1 [default = STRING]; + enum CType { + // Default mode. + STRING = 0; + + // The option [ctype=CORD] may be applied to a non-repeated field of type + // "bytes". It indicates that in C++, the data should be stored in a Cord + // instead of a string. For very large strings, this may reduce memory + // fragmentation. It may also allow better performance when parsing from a + // Cord, or when parsing with aliasing enabled, as the parsed Cord may then + // alias the original buffer. + CORD = 1; + + STRING_PIECE = 2; + } + // The packed option can be enabled for repeated primitive fields to enable + // a more efficient representation on the wire. Rather than repeatedly + // writing the tag and type for each element, the entire array is encoded as + // a single length-delimited blob. In proto3, only explicit setting it to + // false will avoid using packed encoding. This option is prohibited in + // Editions, but the `repeated_field_encoding` feature can be used to control + // the behavior. + optional bool packed = 2; + + // The jstype option determines the JavaScript type used for values of the + // field. The option is permitted only for 64 bit integral and fixed types + // (int64, uint64, sint64, fixed64, sfixed64). A field with jstype JS_STRING + // is represented as JavaScript string, which avoids loss of precision that + // can happen when a large value is converted to a floating point JavaScript. + // Specifying JS_NUMBER for the jstype causes the generated JavaScript code to + // use the JavaScript "number" type. The behavior of the default option + // JS_NORMAL is implementation dependent. + // + // This option is an enum to permit additional types to be added, e.g. + // goog.math.Integer. + optional JSType jstype = 6 [default = JS_NORMAL]; + enum JSType { + // Use the default type. + JS_NORMAL = 0; + + // Use JavaScript strings. + JS_STRING = 1; + + // Use JavaScript numbers. + JS_NUMBER = 2; + } + + // Should this field be parsed lazily? Lazy applies only to message-type + // fields. It means that when the outer message is initially parsed, the + // inner message's contents will not be parsed but instead stored in encoded + // form. The inner message will actually be parsed when it is first accessed. + // + // This is only a hint. Implementations are free to choose whether to use + // eager or lazy parsing regardless of the value of this option. However, + // setting this option true suggests that the protocol author believes that + // using lazy parsing on this field is worth the additional bookkeeping + // overhead typically needed to implement it. + // + // This option does not affect the public interface of any generated code; + // all method signatures remain the same. Furthermore, thread-safety of the + // interface is not affected by this option; const methods remain safe to + // call from multiple threads concurrently, while non-const methods continue + // to require exclusive access. + // + // Note that lazy message fields are still eagerly verified to check + // ill-formed wireformat or missing required fields. Calling IsInitialized() + // on the outer message would fail if the inner message has missing required + // fields. Failed verification would result in parsing failure (except when + // uninitialized messages are acceptable). + optional bool lazy = 5 [default = false]; + + // unverified_lazy does no correctness checks on the byte stream. This should + // only be used where lazy with verification is prohibitive for performance + // reasons. + optional bool unverified_lazy = 15 [default = false]; + + // Is this field deprecated? + // Depending on the target platform, this can emit Deprecated annotations + // for accessors, or it will be completely ignored; in the very least, this + // is a formalization for deprecating fields. + optional bool deprecated = 3 [default = false]; + + // For Google-internal migration only. Do not use. + optional bool weak = 10 [default = false]; + + // Indicate that the field value should not be printed out when using debug + // formats, e.g. when the field contains sensitive credentials. + optional bool debug_redact = 16 [default = false]; + + // If set to RETENTION_SOURCE, the option will be omitted from the binary. + // Note: as of January 2023, support for this is in progress and does not yet + // have an effect (b/264593489). + enum OptionRetention { + RETENTION_UNKNOWN = 0; + RETENTION_RUNTIME = 1; + RETENTION_SOURCE = 2; + } + + optional OptionRetention retention = 17; + + // This indicates the types of entities that the field may apply to when used + // as an option. If it is unset, then the field may be freely used as an + // option on any kind of entity. Note: as of January 2023, support for this is + // in progress and does not yet have an effect (b/264593489). + enum OptionTargetType { + TARGET_TYPE_UNKNOWN = 0; + TARGET_TYPE_FILE = 1; + TARGET_TYPE_EXTENSION_RANGE = 2; + TARGET_TYPE_MESSAGE = 3; + TARGET_TYPE_FIELD = 4; + TARGET_TYPE_ONEOF = 5; + TARGET_TYPE_ENUM = 6; + TARGET_TYPE_ENUM_ENTRY = 7; + TARGET_TYPE_SERVICE = 8; + TARGET_TYPE_METHOD = 9; + } + + repeated OptionTargetType targets = 19; + + message EditionDefault { + optional Edition edition = 3; + optional string value = 2; // Textproto value. + } + repeated EditionDefault edition_defaults = 20; + + // Any features defined in the specific edition. + optional FeatureSet features = 21; + + // Information about the support window of a feature. + message FeatureSupport { + // The edition that this feature was first available in. In editions + // earlier than this one, the default assigned to EDITION_LEGACY will be + // used, and proto files will not be able to override it. + optional Edition edition_introduced = 1; + + // The edition this feature becomes deprecated in. Using this after this + // edition may trigger warnings. + optional Edition edition_deprecated = 2; + + // The deprecation warning text if this feature is used after the edition it + // was marked deprecated in. + optional string deprecation_warning = 3; + + // The edition this feature is no longer available in. In editions after + // this one, the last default assigned will be used, and proto files will + // not be able to override it. + optional Edition edition_removed = 4; + } + optional FeatureSupport feature_support = 22; + + // The parser stores options it doesn't recognize here. See above. + repeated UninterpretedOption uninterpreted_option = 999; + + // Clients can define custom options in extensions of this message. See above. + extensions 1000 to max; + + reserved 4; // removed jtype + reserved 18; // reserve target, target_obsolete_do_not_use +} + +message OneofOptions { + // Any features defined in the specific edition. + optional FeatureSet features = 1; + + // The parser stores options it doesn't recognize here. See above. + repeated UninterpretedOption uninterpreted_option = 999; + + // Clients can define custom options in extensions of this message. See above. + extensions 1000 to max; +} + +message EnumOptions { + + // Set this option to true to allow mapping different tag names to the same + // value. + optional bool allow_alias = 2; + + // Is this enum deprecated? + // Depending on the target platform, this can emit Deprecated annotations + // for the enum, or it will be completely ignored; in the very least, this + // is a formalization for deprecating enums. + optional bool deprecated = 3 [default = false]; + + reserved 5; // javanano_as_lite + + // Enable the legacy handling of JSON field name conflicts. This lowercases + // and strips underscored from the fields before comparison in proto3 only. + // The new behavior takes `json_name` into account and applies to proto2 as + // well. + // TODO Remove this legacy behavior once downstream teams have + // had time to migrate. + optional bool deprecated_legacy_json_field_conflicts = 6 [deprecated = true]; + + // Any features defined in the specific edition. + optional FeatureSet features = 7; + + // The parser stores options it doesn't recognize here. See above. + repeated UninterpretedOption uninterpreted_option = 999; + + // Clients can define custom options in extensions of this message. See above. + extensions 1000 to max; +} + +message EnumValueOptions { + // Is this enum value deprecated? + // Depending on the target platform, this can emit Deprecated annotations + // for the enum value, or it will be completely ignored; in the very least, + // this is a formalization for deprecating enum values. + optional bool deprecated = 1 [default = false]; + + // Any features defined in the specific edition. + optional FeatureSet features = 2; + + // Indicate that fields annotated with this enum value should not be printed + // out when using debug formats, e.g. when the field contains sensitive + // credentials. + optional bool debug_redact = 3 [default = false]; + + // Information about the support window of a feature value. + optional FieldOptions.FeatureSupport feature_support = 4; + + // The parser stores options it doesn't recognize here. See above. + repeated UninterpretedOption uninterpreted_option = 999; + + // Clients can define custom options in extensions of this message. See above. + extensions 1000 to max; +} + +message ServiceOptions { + + // Any features defined in the specific edition. + optional FeatureSet features = 34; + + // Note: Field numbers 1 through 32 are reserved for Google's internal RPC + // framework. We apologize for hoarding these numbers to ourselves, but + // we were already using them long before we decided to release Protocol + // Buffers. + + // Is this service deprecated? + // Depending on the target platform, this can emit Deprecated annotations + // for the service, or it will be completely ignored; in the very least, + // this is a formalization for deprecating services. + optional bool deprecated = 33 [default = false]; + + // The parser stores options it doesn't recognize here. See above. + repeated UninterpretedOption uninterpreted_option = 999; + + // Clients can define custom options in extensions of this message. See above. + extensions 1000 to max; +} + +message MethodOptions { + + // Note: Field numbers 1 through 32 are reserved for Google's internal RPC + // framework. We apologize for hoarding these numbers to ourselves, but + // we were already using them long before we decided to release Protocol + // Buffers. + + // Is this method deprecated? + // Depending on the target platform, this can emit Deprecated annotations + // for the method, or it will be completely ignored; in the very least, + // this is a formalization for deprecating methods. + optional bool deprecated = 33 [default = false]; + + // Is this method side-effect-free (or safe in HTTP parlance), or idempotent, + // or neither? HTTP based RPC implementation may choose GET verb for safe + // methods, and PUT verb for idempotent methods instead of the default POST. + enum IdempotencyLevel { + IDEMPOTENCY_UNKNOWN = 0; + NO_SIDE_EFFECTS = 1; // implies idempotent + IDEMPOTENT = 2; // idempotent, but may have side effects + } + optional IdempotencyLevel idempotency_level = 34 + [default = IDEMPOTENCY_UNKNOWN]; + + // Any features defined in the specific edition. + optional FeatureSet features = 35; + + // The parser stores options it doesn't recognize here. See above. + repeated UninterpretedOption uninterpreted_option = 999; + + // Clients can define custom options in extensions of this message. See above. + extensions 1000 to max; +} + +// A message representing a option the parser does not recognize. This only +// appears in options protos created by the compiler::Parser class. +// DescriptorPool resolves these when building Descriptor objects. Therefore, +// options protos in descriptor objects (e.g. returned by Descriptor::options(), +// or produced by Descriptor::CopyTo()) will never have UninterpretedOptions +// in them. +message UninterpretedOption { + // The name of the uninterpreted option. Each string represents a segment in + // a dot-separated name. is_extension is true iff a segment represents an + // extension (denoted with parentheses in options specs in .proto files). + // E.g.,{ ["foo", false], ["bar.baz", true], ["moo", false] } represents + // "foo.(bar.baz).moo". + message NamePart { + required string name_part = 1; + required bool is_extension = 2; + } + repeated NamePart name = 2; + + // The value of the uninterpreted option, in whatever type the tokenizer + // identified it as during parsing. Exactly one of these should be set. + optional string identifier_value = 3; + optional uint64 positive_int_value = 4; + optional int64 negative_int_value = 5; + optional double double_value = 6; + optional bytes string_value = 7; + optional string aggregate_value = 8; +} + +// =================================================================== +// Features + +// TODO Enums in C++ gencode (and potentially other languages) are +// not well scoped. This means that each of the feature enums below can clash +// with each other. The short names we've chosen maximize call-site +// readability, but leave us very open to this scenario. A future feature will +// be designed and implemented to handle this, hopefully before we ever hit a +// conflict here. +message FeatureSet { + enum FieldPresence { + FIELD_PRESENCE_UNKNOWN = 0; + EXPLICIT = 1; + IMPLICIT = 2; + LEGACY_REQUIRED = 3; + } + optional FieldPresence field_presence = 1 [ + retention = RETENTION_RUNTIME, + targets = TARGET_TYPE_FIELD, + targets = TARGET_TYPE_FILE, + // TODO Enable this in google3 once protoc rolls out. + feature_support = { + edition_introduced: EDITION_2023, + }, + edition_defaults = { edition: EDITION_PROTO2, value: "EXPLICIT" }, + edition_defaults = { edition: EDITION_PROTO3, value: "IMPLICIT" }, + edition_defaults = { edition: EDITION_2023, value: "EXPLICIT" } + ]; + + enum EnumType { + ENUM_TYPE_UNKNOWN = 0; + OPEN = 1; + CLOSED = 2; + } + optional EnumType enum_type = 2 [ + retention = RETENTION_RUNTIME, + targets = TARGET_TYPE_ENUM, + targets = TARGET_TYPE_FILE, + // TODO Enable this in google3 once protoc rolls out. + feature_support = { + edition_introduced: EDITION_2023, + }, + edition_defaults = { edition: EDITION_PROTO2, value: "CLOSED" }, + edition_defaults = { edition: EDITION_PROTO3, value: "OPEN" } + ]; + + enum RepeatedFieldEncoding { + REPEATED_FIELD_ENCODING_UNKNOWN = 0; + PACKED = 1; + EXPANDED = 2; + } + optional RepeatedFieldEncoding repeated_field_encoding = 3 [ + retention = RETENTION_RUNTIME, + targets = TARGET_TYPE_FIELD, + targets = TARGET_TYPE_FILE, + // TODO Enable this in google3 once protoc rolls out. + feature_support = { + edition_introduced: EDITION_2023, + }, + edition_defaults = { edition: EDITION_PROTO2, value: "EXPANDED" }, + edition_defaults = { edition: EDITION_PROTO3, value: "PACKED" } + ]; + + enum Utf8Validation { + UTF8_VALIDATION_UNKNOWN = 0; + VERIFY = 2; + NONE = 3; + reserved 1; + } + optional Utf8Validation utf8_validation = 4 [ + retention = RETENTION_RUNTIME, + targets = TARGET_TYPE_FIELD, + targets = TARGET_TYPE_FILE, + // TODO Enable this in google3 once protoc rolls out. + feature_support = { + edition_introduced: EDITION_2023, + }, + edition_defaults = { edition: EDITION_PROTO2, value: "NONE" }, + edition_defaults = { edition: EDITION_PROTO3, value: "VERIFY" } + ]; + + enum MessageEncoding { + MESSAGE_ENCODING_UNKNOWN = 0; + LENGTH_PREFIXED = 1; + DELIMITED = 2; + } + optional MessageEncoding message_encoding = 5 [ + retention = RETENTION_RUNTIME, + targets = TARGET_TYPE_FIELD, + targets = TARGET_TYPE_FILE, + // TODO Enable this in google3 once protoc rolls out. + feature_support = { + edition_introduced: EDITION_2023, + }, + edition_defaults = { edition: EDITION_PROTO2, value: "LENGTH_PREFIXED" } + ]; + + enum JsonFormat { + JSON_FORMAT_UNKNOWN = 0; + ALLOW = 1; + LEGACY_BEST_EFFORT = 2; + } + optional JsonFormat json_format = 6 [ + retention = RETENTION_RUNTIME, + targets = TARGET_TYPE_MESSAGE, + targets = TARGET_TYPE_ENUM, + targets = TARGET_TYPE_FILE, + // TODO Enable this in google3 once protoc rolls out. + feature_support = { + edition_introduced: EDITION_2023, + }, + edition_defaults = { edition: EDITION_PROTO2, value: "LEGACY_BEST_EFFORT" }, + edition_defaults = { edition: EDITION_PROTO3, value: "ALLOW" } + ]; + + reserved 999; + + extensions 1000 to 9994 [ + declaration = { + number: 1000, + full_name: ".pb.cpp", + type: ".pb.CppFeatures" + }, + declaration = { + number: 1001, + full_name: ".pb.java", + type: ".pb.JavaFeatures" + }, + declaration = { number: 1002, full_name: ".pb.go", type: ".pb.GoFeatures" }, + declaration = { + number: 9990, + full_name: ".pb.proto1", + type: ".pb.Proto1Features" + } + ]; + + extensions 9995 to 9999; // For internal testing + extensions 10000; // for https://github.com/bufbuild/protobuf-es +} + +// A compiled specification for the defaults of a set of features. These +// messages are generated from FeatureSet extensions and can be used to seed +// feature resolution. The resolution with this object becomes a simple search +// for the closest matching edition, followed by proto merges. +message FeatureSetDefaults { + // A map from every known edition with a unique set of defaults to its + // defaults. Not all editions may be contained here. For a given edition, + // the defaults at the closest matching edition ordered at or before it should + // be used. This field must be in strict ascending order by edition. + message FeatureSetEditionDefault { + optional Edition edition = 3; + + // Defaults of features that can be overridden in this edition. + optional FeatureSet overridable_features = 4; + + // Defaults of features that can't be overridden in this edition. + optional FeatureSet fixed_features = 5; + + reserved 1, 2; + reserved "features"; + } + repeated FeatureSetEditionDefault defaults = 1; + + // The minimum supported edition (inclusive) when this was constructed. + // Editions before this will not have defaults. + optional Edition minimum_edition = 4; + + // The maximum known edition (inclusive) when this was constructed. Editions + // after this will not have reliable defaults. + optional Edition maximum_edition = 5; +} + +// =================================================================== +// Optional source code info + +// Encapsulates information about the original source file from which a +// FileDescriptorProto was generated. +message SourceCodeInfo { + // A Location identifies a piece of source code in a .proto file which + // corresponds to a particular definition. This information is intended + // to be useful to IDEs, code indexers, documentation generators, and similar + // tools. + // + // For example, say we have a file like: + // message Foo { + // optional string foo = 1; + // } + // Let's look at just the field definition: + // optional string foo = 1; + // ^ ^^ ^^ ^ ^^^ + // a bc de f ghi + // We have the following locations: + // span path represents + // [a,i) [ 4, 0, 2, 0 ] The whole field definition. + // [a,b) [ 4, 0, 2, 0, 4 ] The label (optional). + // [c,d) [ 4, 0, 2, 0, 5 ] The type (string). + // [e,f) [ 4, 0, 2, 0, 1 ] The name (foo). + // [g,h) [ 4, 0, 2, 0, 3 ] The number (1). + // + // Notes: + // - A location may refer to a repeated field itself (i.e. not to any + // particular index within it). This is used whenever a set of elements are + // logically enclosed in a single code segment. For example, an entire + // extend block (possibly containing multiple extension definitions) will + // have an outer location whose path refers to the "extensions" repeated + // field without an index. + // - Multiple locations may have the same path. This happens when a single + // logical declaration is spread out across multiple places. The most + // obvious example is the "extend" block again -- there may be multiple + // extend blocks in the same scope, each of which will have the same path. + // - A location's span is not always a subset of its parent's span. For + // example, the "extendee" of an extension declaration appears at the + // beginning of the "extend" block and is shared by all extensions within + // the block. + // - Just because a location's span is a subset of some other location's span + // does not mean that it is a descendant. For example, a "group" defines + // both a type and a field in a single declaration. Thus, the locations + // corresponding to the type and field and their components will overlap. + // - Code which tries to interpret locations should probably be designed to + // ignore those that it doesn't understand, as more types of locations could + // be recorded in the future. + repeated Location location = 1; + message Location { + // Identifies which part of the FileDescriptorProto was defined at this + // location. + // + // Each element is a field number or an index. They form a path from + // the root FileDescriptorProto to the place where the definition appears. + // For example, this path: + // [ 4, 3, 2, 7, 1 ] + // refers to: + // file.message_type(3) // 4, 3 + // .field(7) // 2, 7 + // .name() // 1 + // This is because FileDescriptorProto.message_type has field number 4: + // repeated DescriptorProto message_type = 4; + // and DescriptorProto.field has field number 2: + // repeated FieldDescriptorProto field = 2; + // and FieldDescriptorProto.name has field number 1: + // optional string name = 1; + // + // Thus, the above path gives the location of a field name. If we removed + // the last element: + // [ 4, 3, 2, 7 ] + // this path refers to the whole field declaration (from the beginning + // of the label to the terminating semicolon). + repeated int32 path = 1 [packed = true]; + + // Always has exactly three or four elements: start line, start column, + // end line (optional, otherwise assumed same as start line), end column. + // These are packed into a single field for efficiency. Note that line + // and column numbers are zero-based -- typically you will want to add + // 1 to each before displaying to a user. + repeated int32 span = 2 [packed = true]; + + // If this SourceCodeInfo represents a complete declaration, these are any + // comments appearing before and after the declaration which appear to be + // attached to the declaration. + // + // A series of line comments appearing on consecutive lines, with no other + // tokens appearing on those lines, will be treated as a single comment. + // + // leading_detached_comments will keep paragraphs of comments that appear + // before (but not connected to) the current element. Each paragraph, + // separated by empty lines, will be one comment element in the repeated + // field. + // + // Only the comment content is provided; comment markers (e.g. //) are + // stripped out. For block comments, leading whitespace and an asterisk + // will be stripped from the beginning of each line other than the first. + // Newlines are included in the output. + // + // Examples: + // + // optional int32 foo = 1; // Comment attached to foo. + // // Comment attached to bar. + // optional int32 bar = 2; + // + // optional string baz = 3; + // // Comment attached to baz. + // // Another line attached to baz. + // + // // Comment attached to moo. + // // + // // Another line attached to moo. + // optional double moo = 4; + // + // // Detached comment for corge. This is not leading or trailing comments + // // to moo or corge because there are blank lines separating it from + // // both. + // + // // Detached comment for corge paragraph 2. + // + // optional string corge = 5; + // /* Block comment attached + // * to corge. Leading asterisks + // * will be removed. */ + // /* Block comment attached to + // * grault. */ + // optional int32 grault = 6; + // + // // ignored detached comments. + optional string leading_comments = 3; + optional string trailing_comments = 4; + repeated string leading_detached_comments = 6; + } +} + +// Describes the relationship between generated code and its original source +// file. A GeneratedCodeInfo message is associated with only one generated +// source file, but may contain references to different source .proto files. +message GeneratedCodeInfo { + // An Annotation connects some span of text in generated code to an element + // of its generating .proto file. + repeated Annotation annotation = 1; + message Annotation { + // Identifies the element in the original source .proto file. This field + // is formatted the same as SourceCodeInfo.Location.path. + repeated int32 path = 1 [packed = true]; + + // Identifies the filesystem path to the original source .proto. + optional string source_file = 2; + + // Identifies the starting offset in bytes in the generated code + // that relates to the identified object. + optional int32 begin = 3; + + // Identifies the ending offset in bytes in the generated code that + // relates to the identified object. The end offset should be one past + // the last relevant byte (so the length of the text = end - begin). + optional int32 end = 4; + + // Represents the identified object's effect on the element in the original + // .proto file. + enum Semantic { + // There is no effect or the effect is indescribable. + NONE = 0; + // The element is set or otherwise mutated. + SET = 1; + // An alias to the element is returned. + ALIAS = 2; + } + optional Semantic semantic = 5; + } +} diff --git a/source/protoc/protoc-darwin-arm64/include/google/protobuf/duration.proto b/source/protoc/protoc-darwin-arm64/include/google/protobuf/duration.proto new file mode 100644 index 00000000..41f40c22 --- /dev/null +++ b/source/protoc/protoc-darwin-arm64/include/google/protobuf/duration.proto @@ -0,0 +1,115 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// https://developers.google.com/protocol-buffers/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +syntax = "proto3"; + +package google.protobuf; + +option cc_enable_arenas = true; +option go_package = "google.golang.org/protobuf/types/known/durationpb"; +option java_package = "com.google.protobuf"; +option java_outer_classname = "DurationProto"; +option java_multiple_files = true; +option objc_class_prefix = "GPB"; +option csharp_namespace = "Google.Protobuf.WellKnownTypes"; + +// A Duration represents a signed, fixed-length span of time represented +// as a count of seconds and fractions of seconds at nanosecond +// resolution. It is independent of any calendar and concepts like "day" +// or "month". It is related to Timestamp in that the difference between +// two Timestamp values is a Duration and it can be added or subtracted +// from a Timestamp. Range is approximately +-10,000 years. +// +// # Examples +// +// Example 1: Compute Duration from two Timestamps in pseudo code. +// +// Timestamp start = ...; +// Timestamp end = ...; +// Duration duration = ...; +// +// duration.seconds = end.seconds - start.seconds; +// duration.nanos = end.nanos - start.nanos; +// +// if (duration.seconds < 0 && duration.nanos > 0) { +// duration.seconds += 1; +// duration.nanos -= 1000000000; +// } else if (duration.seconds > 0 && duration.nanos < 0) { +// duration.seconds -= 1; +// duration.nanos += 1000000000; +// } +// +// Example 2: Compute Timestamp from Timestamp + Duration in pseudo code. +// +// Timestamp start = ...; +// Duration duration = ...; +// Timestamp end = ...; +// +// end.seconds = start.seconds + duration.seconds; +// end.nanos = start.nanos + duration.nanos; +// +// if (end.nanos < 0) { +// end.seconds -= 1; +// end.nanos += 1000000000; +// } else if (end.nanos >= 1000000000) { +// end.seconds += 1; +// end.nanos -= 1000000000; +// } +// +// Example 3: Compute Duration from datetime.timedelta in Python. +// +// td = datetime.timedelta(days=3, minutes=10) +// duration = Duration() +// duration.FromTimedelta(td) +// +// # JSON Mapping +// +// In JSON format, the Duration type is encoded as a string rather than an +// object, where the string ends in the suffix "s" (indicating seconds) and +// is preceded by the number of seconds, with nanoseconds expressed as +// fractional seconds. For example, 3 seconds with 0 nanoseconds should be +// encoded in JSON format as "3s", while 3 seconds and 1 nanosecond should +// be expressed in JSON format as "3.000000001s", and 3 seconds and 1 +// microsecond should be expressed in JSON format as "3.000001s". +// +message Duration { + // Signed seconds of the span of time. Must be from -315,576,000,000 + // to +315,576,000,000 inclusive. Note: these bounds are computed from: + // 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years + int64 seconds = 1; + + // Signed fractions of a second at nanosecond resolution of the span + // of time. Durations less than one second are represented with a 0 + // `seconds` field and a positive or negative `nanos` field. For durations + // of one second or more, a non-zero value for the `nanos` field must be + // of the same sign as the `seconds` field. Must be from -999,999,999 + // to +999,999,999 inclusive. + int32 nanos = 2; +} diff --git a/source/protoc/protoc-darwin-arm64/include/google/protobuf/empty.proto b/source/protoc/protoc-darwin-arm64/include/google/protobuf/empty.proto new file mode 100644 index 00000000..b87c89dc --- /dev/null +++ b/source/protoc/protoc-darwin-arm64/include/google/protobuf/empty.proto @@ -0,0 +1,51 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// https://developers.google.com/protocol-buffers/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +syntax = "proto3"; + +package google.protobuf; + +option go_package = "google.golang.org/protobuf/types/known/emptypb"; +option java_package = "com.google.protobuf"; +option java_outer_classname = "EmptyProto"; +option java_multiple_files = true; +option objc_class_prefix = "GPB"; +option csharp_namespace = "Google.Protobuf.WellKnownTypes"; +option cc_enable_arenas = true; + +// A generic empty message that you can re-use to avoid defining duplicated +// empty messages in your APIs. A typical example is to use it as the request +// or the response type of an API method. For instance: +// +// service Foo { +// rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); +// } +// +message Empty {} diff --git a/source/protoc/protoc-darwin-arm64/include/google/protobuf/field_mask.proto b/source/protoc/protoc-darwin-arm64/include/google/protobuf/field_mask.proto new file mode 100644 index 00000000..b28334b9 --- /dev/null +++ b/source/protoc/protoc-darwin-arm64/include/google/protobuf/field_mask.proto @@ -0,0 +1,245 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// https://developers.google.com/protocol-buffers/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +syntax = "proto3"; + +package google.protobuf; + +option java_package = "com.google.protobuf"; +option java_outer_classname = "FieldMaskProto"; +option java_multiple_files = true; +option objc_class_prefix = "GPB"; +option csharp_namespace = "Google.Protobuf.WellKnownTypes"; +option go_package = "google.golang.org/protobuf/types/known/fieldmaskpb"; +option cc_enable_arenas = true; + +// `FieldMask` represents a set of symbolic field paths, for example: +// +// paths: "f.a" +// paths: "f.b.d" +// +// Here `f` represents a field in some root message, `a` and `b` +// fields in the message found in `f`, and `d` a field found in the +// message in `f.b`. +// +// Field masks are used to specify a subset of fields that should be +// returned by a get operation or modified by an update operation. +// Field masks also have a custom JSON encoding (see below). +// +// # Field Masks in Projections +// +// When used in the context of a projection, a response message or +// sub-message is filtered by the API to only contain those fields as +// specified in the mask. For example, if the mask in the previous +// example is applied to a response message as follows: +// +// f { +// a : 22 +// b { +// d : 1 +// x : 2 +// } +// y : 13 +// } +// z: 8 +// +// The result will not contain specific values for fields x,y and z +// (their value will be set to the default, and omitted in proto text +// output): +// +// +// f { +// a : 22 +// b { +// d : 1 +// } +// } +// +// A repeated field is not allowed except at the last position of a +// paths string. +// +// If a FieldMask object is not present in a get operation, the +// operation applies to all fields (as if a FieldMask of all fields +// had been specified). +// +// Note that a field mask does not necessarily apply to the +// top-level response message. In case of a REST get operation, the +// field mask applies directly to the response, but in case of a REST +// list operation, the mask instead applies to each individual message +// in the returned resource list. In case of a REST custom method, +// other definitions may be used. Where the mask applies will be +// clearly documented together with its declaration in the API. In +// any case, the effect on the returned resource/resources is required +// behavior for APIs. +// +// # Field Masks in Update Operations +// +// A field mask in update operations specifies which fields of the +// targeted resource are going to be updated. The API is required +// to only change the values of the fields as specified in the mask +// and leave the others untouched. If a resource is passed in to +// describe the updated values, the API ignores the values of all +// fields not covered by the mask. +// +// If a repeated field is specified for an update operation, new values will +// be appended to the existing repeated field in the target resource. Note that +// a repeated field is only allowed in the last position of a `paths` string. +// +// If a sub-message is specified in the last position of the field mask for an +// update operation, then new value will be merged into the existing sub-message +// in the target resource. +// +// For example, given the target message: +// +// f { +// b { +// d: 1 +// x: 2 +// } +// c: [1] +// } +// +// And an update message: +// +// f { +// b { +// d: 10 +// } +// c: [2] +// } +// +// then if the field mask is: +// +// paths: ["f.b", "f.c"] +// +// then the result will be: +// +// f { +// b { +// d: 10 +// x: 2 +// } +// c: [1, 2] +// } +// +// An implementation may provide options to override this default behavior for +// repeated and message fields. +// +// In order to reset a field's value to the default, the field must +// be in the mask and set to the default value in the provided resource. +// Hence, in order to reset all fields of a resource, provide a default +// instance of the resource and set all fields in the mask, or do +// not provide a mask as described below. +// +// If a field mask is not present on update, the operation applies to +// all fields (as if a field mask of all fields has been specified). +// Note that in the presence of schema evolution, this may mean that +// fields the client does not know and has therefore not filled into +// the request will be reset to their default. If this is unwanted +// behavior, a specific service may require a client to always specify +// a field mask, producing an error if not. +// +// As with get operations, the location of the resource which +// describes the updated values in the request message depends on the +// operation kind. In any case, the effect of the field mask is +// required to be honored by the API. +// +// ## Considerations for HTTP REST +// +// The HTTP kind of an update operation which uses a field mask must +// be set to PATCH instead of PUT in order to satisfy HTTP semantics +// (PUT must only be used for full updates). +// +// # JSON Encoding of Field Masks +// +// In JSON, a field mask is encoded as a single string where paths are +// separated by a comma. Fields name in each path are converted +// to/from lower-camel naming conventions. +// +// As an example, consider the following message declarations: +// +// message Profile { +// User user = 1; +// Photo photo = 2; +// } +// message User { +// string display_name = 1; +// string address = 2; +// } +// +// In proto a field mask for `Profile` may look as such: +// +// mask { +// paths: "user.display_name" +// paths: "photo" +// } +// +// In JSON, the same mask is represented as below: +// +// { +// mask: "user.displayName,photo" +// } +// +// # Field Masks and Oneof Fields +// +// Field masks treat fields in oneofs just as regular fields. Consider the +// following message: +// +// message SampleMessage { +// oneof test_oneof { +// string name = 4; +// SubMessage sub_message = 9; +// } +// } +// +// The field mask can be: +// +// mask { +// paths: "name" +// } +// +// Or: +// +// mask { +// paths: "sub_message" +// } +// +// Note that oneof type names ("test_oneof" in this case) cannot be used in +// paths. +// +// ## Field Mask Verification +// +// The implementation of any API method which has a FieldMask type field in the +// request should verify the included field paths, and return an +// `INVALID_ARGUMENT` error if any path is unmappable. +message FieldMask { + // The set of field mask paths. + repeated string paths = 1; +} diff --git a/source/protoc/protoc-darwin-arm64/include/google/protobuf/java_features.proto b/source/protoc/protoc-darwin-arm64/include/google/protobuf/java_features.proto new file mode 100644 index 00000000..72754fdd --- /dev/null +++ b/source/protoc/protoc-darwin-arm64/include/google/protobuf/java_features.proto @@ -0,0 +1,71 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2023 Google Inc. All rights reserved. +// +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file or at +// https://developers.google.com/open-source/licenses/bsd + +syntax = "proto2"; + +package pb; + +import "google/protobuf/descriptor.proto"; + +option java_package = "com.google.protobuf"; +option java_outer_classname = "JavaFeaturesProto"; + +extend google.protobuf.FeatureSet { + optional JavaFeatures java = 1001; +} + +message JavaFeatures { + // Whether or not to treat an enum field as closed. This option is only + // applicable to enum fields, and will be removed in the future. It is + // consistent with the legacy behavior of using proto3 enum types for proto2 + // fields. + optional bool legacy_closed_enum = 1 [ + retention = RETENTION_RUNTIME, + targets = TARGET_TYPE_FIELD, + targets = TARGET_TYPE_FILE, + // TODO Enable this in google3 once protoc rolls out. + feature_support = { + edition_introduced: EDITION_2023, + edition_deprecated: EDITION_2023, + deprecation_warning: "The legacy closed enum treatment in Java is " + "deprecated and is scheduled to be removed in " + "edition 2025. Mark enum type on the enum " + "definitions themselves rather than on fields.", + }, + edition_defaults = { edition: EDITION_PROTO2, value: "true" }, + edition_defaults = { edition: EDITION_PROTO3, value: "false" } + ]; + + // The UTF8 validation strategy to use. See go/editions-utf8-validation for + // more information on this feature. + enum Utf8Validation { + // Invalid default, which should never be used. + UTF8_VALIDATION_UNKNOWN = 0; + // Respect the UTF8 validation behavior specified by the global + // utf8_validation feature. + DEFAULT = 1; + // Verifies UTF8 validity overriding the global utf8_validation + // feature. This represents the legacy java_string_check_utf8 option. + VERIFY = 2; + } + optional Utf8Validation utf8_validation = 2 [ + retention = RETENTION_RUNTIME, + targets = TARGET_TYPE_FIELD, + targets = TARGET_TYPE_FILE, + // TODO Enable this in google3 once protoc rolls out. + feature_support = { + edition_introduced: EDITION_2023, + edition_deprecated: EDITION_2024, + deprecation_warning: "The Java-specific utf8 validation feature is " + "deprecated and is scheduled to be removed in " + "edition 2025. Utf8 validation behavior should " + "use the global cross-language utf8_validation " + "feature.", + }, + edition_defaults = { edition: EDITION_PROTO2, value: "DEFAULT" } + ]; +} diff --git a/source/protoc/protoc-darwin-arm64/include/google/protobuf/source_context.proto b/source/protoc/protoc-darwin-arm64/include/google/protobuf/source_context.proto new file mode 100644 index 00000000..135f50fe --- /dev/null +++ b/source/protoc/protoc-darwin-arm64/include/google/protobuf/source_context.proto @@ -0,0 +1,48 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// https://developers.google.com/protocol-buffers/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +syntax = "proto3"; + +package google.protobuf; + +option java_package = "com.google.protobuf"; +option java_outer_classname = "SourceContextProto"; +option java_multiple_files = true; +option objc_class_prefix = "GPB"; +option csharp_namespace = "Google.Protobuf.WellKnownTypes"; +option go_package = "google.golang.org/protobuf/types/known/sourcecontextpb"; + +// `SourceContext` represents information about the source of a +// protobuf element, like the file in which it is defined. +message SourceContext { + // The path-qualified name of the .proto file that contained the associated + // protobuf element. For example: `"google/protobuf/source_context.proto"`. + string file_name = 1; +} diff --git a/source/protoc/protoc-darwin-arm64/include/google/protobuf/struct.proto b/source/protoc/protoc-darwin-arm64/include/google/protobuf/struct.proto new file mode 100644 index 00000000..1bf0c1ad --- /dev/null +++ b/source/protoc/protoc-darwin-arm64/include/google/protobuf/struct.proto @@ -0,0 +1,95 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// https://developers.google.com/protocol-buffers/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +syntax = "proto3"; + +package google.protobuf; + +option cc_enable_arenas = true; +option go_package = "google.golang.org/protobuf/types/known/structpb"; +option java_package = "com.google.protobuf"; +option java_outer_classname = "StructProto"; +option java_multiple_files = true; +option objc_class_prefix = "GPB"; +option csharp_namespace = "Google.Protobuf.WellKnownTypes"; + +// `Struct` represents a structured data value, consisting of fields +// which map to dynamically typed values. In some languages, `Struct` +// might be supported by a native representation. For example, in +// scripting languages like JS a struct is represented as an +// object. The details of that representation are described together +// with the proto support for the language. +// +// The JSON representation for `Struct` is JSON object. +message Struct { + // Unordered map of dynamically typed values. + map fields = 1; +} + +// `Value` represents a dynamically typed value which can be either +// null, a number, a string, a boolean, a recursive struct value, or a +// list of values. A producer of value is expected to set one of these +// variants. Absence of any variant indicates an error. +// +// The JSON representation for `Value` is JSON value. +message Value { + // The kind of value. + oneof kind { + // Represents a null value. + NullValue null_value = 1; + // Represents a double value. + double number_value = 2; + // Represents a string value. + string string_value = 3; + // Represents a boolean value. + bool bool_value = 4; + // Represents a structured value. + Struct struct_value = 5; + // Represents a repeated `Value`. + ListValue list_value = 6; + } +} + +// `NullValue` is a singleton enumeration to represent the null value for the +// `Value` type union. +// +// The JSON representation for `NullValue` is JSON `null`. +enum NullValue { + // Null value. + NULL_VALUE = 0; +} + +// `ListValue` is a wrapper around a repeated field of values. +// +// The JSON representation for `ListValue` is JSON array. +message ListValue { + // Repeated field of dynamically typed values. + repeated Value values = 1; +} diff --git a/source/protoc/protoc-darwin-arm64/include/google/protobuf/timestamp.proto b/source/protoc/protoc-darwin-arm64/include/google/protobuf/timestamp.proto new file mode 100644 index 00000000..fd0bc07d --- /dev/null +++ b/source/protoc/protoc-darwin-arm64/include/google/protobuf/timestamp.proto @@ -0,0 +1,144 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// https://developers.google.com/protocol-buffers/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +syntax = "proto3"; + +package google.protobuf; + +option cc_enable_arenas = true; +option go_package = "google.golang.org/protobuf/types/known/timestamppb"; +option java_package = "com.google.protobuf"; +option java_outer_classname = "TimestampProto"; +option java_multiple_files = true; +option objc_class_prefix = "GPB"; +option csharp_namespace = "Google.Protobuf.WellKnownTypes"; + +// A Timestamp represents a point in time independent of any time zone or local +// calendar, encoded as a count of seconds and fractions of seconds at +// nanosecond resolution. The count is relative to an epoch at UTC midnight on +// January 1, 1970, in the proleptic Gregorian calendar which extends the +// Gregorian calendar backwards to year one. +// +// All minutes are 60 seconds long. Leap seconds are "smeared" so that no leap +// second table is needed for interpretation, using a [24-hour linear +// smear](https://developers.google.com/time/smear). +// +// The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By +// restricting to that range, we ensure that we can convert to and from [RFC +// 3339](https://www.ietf.org/rfc/rfc3339.txt) date strings. +// +// # Examples +// +// Example 1: Compute Timestamp from POSIX `time()`. +// +// Timestamp timestamp; +// timestamp.set_seconds(time(NULL)); +// timestamp.set_nanos(0); +// +// Example 2: Compute Timestamp from POSIX `gettimeofday()`. +// +// struct timeval tv; +// gettimeofday(&tv, NULL); +// +// Timestamp timestamp; +// timestamp.set_seconds(tv.tv_sec); +// timestamp.set_nanos(tv.tv_usec * 1000); +// +// Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`. +// +// FILETIME ft; +// GetSystemTimeAsFileTime(&ft); +// UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime; +// +// // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z +// // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z. +// Timestamp timestamp; +// timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL)); +// timestamp.set_nanos((INT32) ((ticks % 10000000) * 100)); +// +// Example 4: Compute Timestamp from Java `System.currentTimeMillis()`. +// +// long millis = System.currentTimeMillis(); +// +// Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000) +// .setNanos((int) ((millis % 1000) * 1000000)).build(); +// +// Example 5: Compute Timestamp from Java `Instant.now()`. +// +// Instant now = Instant.now(); +// +// Timestamp timestamp = +// Timestamp.newBuilder().setSeconds(now.getEpochSecond()) +// .setNanos(now.getNano()).build(); +// +// Example 6: Compute Timestamp from current time in Python. +// +// timestamp = Timestamp() +// timestamp.GetCurrentTime() +// +// # JSON Mapping +// +// In JSON format, the Timestamp type is encoded as a string in the +// [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format. That is, the +// format is "{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z" +// where {year} is always expressed using four digits while {month}, {day}, +// {hour}, {min}, and {sec} are zero-padded to two digits each. The fractional +// seconds, which can go up to 9 digits (i.e. up to 1 nanosecond resolution), +// are optional. The "Z" suffix indicates the timezone ("UTC"); the timezone +// is required. A proto3 JSON serializer should always use UTC (as indicated by +// "Z") when printing the Timestamp type and a proto3 JSON parser should be +// able to accept both UTC and other timezones (as indicated by an offset). +// +// For example, "2017-01-15T01:30:15.01Z" encodes 15.01 seconds past +// 01:30 UTC on January 15, 2017. +// +// In JavaScript, one can convert a Date object to this format using the +// standard +// [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString) +// method. In Python, a standard `datetime.datetime` object can be converted +// to this format using +// [`strftime`](https://docs.python.org/2/library/time.html#time.strftime) with +// the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one can use +// the Joda Time's [`ISODateTimeFormat.dateTime()`]( +// http://joda-time.sourceforge.net/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime() +// ) to obtain a formatter capable of generating timestamps in this format. +// +message Timestamp { + // Represents seconds of UTC time since Unix epoch + // 1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to + // 9999-12-31T23:59:59Z inclusive. + int64 seconds = 1; + + // Non-negative fractions of a second at nanosecond resolution. Negative + // second values with fractions must still have non-negative nanos values + // that count forward in time. Must be from 0 to 999,999,999 + // inclusive. + int32 nanos = 2; +} diff --git a/source/protoc/protoc-darwin-arm64/include/google/protobuf/type.proto b/source/protoc/protoc-darwin-arm64/include/google/protobuf/type.proto new file mode 100644 index 00000000..48cb11e7 --- /dev/null +++ b/source/protoc/protoc-darwin-arm64/include/google/protobuf/type.proto @@ -0,0 +1,193 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// https://developers.google.com/protocol-buffers/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +syntax = "proto3"; + +package google.protobuf; + +import "google/protobuf/any.proto"; +import "google/protobuf/source_context.proto"; + +option cc_enable_arenas = true; +option java_package = "com.google.protobuf"; +option java_outer_classname = "TypeProto"; +option java_multiple_files = true; +option objc_class_prefix = "GPB"; +option csharp_namespace = "Google.Protobuf.WellKnownTypes"; +option go_package = "google.golang.org/protobuf/types/known/typepb"; + +// A protocol buffer message type. +message Type { + // The fully qualified message name. + string name = 1; + // The list of fields. + repeated Field fields = 2; + // The list of types appearing in `oneof` definitions in this type. + repeated string oneofs = 3; + // The protocol buffer options. + repeated Option options = 4; + // The source context. + SourceContext source_context = 5; + // The source syntax. + Syntax syntax = 6; + // The source edition string, only valid when syntax is SYNTAX_EDITIONS. + string edition = 7; +} + +// A single field of a message type. +message Field { + // Basic field types. + enum Kind { + // Field type unknown. + TYPE_UNKNOWN = 0; + // Field type double. + TYPE_DOUBLE = 1; + // Field type float. + TYPE_FLOAT = 2; + // Field type int64. + TYPE_INT64 = 3; + // Field type uint64. + TYPE_UINT64 = 4; + // Field type int32. + TYPE_INT32 = 5; + // Field type fixed64. + TYPE_FIXED64 = 6; + // Field type fixed32. + TYPE_FIXED32 = 7; + // Field type bool. + TYPE_BOOL = 8; + // Field type string. + TYPE_STRING = 9; + // Field type group. Proto2 syntax only, and deprecated. + TYPE_GROUP = 10; + // Field type message. + TYPE_MESSAGE = 11; + // Field type bytes. + TYPE_BYTES = 12; + // Field type uint32. + TYPE_UINT32 = 13; + // Field type enum. + TYPE_ENUM = 14; + // Field type sfixed32. + TYPE_SFIXED32 = 15; + // Field type sfixed64. + TYPE_SFIXED64 = 16; + // Field type sint32. + TYPE_SINT32 = 17; + // Field type sint64. + TYPE_SINT64 = 18; + } + + // Whether a field is optional, required, or repeated. + enum Cardinality { + // For fields with unknown cardinality. + CARDINALITY_UNKNOWN = 0; + // For optional fields. + CARDINALITY_OPTIONAL = 1; + // For required fields. Proto2 syntax only. + CARDINALITY_REQUIRED = 2; + // For repeated fields. + CARDINALITY_REPEATED = 3; + } + + // The field type. + Kind kind = 1; + // The field cardinality. + Cardinality cardinality = 2; + // The field number. + int32 number = 3; + // The field name. + string name = 4; + // The field type URL, without the scheme, for message or enumeration + // types. Example: `"type.googleapis.com/google.protobuf.Timestamp"`. + string type_url = 6; + // The index of the field type in `Type.oneofs`, for message or enumeration + // types. The first type has index 1; zero means the type is not in the list. + int32 oneof_index = 7; + // Whether to use alternative packed wire representation. + bool packed = 8; + // The protocol buffer options. + repeated Option options = 9; + // The field JSON name. + string json_name = 10; + // The string value of the default value of this field. Proto2 syntax only. + string default_value = 11; +} + +// Enum type definition. +message Enum { + // Enum type name. + string name = 1; + // Enum value definitions. + repeated EnumValue enumvalue = 2; + // Protocol buffer options. + repeated Option options = 3; + // The source context. + SourceContext source_context = 4; + // The source syntax. + Syntax syntax = 5; + // The source edition string, only valid when syntax is SYNTAX_EDITIONS. + string edition = 6; +} + +// Enum value definition. +message EnumValue { + // Enum value name. + string name = 1; + // Enum value number. + int32 number = 2; + // Protocol buffer options. + repeated Option options = 3; +} + +// A protocol buffer option, which can be attached to a message, field, +// enumeration, etc. +message Option { + // The option's name. For protobuf built-in options (options defined in + // descriptor.proto), this is the short name. For example, `"map_entry"`. + // For custom options, it should be the fully-qualified name. For example, + // `"google.api.http"`. + string name = 1; + // The option's value packed in an Any message. If the value is a primitive, + // the corresponding wrapper type defined in google/protobuf/wrappers.proto + // should be used. If the value is an enum, it should be stored as an int32 + // value using the google.protobuf.Int32Value type. + Any value = 2; +} + +// The syntax in which a protocol buffer element is defined. +enum Syntax { + // Syntax `proto2`. + SYNTAX_PROTO2 = 0; + // Syntax `proto3`. + SYNTAX_PROTO3 = 1; + // Syntax `editions`. + SYNTAX_EDITIONS = 2; +} diff --git a/source/protoc/protoc-darwin-arm64/include/google/protobuf/wrappers.proto b/source/protoc/protoc-darwin-arm64/include/google/protobuf/wrappers.proto new file mode 100644 index 00000000..1959fa55 --- /dev/null +++ b/source/protoc/protoc-darwin-arm64/include/google/protobuf/wrappers.proto @@ -0,0 +1,123 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// https://developers.google.com/protocol-buffers/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +// +// Wrappers for primitive (non-message) types. These types are useful +// for embedding primitives in the `google.protobuf.Any` type and for places +// where we need to distinguish between the absence of a primitive +// typed field and its default value. +// +// These wrappers have no meaningful use within repeated fields as they lack +// the ability to detect presence on individual elements. +// These wrappers have no meaningful use within a map or a oneof since +// individual entries of a map or fields of a oneof can already detect presence. + +syntax = "proto3"; + +package google.protobuf; + +option cc_enable_arenas = true; +option go_package = "google.golang.org/protobuf/types/known/wrapperspb"; +option java_package = "com.google.protobuf"; +option java_outer_classname = "WrappersProto"; +option java_multiple_files = true; +option objc_class_prefix = "GPB"; +option csharp_namespace = "Google.Protobuf.WellKnownTypes"; + +// Wrapper message for `double`. +// +// The JSON representation for `DoubleValue` is JSON number. +message DoubleValue { + // The double value. + double value = 1; +} + +// Wrapper message for `float`. +// +// The JSON representation for `FloatValue` is JSON number. +message FloatValue { + // The float value. + float value = 1; +} + +// Wrapper message for `int64`. +// +// The JSON representation for `Int64Value` is JSON string. +message Int64Value { + // The int64 value. + int64 value = 1; +} + +// Wrapper message for `uint64`. +// +// The JSON representation for `UInt64Value` is JSON string. +message UInt64Value { + // The uint64 value. + uint64 value = 1; +} + +// Wrapper message for `int32`. +// +// The JSON representation for `Int32Value` is JSON number. +message Int32Value { + // The int32 value. + int32 value = 1; +} + +// Wrapper message for `uint32`. +// +// The JSON representation for `UInt32Value` is JSON number. +message UInt32Value { + // The uint32 value. + uint32 value = 1; +} + +// Wrapper message for `bool`. +// +// The JSON representation for `BoolValue` is JSON `true` and `false`. +message BoolValue { + // The bool value. + bool value = 1; +} + +// Wrapper message for `string`. +// +// The JSON representation for `StringValue` is JSON string. +message StringValue { + // The string value. + string value = 1; +} + +// Wrapper message for `bytes`. +// +// The JSON representation for `BytesValue` is JSON string. +message BytesValue { + // The bytes value. + bytes value = 1; +} diff --git a/source/protoc/protoc-darwin-arm64/readme.txt b/source/protoc/protoc-darwin-arm64/readme.txt new file mode 100755 index 00000000..f7f091fb --- /dev/null +++ b/source/protoc/protoc-darwin-arm64/readme.txt @@ -0,0 +1,12 @@ +Protocol Buffers - Google's data interchange format +Copyright 2008 Google Inc. +https://developers.google.com/protocol-buffers/ +This package contains a precompiled binary version of the protocol buffer +compiler (protoc). This binary is intended for users who want to use Protocol +Buffers in languages other than C++ but do not want to compile protoc +themselves. To install, simply place this binary somewhere in your PATH. +If you intend to use the included well known types then don't forget to +copy the contents of the 'include' directory somewhere as well, for example +into '/usr/local/include/'. +Please refer to our official github site for more installation instructions: + https://github.com/protocolbuffers/protobuf diff --git a/source/rust/polaris-specification/Cargo.toml b/source/rust/polaris-specification/Cargo.toml index 77ee3186..a60f5c75 100644 --- a/source/rust/polaris-specification/Cargo.toml +++ b/source/rust/polaris-specification/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "polaris-specification" -version = "1.5.2" +version = "1.5.3" edition.workspace = true authors.workspace = true license = "MIT OR Apache-2.0" diff --git a/source/rust/polaris-specification/proto/circuitbreaker.proto b/source/rust/polaris-specification/proto/circuitbreaker.proto index a47f2341..44a7b913 100644 --- a/source/rust/polaris-specification/proto/circuitbreaker.proto +++ b/source/rust/polaris-specification/proto/circuitbreaker.proto @@ -286,7 +286,10 @@ message CircuitBreakerRule { // priority rules priority uint32 priority = 30 [ json_name = "priority" ]; // 熔断规则标签数据 - map metadata = 50; + map metadata = 31 [ json_name = "metadata" ]; + // 操作标志位 + bool editable = 40 [ json_name = "editable" ]; + bool deleteable = 41 [ json_name = "deleteable" ]; } // the condition to judge an input invocation as an error @@ -327,6 +330,17 @@ message FaultDetectConfig { bool enable = 1; } +// blocking strategy +message BlockConfig { + string name = 1 [ json_name = "name" ]; + // blocking target api + API api = 2 [ json_name = "api" ]; + // conditions to judge an invocation as an error + repeated ErrorCondition error_conditions = 3 [ json_name = "error_conditions" ]; + // trigger condition to trigger circuitbreaking + repeated TriggerCondition trigger_conditions = 4 [ json_name = "trigger_conditions" ]; +} + // fallback config message FallbackConfig { bool enable = 1; @@ -342,15 +356,4 @@ message FallbackResponse { } repeated MessageHeader headers = 2; string body = 3; -} - -// blocking strategy -message BlockConfig { - string name = 1 [ json_name = "name" ]; - // blocking target api - API api = 2 [ json_name = "api" ]; - // conditions to judge an invocation as an error - repeated ErrorCondition error_conditions = 3 [ json_name = "error_conditions" ]; - // trigger condition to trigger circuitbreaking - repeated TriggerCondition trigger_conditions = 4 [ json_name = "trigger_conditions" ]; } \ No newline at end of file diff --git a/source/rust/polaris-specification/proto/code.proto b/source/rust/polaris-specification/proto/code.proto index baad235d..8c7df6fb 100644 --- a/source/rust/polaris-specification/proto/code.proto +++ b/source/rust/polaris-specification/proto/code.proto @@ -159,7 +159,8 @@ enum Code { NotFoundResourceConfigFile = 400807; InvalidConfigFileTemplateName = 400808; EncryptConfigFileException = 400809; - DecryptConfigFileException = 400810; + GroupExistActiveRelease = 400810; + DecryptConfigFileException = 400811; // auth codes InvalidUserOwners = 400410; diff --git a/source/rust/polaris-specification/proto/config_file.proto b/source/rust/polaris-specification/proto/config_file.proto index 80e2b8aa..e0b26054 100644 --- a/source/rust/polaris-specification/proto/config_file.proto +++ b/source/rust/polaris-specification/proto/config_file.proto @@ -34,6 +34,9 @@ message ConfigFileGroup { google.protobuf.StringValue business = 17; google.protobuf.StringValue department = 18; map metadata = 19; + + // 删除操作标志位 + google.protobuf.BoolValue deleteable = 20; } message ConfigFile { diff --git a/source/rust/polaris-specification/proto/contract.proto b/source/rust/polaris-specification/proto/contract.proto index c69f6ada..4261e9f5 100644 --- a/source/rust/polaris-specification/proto/contract.proto +++ b/source/rust/polaris-specification/proto/contract.proto @@ -34,6 +34,8 @@ message ServiceContract { string status = 12; // 类型 string type = 14; + // 标签 + map metadata = 15; } message InterfaceDescriptor { diff --git a/source/rust/polaris-specification/proto/fault_detector.proto b/source/rust/polaris-specification/proto/fault_detector.proto index 217669be..9645489a 100644 --- a/source/rust/polaris-specification/proto/fault_detector.proto +++ b/source/rust/polaris-specification/proto/fault_detector.proto @@ -65,7 +65,12 @@ message FaultDetectRule { // priority rules priority uint32 priority = 29 [ json_name = "priority" ]; // 探测规则标签数据 - map metadata = 50; + map metadata = 30 [ json_name = "metadata" ]; + // extend info, put some custom info to display in console + map extendInfo = 31 [ json_name = "extend_info" ]; + // 操作标志位 + bool editable = 40 [ json_name = "editable" ]; + bool deleteable = 41 [ json_name = "deleteable" ]; } message HttpProtocolConfig { diff --git a/source/rust/polaris-specification/proto/lane.proto b/source/rust/polaris-specification/proto/lane.proto index 9eb00f25..d4de1bbc 100644 --- a/source/rust/polaris-specification/proto/lane.proto +++ b/source/rust/polaris-specification/proto/lane.proto @@ -57,7 +57,10 @@ message LaneGroup { // 泳道组内的流量入口信息 repeated LaneRule rules = 11; // 泳道组标签信息 - map metadata = 20; + map metadata = 12; + // 操作标志位 + bool editable = 20 [ json_name = "editable" ]; + bool deleteable = 21 [ json_name = "deleteable" ]; } // TrafficMatchRule 流量匹配规则 diff --git a/source/rust/polaris-specification/proto/lossless.proto b/source/rust/polaris-specification/proto/lossless.proto new file mode 100644 index 00000000..3b96d321 --- /dev/null +++ b/source/rust/polaris-specification/proto/lossless.proto @@ -0,0 +1,91 @@ +syntax = "proto3"; + +package v1; + +import "google/protobuf/wrappers.proto"; +import "google/protobuf/duration.proto"; +import "model.proto"; + +option go_package = "github.com/polarismesh/specification/source/go/api/v1/traffic_manage"; +option java_package = "com.tencent.polaris.specification.api.v1.traffic.manage"; +option java_outer_classname = "LosslessProto"; + +// 优雅上下线规则的模型 +message LosslessRule { + // rule id + string id = 1 [ json_name = "id" ]; + // service for rule belongs to + string service = 2 [ json_name = "service" ]; + // namespace for rule belongs to + string namespace = 3 [ json_name = "namespace" ]; + // revision routing version + string revision = 4 [ json_name = "revision" ]; + // ctime create time of the rules + string ctime = 5 [ json_name = "ctime" ]; + // mtime modify time of the rules + string mtime = 6 [ json_name = "mtime" ]; + // configuration for lossless online + LosslessOnline losslessOnline = 7 [ json_name = "lossless_online" ]; + // configuration for lossless offline + LosslessOffline losslessOffline = 8 [ json_name = "lossless_offline" ]; + // rule labels + map metadata = 9 [ json_name = "metadata" ]; + // 操作标志位 + bool editable = 30 [ json_name = "editable" ]; + bool deleteable = 31 [ json_name = "deleteable" ]; +} + +message LosslessOnline { + // configuration for delayRegister + DelayRegister delayRegister = 1 [ json_name = "delay_register" ]; + // configuration for warmup + Warmup warmup = 2 [ json_name = "warmup" ]; + // configuration for readiness probe + Readiness readiness = 3 [ json_name = "readiness" ]; +} + +message DelayRegister { + // enable delay registry + bool enable = 1 [ json_name = "enable" ]; + enum DelayStrategy { + // register instance after delay specific time + DELAY_BY_TIME = 0; + // register instance until health check successfully + DELAY_BY_HEALTH_CHECK = 1; + } + // delay register strategy + DelayStrategy strategy = 2 [ json_name = "strategy" ]; + // delay register time by second, active when strategy == DELAY_BY_TIME + int32 intervalSecond = 3 [ json_name = "interval_second" ]; + // protocol to do health check, default http, active when strategy == DELAY_BY_HEALTH_CHECK + string healthCheckProtocol = 4 [ json_name = "health_check_protocol" ]; + // method to do health check, default GET, active when strategy == DELAY_BY_HEALTH_CHECK + string healthCheckMethod = 5 [ json_name = "health_check_method" ]; + // path to do health check, no default value, active when strategy == DELAY_BY_HEALTH_CHECK + string healthCheckPath = 6 [ json_name = "health_check_path" ]; + // health check interval second, default is 30, active when strategy == DELAY_BY_HEALTH_CHECK + string healthCheckIntervalSecond = 7 [ json_name = "health_check_interval_second" ]; +} + +message Warmup { + // enable warmup + bool enable = 1 [ json_name = "enable" ]; + // total warmup interval by second + int32 intervalSecond = 2 [ json_name = "interval_second" ]; + // warmup stop when most of the instances in service are in warmup status + bool enableOverloadProtection = 3 [ json_name = "enable_overload_protection" ]; + // the threshold to active overload protection, default is 50, threshld = sum(WarmupInstances)/sum(AllInstances)*100 + int32 overloadProtectionThreshold = 4 [ json_name = "overload_protection_threshold" ]; + // curvature for warmup register, default is 1 + int32 curvature = 5 [ json_name = "curvature" ]; +} + +message Readiness { + // enable /readiness expose + bool enable = 1 [ json_name = "enable" ]; +} + +message LosslessOffline { + // enable /offline expose + bool enable = 1 [ json_name = "enable" ]; +} diff --git a/source/rust/polaris-specification/proto/namespace.proto b/source/rust/polaris-specification/proto/namespace.proto index a23850d8..63c99c51 100644 --- a/source/rust/polaris-specification/proto/namespace.proto +++ b/source/rust/polaris-specification/proto/namespace.proto @@ -32,4 +32,7 @@ message Namespace { google.protobuf.BoolValue editable = 15; repeated google.protobuf.StringValue service_export_to = 16 [ json_name = "service_export_to" ]; + + map metadata = 17; + google.protobuf.BoolValue deleteable = 18; } \ No newline at end of file diff --git a/source/rust/polaris-specification/proto/ratelimit.proto b/source/rust/polaris-specification/proto/ratelimit.proto index a12d17f5..a7b20ff6 100644 --- a/source/rust/polaris-specification/proto/ratelimit.proto +++ b/source/rust/polaris-specification/proto/ratelimit.proto @@ -94,8 +94,15 @@ message Rule { google.protobuf.StringValue etime = 25; // 最大排队时长,单位秒 google.protobuf.UInt32Value max_queue_delay = 26 [json_name = "max_queue_delay"]; + // amount for concurrency rate-limit + ConcurrencyAmount concurrencyAmount = 27 [ json_name = "concurrency_amount" ]; + // fallback configuration + CustomResponse customResponse = 28 [ json_name = "custom_response" ]; // 限流规则标签数据 - map metadata = 50; + map metadata = 29 [ json_name = "metadata" ]; + // 操作标志位 + bool editable = 30 [ json_name = "editable" ]; + bool deleteable = 31 [ json_name = "deleteable" ]; } message MatchArgument { @@ -113,6 +120,8 @@ message MatchArgument { CALLER_SERVICE = 4; // caller host ip CALLER_IP =5; + // caller instance metadata + CALLER_METADATA = 6; } Type type = 1; // header key or query key @@ -121,6 +130,16 @@ message MatchArgument { MatchString value = 3; } +// concurrency rate-limit amount config +message ConcurrencyAmount { + uint32 maxAmount = 1 [ json_name = "max_amount" ]; +} + +// custom response text when limited +message CustomResponse { + string body = 3 [ json_name = "body" ]; +} + // 分布式限流服务集群 message RateLimitCluster { google.protobuf.StringValue service = 1; diff --git a/source/rust/polaris-specification/proto/request.proto b/source/rust/polaris-specification/proto/request.proto index 49f98b43..bc4bb3ef 100644 --- a/source/rust/polaris-specification/proto/request.proto +++ b/source/rust/polaris-specification/proto/request.proto @@ -31,6 +31,8 @@ message DiscoverRequest { CUSTOM_ROUTE_RULE = 101; // 就近路由规则 NEARBY_ROUTE_RULE = 102; + // 无损上下线规则 + LOSSLESS = 103; } DiscoverRequestType type = 1; diff --git a/source/rust/polaris-specification/proto/response.proto b/source/rust/polaris-specification/proto/response.proto index d04f56e6..66bf7df7 100644 --- a/source/rust/polaris-specification/proto/response.proto +++ b/source/rust/polaris-specification/proto/response.proto @@ -16,6 +16,7 @@ import "fault_detector.proto"; import "auth.proto"; import "contract.proto"; import "lane.proto"; +import "lossless.proto"; option go_package = "github.com/polarismesh/specification/source/go/api/v1/service_manage"; option java_package = "com.tencent.polaris.specification.api.v1.service.manage"; @@ -101,6 +102,8 @@ message DiscoverResponse { CUSTOM_ROUTE_RULE = 101; // 就近路由规则 NEARBY_ROUTE_RULE = 102; + // 无损上下线规则 + LOSSLESS = 103; } DiscoverResponseType type = 3; @@ -119,8 +122,15 @@ message DiscoverResponse { repeated RouteRule customRouteRules = 23; // 就近路由规则内容 repeated RouteRule nearbyRouteRules = 24; + // 无损上下线规则内容 + repeated LosslessRule losslessRules = 25; } message OptionSwitch { map options = 1; } -message InstanceLabels { map labels = 1; } +message InstanceLabels { + map labels = 1; + string namespace = 2; + string service = 3; + string service_id = 4; +} diff --git a/source/rust/polaris-specification/proto/routing.proto b/source/rust/polaris-specification/proto/routing.proto index 062870af..c8bf5ae4 100644 --- a/source/rust/polaris-specification/proto/routing.proto +++ b/source/rust/polaris-specification/proto/routing.proto @@ -127,7 +127,10 @@ message RouteRule { // deprecated_filed only for compatible to the old version server map extendInfo = 20; // 路由规则标签数据 - map metadata = 50; + map metadata = 21; + // 操作标志位 + bool editable = 30 [ json_name = "editable" ]; + bool deleteable = 31 [ json_name = "deleteable" ]; } message MetadataFailover { diff --git a/source/rust/polaris-specification/proto/service.proto b/source/rust/polaris-specification/proto/service.proto index 98338052..406e822d 100644 --- a/source/rust/polaris-specification/proto/service.proto +++ b/source/rust/polaris-specification/proto/service.proto @@ -42,6 +42,7 @@ message Service { google.protobuf.StringValue id = 21; google.protobuf.BoolValue editable = 24; repeated google.protobuf.StringValue export_to = 25 [ json_name = "export_to" ]; + google.protobuf.BoolValue deleteable = 26; } enum AliasType { @@ -64,6 +65,7 @@ message ServiceAlias { google.protobuf.StringValue id = 11; google.protobuf.BoolValue editable = 12; + google.protobuf.BoolValue deleteable = 13; } message Instance { diff --git a/source/rust/polaris-specification/src/v1.rs b/source/rust/polaris-specification/src/v1.rs index aacc2c5e..c13181a8 100644 --- a/source/rust/polaris-specification/src/v1.rs +++ b/source/rust/polaris-specification/src/v1.rs @@ -1,6 +1,188 @@ // This file is @generated by prost-build. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] +pub struct ServiceContract { + /// 契约ID + #[prost(string, tag = "1")] + pub id: ::prost::alloc::string::String, + /// 契约名称 + /// deprecated, use type field + #[prost(string, tag = "2")] + pub name: ::prost::alloc::string::String, + /// 所属命名空间 + #[prost(string, tag = "3")] + pub namespace: ::prost::alloc::string::String, + /// 所属服务名称 + #[prost(string, tag = "4")] + pub service: ::prost::alloc::string::String, + /// 协议,http/grpc/dubbo/thrift + #[prost(string, tag = "5")] + pub protocol: ::prost::alloc::string::String, + /// 契约版本 + #[prost(string, tag = "6")] + pub version: ::prost::alloc::string::String, + /// 信息摘要 + #[prost(string, tag = "7")] + pub revision: ::prost::alloc::string::String, + /// 额外描述 + #[prost(string, tag = "8")] + pub content: ::prost::alloc::string::String, + /// 接口描述信息 + #[prost(message, repeated, tag = "9")] + pub interfaces: ::prost::alloc::vec::Vec, + /// 创建时间 + #[prost(string, tag = "10")] + pub ctime: ::prost::alloc::string::String, + /// 更新时间 + #[prost(string, tag = "11")] + pub mtime: ::prost::alloc::string::String, + /// 接口状态,Offline/Online + #[prost(string, tag = "12")] + pub status: ::prost::alloc::string::String, + /// 类型 + #[prost(string, tag = "14")] + pub r#type: ::prost::alloc::string::String, + /// 标签 + #[prost(map = "string, string", tag = "15")] + pub metadata: ::std::collections::HashMap< + ::prost::alloc::string::String, + ::prost::alloc::string::String, + >, +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct InterfaceDescriptor { + /// 接口ID + #[prost(string, tag = "1")] + pub id: ::prost::alloc::string::String, + /// 方法名称,对应 http method/ dubbo interface func/grpc service func + #[prost(string, tag = "2")] + pub method: ::prost::alloc::string::String, + /// 接口名称,http path/dubbo interface/grpc service + #[prost(string, tag = "3")] + pub path: ::prost::alloc::string::String, + /// 接口描述信息 + #[prost(string, tag = "4")] + pub content: ::prost::alloc::string::String, + /// 创建来源 + #[prost(enumeration = "interface_descriptor::Source", tag = "5")] + pub source: i32, + /// 接口信息摘要 + #[prost(string, tag = "6")] + pub revision: ::prost::alloc::string::String, + /// 创建时间 + #[prost(string, tag = "7")] + pub ctime: ::prost::alloc::string::String, + /// 更新时间 + #[prost(string, tag = "8")] + pub mtime: ::prost::alloc::string::String, + /// 接口名称描述信息 + /// deprecated, use type field + #[prost(string, tag = "9")] + pub name: ::prost::alloc::string::String, + /// 所属命名空间 + #[prost(string, tag = "10")] + pub namespace: ::prost::alloc::string::String, + /// 所属服务名称 + #[prost(string, tag = "11")] + pub service: ::prost::alloc::string::String, + /// 协议,http/grpc/dubbo/thrift + #[prost(string, tag = "12")] + pub protocol: ::prost::alloc::string::String, + /// 契约版本 + #[prost(string, tag = "13")] + pub version: ::prost::alloc::string::String, + /// 类型 + #[prost(string, tag = "14")] + pub r#type: ::prost::alloc::string::String, +} +/// Nested message and enum types in `InterfaceDescriptor`. +pub mod interface_descriptor { + #[derive( + Clone, + Copy, + Debug, + PartialEq, + Eq, + Hash, + PartialOrd, + Ord, + ::prost::Enumeration + )] + #[repr(i32)] + pub enum Source { + Unknown = 0, + Manual = 1, + Client = 2, + } + impl Source { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Source::Unknown => "UNKNOWN", + Source::Manual => "Manual", + Source::Client => "Client", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "UNKNOWN" => Some(Self::Unknown), + "Manual" => Some(Self::Manual), + "Client" => Some(Self::Client), + _ => None, + } + } + } +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Namespace { + #[prost(message, optional, tag = "1")] + pub name: ::core::option::Option<::prost::alloc::string::String>, + #[prost(message, optional, tag = "2")] + pub comment: ::core::option::Option<::prost::alloc::string::String>, + #[prost(message, optional, tag = "3")] + pub owners: ::core::option::Option<::prost::alloc::string::String>, + #[prost(message, optional, tag = "4")] + pub token: ::core::option::Option<::prost::alloc::string::String>, + #[prost(message, optional, tag = "5")] + pub ctime: ::core::option::Option<::prost::alloc::string::String>, + #[prost(message, optional, tag = "6")] + pub mtime: ::core::option::Option<::prost::alloc::string::String>, + #[prost(message, optional, tag = "7")] + pub total_service_count: ::core::option::Option, + #[prost(message, optional, tag = "8")] + pub total_health_instance_count: ::core::option::Option, + #[prost(message, optional, tag = "9")] + pub total_instance_count: ::core::option::Option, + #[prost(message, repeated, tag = "10")] + pub user_ids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, + #[prost(message, repeated, tag = "11")] + pub group_ids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, + #[prost(message, repeated, tag = "13")] + pub remove_user_ids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, + #[prost(message, repeated, tag = "14")] + pub remove_group_ids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, + #[prost(message, optional, tag = "12")] + pub id: ::core::option::Option<::prost::alloc::string::String>, + #[prost(message, optional, tag = "15")] + pub editable: ::core::option::Option, + #[prost(message, repeated, tag = "16")] + pub service_export_to: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, + #[prost(map = "string, string", tag = "17")] + pub metadata: ::std::collections::HashMap< + ::prost::alloc::string::String, + ::prost::alloc::string::String, + >, + #[prost(message, optional, tag = "18")] + pub deleteable: ::core::option::Option, +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] pub struct Location { #[prost(message, optional, tag = "1")] pub region: ::core::option::Option<::prost::alloc::string::String>, @@ -213,6 +395,8 @@ pub struct Service { pub editable: ::core::option::Option, #[prost(message, repeated, tag = "25")] pub export_to: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, + #[prost(message, optional, tag = "26")] + pub deleteable: ::core::option::Option, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -241,6 +425,8 @@ pub struct ServiceAlias { pub id: ::core::option::Option<::prost::alloc::string::String>, #[prost(message, optional, tag = "12")] pub editable: ::core::option::Option, + #[prost(message, optional, tag = "13")] + pub deleteable: ::core::option::Option, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -370,173 +556,181 @@ impl AliasType { } } } +/// 规则所属服务以及命名空间 #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct Client { +pub struct Routing { #[prost(message, optional, tag = "1")] - pub host: ::core::option::Option<::prost::alloc::string::String>, - #[prost(enumeration = "client::ClientType", tag = "2")] - pub r#type: i32, - #[prost(message, optional, tag = "3")] - pub version: ::core::option::Option<::prost::alloc::string::String>, - #[prost(message, optional, tag = "4")] - pub location: ::core::option::Option, + pub service: ::core::option::Option<::prost::alloc::string::String>, + #[prost(message, optional, tag = "2")] + pub namespace: ::core::option::Option<::prost::alloc::string::String>, + /// 每个服务可以配置多条入站或者出站规则 + /// 对于每个请求,从上到下依次匹配,若命中则终止 + #[prost(message, repeated, tag = "3")] + pub inbounds: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "4")] + pub outbounds: ::prost::alloc::vec::Vec, #[prost(message, optional, tag = "5")] - pub id: ::core::option::Option<::prost::alloc::string::String>, - #[prost(message, repeated, tag = "6")] - pub stat: ::prost::alloc::vec::Vec, - #[prost(message, optional, tag = "7")] pub ctime: ::core::option::Option<::prost::alloc::string::String>, - #[prost(message, optional, tag = "8")] + #[prost(message, optional, tag = "6")] pub mtime: ::core::option::Option<::prost::alloc::string::String>, + #[prost(message, optional, tag = "7")] + pub revision: ::core::option::Option<::prost::alloc::string::String>, + #[prost(message, optional, tag = "8")] + pub service_token: ::core::option::Option<::prost::alloc::string::String>, + /// route rules for current service + #[prost(message, repeated, tag = "21")] + pub rules: ::prost::alloc::vec::Vec, } -/// Nested message and enum types in `Client`. -pub mod client { - #[derive( - Clone, - Copy, - Debug, - PartialEq, - Eq, - Hash, - PartialOrd, - Ord, - ::prost::Enumeration - )] - #[repr(i32)] - pub enum ClientType { - Unknown = 0, - Sdk = 1, - Agent = 2, - } - impl ClientType { - /// String value of the enum field names used in the ProtoBuf definition. - /// - /// The values are not transformed in any way and thus are considered stable - /// (if the ProtoBuf definition does not change) and safe for programmatic use. - pub fn as_str_name(&self) -> &'static str { - match self { - ClientType::Unknown => "UNKNOWN", - ClientType::Sdk => "SDK", - ClientType::Agent => "AGENT", - } - } - /// Creates an enum from field names used in the ProtoBuf definition. - pub fn from_str_name(value: &str) -> ::core::option::Option { - match value { - "UNKNOWN" => Some(Self::Unknown), - "SDK" => Some(Self::Sdk), - "AGENT" => Some(Self::Agent), - _ => None, - } - } - } -} +/// deprecated: only for compatible to the old version server #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct StatInfo { +pub struct Route { + /// 如果匹配Source规则,按照Destination路由 + /// 多个Source之间的关系为或 + #[prost(message, repeated, tag = "1")] + pub sources: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "2")] + pub destinations: ::prost::alloc::vec::Vec, + /// extendInfo 用于承载一些额外信息 + /// case 1: 升级到 v2 版本时,记录对应到 v2 版本的 id 信息 + #[prost(map = "string, string", tag = "3")] + pub extend_info: ::std::collections::HashMap< + ::prost::alloc::string::String, + ::prost::alloc::string::String, + >, +} +/// deprecated: only for compatible to the old version server +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Source { + /// 主调方服务以及命名空间 #[prost(message, optional, tag = "1")] - pub target: ::core::option::Option<::prost::alloc::string::String>, + pub service: ::core::option::Option<::prost::alloc::string::String>, #[prost(message, optional, tag = "2")] - pub port: ::core::option::Option, - #[prost(message, optional, tag = "3")] - pub path: ::core::option::Option<::prost::alloc::string::String>, + pub namespace: ::core::option::Option<::prost::alloc::string::String>, + /// 主调方服务实例标签或者请求标签 + /// value支持正则匹配 + #[prost(map = "string, message", tag = "3")] + pub metadata: ::std::collections::HashMap< + ::prost::alloc::string::String, + MatchString, + >, +} +/// deprecated: only for compatible to the old version server +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Destination { + /// 被调方服务以及命名空间 + #[prost(message, optional, tag = "1")] + pub service: ::core::option::Option<::prost::alloc::string::String>, + #[prost(message, optional, tag = "2")] + pub namespace: ::core::option::Option<::prost::alloc::string::String>, + /// 被调方服务实例标签 + /// value支持正则匹配 + #[prost(map = "string, message", tag = "3")] + pub metadata: ::std::collections::HashMap< + ::prost::alloc::string::String, + MatchString, + >, + /// 根据服务名和服务实例metadata筛选符合条件的服务实例子集 + /// 服务实例子集可以设置优先级和权重 + /// 优先级:整型,范围\[0, 9\],最高优先级为0 + /// 权重:整型 + /// 先按优先级路由,如果存在高优先级,不会使用低优先级 + /// 如果存在优先级相同的子集,再按权重分配 + /// 优先级和权重可以都不设置/设置一个/设置两个 + /// 如果部分设置优先级,部分没有设置,认为没有设置的优先级最低 + /// 如果部分设置权重,部分没有设置,认为没有设置的权重为0 + /// 如果全部没有设置权重,认为权重相同 #[prost(message, optional, tag = "4")] - pub protocol: ::core::option::Option<::prost::alloc::string::String>, + pub priority: ::core::option::Option, + #[prost(message, optional, tag = "5")] + pub weight: ::core::option::Option, + /// 将请求转发到代理服务 + #[prost(message, optional, tag = "6")] + pub transfer: ::core::option::Option<::prost::alloc::string::String>, + /// 是否对该set执行隔离,隔离后,不会再分配流量 + #[prost(message, optional, tag = "7")] + pub isolate: ::core::option::Option, + /// 实例分组名 + #[prost(message, optional, tag = "8")] + pub name: ::core::option::Option<::prost::alloc::string::String>, } +/// configuration root for route #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct ServiceContract { - /// 契约ID +pub struct RouteRule { #[prost(string, tag = "1")] pub id: ::prost::alloc::string::String, - /// 契约名称 - /// deprecated, use type field + /// route rule name #[prost(string, tag = "2")] pub name: ::prost::alloc::string::String, - /// 所属命名空间 + /// namespace namingspace of routing rules #[prost(string, tag = "3")] pub namespace: ::prost::alloc::string::String, - /// 所属服务名称 - #[prost(string, tag = "4")] - pub service: ::prost::alloc::string::String, - /// 协议,http/grpc/dubbo/thrift - #[prost(string, tag = "5")] - pub protocol: ::prost::alloc::string::String, - /// 契约版本 - #[prost(string, tag = "6")] - pub version: ::prost::alloc::string::String, - /// 信息摘要 + /// Enable this router + #[prost(bool, tag = "4")] + pub enable: bool, + /// Router type + #[prost(enumeration = "RoutingPolicy", tag = "5")] + pub routing_policy: i32, + /// Routing configuration for router + #[prost(message, optional, tag = "6")] + pub routing_config: ::core::option::Option<::prost_types::Any>, + /// revision routing version #[prost(string, tag = "7")] pub revision: ::prost::alloc::string::String, - /// 额外描述 + /// ctime create time of the rules #[prost(string, tag = "8")] - pub content: ::prost::alloc::string::String, - /// 接口描述信息 - #[prost(message, repeated, tag = "9")] - pub interfaces: ::prost::alloc::vec::Vec, - /// 创建时间 - #[prost(string, tag = "10")] pub ctime: ::prost::alloc::string::String, - /// 更新时间 - #[prost(string, tag = "11")] + /// mtime modify time of the rules + #[prost(string, tag = "9")] pub mtime: ::prost::alloc::string::String, - /// 接口状态,Offline/Online + /// etime enable time of the rules + #[prost(string, tag = "10")] + pub etime: ::prost::alloc::string::String, + /// priority rules priority + #[prost(uint32, tag = "11")] + pub priority: u32, + /// description simple description rules #[prost(string, tag = "12")] - pub status: ::prost::alloc::string::String, - /// 类型 - #[prost(string, tag = "14")] - pub r#type: ::prost::alloc::string::String, + pub description: ::prost::alloc::string::String, + /// extendInfo 用于承载一些额外信息 + /// case 1: 升级到 v2 版本时,记录对应到 v1 版本的 id 信息 + /// deprecated_filed only for compatible to the old version server + #[prost(map = "string, string", tag = "20")] + pub extend_info: ::std::collections::HashMap< + ::prost::alloc::string::String, + ::prost::alloc::string::String, + >, + /// 路由规则标签数据 + #[prost(map = "string, string", tag = "21")] + pub metadata: ::std::collections::HashMap< + ::prost::alloc::string::String, + ::prost::alloc::string::String, + >, + /// 操作标志位 + #[prost(bool, tag = "30")] + pub editable: bool, + #[prost(bool, tag = "31")] + pub deleteable: bool, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct InterfaceDescriptor { - /// 接口ID - #[prost(string, tag = "1")] - pub id: ::prost::alloc::string::String, - /// 方法名称,对应 http method/ dubbo interface func/grpc service func - #[prost(string, tag = "2")] - pub method: ::prost::alloc::string::String, - /// 接口名称,http path/dubbo interface/grpc service - #[prost(string, tag = "3")] - pub path: ::prost::alloc::string::String, - /// 接口描述信息 - #[prost(string, tag = "4")] - pub content: ::prost::alloc::string::String, - /// 创建来源 - #[prost(enumeration = "interface_descriptor::Source", tag = "5")] - pub source: i32, - /// 接口信息摘要 - #[prost(string, tag = "6")] - pub revision: ::prost::alloc::string::String, - /// 创建时间 - #[prost(string, tag = "7")] - pub ctime: ::prost::alloc::string::String, - /// 更新时间 - #[prost(string, tag = "8")] - pub mtime: ::prost::alloc::string::String, - /// 接口名称描述信息 - /// deprecated, use type field - #[prost(string, tag = "9")] - pub name: ::prost::alloc::string::String, - /// 所属命名空间 - #[prost(string, tag = "10")] - pub namespace: ::prost::alloc::string::String, - /// 所属服务名称 - #[prost(string, tag = "11")] - pub service: ::prost::alloc::string::String, - /// 协议,http/grpc/dubbo/thrift - #[prost(string, tag = "12")] - pub protocol: ::prost::alloc::string::String, - /// 契约版本 - #[prost(string, tag = "13")] - pub version: ::prost::alloc::string::String, - /// 类型 - #[prost(string, tag = "14")] - pub r#type: ::prost::alloc::string::String, +pub struct MetadataFailover { + /// failover_range metadata route bottom type + #[prost(enumeration = "metadata_failover::FailoverRange", tag = "1")] + pub failover_range: i32, + /// only use to failover_range == OTHER_KEYS + #[prost(map = "string, string", tag = "2")] + pub labels: ::std::collections::HashMap< + ::prost::alloc::string::String, + ::prost::alloc::string::String, + >, } -/// Nested message and enum types in `InterfaceDescriptor`. -pub mod interface_descriptor { +/// Nested message and enum types in `MetadataFailover`. +pub mod metadata_failover { #[derive( Clone, Copy, @@ -549,55 +743,81 @@ pub mod interface_descriptor { ::prost::Enumeration )] #[repr(i32)] - pub enum Source { - Unknown = 0, - Manual = 1, - Client = 2, + pub enum FailoverRange { + /// ALL return all instances + All = 0, + /// OTHERS retuen without thie labels instances + Others = 1, + /// OTHER_KEYS return other instances which match keys + OtherKeys = 2, } - impl Source { + impl FailoverRange { /// String value of the enum field names used in the ProtoBuf definition. /// /// The values are not transformed in any way and thus are considered stable /// (if the ProtoBuf definition does not change) and safe for programmatic use. pub fn as_str_name(&self) -> &'static str { match self { - Source::Unknown => "UNKNOWN", - Source::Manual => "Manual", - Source::Client => "Client", + FailoverRange::All => "ALL", + FailoverRange::Others => "OTHERS", + FailoverRange::OtherKeys => "OTHER_KEYS", } } /// Creates an enum from field names used in the ProtoBuf definition. pub fn from_str_name(value: &str) -> ::core::option::Option { match value { - "UNKNOWN" => Some(Self::Unknown), - "Manual" => Some(Self::Manual), - "Client" => Some(Self::Client), + "ALL" => Some(Self::All), + "OTHERS" => Some(Self::Others), + "OTHER_KEYS" => Some(Self::OtherKeys), _ => None, } } } } +/// MetadataRoutingConfig metadata routing configuration #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct DiscoverFilter { - #[prost(bool, tag = "1")] - pub only_healthy_instance: bool, +pub struct MetadataRoutingConfig { + /// service + #[prost(string, tag = "1")] + pub service: ::prost::alloc::string::String, + /// namespace + #[prost(string, tag = "2")] + pub namespace: ::prost::alloc::string::String, + #[prost(map = "string, string", tag = "3")] + pub labels: ::std::collections::HashMap< + ::prost::alloc::string::String, + ::prost::alloc::string::String, + >, + /// When metadata not found, it will fall back to the + #[prost(message, optional, tag = "4")] + pub failover: ::core::option::Option, } +/// NearbyRoutingConfig routing configuration #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct DiscoverRequest { - #[prost(enumeration = "discover_request::DiscoverRequestType", tag = "1")] - pub r#type: i32, - #[prost(message, optional, tag = "2")] - pub service: ::core::option::Option, - #[prost(message, optional, tag = "30")] - pub filter: ::core::option::Option, -} -/// Nested message and enum types in `DiscoverRequest`. -pub mod discover_request { - #[derive( - Clone, - Copy, +pub struct NearbyRoutingConfig { + /// 被调服务名,支持*,代表全部服务 + #[prost(string, tag = "1")] + pub service: ::prost::alloc::string::String, + /// 被调命名空间 + #[prost(string, tag = "2")] + pub namespace: ::prost::alloc::string::String, + /// 默认就近级别 + #[prost(enumeration = "nearby_routing_config::LocationLevel", tag = "3")] + pub match_level: i32, + /// 最大就近级别 + #[prost(enumeration = "nearby_routing_config::LocationLevel", tag = "4")] + pub max_match_level: i32, + /// 是否强制就近 + #[prost(bool, tag = "5")] + pub strict_nearby: bool, +} +/// Nested message and enum types in `NearbyRoutingConfig`. +pub mod nearby_routing_config { + #[derive( + Clone, + Copy, Debug, PartialEq, Eq, @@ -607,455 +827,96 @@ pub mod discover_request { ::prost::Enumeration )] #[repr(i32)] - pub enum DiscoverRequestType { + pub enum LocationLevel { + /// 未知就近级别,等同于未定义级别 Unknown = 0, - Instance = 1, - Cluster = 2, - Routing = 3, - RateLimit = 4, - CircuitBreaker = 5, - Services = 6, - Namespaces = 12, - FaultDetector = 13, - Lane = 100, - /// 自定义路由规则 - CustomRouteRule = 101, - /// 就近路由规则 - NearbyRouteRule = 102, + /// 机房就近级别 + Campus = 1, + /// 可用区就近级别 + Zone = 2, + /// 地域就近级别 + Region = 3, + /// 全局就近级别 + All = 4, } - impl DiscoverRequestType { + impl LocationLevel { /// String value of the enum field names used in the ProtoBuf definition. /// /// The values are not transformed in any way and thus are considered stable /// (if the ProtoBuf definition does not change) and safe for programmatic use. pub fn as_str_name(&self) -> &'static str { match self { - DiscoverRequestType::Unknown => "UNKNOWN", - DiscoverRequestType::Instance => "INSTANCE", - DiscoverRequestType::Cluster => "CLUSTER", - DiscoverRequestType::Routing => "ROUTING", - DiscoverRequestType::RateLimit => "RATE_LIMIT", - DiscoverRequestType::CircuitBreaker => "CIRCUIT_BREAKER", - DiscoverRequestType::Services => "SERVICES", - DiscoverRequestType::Namespaces => "NAMESPACES", - DiscoverRequestType::FaultDetector => "FAULT_DETECTOR", - DiscoverRequestType::Lane => "LANE", - DiscoverRequestType::CustomRouteRule => "CUSTOM_ROUTE_RULE", - DiscoverRequestType::NearbyRouteRule => "NEARBY_ROUTE_RULE", + LocationLevel::Unknown => "UNKNOWN", + LocationLevel::Campus => "CAMPUS", + LocationLevel::Zone => "ZONE", + LocationLevel::Region => "REGION", + LocationLevel::All => "ALL", } } /// Creates an enum from field names used in the ProtoBuf definition. pub fn from_str_name(value: &str) -> ::core::option::Option { match value { "UNKNOWN" => Some(Self::Unknown), - "INSTANCE" => Some(Self::Instance), - "CLUSTER" => Some(Self::Cluster), - "ROUTING" => Some(Self::Routing), - "RATE_LIMIT" => Some(Self::RateLimit), - "CIRCUIT_BREAKER" => Some(Self::CircuitBreaker), - "SERVICES" => Some(Self::Services), - "NAMESPACES" => Some(Self::Namespaces), - "FAULT_DETECTOR" => Some(Self::FaultDetector), - "LANE" => Some(Self::Lane), - "CUSTOM_ROUTE_RULE" => Some(Self::CustomRouteRule), - "NEARBY_ROUTE_RULE" => Some(Self::NearbyRouteRule), + "CAMPUS" => Some(Self::Campus), + "ZONE" => Some(Self::Zone), + "REGION" => Some(Self::Region), + "ALL" => Some(Self::All), _ => None, } } } } +/// RuleRoutingConfig routing configuration #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct Namespace { - #[prost(message, optional, tag = "1")] - pub name: ::core::option::Option<::prost::alloc::string::String>, - #[prost(message, optional, tag = "2")] - pub comment: ::core::option::Option<::prost::alloc::string::String>, - #[prost(message, optional, tag = "3")] - pub owners: ::core::option::Option<::prost::alloc::string::String>, - #[prost(message, optional, tag = "4")] - pub token: ::core::option::Option<::prost::alloc::string::String>, - #[prost(message, optional, tag = "5")] - pub ctime: ::core::option::Option<::prost::alloc::string::String>, - #[prost(message, optional, tag = "6")] - pub mtime: ::core::option::Option<::prost::alloc::string::String>, - #[prost(message, optional, tag = "7")] - pub total_service_count: ::core::option::Option, - #[prost(message, optional, tag = "8")] - pub total_health_instance_count: ::core::option::Option, - #[prost(message, optional, tag = "9")] - pub total_instance_count: ::core::option::Option, - #[prost(message, repeated, tag = "10")] - pub user_ids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, - #[prost(message, repeated, tag = "11")] - pub group_ids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, - #[prost(message, repeated, tag = "13")] - pub remove_user_ids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, - #[prost(message, repeated, tag = "14")] - pub remove_group_ids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, - #[prost(message, optional, tag = "12")] - pub id: ::core::option::Option<::prost::alloc::string::String>, - #[prost(message, optional, tag = "15")] - pub editable: ::core::option::Option, - #[prost(message, repeated, tag = "16")] - pub service_export_to: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, -} -/// 规则所属服务以及命名空间 -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct Routing { - #[prost(message, optional, tag = "1")] - pub service: ::core::option::Option<::prost::alloc::string::String>, - #[prost(message, optional, tag = "2")] - pub namespace: ::core::option::Option<::prost::alloc::string::String>, - /// 每个服务可以配置多条入站或者出站规则 - /// 对于每个请求,从上到下依次匹配,若命中则终止 - #[prost(message, repeated, tag = "3")] - pub inbounds: ::prost::alloc::vec::Vec, - #[prost(message, repeated, tag = "4")] - pub outbounds: ::prost::alloc::vec::Vec, - #[prost(message, optional, tag = "5")] - pub ctime: ::core::option::Option<::prost::alloc::string::String>, - #[prost(message, optional, tag = "6")] - pub mtime: ::core::option::Option<::prost::alloc::string::String>, - #[prost(message, optional, tag = "7")] - pub revision: ::core::option::Option<::prost::alloc::string::String>, - #[prost(message, optional, tag = "8")] - pub service_token: ::core::option::Option<::prost::alloc::string::String>, - /// route rules for current service - #[prost(message, repeated, tag = "21")] - pub rules: ::prost::alloc::vec::Vec, -} -/// deprecated: only for compatible to the old version server -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct Route { - /// 如果匹配Source规则,按照Destination路由 - /// 多个Source之间的关系为或 +pub struct RuleRoutingConfig { + /// source source info + /// deprecated_filed only for compatible to the old version server + #[deprecated] #[prost(message, repeated, tag = "1")] - pub sources: ::prost::alloc::vec::Vec, + pub sources: ::prost::alloc::vec::Vec, + /// destination destinations info + /// deprecated_filed only for compatible to the old version server + #[deprecated] #[prost(message, repeated, tag = "2")] - pub destinations: ::prost::alloc::vec::Vec, - /// extendInfo 用于承载一些额外信息 - /// case 1: 升级到 v2 版本时,记录对应到 v2 版本的 id 信息 - #[prost(map = "string, string", tag = "3")] - pub extend_info: ::std::collections::HashMap< - ::prost::alloc::string::String, - ::prost::alloc::string::String, - >, + pub destinations: ::prost::alloc::vec::Vec, + /// rule route chain + #[prost(message, repeated, tag = "3")] + pub rules: ::prost::alloc::vec::Vec, } -/// deprecated: only for compatible to the old version server +/// SubRuleRouting sub routing configuration #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct Source { - /// 主调方服务以及命名空间 - #[prost(message, optional, tag = "1")] - pub service: ::core::option::Option<::prost::alloc::string::String>, - #[prost(message, optional, tag = "2")] - pub namespace: ::core::option::Option<::prost::alloc::string::String>, - /// 主调方服务实例标签或者请求标签 - /// value支持正则匹配 - #[prost(map = "string, message", tag = "3")] - pub metadata: ::std::collections::HashMap< - ::prost::alloc::string::String, - MatchString, - >, +pub struct SubRuleRouting { + /// sub routing rule name + #[prost(string, tag = "1")] + pub name: ::prost::alloc::string::String, + /// source source info + #[prost(message, repeated, tag = "2")] + pub sources: ::prost::alloc::vec::Vec, + /// destination destinations info + #[prost(message, repeated, tag = "3")] + pub destinations: ::prost::alloc::vec::Vec, } -/// deprecated: only for compatible to the old version server #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct Destination { - /// 被调方服务以及命名空间 - #[prost(message, optional, tag = "1")] - pub service: ::core::option::Option<::prost::alloc::string::String>, - #[prost(message, optional, tag = "2")] - pub namespace: ::core::option::Option<::prost::alloc::string::String>, - /// 被调方服务实例标签 - /// value支持正则匹配 - #[prost(map = "string, message", tag = "3")] - pub metadata: ::std::collections::HashMap< - ::prost::alloc::string::String, - MatchString, - >, - /// 根据服务名和服务实例metadata筛选符合条件的服务实例子集 - /// 服务实例子集可以设置优先级和权重 - /// 优先级:整型,范围\[0, 9\],最高优先级为0 - /// 权重:整型 - /// 先按优先级路由,如果存在高优先级,不会使用低优先级 - /// 如果存在优先级相同的子集,再按权重分配 - /// 优先级和权重可以都不设置/设置一个/设置两个 - /// 如果部分设置优先级,部分没有设置,认为没有设置的优先级最低 - /// 如果部分设置权重,部分没有设置,认为没有设置的权重为0 - /// 如果全部没有设置权重,认为权重相同 - #[prost(message, optional, tag = "4")] - pub priority: ::core::option::Option, - #[prost(message, optional, tag = "5")] - pub weight: ::core::option::Option, - /// 将请求转发到代理服务 - #[prost(message, optional, tag = "6")] - pub transfer: ::core::option::Option<::prost::alloc::string::String>, - /// 是否对该set执行隔离,隔离后,不会再分配流量 - #[prost(message, optional, tag = "7")] - pub isolate: ::core::option::Option, - /// 实例分组名 - #[prost(message, optional, tag = "8")] - pub name: ::core::option::Option<::prost::alloc::string::String>, +pub struct SourceService { + /// Main tuning service and namespace + #[prost(string, tag = "1")] + pub service: ::prost::alloc::string::String, + #[prost(string, tag = "2")] + pub namespace: ::prost::alloc::string::String, + /// Master Control Service Example Tag or Request Label + /// Value supports regular matching + #[prost(message, repeated, tag = "3")] + pub arguments: ::prost::alloc::vec::Vec, } -/// configuration root for route #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct RouteRule { +pub struct DestinationGroup { + /// Templated service and namespace #[prost(string, tag = "1")] - pub id: ::prost::alloc::string::String, - /// route rule name - #[prost(string, tag = "2")] - pub name: ::prost::alloc::string::String, - /// namespace namingspace of routing rules - #[prost(string, tag = "3")] - pub namespace: ::prost::alloc::string::String, - /// Enable this router - #[prost(bool, tag = "4")] - pub enable: bool, - /// Router type - #[prost(enumeration = "RoutingPolicy", tag = "5")] - pub routing_policy: i32, - /// Routing configuration for router - #[prost(message, optional, tag = "6")] - pub routing_config: ::core::option::Option<::prost_types::Any>, - /// revision routing version - #[prost(string, tag = "7")] - pub revision: ::prost::alloc::string::String, - /// ctime create time of the rules - #[prost(string, tag = "8")] - pub ctime: ::prost::alloc::string::String, - /// mtime modify time of the rules - #[prost(string, tag = "9")] - pub mtime: ::prost::alloc::string::String, - /// etime enable time of the rules - #[prost(string, tag = "10")] - pub etime: ::prost::alloc::string::String, - /// priority rules priority - #[prost(uint32, tag = "11")] - pub priority: u32, - /// description simple description rules - #[prost(string, tag = "12")] - pub description: ::prost::alloc::string::String, - /// extendInfo 用于承载一些额外信息 - /// case 1: 升级到 v2 版本时,记录对应到 v1 版本的 id 信息 - /// deprecated_filed only for compatible to the old version server - #[prost(map = "string, string", tag = "20")] - pub extend_info: ::std::collections::HashMap< - ::prost::alloc::string::String, - ::prost::alloc::string::String, - >, - /// 路由规则标签数据 - #[prost(map = "string, string", tag = "50")] - pub metadata: ::std::collections::HashMap< - ::prost::alloc::string::String, - ::prost::alloc::string::String, - >, -} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct MetadataFailover { - /// failover_range metadata route bottom type - #[prost(enumeration = "metadata_failover::FailoverRange", tag = "1")] - pub failover_range: i32, - /// only use to failover_range == OTHER_KEYS - #[prost(map = "string, string", tag = "2")] - pub labels: ::std::collections::HashMap< - ::prost::alloc::string::String, - ::prost::alloc::string::String, - >, -} -/// Nested message and enum types in `MetadataFailover`. -pub mod metadata_failover { - #[derive( - Clone, - Copy, - Debug, - PartialEq, - Eq, - Hash, - PartialOrd, - Ord, - ::prost::Enumeration - )] - #[repr(i32)] - pub enum FailoverRange { - /// ALL return all instances - All = 0, - /// OTHERS retuen without thie labels instances - Others = 1, - /// OTHER_KEYS return other instances which match keys - OtherKeys = 2, - } - impl FailoverRange { - /// String value of the enum field names used in the ProtoBuf definition. - /// - /// The values are not transformed in any way and thus are considered stable - /// (if the ProtoBuf definition does not change) and safe for programmatic use. - pub fn as_str_name(&self) -> &'static str { - match self { - FailoverRange::All => "ALL", - FailoverRange::Others => "OTHERS", - FailoverRange::OtherKeys => "OTHER_KEYS", - } - } - /// Creates an enum from field names used in the ProtoBuf definition. - pub fn from_str_name(value: &str) -> ::core::option::Option { - match value { - "ALL" => Some(Self::All), - "OTHERS" => Some(Self::Others), - "OTHER_KEYS" => Some(Self::OtherKeys), - _ => None, - } - } - } -} -/// MetadataRoutingConfig metadata routing configuration -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct MetadataRoutingConfig { - /// service - #[prost(string, tag = "1")] - pub service: ::prost::alloc::string::String, - /// namespace - #[prost(string, tag = "2")] - pub namespace: ::prost::alloc::string::String, - #[prost(map = "string, string", tag = "3")] - pub labels: ::std::collections::HashMap< - ::prost::alloc::string::String, - ::prost::alloc::string::String, - >, - /// When metadata not found, it will fall back to the - #[prost(message, optional, tag = "4")] - pub failover: ::core::option::Option, -} -/// NearbyRoutingConfig routing configuration -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct NearbyRoutingConfig { - /// 被调服务名,支持*,代表全部服务 - #[prost(string, tag = "1")] - pub service: ::prost::alloc::string::String, - /// 被调命名空间 - #[prost(string, tag = "2")] - pub namespace: ::prost::alloc::string::String, - /// 默认就近级别 - #[prost(enumeration = "nearby_routing_config::LocationLevel", tag = "3")] - pub match_level: i32, - /// 最大就近级别 - #[prost(enumeration = "nearby_routing_config::LocationLevel", tag = "4")] - pub max_match_level: i32, - /// 是否强制就近 - #[prost(bool, tag = "5")] - pub strict_nearby: bool, -} -/// Nested message and enum types in `NearbyRoutingConfig`. -pub mod nearby_routing_config { - #[derive( - Clone, - Copy, - Debug, - PartialEq, - Eq, - Hash, - PartialOrd, - Ord, - ::prost::Enumeration - )] - #[repr(i32)] - pub enum LocationLevel { - /// 未知就近级别,等同于未定义级别 - Unknown = 0, - /// 机房就近级别 - Campus = 1, - /// 可用区就近级别 - Zone = 2, - /// 地域就近级别 - Region = 3, - /// 全局就近级别 - All = 4, - } - impl LocationLevel { - /// String value of the enum field names used in the ProtoBuf definition. - /// - /// The values are not transformed in any way and thus are considered stable - /// (if the ProtoBuf definition does not change) and safe for programmatic use. - pub fn as_str_name(&self) -> &'static str { - match self { - LocationLevel::Unknown => "UNKNOWN", - LocationLevel::Campus => "CAMPUS", - LocationLevel::Zone => "ZONE", - LocationLevel::Region => "REGION", - LocationLevel::All => "ALL", - } - } - /// Creates an enum from field names used in the ProtoBuf definition. - pub fn from_str_name(value: &str) -> ::core::option::Option { - match value { - "UNKNOWN" => Some(Self::Unknown), - "CAMPUS" => Some(Self::Campus), - "ZONE" => Some(Self::Zone), - "REGION" => Some(Self::Region), - "ALL" => Some(Self::All), - _ => None, - } - } - } -} -/// RuleRoutingConfig routing configuration -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct RuleRoutingConfig { - /// source source info - /// deprecated_filed only for compatible to the old version server - #[deprecated] - #[prost(message, repeated, tag = "1")] - pub sources: ::prost::alloc::vec::Vec, - /// destination destinations info - /// deprecated_filed only for compatible to the old version server - #[deprecated] - #[prost(message, repeated, tag = "2")] - pub destinations: ::prost::alloc::vec::Vec, - /// rule route chain - #[prost(message, repeated, tag = "3")] - pub rules: ::prost::alloc::vec::Vec, -} -/// SubRuleRouting sub routing configuration -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct SubRuleRouting { - /// sub routing rule name - #[prost(string, tag = "1")] - pub name: ::prost::alloc::string::String, - /// source source info - #[prost(message, repeated, tag = "2")] - pub sources: ::prost::alloc::vec::Vec, - /// destination destinations info - #[prost(message, repeated, tag = "3")] - pub destinations: ::prost::alloc::vec::Vec, -} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct SourceService { - /// Main tuning service and namespace - #[prost(string, tag = "1")] - pub service: ::prost::alloc::string::String, - #[prost(string, tag = "2")] - pub namespace: ::prost::alloc::string::String, - /// Master Control Service Example Tag or Request Label - /// Value supports regular matching - #[prost(message, repeated, tag = "3")] - pub arguments: ::prost::alloc::vec::Vec, -} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct DestinationGroup { - /// Templated service and namespace - #[prost(string, tag = "1")] - pub service: ::prost::alloc::string::String, + pub service: ::prost::alloc::string::String, #[prost(string, tag = "2")] pub namespace: ::prost::alloc::string::String, /// Templated service example label @@ -1289,12 +1150,23 @@ pub struct Rule { /// 最大排队时长,单位秒 #[prost(message, optional, tag = "26")] pub max_queue_delay: ::core::option::Option, + /// amount for concurrency rate-limit + #[prost(message, optional, tag = "27")] + pub concurrency_amount: ::core::option::Option, + /// fallback configuration + #[prost(message, optional, tag = "28")] + pub custom_response: ::core::option::Option, /// 限流规则标签数据 - #[prost(map = "string, string", tag = "50")] + #[prost(map = "string, string", tag = "29")] pub metadata: ::std::collections::HashMap< ::prost::alloc::string::String, ::prost::alloc::string::String, >, + /// 操作标志位 + #[prost(bool, tag = "30")] + pub editable: bool, + #[prost(bool, tag = "31")] + pub deleteable: bool, } /// Nested message and enum types in `Rule`. pub mod rule { @@ -1494,6 +1366,8 @@ pub mod match_argument { CallerService = 4, /// caller host ip CallerIp = 5, + /// caller instance metadata + CallerMetadata = 6, } impl Type { /// String value of the enum field names used in the ProtoBuf definition. @@ -1508,6 +1382,7 @@ pub mod match_argument { Type::Query => "QUERY", Type::CallerService => "CALLER_SERVICE", Type::CallerIp => "CALLER_IP", + Type::CallerMetadata => "CALLER_METADATA", } } /// Creates an enum from field names used in the ProtoBuf definition. @@ -1519,11 +1394,26 @@ pub mod match_argument { "QUERY" => Some(Self::Query), "CALLER_SERVICE" => Some(Self::CallerService), "CALLER_IP" => Some(Self::CallerIp), + "CALLER_METADATA" => Some(Self::CallerMetadata), _ => None, } } } } +/// concurrency rate-limit amount config +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ConcurrencyAmount { + #[prost(uint32, tag = "1")] + pub max_amount: u32, +} +/// custom response text when limited +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct CustomResponse { + #[prost(string, tag = "3")] + pub body: ::prost::alloc::string::String, +} /// 分布式限流服务集群 #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -2198,11 +2088,16 @@ pub struct CircuitBreakerRule { #[prost(uint32, tag = "30")] pub priority: u32, /// 熔断规则标签数据 - #[prost(map = "string, string", tag = "50")] + #[prost(map = "string, string", tag = "31")] pub metadata: ::std::collections::HashMap< ::prost::alloc::string::String, ::prost::alloc::string::String, >, + /// 操作标志位 + #[prost(bool, tag = "40")] + pub editable: bool, + #[prost(bool, tag = "41")] + pub deleteable: bool, } /// the condition to judge an input invocation as an error #[allow(clippy::derive_partial_eq_without_eq)] @@ -2330,12 +2225,28 @@ pub struct FaultDetectConfig { #[prost(bool, tag = "1")] pub enable: bool, } -/// fallback config +/// blocking strategy #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct FallbackConfig { - #[prost(bool, tag = "1")] - pub enable: bool, +pub struct BlockConfig { + #[prost(string, tag = "1")] + pub name: ::prost::alloc::string::String, + /// blocking target api + #[prost(message, optional, tag = "2")] + pub api: ::core::option::Option, + /// conditions to judge an invocation as an error + #[prost(message, repeated, tag = "3")] + pub error_conditions: ::prost::alloc::vec::Vec, + /// trigger condition to trigger circuitbreaking + #[prost(message, repeated, tag = "4")] + pub trigger_conditions: ::prost::alloc::vec::Vec, +} +/// fallback config +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct FallbackConfig { + #[prost(bool, tag = "1")] + pub enable: bool, #[prost(message, optional, tag = "2")] pub response: ::core::option::Option, } @@ -2361,22 +2272,6 @@ pub mod fallback_response { pub value: ::prost::alloc::string::String, } } -/// blocking strategy -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct BlockConfig { - #[prost(string, tag = "1")] - pub name: ::prost::alloc::string::String, - /// blocking target api - #[prost(message, optional, tag = "2")] - pub api: ::core::option::Option, - /// conditions to judge an invocation as an error - #[prost(message, repeated, tag = "3")] - pub error_conditions: ::prost::alloc::vec::Vec, - /// trigger condition to trigger circuitbreaking - #[prost(message, repeated, tag = "4")] - pub trigger_conditions: ::prost::alloc::vec::Vec, -} /// circuitbreaking level #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] #[repr(i32)] @@ -2419,6 +2314,80 @@ impl Level { } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] +pub struct Client { + #[prost(message, optional, tag = "1")] + pub host: ::core::option::Option<::prost::alloc::string::String>, + #[prost(enumeration = "client::ClientType", tag = "2")] + pub r#type: i32, + #[prost(message, optional, tag = "3")] + pub version: ::core::option::Option<::prost::alloc::string::String>, + #[prost(message, optional, tag = "4")] + pub location: ::core::option::Option, + #[prost(message, optional, tag = "5")] + pub id: ::core::option::Option<::prost::alloc::string::String>, + #[prost(message, repeated, tag = "6")] + pub stat: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "7")] + pub ctime: ::core::option::Option<::prost::alloc::string::String>, + #[prost(message, optional, tag = "8")] + pub mtime: ::core::option::Option<::prost::alloc::string::String>, +} +/// Nested message and enum types in `Client`. +pub mod client { + #[derive( + Clone, + Copy, + Debug, + PartialEq, + Eq, + Hash, + PartialOrd, + Ord, + ::prost::Enumeration + )] + #[repr(i32)] + pub enum ClientType { + Unknown = 0, + Sdk = 1, + Agent = 2, + } + impl ClientType { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + ClientType::Unknown => "UNKNOWN", + ClientType::Sdk => "SDK", + ClientType::Agent => "AGENT", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "UNKNOWN" => Some(Self::Unknown), + "SDK" => Some(Self::Sdk), + "AGENT" => Some(Self::Agent), + _ => None, + } + } + } +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct StatInfo { + #[prost(message, optional, tag = "1")] + pub target: ::core::option::Option<::prost::alloc::string::String>, + #[prost(message, optional, tag = "2")] + pub port: ::core::option::Option, + #[prost(message, optional, tag = "3")] + pub path: ::core::option::Option<::prost::alloc::string::String>, + #[prost(message, optional, tag = "4")] + pub protocol: ::core::option::Option<::prost::alloc::string::String>, +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] pub struct ConfigRelease { #[prost(message, optional, tag = "1")] pub service: ::core::option::Option, @@ -2497,11 +2466,22 @@ pub struct FaultDetectRule { #[prost(uint32, tag = "29")] pub priority: u32, /// 探测规则标签数据 - #[prost(map = "string, string", tag = "50")] + #[prost(map = "string, string", tag = "30")] pub metadata: ::std::collections::HashMap< ::prost::alloc::string::String, ::prost::alloc::string::String, >, + /// extend info, put some custom info to display in console + #[prost(map = "string, string", tag = "31")] + pub extend_info: ::std::collections::HashMap< + ::prost::alloc::string::String, + ::prost::alloc::string::String, + >, + /// 操作标志位 + #[prost(bool, tag = "40")] + pub editable: bool, + #[prost(bool, tag = "41")] + pub deleteable: bool, } /// Nested message and enum types in `FaultDetectRule`. pub mod fault_detect_rule { @@ -3073,11 +3053,16 @@ pub struct LaneGroup { #[prost(message, repeated, tag = "11")] pub rules: ::prost::alloc::vec::Vec, /// 泳道组标签信息 - #[prost(map = "string, string", tag = "20")] + #[prost(map = "string, string", tag = "12")] pub metadata: ::std::collections::HashMap< ::prost::alloc::string::String, ::prost::alloc::string::String, >, + /// 操作标志位 + #[prost(bool, tag = "20")] + pub editable: bool, + #[prost(bool, tag = "21")] + pub deleteable: bool, } /// TrafficMatchRule 流量匹配规则 #[allow(clippy::derive_partial_eq_without_eq)] @@ -3213,6 +3198,158 @@ pub mod lane_rule { } } } +/// 优雅上下线规则的模型 +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct LosslessRule { + /// rule id + #[prost(string, tag = "1")] + pub id: ::prost::alloc::string::String, + /// service for rule belongs to + #[prost(string, tag = "2")] + pub service: ::prost::alloc::string::String, + /// namespace for rule belongs to + #[prost(string, tag = "3")] + pub namespace: ::prost::alloc::string::String, + /// revision routing version + #[prost(string, tag = "4")] + pub revision: ::prost::alloc::string::String, + /// ctime create time of the rules + #[prost(string, tag = "5")] + pub ctime: ::prost::alloc::string::String, + /// mtime modify time of the rules + #[prost(string, tag = "6")] + pub mtime: ::prost::alloc::string::String, + /// configuration for lossless online + #[prost(message, optional, tag = "7")] + pub lossless_online: ::core::option::Option, + /// configuration for lossless offline + #[prost(message, optional, tag = "8")] + pub lossless_offline: ::core::option::Option, + /// rule labels + #[prost(map = "string, string", tag = "9")] + pub metadata: ::std::collections::HashMap< + ::prost::alloc::string::String, + ::prost::alloc::string::String, + >, + /// 操作标志位 + #[prost(bool, tag = "30")] + pub editable: bool, + #[prost(bool, tag = "31")] + pub deleteable: bool, +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct LosslessOnline { + /// configuration for delayRegister + #[prost(message, optional, tag = "1")] + pub delay_register: ::core::option::Option, + /// configuration for warmup + #[prost(message, optional, tag = "2")] + pub warmup: ::core::option::Option, + /// configuration for readiness probe + #[prost(message, optional, tag = "3")] + pub readiness: ::core::option::Option, +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct DelayRegister { + /// enable delay registry + #[prost(bool, tag = "1")] + pub enable: bool, + /// delay register strategy + #[prost(enumeration = "delay_register::DelayStrategy", tag = "2")] + pub strategy: i32, + /// delay register time by second, active when strategy == DELAY_BY_TIME + #[prost(int32, tag = "3")] + pub interval_second: i32, + /// protocol to do health check, default http, active when strategy == DELAY_BY_HEALTH_CHECK + #[prost(string, tag = "4")] + pub health_check_protocol: ::prost::alloc::string::String, + /// method to do health check, default GET, active when strategy == DELAY_BY_HEALTH_CHECK + #[prost(string, tag = "5")] + pub health_check_method: ::prost::alloc::string::String, + /// path to do health check, no default value, active when strategy == DELAY_BY_HEALTH_CHECK + #[prost(string, tag = "6")] + pub health_check_path: ::prost::alloc::string::String, + /// health check interval second, default is 30, active when strategy == DELAY_BY_HEALTH_CHECK + #[prost(string, tag = "7")] + pub health_check_interval_second: ::prost::alloc::string::String, +} +/// Nested message and enum types in `DelayRegister`. +pub mod delay_register { + #[derive( + Clone, + Copy, + Debug, + PartialEq, + Eq, + Hash, + PartialOrd, + Ord, + ::prost::Enumeration + )] + #[repr(i32)] + pub enum DelayStrategy { + /// register instance after delay specific time + DelayByTime = 0, + /// register instance until health check successfully + DelayByHealthCheck = 1, + } + impl DelayStrategy { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + DelayStrategy::DelayByTime => "DELAY_BY_TIME", + DelayStrategy::DelayByHealthCheck => "DELAY_BY_HEALTH_CHECK", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "DELAY_BY_TIME" => Some(Self::DelayByTime), + "DELAY_BY_HEALTH_CHECK" => Some(Self::DelayByHealthCheck), + _ => None, + } + } + } +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Warmup { + /// enable warmup + #[prost(bool, tag = "1")] + pub enable: bool, + /// total warmup interval by second + #[prost(int32, tag = "2")] + pub interval_second: i32, + /// warmup stop when most of the instances in service are in warmup status + #[prost(bool, tag = "3")] + pub enable_overload_protection: bool, + /// the threshold to active overload protection, default is 50, threshld = sum(WarmupInstances)/sum(AllInstances)*100 + #[prost(int32, tag = "4")] + pub overload_protection_threshold: i32, + /// curvature for warmup register, default is 1 + #[prost(int32, tag = "5")] + pub curvature: i32, +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Readiness { + /// enable /readiness expose + #[prost(bool, tag = "1")] + pub enable: bool, +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct LosslessOffline { + /// enable /offline expose + #[prost(bool, tag = "1")] + pub enable: bool, +} #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct Response { @@ -3348,6 +3485,9 @@ pub struct DiscoverResponse { /// 就近路由规则内容 #[prost(message, repeated, tag = "24")] pub nearby_route_rules: ::prost::alloc::vec::Vec, + /// 无损上下线规则内容 + #[prost(message, repeated, tag = "25")] + pub lossless_rules: ::prost::alloc::vec::Vec, } /// Nested message and enum types in `DiscoverResponse`. pub mod discover_response { @@ -3378,6 +3518,8 @@ pub mod discover_response { CustomRouteRule = 101, /// 就近路由规则 NearbyRouteRule = 102, + /// 无损上下线规则 + Lossless = 103, } impl DiscoverResponseType { /// String value of the enum field names used in the ProtoBuf definition. @@ -3398,6 +3540,7 @@ pub mod discover_response { DiscoverResponseType::Lane => "LANE", DiscoverResponseType::CustomRouteRule => "CUSTOM_ROUTE_RULE", DiscoverResponseType::NearbyRouteRule => "NEARBY_ROUTE_RULE", + DiscoverResponseType::Lossless => "LOSSLESS", } } /// Creates an enum from field names used in the ProtoBuf definition. @@ -3415,6 +3558,7 @@ pub mod discover_response { "LANE" => Some(Self::Lane), "CUSTOM_ROUTE_RULE" => Some(Self::CustomRouteRule), "NEARBY_ROUTE_RULE" => Some(Self::NearbyRouteRule), + "LOSSLESS" => Some(Self::Lossless), _ => None, } } @@ -3434,1333 +3578,1323 @@ pub struct OptionSwitch { pub struct InstanceLabels { #[prost(map = "string, message", tag = "1")] pub labels: ::std::collections::HashMap<::prost::alloc::string::String, StringList>, -} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct HeartbeatRecord { - #[prost(string, tag = "1")] - pub instance_id: ::prost::alloc::string::String, - #[prost(int64, tag = "6")] - pub last_heartbeat_sec: i64, - #[prost(bool, tag = "7")] - pub exist: bool, -} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct InstanceHeartbeat { - #[prost(string, tag = "1")] - pub instance_id: ::prost::alloc::string::String, #[prost(string, tag = "2")] - pub service: ::prost::alloc::string::String, - #[prost(string, tag = "3")] pub namespace: ::prost::alloc::string::String, + #[prost(string, tag = "3")] + pub service: ::prost::alloc::string::String, #[prost(string, tag = "4")] - pub host: ::prost::alloc::string::String, - #[prost(uint32, tag = "5")] - pub port: u32, -} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct HeartbeatsRequest { - #[prost(message, repeated, tag = "1")] - pub heartbeats: ::prost::alloc::vec::Vec, -} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct HeartbeatsResponse {} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct GetHeartbeatsRequest { - #[prost(string, repeated, tag = "1")] - pub instance_ids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, -} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct GetHeartbeatsResponse { - #[prost(message, repeated, tag = "1")] - pub records: ::prost::alloc::vec::Vec, -} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct DelHeartbeatsRequest { - #[prost(string, repeated, tag = "1")] - pub instance_ids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, + pub service_id: ::prost::alloc::string::String, } -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct DelHeartbeatsResponse { - #[prost(uint32, tag = "1")] - pub code: u32, - #[prost(string, tag = "2")] - pub info: ::prost::alloc::string::String, +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Code { + /// base module status codes + Unknown = 0, + ExecuteSuccess = 200000, + DataNoChange = 200001, + NoNeedUpdate = 200002, + BadRequest = 400000, + ParseException = 400001, + EmptyRequest = 400002, + BatchSizeOverLimit = 400003, + InvalidDiscoverResource = 400004, + InvalidRequestId = 400100, + InvalidUserName = 400101, + InvalidUserToken = 400102, + InvalidParameter = 400103, + EmptyQueryParameter = 400104, + InvalidQueryInsParameter = 400105, + InvalidNamespaceName = 400110, + InvalidNamespaceOwners = 400111, + InvalidNamespaceToken = 400112, + InvalidServiceName = 400120, + InvalidServiceOwners = 400121, + InvalidServiceToken = 400122, + InvalidServiceMetadata = 400123, + InvalidServicePorts = 400124, + InvalidServiceBusiness = 400125, + InvalidServiceDepartment = 400126, + InvalidServiceCmdb = 400127, + InvalidServiceComment = 400128, + InvalidServiceAliasComment = 400129, + InvalidInstanceId = 400130, + InvalidInstanceHost = 400131, + InvalidInstancePort = 400132, + InvalidServiceAlias = 400133, + InvalidNamespaceWithAlias = 400134, + InvalidServiceAliasOwners = 400135, + InvalidInstanceProtocol = 400136, + InvalidInstanceVersion = 400137, + InvalidInstanceLogicSet = 400138, + InvalidInstanceIsolate = 400139, + HealthCheckNotOpen = 400140, + HeartbeatOnDisabledIns = 400141, + HeartbeatExceedLimit = 400142, + HeartbeatTypeNotFound = 400143, + InvalidMetadata = 400150, + InvalidRateLimitId = 400151, + InvalidRateLimitLabels = 400152, + InvalidRateLimitAmounts = 400153, + InvalidRateLimitName = 400154, + InvalidCircuitBreakerId = 400160, + InvalidCircuitBreakerVersion = 400161, + InvalidCircuitBreakerName = 400162, + InvalidCircuitBreakerNamespace = 400163, + InvalidCircuitBreakerOwners = 400164, + InvalidCircuitBreakerToken = 400165, + InvalidCircuitBreakerBusiness = 400166, + InvalidCircuitBreakerDepartment = 400167, + InvalidCircuitBreakerComment = 400168, + CircuitBreakerRuleExisted = 400169, + InvalidRoutingId = 400700, + InvalidRoutingPolicy = 400701, + InvalidRoutingName = 400702, + InvalidRoutingPriority = 400703, + InvalidFaultDetectId = 400900, + InvalidFaultDetectName = 400901, + InvalidFaultDetectNamespace = 400902, + FaultDetectRuleExisted = 400903, + InvalidMatchRule = 400904, + /// network relative codes + ServicesExistedMesh = 400170, + ResourcesExistedMesh = 400171, + InvalidMeshParameter = 400172, + /// platform relative codes + InvalidPlatformId = 400180, + InvalidPlatformName = 400181, + InvalidPlatformDomain = 400182, + InvalidPlatformQps = 400183, + InvalidPlatformToken = 400184, + InvalidPlatformOwner = 400185, + InvalidPlatformDepartment = 400186, + InvalidPlatformComment = 400187, + NotFoundPlatform = 400188, + /// flux relative codes + InvalidFluxRateLimitId = 400190, + InvalidFluxRateLimitQps = 400191, + InvalidFluxRateLimitSetKey = 400192, + ExistedResource = 400201, + NotFoundResource = 400202, + NamespaceExistedServices = 400203, + ServiceExistedInstances = 400204, + ServiceExistedRoutings = 400205, + ServiceExistedRateLimits = 400206, + ExistReleasedConfig = 400207, + SameInstanceRequest = 400208, + ServiceExistedCircuitBreakers = 400209, + ServiceExistedAlias = 400210, + NamespaceExistedMeshResources = 400211, + NamespaceExistedCircuitBreakers = 400212, + ServiceSubscribedByMeshes = 400213, + ServiceExistedFluxRateLimits = 400214, + NamespaceExistedConfigGroups = 400219, + NotFoundService = 400301, + NotFoundRouting = 400302, + NotFoundInstance = 400303, + NotFoundServiceAlias = 400304, + NotFoundNamespace = 400305, + NotFoundSourceService = 400306, + NotFoundRateLimit = 400307, + NotFoundCircuitBreaker = 400308, + NotFoundMasterConfig = 400309, + NotFoundTagConfig = 400310, + NotFoundTagConfigOrService = 400311, + ClientApiNotOpen = 400401, + NotAllowBusinessService = 400402, + NotAllowAliasUpdate = 400501, + NotAllowAliasCreateInstance = 400502, + NotAllowAliasCreateRouting = 400503, + NotAllowCreateAliasForAlias = 400504, + NotAllowAliasCreateRateLimit = 400505, + NotAllowAliasBindRule = 400506, + NotAllowDifferentNamespaceBindRule = 400507, + Unauthorized = 401000, + NotAllowedAccess = 401001, + CmdbNotFindHost = 404001, + DataConflict = 409000, + InstanceTooManyRequests = 429001, + IpRateLimit = 429002, + ApiRateLimit = 403003, + ExecuteException = 500000, + StoreLayerException = 500001, + CmdbPluginException = 500002, + ParseRoutingException = 500004, + ParseRateLimitException = 500005, + ParseCircuitBreakerException = 500006, + HeartbeatException = 500007, + InstanceRegisTimeout = 500008, + /// config center status codes + InvalidConfigFileGroupName = 400801, + InvalidConfigFileName = 400802, + InvalidConfigFileContentLength = 400803, + InvalidConfigFileFormat = 400804, + InvalidConfigFileTags = 400805, + InvalidWatchConfigFileFormat = 400806, + NotFoundResourceConfigFile = 400807, + InvalidConfigFileTemplateName = 400808, + EncryptConfigFileException = 400809, + GroupExistActiveRelease = 400810, + DecryptConfigFileException = 400811, + /// auth codes + InvalidUserOwners = 400410, + InvalidUserId = 400411, + InvalidUserPassword = 400412, + InvalidUserMobile = 400413, + InvalidUserEmail = 400414, + InvalidUserGroupOwners = 400420, + InvalidUserGroupId = 400421, + InvalidAuthStrategyOwners = 400430, + InvalidAuthStrategyName = 400431, + InvalidAuthStrategyId = 400432, + InvalidPrincipalType = 400440, + UserExisted = 400215, + UserGroupExisted = 400216, + AuthStrategyRuleExisted = 400217, + SubAccountExisted = 400218, + NotFoundUser = 400312, + NotFoundOwnerUser = 400313, + NotFoundUserGroup = 400314, + NotFoundAuthStrategyRule = 400315, + NotAllowModifyDefaultStrategyPrincipal = 400508, + NotAllowModifyOwnerDefaultStrategy = 400509, + EmptyAutToken = 401002, + TokenDisabled = 401003, + TokenNotExisted = 401004, + AuthTokenForbidden = 403001, + OperationRoleForbidden = 403002, } -/// Generated client implementations. -pub mod polaris_grpc_client { - #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] - use tonic::codegen::*; - use tonic::codegen::http::Uri; - #[derive(Debug, Clone)] - pub struct PolarisGrpcClient { - inner: tonic::client::Grpc, - } - impl PolarisGrpcClient { - /// Attempt to create a new client by connecting to a given endpoint. - pub async fn connect(dst: D) -> Result - where - D: TryInto, - D::Error: Into, - { - let conn = tonic::transport::Endpoint::new(dst)?.connect().await?; - Ok(Self::new(conn)) - } - } - impl PolarisGrpcClient - where - T: tonic::client::GrpcService, - T::Error: Into, - T::ResponseBody: Body + Send + 'static, - ::Error: Into + Send, - { - pub fn new(inner: T) -> Self { - let inner = tonic::client::Grpc::new(inner); - Self { inner } - } - pub fn with_origin(inner: T, origin: Uri) -> Self { - let inner = tonic::client::Grpc::with_origin(inner, origin); - Self { inner } - } - pub fn with_interceptor( - inner: T, - interceptor: F, - ) -> PolarisGrpcClient> - where - F: tonic::service::Interceptor, - T::ResponseBody: Default, - T: tonic::codegen::Service< - http::Request, - Response = http::Response< - >::ResponseBody, - >, - >, - , - >>::Error: Into + Send + Sync, - { - PolarisGrpcClient::new(InterceptedService::new(inner, interceptor)) - } - /// Compress requests with the given encoding. - /// - /// This requires the server to support it otherwise it might respond with an - /// error. - #[must_use] - pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self { - self.inner = self.inner.send_compressed(encoding); - self - } - /// Enable decompressing responses. - #[must_use] - pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self { - self.inner = self.inner.accept_compressed(encoding); - self - } - /// Limits the maximum size of a decoded message. - /// - /// Default: `4MB` - #[must_use] - pub fn max_decoding_message_size(mut self, limit: usize) -> Self { - self.inner = self.inner.max_decoding_message_size(limit); - self - } - /// Limits the maximum size of an encoded message. - /// - /// Default: `usize::MAX` - #[must_use] - pub fn max_encoding_message_size(mut self, limit: usize) -> Self { - self.inner = self.inner.max_encoding_message_size(limit); - self - } - /// 客户端上报 - pub async fn report_client( - &mut self, - request: impl tonic::IntoRequest, - ) -> std::result::Result, tonic::Status> { - self.inner - .ready() - .await - .map_err(|e| { - tonic::Status::new( - tonic::Code::Unknown, - format!("Service was not ready: {}", e.into()), - ) - })?; - let codec = tonic::codec::ProstCodec::default(); - let path = http::uri::PathAndQuery::from_static( - "/v1.PolarisGRPC/ReportClient", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert(GrpcMethod::new("v1.PolarisGRPC", "ReportClient")); - self.inner.unary(req, path, codec).await - } - /// 被调方注册服务实例 - pub async fn register_instance( - &mut self, - request: impl tonic::IntoRequest, - ) -> std::result::Result, tonic::Status> { - self.inner - .ready() - .await - .map_err(|e| { - tonic::Status::new( - tonic::Code::Unknown, - format!("Service was not ready: {}", e.into()), - ) - })?; - let codec = tonic::codec::ProstCodec::default(); - let path = http::uri::PathAndQuery::from_static( - "/v1.PolarisGRPC/RegisterInstance", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert(GrpcMethod::new("v1.PolarisGRPC", "RegisterInstance")); - self.inner.unary(req, path, codec).await - } - /// 被调方反注册服务实例 - pub async fn deregister_instance( - &mut self, - request: impl tonic::IntoRequest, - ) -> std::result::Result, tonic::Status> { - self.inner - .ready() - .await - .map_err(|e| { - tonic::Status::new( - tonic::Code::Unknown, - format!("Service was not ready: {}", e.into()), - ) - })?; - let codec = tonic::codec::ProstCodec::default(); - let path = http::uri::PathAndQuery::from_static( - "/v1.PolarisGRPC/DeregisterInstance", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert(GrpcMethod::new("v1.PolarisGRPC", "DeregisterInstance")); - self.inner.unary(req, path, codec).await +impl Code { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Code::Unknown => "Unknown", + Code::ExecuteSuccess => "ExecuteSuccess", + Code::DataNoChange => "DataNoChange", + Code::NoNeedUpdate => "NoNeedUpdate", + Code::BadRequest => "BadRequest", + Code::ParseException => "ParseException", + Code::EmptyRequest => "EmptyRequest", + Code::BatchSizeOverLimit => "BatchSizeOverLimit", + Code::InvalidDiscoverResource => "InvalidDiscoverResource", + Code::InvalidRequestId => "InvalidRequestID", + Code::InvalidUserName => "InvalidUserName", + Code::InvalidUserToken => "InvalidUserToken", + Code::InvalidParameter => "InvalidParameter", + Code::EmptyQueryParameter => "EmptyQueryParameter", + Code::InvalidQueryInsParameter => "InvalidQueryInsParameter", + Code::InvalidNamespaceName => "InvalidNamespaceName", + Code::InvalidNamespaceOwners => "InvalidNamespaceOwners", + Code::InvalidNamespaceToken => "InvalidNamespaceToken", + Code::InvalidServiceName => "InvalidServiceName", + Code::InvalidServiceOwners => "InvalidServiceOwners", + Code::InvalidServiceToken => "InvalidServiceToken", + Code::InvalidServiceMetadata => "InvalidServiceMetadata", + Code::InvalidServicePorts => "InvalidServicePorts", + Code::InvalidServiceBusiness => "InvalidServiceBusiness", + Code::InvalidServiceDepartment => "InvalidServiceDepartment", + Code::InvalidServiceCmdb => "InvalidServiceCMDB", + Code::InvalidServiceComment => "InvalidServiceComment", + Code::InvalidServiceAliasComment => "InvalidServiceAliasComment", + Code::InvalidInstanceId => "InvalidInstanceID", + Code::InvalidInstanceHost => "InvalidInstanceHost", + Code::InvalidInstancePort => "InvalidInstancePort", + Code::InvalidServiceAlias => "InvalidServiceAlias", + Code::InvalidNamespaceWithAlias => "InvalidNamespaceWithAlias", + Code::InvalidServiceAliasOwners => "InvalidServiceAliasOwners", + Code::InvalidInstanceProtocol => "InvalidInstanceProtocol", + Code::InvalidInstanceVersion => "InvalidInstanceVersion", + Code::InvalidInstanceLogicSet => "InvalidInstanceLogicSet", + Code::InvalidInstanceIsolate => "InvalidInstanceIsolate", + Code::HealthCheckNotOpen => "HealthCheckNotOpen", + Code::HeartbeatOnDisabledIns => "HeartbeatOnDisabledIns", + Code::HeartbeatExceedLimit => "HeartbeatExceedLimit", + Code::HeartbeatTypeNotFound => "HeartbeatTypeNotFound", + Code::InvalidMetadata => "InvalidMetadata", + Code::InvalidRateLimitId => "InvalidRateLimitID", + Code::InvalidRateLimitLabels => "InvalidRateLimitLabels", + Code::InvalidRateLimitAmounts => "InvalidRateLimitAmounts", + Code::InvalidRateLimitName => "InvalidRateLimitName", + Code::InvalidCircuitBreakerId => "InvalidCircuitBreakerID", + Code::InvalidCircuitBreakerVersion => "InvalidCircuitBreakerVersion", + Code::InvalidCircuitBreakerName => "InvalidCircuitBreakerName", + Code::InvalidCircuitBreakerNamespace => "InvalidCircuitBreakerNamespace", + Code::InvalidCircuitBreakerOwners => "InvalidCircuitBreakerOwners", + Code::InvalidCircuitBreakerToken => "InvalidCircuitBreakerToken", + Code::InvalidCircuitBreakerBusiness => "InvalidCircuitBreakerBusiness", + Code::InvalidCircuitBreakerDepartment => "InvalidCircuitBreakerDepartment", + Code::InvalidCircuitBreakerComment => "InvalidCircuitBreakerComment", + Code::CircuitBreakerRuleExisted => "CircuitBreakerRuleExisted", + Code::InvalidRoutingId => "InvalidRoutingID", + Code::InvalidRoutingPolicy => "InvalidRoutingPolicy", + Code::InvalidRoutingName => "InvalidRoutingName", + Code::InvalidRoutingPriority => "InvalidRoutingPriority", + Code::InvalidFaultDetectId => "InvalidFaultDetectID", + Code::InvalidFaultDetectName => "InvalidFaultDetectName", + Code::InvalidFaultDetectNamespace => "InvalidFaultDetectNamespace", + Code::FaultDetectRuleExisted => "FaultDetectRuleExisted", + Code::InvalidMatchRule => "InvalidMatchRule", + Code::ServicesExistedMesh => "ServicesExistedMesh", + Code::ResourcesExistedMesh => "ResourcesExistedMesh", + Code::InvalidMeshParameter => "InvalidMeshParameter", + Code::InvalidPlatformId => "InvalidPlatformID", + Code::InvalidPlatformName => "InvalidPlatformName", + Code::InvalidPlatformDomain => "InvalidPlatformDomain", + Code::InvalidPlatformQps => "InvalidPlatformQPS", + Code::InvalidPlatformToken => "InvalidPlatformToken", + Code::InvalidPlatformOwner => "InvalidPlatformOwner", + Code::InvalidPlatformDepartment => "InvalidPlatformDepartment", + Code::InvalidPlatformComment => "InvalidPlatformComment", + Code::NotFoundPlatform => "NotFoundPlatform", + Code::InvalidFluxRateLimitId => "InvalidFluxRateLimitId", + Code::InvalidFluxRateLimitQps => "InvalidFluxRateLimitQps", + Code::InvalidFluxRateLimitSetKey => "InvalidFluxRateLimitSetKey", + Code::ExistedResource => "ExistedResource", + Code::NotFoundResource => "NotFoundResource", + Code::NamespaceExistedServices => "NamespaceExistedServices", + Code::ServiceExistedInstances => "ServiceExistedInstances", + Code::ServiceExistedRoutings => "ServiceExistedRoutings", + Code::ServiceExistedRateLimits => "ServiceExistedRateLimits", + Code::ExistReleasedConfig => "ExistReleasedConfig", + Code::SameInstanceRequest => "SameInstanceRequest", + Code::ServiceExistedCircuitBreakers => "ServiceExistedCircuitBreakers", + Code::ServiceExistedAlias => "ServiceExistedAlias", + Code::NamespaceExistedMeshResources => "NamespaceExistedMeshResources", + Code::NamespaceExistedCircuitBreakers => "NamespaceExistedCircuitBreakers", + Code::ServiceSubscribedByMeshes => "ServiceSubscribedByMeshes", + Code::ServiceExistedFluxRateLimits => "ServiceExistedFluxRateLimits", + Code::NamespaceExistedConfigGroups => "NamespaceExistedConfigGroups", + Code::NotFoundService => "NotFoundService", + Code::NotFoundRouting => "NotFoundRouting", + Code::NotFoundInstance => "NotFoundInstance", + Code::NotFoundServiceAlias => "NotFoundServiceAlias", + Code::NotFoundNamespace => "NotFoundNamespace", + Code::NotFoundSourceService => "NotFoundSourceService", + Code::NotFoundRateLimit => "NotFoundRateLimit", + Code::NotFoundCircuitBreaker => "NotFoundCircuitBreaker", + Code::NotFoundMasterConfig => "NotFoundMasterConfig", + Code::NotFoundTagConfig => "NotFoundTagConfig", + Code::NotFoundTagConfigOrService => "NotFoundTagConfigOrService", + Code::ClientApiNotOpen => "ClientAPINotOpen", + Code::NotAllowBusinessService => "NotAllowBusinessService", + Code::NotAllowAliasUpdate => "NotAllowAliasUpdate", + Code::NotAllowAliasCreateInstance => "NotAllowAliasCreateInstance", + Code::NotAllowAliasCreateRouting => "NotAllowAliasCreateRouting", + Code::NotAllowCreateAliasForAlias => "NotAllowCreateAliasForAlias", + Code::NotAllowAliasCreateRateLimit => "NotAllowAliasCreateRateLimit", + Code::NotAllowAliasBindRule => "NotAllowAliasBindRule", + Code::NotAllowDifferentNamespaceBindRule => { + "NotAllowDifferentNamespaceBindRule" + } + Code::Unauthorized => "Unauthorized", + Code::NotAllowedAccess => "NotAllowedAccess", + Code::CmdbNotFindHost => "CMDBNotFindHost", + Code::DataConflict => "DataConflict", + Code::InstanceTooManyRequests => "InstanceTooManyRequests", + Code::IpRateLimit => "IPRateLimit", + Code::ApiRateLimit => "APIRateLimit", + Code::ExecuteException => "ExecuteException", + Code::StoreLayerException => "StoreLayerException", + Code::CmdbPluginException => "CMDBPluginException", + Code::ParseRoutingException => "ParseRoutingException", + Code::ParseRateLimitException => "ParseRateLimitException", + Code::ParseCircuitBreakerException => "ParseCircuitBreakerException", + Code::HeartbeatException => "HeartbeatException", + Code::InstanceRegisTimeout => "InstanceRegisTimeout", + Code::InvalidConfigFileGroupName => "InvalidConfigFileGroupName", + Code::InvalidConfigFileName => "InvalidConfigFileName", + Code::InvalidConfigFileContentLength => "InvalidConfigFileContentLength", + Code::InvalidConfigFileFormat => "InvalidConfigFileFormat", + Code::InvalidConfigFileTags => "InvalidConfigFileTags", + Code::InvalidWatchConfigFileFormat => "InvalidWatchConfigFileFormat", + Code::NotFoundResourceConfigFile => "NotFoundResourceConfigFile", + Code::InvalidConfigFileTemplateName => "InvalidConfigFileTemplateName", + Code::EncryptConfigFileException => "EncryptConfigFileException", + Code::GroupExistActiveRelease => "GroupExistActiveRelease", + Code::DecryptConfigFileException => "DecryptConfigFileException", + Code::InvalidUserOwners => "InvalidUserOwners", + Code::InvalidUserId => "InvalidUserID", + Code::InvalidUserPassword => "InvalidUserPassword", + Code::InvalidUserMobile => "InvalidUserMobile", + Code::InvalidUserEmail => "InvalidUserEmail", + Code::InvalidUserGroupOwners => "InvalidUserGroupOwners", + Code::InvalidUserGroupId => "InvalidUserGroupID", + Code::InvalidAuthStrategyOwners => "InvalidAuthStrategyOwners", + Code::InvalidAuthStrategyName => "InvalidAuthStrategyName", + Code::InvalidAuthStrategyId => "InvalidAuthStrategyID", + Code::InvalidPrincipalType => "InvalidPrincipalType", + Code::UserExisted => "UserExisted", + Code::UserGroupExisted => "UserGroupExisted", + Code::AuthStrategyRuleExisted => "AuthStrategyRuleExisted", + Code::SubAccountExisted => "SubAccountExisted", + Code::NotFoundUser => "NotFoundUser", + Code::NotFoundOwnerUser => "NotFoundOwnerUser", + Code::NotFoundUserGroup => "NotFoundUserGroup", + Code::NotFoundAuthStrategyRule => "NotFoundAuthStrategyRule", + Code::NotAllowModifyDefaultStrategyPrincipal => { + "NotAllowModifyDefaultStrategyPrincipal" + } + Code::NotAllowModifyOwnerDefaultStrategy => { + "NotAllowModifyOwnerDefaultStrategy" + } + Code::EmptyAutToken => "EmptyAutToken", + Code::TokenDisabled => "TokenDisabled", + Code::TokenNotExisted => "TokenNotExisted", + Code::AuthTokenForbidden => "AuthTokenForbidden", + Code::OperationRoleForbidden => "OperationRoleForbidden", } - /// 统一发现接口 - pub async fn discover( - &mut self, - request: impl tonic::IntoStreamingRequest, - ) -> std::result::Result< - tonic::Response>, - tonic::Status, - > { - self.inner - .ready() - .await - .map_err(|e| { - tonic::Status::new( - tonic::Code::Unknown, - format!("Service was not ready: {}", e.into()), - ) - })?; - let codec = tonic::codec::ProstCodec::default(); - let path = http::uri::PathAndQuery::from_static("/v1.PolarisGRPC/Discover"); - let mut req = request.into_streaming_request(); - req.extensions_mut().insert(GrpcMethod::new("v1.PolarisGRPC", "Discover")); - self.inner.streaming(req, path, codec).await - } - /// 被调方上报心跳 - pub async fn heartbeat( - &mut self, - request: impl tonic::IntoRequest, - ) -> std::result::Result, tonic::Status> { - self.inner - .ready() - .await - .map_err(|e| { - tonic::Status::new( - tonic::Code::Unknown, - format!("Service was not ready: {}", e.into()), - ) - })?; - let codec = tonic::codec::ProstCodec::default(); - let path = http::uri::PathAndQuery::from_static("/v1.PolarisGRPC/Heartbeat"); - let mut req = request.into_request(); - req.extensions_mut().insert(GrpcMethod::new("v1.PolarisGRPC", "Heartbeat")); - self.inner.unary(req, path, codec).await - } - } -} -/// Generated client implementations. -pub mod polaris_heartbeat_grpc_client { - #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] - use tonic::codegen::*; - use tonic::codegen::http::Uri; - #[derive(Debug, Clone)] - pub struct PolarisHeartbeatGrpcClient { - inner: tonic::client::Grpc, } - impl PolarisHeartbeatGrpcClient { - /// Attempt to create a new client by connecting to a given endpoint. - pub async fn connect(dst: D) -> Result - where - D: TryInto, - D::Error: Into, - { - let conn = tonic::transport::Endpoint::new(dst)?.connect().await?; - Ok(Self::new(conn)) - } - } - impl PolarisHeartbeatGrpcClient - where - T: tonic::client::GrpcService, - T::Error: Into, - T::ResponseBody: Body + Send + 'static, - ::Error: Into + Send, - { - pub fn new(inner: T) -> Self { - let inner = tonic::client::Grpc::new(inner); - Self { inner } - } - pub fn with_origin(inner: T, origin: Uri) -> Self { - let inner = tonic::client::Grpc::with_origin(inner, origin); - Self { inner } - } - pub fn with_interceptor( - inner: T, - interceptor: F, - ) -> PolarisHeartbeatGrpcClient> - where - F: tonic::service::Interceptor, - T::ResponseBody: Default, - T: tonic::codegen::Service< - http::Request, - Response = http::Response< - >::ResponseBody, - >, - >, - , - >>::Error: Into + Send + Sync, - { - PolarisHeartbeatGrpcClient::new(InterceptedService::new(inner, interceptor)) - } - /// Compress requests with the given encoding. - /// - /// This requires the server to support it otherwise it might respond with an - /// error. - #[must_use] - pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self { - self.inner = self.inner.send_compressed(encoding); - self - } - /// Enable decompressing responses. - #[must_use] - pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self { - self.inner = self.inner.accept_compressed(encoding); - self - } - /// Limits the maximum size of a decoded message. - /// - /// Default: `4MB` - #[must_use] - pub fn max_decoding_message_size(mut self, limit: usize) -> Self { - self.inner = self.inner.max_decoding_message_size(limit); - self - } - /// Limits the maximum size of an encoded message. - /// - /// Default: `usize::MAX` - #[must_use] - pub fn max_encoding_message_size(mut self, limit: usize) -> Self { - self.inner = self.inner.max_encoding_message_size(limit); - self - } - /// 被调方批量上报心跳 - pub async fn batch_heartbeat( - &mut self, - request: impl tonic::IntoStreamingRequest, - ) -> std::result::Result< - tonic::Response>, - tonic::Status, - > { - self.inner - .ready() - .await - .map_err(|e| { - tonic::Status::new( - tonic::Code::Unknown, - format!("Service was not ready: {}", e.into()), - ) - })?; - let codec = tonic::codec::ProstCodec::default(); - let path = http::uri::PathAndQuery::from_static( - "/v1.PolarisHeartbeatGRPC/BatchHeartbeat", - ); - let mut req = request.into_streaming_request(); - req.extensions_mut() - .insert(GrpcMethod::new("v1.PolarisHeartbeatGRPC", "BatchHeartbeat")); - self.inner.streaming(req, path, codec).await - } - /// 批量获取心跳记录 - pub async fn batch_get_heartbeat( - &mut self, - request: impl tonic::IntoRequest, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - > { - self.inner - .ready() - .await - .map_err(|e| { - tonic::Status::new( - tonic::Code::Unknown, - format!("Service was not ready: {}", e.into()), - ) - })?; - let codec = tonic::codec::ProstCodec::default(); - let path = http::uri::PathAndQuery::from_static( - "/v1.PolarisHeartbeatGRPC/BatchGetHeartbeat", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert(GrpcMethod::new("v1.PolarisHeartbeatGRPC", "BatchGetHeartbeat")); - self.inner.unary(req, path, codec).await - } - /// 批量删除心跳记录 - pub async fn batch_del_heartbeat( - &mut self, - request: impl tonic::IntoRequest, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - > { - self.inner - .ready() - .await - .map_err(|e| { - tonic::Status::new( - tonic::Code::Unknown, - format!("Service was not ready: {}", e.into()), - ) - })?; - let codec = tonic::codec::ProstCodec::default(); - let path = http::uri::PathAndQuery::from_static( - "/v1.PolarisHeartbeatGRPC/BatchDelHeartbeat", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert(GrpcMethod::new("v1.PolarisHeartbeatGRPC", "BatchDelHeartbeat")); - self.inner.unary(req, path, codec).await + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "Unknown" => Some(Self::Unknown), + "ExecuteSuccess" => Some(Self::ExecuteSuccess), + "DataNoChange" => Some(Self::DataNoChange), + "NoNeedUpdate" => Some(Self::NoNeedUpdate), + "BadRequest" => Some(Self::BadRequest), + "ParseException" => Some(Self::ParseException), + "EmptyRequest" => Some(Self::EmptyRequest), + "BatchSizeOverLimit" => Some(Self::BatchSizeOverLimit), + "InvalidDiscoverResource" => Some(Self::InvalidDiscoverResource), + "InvalidRequestID" => Some(Self::InvalidRequestId), + "InvalidUserName" => Some(Self::InvalidUserName), + "InvalidUserToken" => Some(Self::InvalidUserToken), + "InvalidParameter" => Some(Self::InvalidParameter), + "EmptyQueryParameter" => Some(Self::EmptyQueryParameter), + "InvalidQueryInsParameter" => Some(Self::InvalidQueryInsParameter), + "InvalidNamespaceName" => Some(Self::InvalidNamespaceName), + "InvalidNamespaceOwners" => Some(Self::InvalidNamespaceOwners), + "InvalidNamespaceToken" => Some(Self::InvalidNamespaceToken), + "InvalidServiceName" => Some(Self::InvalidServiceName), + "InvalidServiceOwners" => Some(Self::InvalidServiceOwners), + "InvalidServiceToken" => Some(Self::InvalidServiceToken), + "InvalidServiceMetadata" => Some(Self::InvalidServiceMetadata), + "InvalidServicePorts" => Some(Self::InvalidServicePorts), + "InvalidServiceBusiness" => Some(Self::InvalidServiceBusiness), + "InvalidServiceDepartment" => Some(Self::InvalidServiceDepartment), + "InvalidServiceCMDB" => Some(Self::InvalidServiceCmdb), + "InvalidServiceComment" => Some(Self::InvalidServiceComment), + "InvalidServiceAliasComment" => Some(Self::InvalidServiceAliasComment), + "InvalidInstanceID" => Some(Self::InvalidInstanceId), + "InvalidInstanceHost" => Some(Self::InvalidInstanceHost), + "InvalidInstancePort" => Some(Self::InvalidInstancePort), + "InvalidServiceAlias" => Some(Self::InvalidServiceAlias), + "InvalidNamespaceWithAlias" => Some(Self::InvalidNamespaceWithAlias), + "InvalidServiceAliasOwners" => Some(Self::InvalidServiceAliasOwners), + "InvalidInstanceProtocol" => Some(Self::InvalidInstanceProtocol), + "InvalidInstanceVersion" => Some(Self::InvalidInstanceVersion), + "InvalidInstanceLogicSet" => Some(Self::InvalidInstanceLogicSet), + "InvalidInstanceIsolate" => Some(Self::InvalidInstanceIsolate), + "HealthCheckNotOpen" => Some(Self::HealthCheckNotOpen), + "HeartbeatOnDisabledIns" => Some(Self::HeartbeatOnDisabledIns), + "HeartbeatExceedLimit" => Some(Self::HeartbeatExceedLimit), + "HeartbeatTypeNotFound" => Some(Self::HeartbeatTypeNotFound), + "InvalidMetadata" => Some(Self::InvalidMetadata), + "InvalidRateLimitID" => Some(Self::InvalidRateLimitId), + "InvalidRateLimitLabels" => Some(Self::InvalidRateLimitLabels), + "InvalidRateLimitAmounts" => Some(Self::InvalidRateLimitAmounts), + "InvalidRateLimitName" => Some(Self::InvalidRateLimitName), + "InvalidCircuitBreakerID" => Some(Self::InvalidCircuitBreakerId), + "InvalidCircuitBreakerVersion" => Some(Self::InvalidCircuitBreakerVersion), + "InvalidCircuitBreakerName" => Some(Self::InvalidCircuitBreakerName), + "InvalidCircuitBreakerNamespace" => { + Some(Self::InvalidCircuitBreakerNamespace) + } + "InvalidCircuitBreakerOwners" => Some(Self::InvalidCircuitBreakerOwners), + "InvalidCircuitBreakerToken" => Some(Self::InvalidCircuitBreakerToken), + "InvalidCircuitBreakerBusiness" => Some(Self::InvalidCircuitBreakerBusiness), + "InvalidCircuitBreakerDepartment" => { + Some(Self::InvalidCircuitBreakerDepartment) + } + "InvalidCircuitBreakerComment" => Some(Self::InvalidCircuitBreakerComment), + "CircuitBreakerRuleExisted" => Some(Self::CircuitBreakerRuleExisted), + "InvalidRoutingID" => Some(Self::InvalidRoutingId), + "InvalidRoutingPolicy" => Some(Self::InvalidRoutingPolicy), + "InvalidRoutingName" => Some(Self::InvalidRoutingName), + "InvalidRoutingPriority" => Some(Self::InvalidRoutingPriority), + "InvalidFaultDetectID" => Some(Self::InvalidFaultDetectId), + "InvalidFaultDetectName" => Some(Self::InvalidFaultDetectName), + "InvalidFaultDetectNamespace" => Some(Self::InvalidFaultDetectNamespace), + "FaultDetectRuleExisted" => Some(Self::FaultDetectRuleExisted), + "InvalidMatchRule" => Some(Self::InvalidMatchRule), + "ServicesExistedMesh" => Some(Self::ServicesExistedMesh), + "ResourcesExistedMesh" => Some(Self::ResourcesExistedMesh), + "InvalidMeshParameter" => Some(Self::InvalidMeshParameter), + "InvalidPlatformID" => Some(Self::InvalidPlatformId), + "InvalidPlatformName" => Some(Self::InvalidPlatformName), + "InvalidPlatformDomain" => Some(Self::InvalidPlatformDomain), + "InvalidPlatformQPS" => Some(Self::InvalidPlatformQps), + "InvalidPlatformToken" => Some(Self::InvalidPlatformToken), + "InvalidPlatformOwner" => Some(Self::InvalidPlatformOwner), + "InvalidPlatformDepartment" => Some(Self::InvalidPlatformDepartment), + "InvalidPlatformComment" => Some(Self::InvalidPlatformComment), + "NotFoundPlatform" => Some(Self::NotFoundPlatform), + "InvalidFluxRateLimitId" => Some(Self::InvalidFluxRateLimitId), + "InvalidFluxRateLimitQps" => Some(Self::InvalidFluxRateLimitQps), + "InvalidFluxRateLimitSetKey" => Some(Self::InvalidFluxRateLimitSetKey), + "ExistedResource" => Some(Self::ExistedResource), + "NotFoundResource" => Some(Self::NotFoundResource), + "NamespaceExistedServices" => Some(Self::NamespaceExistedServices), + "ServiceExistedInstances" => Some(Self::ServiceExistedInstances), + "ServiceExistedRoutings" => Some(Self::ServiceExistedRoutings), + "ServiceExistedRateLimits" => Some(Self::ServiceExistedRateLimits), + "ExistReleasedConfig" => Some(Self::ExistReleasedConfig), + "SameInstanceRequest" => Some(Self::SameInstanceRequest), + "ServiceExistedCircuitBreakers" => Some(Self::ServiceExistedCircuitBreakers), + "ServiceExistedAlias" => Some(Self::ServiceExistedAlias), + "NamespaceExistedMeshResources" => Some(Self::NamespaceExistedMeshResources), + "NamespaceExistedCircuitBreakers" => { + Some(Self::NamespaceExistedCircuitBreakers) + } + "ServiceSubscribedByMeshes" => Some(Self::ServiceSubscribedByMeshes), + "ServiceExistedFluxRateLimits" => Some(Self::ServiceExistedFluxRateLimits), + "NamespaceExistedConfigGroups" => Some(Self::NamespaceExistedConfigGroups), + "NotFoundService" => Some(Self::NotFoundService), + "NotFoundRouting" => Some(Self::NotFoundRouting), + "NotFoundInstance" => Some(Self::NotFoundInstance), + "NotFoundServiceAlias" => Some(Self::NotFoundServiceAlias), + "NotFoundNamespace" => Some(Self::NotFoundNamespace), + "NotFoundSourceService" => Some(Self::NotFoundSourceService), + "NotFoundRateLimit" => Some(Self::NotFoundRateLimit), + "NotFoundCircuitBreaker" => Some(Self::NotFoundCircuitBreaker), + "NotFoundMasterConfig" => Some(Self::NotFoundMasterConfig), + "NotFoundTagConfig" => Some(Self::NotFoundTagConfig), + "NotFoundTagConfigOrService" => Some(Self::NotFoundTagConfigOrService), + "ClientAPINotOpen" => Some(Self::ClientApiNotOpen), + "NotAllowBusinessService" => Some(Self::NotAllowBusinessService), + "NotAllowAliasUpdate" => Some(Self::NotAllowAliasUpdate), + "NotAllowAliasCreateInstance" => Some(Self::NotAllowAliasCreateInstance), + "NotAllowAliasCreateRouting" => Some(Self::NotAllowAliasCreateRouting), + "NotAllowCreateAliasForAlias" => Some(Self::NotAllowCreateAliasForAlias), + "NotAllowAliasCreateRateLimit" => Some(Self::NotAllowAliasCreateRateLimit), + "NotAllowAliasBindRule" => Some(Self::NotAllowAliasBindRule), + "NotAllowDifferentNamespaceBindRule" => { + Some(Self::NotAllowDifferentNamespaceBindRule) + } + "Unauthorized" => Some(Self::Unauthorized), + "NotAllowedAccess" => Some(Self::NotAllowedAccess), + "CMDBNotFindHost" => Some(Self::CmdbNotFindHost), + "DataConflict" => Some(Self::DataConflict), + "InstanceTooManyRequests" => Some(Self::InstanceTooManyRequests), + "IPRateLimit" => Some(Self::IpRateLimit), + "APIRateLimit" => Some(Self::ApiRateLimit), + "ExecuteException" => Some(Self::ExecuteException), + "StoreLayerException" => Some(Self::StoreLayerException), + "CMDBPluginException" => Some(Self::CmdbPluginException), + "ParseRoutingException" => Some(Self::ParseRoutingException), + "ParseRateLimitException" => Some(Self::ParseRateLimitException), + "ParseCircuitBreakerException" => Some(Self::ParseCircuitBreakerException), + "HeartbeatException" => Some(Self::HeartbeatException), + "InstanceRegisTimeout" => Some(Self::InstanceRegisTimeout), + "InvalidConfigFileGroupName" => Some(Self::InvalidConfigFileGroupName), + "InvalidConfigFileName" => Some(Self::InvalidConfigFileName), + "InvalidConfigFileContentLength" => { + Some(Self::InvalidConfigFileContentLength) + } + "InvalidConfigFileFormat" => Some(Self::InvalidConfigFileFormat), + "InvalidConfigFileTags" => Some(Self::InvalidConfigFileTags), + "InvalidWatchConfigFileFormat" => Some(Self::InvalidWatchConfigFileFormat), + "NotFoundResourceConfigFile" => Some(Self::NotFoundResourceConfigFile), + "InvalidConfigFileTemplateName" => Some(Self::InvalidConfigFileTemplateName), + "EncryptConfigFileException" => Some(Self::EncryptConfigFileException), + "GroupExistActiveRelease" => Some(Self::GroupExistActiveRelease), + "DecryptConfigFileException" => Some(Self::DecryptConfigFileException), + "InvalidUserOwners" => Some(Self::InvalidUserOwners), + "InvalidUserID" => Some(Self::InvalidUserId), + "InvalidUserPassword" => Some(Self::InvalidUserPassword), + "InvalidUserMobile" => Some(Self::InvalidUserMobile), + "InvalidUserEmail" => Some(Self::InvalidUserEmail), + "InvalidUserGroupOwners" => Some(Self::InvalidUserGroupOwners), + "InvalidUserGroupID" => Some(Self::InvalidUserGroupId), + "InvalidAuthStrategyOwners" => Some(Self::InvalidAuthStrategyOwners), + "InvalidAuthStrategyName" => Some(Self::InvalidAuthStrategyName), + "InvalidAuthStrategyID" => Some(Self::InvalidAuthStrategyId), + "InvalidPrincipalType" => Some(Self::InvalidPrincipalType), + "UserExisted" => Some(Self::UserExisted), + "UserGroupExisted" => Some(Self::UserGroupExisted), + "AuthStrategyRuleExisted" => Some(Self::AuthStrategyRuleExisted), + "SubAccountExisted" => Some(Self::SubAccountExisted), + "NotFoundUser" => Some(Self::NotFoundUser), + "NotFoundOwnerUser" => Some(Self::NotFoundOwnerUser), + "NotFoundUserGroup" => Some(Self::NotFoundUserGroup), + "NotFoundAuthStrategyRule" => Some(Self::NotFoundAuthStrategyRule), + "NotAllowModifyDefaultStrategyPrincipal" => { + Some(Self::NotAllowModifyDefaultStrategyPrincipal) + } + "NotAllowModifyOwnerDefaultStrategy" => { + Some(Self::NotAllowModifyOwnerDefaultStrategy) + } + "EmptyAutToken" => Some(Self::EmptyAutToken), + "TokenDisabled" => Some(Self::TokenDisabled), + "TokenNotExisted" => Some(Self::TokenNotExisted), + "AuthTokenForbidden" => Some(Self::AuthTokenForbidden), + "OperationRoleForbidden" => Some(Self::OperationRoleForbidden), + _ => None, } } } -/// Generated client implementations. -pub mod polaris_service_contract_grpc_client { - #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] - use tonic::codegen::*; - use tonic::codegen::http::Uri; - #[derive(Debug, Clone)] - pub struct PolarisServiceContractGrpcClient { - inner: tonic::client::Grpc, - } - impl PolarisServiceContractGrpcClient { - /// Attempt to create a new client by connecting to a given endpoint. - pub async fn connect(dst: D) -> Result - where - D: TryInto, - D::Error: Into, - { - let conn = tonic::transport::Endpoint::new(dst)?.connect().await?; - Ok(Self::new(conn)) - } - } - impl PolarisServiceContractGrpcClient - where - T: tonic::client::GrpcService, - T::Error: Into, - T::ResponseBody: Body + Send + 'static, - ::Error: Into + Send, - { - pub fn new(inner: T) -> Self { - let inner = tonic::client::Grpc::new(inner); - Self { inner } - } - pub fn with_origin(inner: T, origin: Uri) -> Self { - let inner = tonic::client::Grpc::with_origin(inner, origin); - Self { inner } - } - pub fn with_interceptor( - inner: T, - interceptor: F, - ) -> PolarisServiceContractGrpcClient> - where - F: tonic::service::Interceptor, - T::ResponseBody: Default, - T: tonic::codegen::Service< - http::Request, - Response = http::Response< - >::ResponseBody, - >, - >, - , - >>::Error: Into + Send + Sync, - { - PolarisServiceContractGrpcClient::new( - InterceptedService::new(inner, interceptor), - ) - } - /// Compress requests with the given encoding. - /// - /// This requires the server to support it otherwise it might respond with an - /// error. - #[must_use] - pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self { - self.inner = self.inner.send_compressed(encoding); - self - } - /// Enable decompressing responses. - #[must_use] - pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self { - self.inner = self.inner.accept_compressed(encoding); - self - } - /// Limits the maximum size of a decoded message. - /// - /// Default: `4MB` - #[must_use] - pub fn max_decoding_message_size(mut self, limit: usize) -> Self { - self.inner = self.inner.max_decoding_message_size(limit); - self - } - /// Limits the maximum size of an encoded message. - /// - /// Default: `usize::MAX` - #[must_use] - pub fn max_encoding_message_size(mut self, limit: usize) -> Self { - self.inner = self.inner.max_encoding_message_size(limit); - self - } - /// 上报服务契约 - pub async fn report_service_contract( - &mut self, - request: impl tonic::IntoRequest, - ) -> std::result::Result, tonic::Status> { - self.inner - .ready() - .await - .map_err(|e| { - tonic::Status::new( - tonic::Code::Unknown, - format!("Service was not ready: {}", e.into()), - ) - })?; - let codec = tonic::codec::ProstCodec::default(); - let path = http::uri::PathAndQuery::from_static( - "/v1.PolarisServiceContractGRPC/ReportServiceContract", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new( - "v1.PolarisServiceContractGRPC", - "ReportServiceContract", - ), - ); - self.inner.unary(req, path, codec).await - } - /// 查询服务契约 - pub async fn get_service_contract( - &mut self, - request: impl tonic::IntoRequest, - ) -> std::result::Result, tonic::Status> { - self.inner - .ready() - .await - .map_err(|e| { - tonic::Status::new( - tonic::Code::Unknown, - format!("Service was not ready: {}", e.into()), - ) - })?; - let codec = tonic::codec::ProstCodec::default(); - let path = http::uri::PathAndQuery::from_static( - "/v1.PolarisServiceContractGRPC/GetServiceContract", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new( - "v1.PolarisServiceContractGRPC", - "GetServiceContract", - ), - ); - self.inner.unary(req, path, codec).await - } - } +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ConfigFileGroup { + #[prost(message, optional, tag = "1")] + pub id: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub name: ::core::option::Option<::prost::alloc::string::String>, + #[prost(message, optional, tag = "3")] + pub namespace: ::core::option::Option<::prost::alloc::string::String>, + #[prost(message, optional, tag = "4")] + pub comment: ::core::option::Option<::prost::alloc::string::String>, + #[prost(message, optional, tag = "5")] + pub create_time: ::core::option::Option<::prost::alloc::string::String>, + #[prost(message, optional, tag = "6")] + pub create_by: ::core::option::Option<::prost::alloc::string::String>, + #[prost(message, optional, tag = "7")] + pub modify_time: ::core::option::Option<::prost::alloc::string::String>, + #[prost(message, optional, tag = "8")] + pub modify_by: ::core::option::Option<::prost::alloc::string::String>, + #[prost(message, optional, tag = "9")] + pub file_count: ::core::option::Option, + #[prost(message, repeated, tag = "10")] + pub user_ids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, + #[prost(message, repeated, tag = "11")] + pub group_ids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, + #[prost(message, repeated, tag = "13")] + pub remove_user_ids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, + #[prost(message, repeated, tag = "14")] + pub remove_group_ids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, + #[prost(message, optional, tag = "15")] + pub editable: ::core::option::Option, + #[prost(message, optional, tag = "16")] + pub owner: ::core::option::Option<::prost::alloc::string::String>, + #[prost(message, optional, tag = "17")] + pub business: ::core::option::Option<::prost::alloc::string::String>, + #[prost(message, optional, tag = "18")] + pub department: ::core::option::Option<::prost::alloc::string::String>, + #[prost(map = "string, string", tag = "19")] + pub metadata: ::std::collections::HashMap< + ::prost::alloc::string::String, + ::prost::alloc::string::String, + >, + /// 删除操作标志位 + #[prost(message, optional, tag = "20")] + pub deleteable: ::core::option::Option, } -/// Generated server implementations. -pub mod polaris_grpc_server { - #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] - use tonic::codegen::*; - /// Generated trait containing gRPC methods that should be implemented for use with PolarisGrpcServer. - #[async_trait] - pub trait PolarisGrpc: Send + Sync + 'static { - /// 客户端上报 - async fn report_client( - &self, - request: tonic::Request, - ) -> std::result::Result, tonic::Status>; - /// 被调方注册服务实例 - async fn register_instance( - &self, - request: tonic::Request, - ) -> std::result::Result, tonic::Status>; - /// 被调方反注册服务实例 - async fn deregister_instance( - &self, - request: tonic::Request, - ) -> std::result::Result, tonic::Status>; - /// Server streaming response type for the Discover method. - type DiscoverStream: tonic::codegen::tokio_stream::Stream< - Item = std::result::Result, - > - + Send - + 'static; - /// 统一发现接口 - async fn discover( - &self, - request: tonic::Request>, - ) -> std::result::Result, tonic::Status>; - /// 被调方上报心跳 - async fn heartbeat( - &self, - request: tonic::Request, - ) -> std::result::Result, tonic::Status>; - } - #[derive(Debug)] - pub struct PolarisGrpcServer { - inner: _Inner, - accept_compression_encodings: EnabledCompressionEncodings, - send_compression_encodings: EnabledCompressionEncodings, - max_decoding_message_size: Option, - max_encoding_message_size: Option, - } - struct _Inner(Arc); - impl PolarisGrpcServer { - pub fn new(inner: T) -> Self { - Self::from_arc(Arc::new(inner)) - } - pub fn from_arc(inner: Arc) -> Self { - let inner = _Inner(inner); - Self { - inner, - accept_compression_encodings: Default::default(), - send_compression_encodings: Default::default(), - max_decoding_message_size: None, - max_encoding_message_size: None, - } - } - pub fn with_interceptor( - inner: T, - interceptor: F, - ) -> InterceptedService - where - F: tonic::service::Interceptor, - { - InterceptedService::new(Self::new(inner), interceptor) - } - /// Enable decompressing requests with the given encoding. - #[must_use] - pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self { - self.accept_compression_encodings.enable(encoding); - self - } - /// Compress responses with the given encoding, if the client supports it. - #[must_use] - pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self { - self.send_compression_encodings.enable(encoding); - self - } - /// Limits the maximum size of a decoded message. - /// - /// Default: `4MB` - #[must_use] - pub fn max_decoding_message_size(mut self, limit: usize) -> Self { - self.max_decoding_message_size = Some(limit); - self - } - /// Limits the maximum size of an encoded message. - /// - /// Default: `usize::MAX` - #[must_use] - pub fn max_encoding_message_size(mut self, limit: usize) -> Self { - self.max_encoding_message_size = Some(limit); - self - } - } - impl tonic::codegen::Service> for PolarisGrpcServer - where - T: PolarisGrpc, - B: Body + Send + 'static, - B::Error: Into + Send + 'static, - { - type Response = http::Response; - type Error = std::convert::Infallible; - type Future = BoxFuture; - fn poll_ready( - &mut self, - _cx: &mut Context<'_>, - ) -> Poll> { - Poll::Ready(Ok(())) - } - fn call(&mut self, req: http::Request) -> Self::Future { - let inner = self.inner.clone(); - match req.uri().path() { - "/v1.PolarisGRPC/ReportClient" => { - #[allow(non_camel_case_types)] - struct ReportClientSvc(pub Arc); - impl tonic::server::UnaryService - for ReportClientSvc { - type Response = super::Response; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::report_client(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = ReportClientSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/v1.PolarisGRPC/RegisterInstance" => { - #[allow(non_camel_case_types)] - struct RegisterInstanceSvc(pub Arc); - impl tonic::server::UnaryService - for RegisterInstanceSvc { - type Response = super::Response; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::register_instance(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = RegisterInstanceSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/v1.PolarisGRPC/DeregisterInstance" => { - #[allow(non_camel_case_types)] - struct DeregisterInstanceSvc(pub Arc); - impl tonic::server::UnaryService - for DeregisterInstanceSvc { - type Response = super::Response; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::deregister_instance(&inner, request) - .await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = DeregisterInstanceSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/v1.PolarisGRPC/Discover" => { - #[allow(non_camel_case_types)] - struct DiscoverSvc(pub Arc); - impl< - T: PolarisGrpc, - > tonic::server::StreamingService - for DiscoverSvc { - type Response = super::DiscoverResponse; - type ResponseStream = T::DiscoverStream; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request< - tonic::Streaming, - >, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::discover(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = DiscoverSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.streaming(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/v1.PolarisGRPC/Heartbeat" => { - #[allow(non_camel_case_types)] - struct HeartbeatSvc(pub Arc); - impl tonic::server::UnaryService - for HeartbeatSvc { - type Response = super::Response; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::heartbeat(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = HeartbeatSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - _ => { - Box::pin(async move { - Ok( - http::Response::builder() - .status(200) - .header("grpc-status", "12") - .header("content-type", "application/grpc") - .body(empty_body()) - .unwrap(), - ) - }) - } - } - } - } - impl Clone for PolarisGrpcServer { - fn clone(&self) -> Self { - let inner = self.inner.clone(); - Self { - inner, - accept_compression_encodings: self.accept_compression_encodings, - send_compression_encodings: self.send_compression_encodings, - max_decoding_message_size: self.max_decoding_message_size, - max_encoding_message_size: self.max_encoding_message_size, - } - } - } - impl Clone for _Inner { - fn clone(&self) -> Self { - Self(Arc::clone(&self.0)) - } - } - impl std::fmt::Debug for _Inner { - fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(f, "{:?}", self.0) - } - } - impl tonic::server::NamedService for PolarisGrpcServer { - const NAME: &'static str = "v1.PolarisGRPC"; - } +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ConfigFile { + #[prost(message, optional, tag = "1")] + pub id: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub name: ::core::option::Option<::prost::alloc::string::String>, + #[prost(message, optional, tag = "3")] + pub namespace: ::core::option::Option<::prost::alloc::string::String>, + #[prost(message, optional, tag = "4")] + pub group: ::core::option::Option<::prost::alloc::string::String>, + #[prost(message, optional, tag = "5")] + pub content: ::core::option::Option<::prost::alloc::string::String>, + #[prost(message, optional, tag = "6")] + pub format: ::core::option::Option<::prost::alloc::string::String>, + #[prost(message, optional, tag = "7")] + pub comment: ::core::option::Option<::prost::alloc::string::String>, + #[prost(message, optional, tag = "8")] + pub status: ::core::option::Option<::prost::alloc::string::String>, + #[prost(message, repeated, tag = "9")] + pub tags: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "10")] + pub create_time: ::core::option::Option<::prost::alloc::string::String>, + #[prost(message, optional, tag = "11")] + pub create_by: ::core::option::Option<::prost::alloc::string::String>, + #[prost(message, optional, tag = "12")] + pub modify_time: ::core::option::Option<::prost::alloc::string::String>, + #[prost(message, optional, tag = "13")] + pub modify_by: ::core::option::Option<::prost::alloc::string::String>, + #[prost(message, optional, tag = "14")] + pub release_time: ::core::option::Option<::prost::alloc::string::String>, + #[prost(message, optional, tag = "15")] + pub release_by: ::core::option::Option<::prost::alloc::string::String>, + /// 是否为加密配置文件 + #[prost(message, optional, tag = "16")] + pub encrypted: ::core::option::Option, + /// 加密算法 + #[prost(message, optional, tag = "17")] + pub encrypt_algo: ::core::option::Option<::prost::alloc::string::String>, } -/// Generated server implementations. -pub mod polaris_heartbeat_grpc_server { - #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] - use tonic::codegen::*; - /// Generated trait containing gRPC methods that should be implemented for use with PolarisHeartbeatGrpcServer. - #[async_trait] - pub trait PolarisHeartbeatGrpc: Send + Sync + 'static { - /// Server streaming response type for the BatchHeartbeat method. - type BatchHeartbeatStream: tonic::codegen::tokio_stream::Stream< - Item = std::result::Result, - > - + Send - + 'static; - /// 被调方批量上报心跳 - async fn batch_heartbeat( - &self, - request: tonic::Request>, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// 批量获取心跳记录 - async fn batch_get_heartbeat( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// 批量删除心跳记录 - async fn batch_del_heartbeat( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ConfigFileTag { + #[prost(message, optional, tag = "1")] + pub key: ::core::option::Option<::prost::alloc::string::String>, + #[prost(message, optional, tag = "2")] + pub value: ::core::option::Option<::prost::alloc::string::String>, +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ConfigFileRelease { + #[prost(message, optional, tag = "1")] + pub id: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub name: ::core::option::Option<::prost::alloc::string::String>, + #[prost(message, optional, tag = "3")] + pub namespace: ::core::option::Option<::prost::alloc::string::String>, + #[prost(message, optional, tag = "4")] + pub group: ::core::option::Option<::prost::alloc::string::String>, + #[prost(message, optional, tag = "5")] + pub file_name: ::core::option::Option<::prost::alloc::string::String>, + #[prost(message, optional, tag = "6")] + pub content: ::core::option::Option<::prost::alloc::string::String>, + #[prost(message, optional, tag = "7")] + pub comment: ::core::option::Option<::prost::alloc::string::String>, + #[prost(message, optional, tag = "8")] + pub md5: ::core::option::Option<::prost::alloc::string::String>, + #[prost(message, optional, tag = "9")] + pub version: ::core::option::Option, + #[prost(message, optional, tag = "10")] + pub create_time: ::core::option::Option<::prost::alloc::string::String>, + #[prost(message, optional, tag = "11")] + pub create_by: ::core::option::Option<::prost::alloc::string::String>, + #[prost(message, optional, tag = "12")] + pub modify_time: ::core::option::Option<::prost::alloc::string::String>, + #[prost(message, optional, tag = "13")] + pub modify_by: ::core::option::Option<::prost::alloc::string::String>, + #[prost(message, repeated, tag = "14")] + pub tags: ::prost::alloc::vec::Vec, + /// 当前生效配置 + #[prost(message, optional, tag = "15")] + pub active: ::core::option::Option, + #[prost(message, optional, tag = "16")] + pub format: ::core::option::Option<::prost::alloc::string::String>, + #[prost(message, optional, tag = "17")] + pub release_description: ::core::option::Option<::prost::alloc::string::String>, + #[prost(message, optional, tag = "18")] + pub release_type: ::core::option::Option<::prost::alloc::string::String>, + /// 配置灰度发布时需要匹配的客户端标签信息 + #[prost(message, repeated, tag = "19")] + pub beta_labels: ::prost::alloc::vec::Vec, +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ConfigFileReleaseHistory { + #[prost(message, optional, tag = "1")] + pub id: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub name: ::core::option::Option<::prost::alloc::string::String>, + #[prost(message, optional, tag = "3")] + pub namespace: ::core::option::Option<::prost::alloc::string::String>, + #[prost(message, optional, tag = "4")] + pub group: ::core::option::Option<::prost::alloc::string::String>, + #[prost(message, optional, tag = "5")] + pub file_name: ::core::option::Option<::prost::alloc::string::String>, + #[prost(message, optional, tag = "6")] + pub content: ::core::option::Option<::prost::alloc::string::String>, + #[prost(message, optional, tag = "7")] + pub format: ::core::option::Option<::prost::alloc::string::String>, + #[prost(message, optional, tag = "8")] + pub comment: ::core::option::Option<::prost::alloc::string::String>, + #[prost(message, optional, tag = "9")] + pub md5: ::core::option::Option<::prost::alloc::string::String>, + #[prost(message, optional, tag = "10")] + pub r#type: ::core::option::Option<::prost::alloc::string::String>, + #[prost(message, optional, tag = "11")] + pub status: ::core::option::Option<::prost::alloc::string::String>, + #[prost(message, repeated, tag = "12")] + pub tags: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "13")] + pub create_time: ::core::option::Option<::prost::alloc::string::String>, + #[prost(message, optional, tag = "14")] + pub create_by: ::core::option::Option<::prost::alloc::string::String>, + #[prost(message, optional, tag = "15")] + pub modify_time: ::core::option::Option<::prost::alloc::string::String>, + #[prost(message, optional, tag = "16")] + pub modify_by: ::core::option::Option<::prost::alloc::string::String>, + /// 配置发布失败的原因 + #[prost(message, optional, tag = "17")] + pub reason: ::core::option::Option<::prost::alloc::string::String>, + #[prost(message, optional, tag = "18")] + pub release_description: ::core::option::Option<::prost::alloc::string::String>, +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ConfigFileTemplate { + #[prost(message, optional, tag = "1")] + pub id: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub name: ::core::option::Option<::prost::alloc::string::String>, + #[prost(message, optional, tag = "3")] + pub content: ::core::option::Option<::prost::alloc::string::String>, + #[prost(message, optional, tag = "4")] + pub format: ::core::option::Option<::prost::alloc::string::String>, + #[prost(message, optional, tag = "5")] + pub comment: ::core::option::Option<::prost::alloc::string::String>, + #[prost(message, optional, tag = "6")] + pub create_time: ::core::option::Option<::prost::alloc::string::String>, + #[prost(message, optional, tag = "7")] + pub create_by: ::core::option::Option<::prost::alloc::string::String>, + #[prost(message, optional, tag = "8")] + pub modify_time: ::core::option::Option<::prost::alloc::string::String>, + #[prost(message, optional, tag = "9")] + pub modify_by: ::core::option::Option<::prost::alloc::string::String>, +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ClientConfigFileInfo { + #[prost(message, optional, tag = "1")] + pub namespace: ::core::option::Option<::prost::alloc::string::String>, + #[prost(message, optional, tag = "2")] + pub group: ::core::option::Option<::prost::alloc::string::String>, + #[prost(message, optional, tag = "3")] + pub file_name: ::core::option::Option<::prost::alloc::string::String>, + #[prost(message, optional, tag = "4")] + pub content: ::core::option::Option<::prost::alloc::string::String>, + #[prost(message, optional, tag = "5")] + pub version: ::core::option::Option, + #[prost(message, optional, tag = "6")] + pub md5: ::core::option::Option<::prost::alloc::string::String>, + #[prost(message, repeated, tag = "7")] + pub tags: ::prost::alloc::vec::Vec, + /// 是否为加密配置文件 + #[prost(message, optional, tag = "8")] + pub encrypted: ::core::option::Option, + /// 公钥,用于加密数据密钥 + #[prost(message, optional, tag = "9")] + pub public_key: ::core::option::Option<::prost::alloc::string::String>, + /// 配置文件版本名称 + #[prost(message, optional, tag = "10")] + pub name: ::core::option::Option<::prost::alloc::string::String>, + /// 配置文件的发布时间 + #[prost(message, optional, tag = "11")] + pub release_time: ::core::option::Option<::prost::alloc::string::String>, +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ClientWatchConfigFileRequest { + #[prost(message, optional, tag = "1")] + pub client_ip: ::core::option::Option<::prost::alloc::string::String>, + #[prost(message, optional, tag = "2")] + pub service_name: ::core::option::Option<::prost::alloc::string::String>, + #[prost(message, repeated, tag = "3")] + pub watch_files: ::prost::alloc::vec::Vec, +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ConfigFileExportRequest { + #[prost(message, optional, tag = "1")] + pub namespace: ::core::option::Option<::prost::alloc::string::String>, + #[prost(message, repeated, tag = "2")] + pub groups: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, + #[prost(message, repeated, tag = "3")] + pub names: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ConfigFilePublishInfo { + #[prost(message, optional, tag = "1")] + pub release_name: ::core::option::Option<::prost::alloc::string::String>, + #[prost(message, optional, tag = "2")] + pub namespace: ::core::option::Option<::prost::alloc::string::String>, + #[prost(message, optional, tag = "3")] + pub group: ::core::option::Option<::prost::alloc::string::String>, + #[prost(message, optional, tag = "4")] + pub file_name: ::core::option::Option<::prost::alloc::string::String>, + #[prost(message, optional, tag = "5")] + pub content: ::core::option::Option<::prost::alloc::string::String>, + #[prost(message, optional, tag = "6")] + pub comment: ::core::option::Option<::prost::alloc::string::String>, + #[prost(message, optional, tag = "7")] + pub format: ::core::option::Option<::prost::alloc::string::String>, + #[prost(message, optional, tag = "8")] + pub release_description: ::core::option::Option<::prost::alloc::string::String>, + #[prost(message, optional, tag = "11")] + pub create_by: ::core::option::Option<::prost::alloc::string::String>, + #[prost(message, optional, tag = "13")] + pub modify_by: ::core::option::Option<::prost::alloc::string::String>, + #[prost(message, repeated, tag = "14")] + pub tags: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "15")] + pub md5: ::core::option::Option<::prost::alloc::string::String>, + /// 是否为加密配置文件 + #[prost(message, optional, tag = "16")] + pub encrypted: ::core::option::Option, + /// 加密算法 + #[prost(message, optional, tag = "17")] + pub encrypt_algo: ::core::option::Option<::prost::alloc::string::String>, +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ConfigFileGroupRequest { + #[prost(message, optional, tag = "1")] + pub revision: ::core::option::Option<::prost::alloc::string::String>, + #[prost(message, optional, tag = "2")] + pub config_file_group: ::core::option::Option, + /// 配置标签 + #[prost(map = "string, string", tag = "12")] + pub client_labels: ::std::collections::HashMap< + ::prost::alloc::string::String, + ::prost::alloc::string::String, + >, +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ConfigDiscoverRequest { + #[prost( + enumeration = "config_discover_request::ConfigDiscoverRequestType", + tag = "1" + )] + pub r#type: i32, + #[prost(message, optional, tag = "2")] + pub config_file: ::core::option::Option, + #[prost(string, tag = "3")] + pub revision: ::prost::alloc::string::String, +} +/// Nested message and enum types in `ConfigDiscoverRequest`. +pub mod config_discover_request { + #[derive( + Clone, + Copy, + Debug, + PartialEq, + Eq, + Hash, + PartialOrd, + Ord, + ::prost::Enumeration + )] + #[repr(i32)] + pub enum ConfigDiscoverRequestType { + Unknown = 0, + ConfigFile = 1, + ConfigFileNames = 2, + ConfigFileGroups = 3, } - #[derive(Debug)] - pub struct PolarisHeartbeatGrpcServer { - inner: _Inner, - accept_compression_encodings: EnabledCompressionEncodings, - send_compression_encodings: EnabledCompressionEncodings, - max_decoding_message_size: Option, - max_encoding_message_size: Option, - } - struct _Inner(Arc); - impl PolarisHeartbeatGrpcServer { - pub fn new(inner: T) -> Self { - Self::from_arc(Arc::new(inner)) - } - pub fn from_arc(inner: Arc) -> Self { - let inner = _Inner(inner); - Self { - inner, - accept_compression_encodings: Default::default(), - send_compression_encodings: Default::default(), - max_decoding_message_size: None, - max_encoding_message_size: None, + impl ConfigDiscoverRequestType { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + ConfigDiscoverRequestType::Unknown => "UNKNOWN", + ConfigDiscoverRequestType::ConfigFile => "CONFIG_FILE", + ConfigDiscoverRequestType::ConfigFileNames => "CONFIG_FILE_Names", + ConfigDiscoverRequestType::ConfigFileGroups => "CONFIG_FILE_GROUPS", } } - pub fn with_interceptor( - inner: T, - interceptor: F, - ) -> InterceptedService - where - F: tonic::service::Interceptor, - { - InterceptedService::new(Self::new(inner), interceptor) - } - /// Enable decompressing requests with the given encoding. - #[must_use] - pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self { - self.accept_compression_encodings.enable(encoding); - self - } - /// Compress responses with the given encoding, if the client supports it. - #[must_use] - pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self { - self.send_compression_encodings.enable(encoding); - self + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "UNKNOWN" => Some(Self::Unknown), + "CONFIG_FILE" => Some(Self::ConfigFile), + "CONFIG_FILE_Names" => Some(Self::ConfigFileNames), + "CONFIG_FILE_GROUPS" => Some(Self::ConfigFileGroups), + _ => None, + } } - /// Limits the maximum size of a decoded message. + } +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ConfigDiscoverResponse { + #[prost(uint32, tag = "1")] + pub code: u32, + #[prost(string, tag = "2")] + pub info: ::prost::alloc::string::String, + #[prost(string, tag = "3")] + pub revision: ::prost::alloc::string::String, + #[prost( + enumeration = "config_discover_response::ConfigDiscoverResponseType", + tag = "4" + )] + pub r#type: i32, + #[prost(message, optional, tag = "5")] + pub config_file: ::core::option::Option, + #[prost(message, repeated, tag = "6")] + pub config_file_names: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "7")] + pub config_file_groups: ::prost::alloc::vec::Vec, +} +/// Nested message and enum types in `ConfigDiscoverResponse`. +pub mod config_discover_response { + #[derive( + Clone, + Copy, + Debug, + PartialEq, + Eq, + Hash, + PartialOrd, + Ord, + ::prost::Enumeration + )] + #[repr(i32)] + pub enum ConfigDiscoverResponseType { + Unknown = 0, + ConfigFile = 1, + ConfigFileNames = 2, + ConfigFileGroups = 3, + } + impl ConfigDiscoverResponseType { + /// String value of the enum field names used in the ProtoBuf definition. /// - /// Default: `4MB` - #[must_use] - pub fn max_decoding_message_size(mut self, limit: usize) -> Self { - self.max_decoding_message_size = Some(limit); - self + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + ConfigDiscoverResponseType::Unknown => "UNKNOWN", + ConfigDiscoverResponseType::ConfigFile => "CONFIG_FILE", + ConfigDiscoverResponseType::ConfigFileNames => "CONFIG_FILE_Names", + ConfigDiscoverResponseType::ConfigFileGroups => "CONFIG_FILE_GROUPS", + } } - /// Limits the maximum size of an encoded message. - /// - /// Default: `usize::MAX` - #[must_use] - pub fn max_encoding_message_size(mut self, limit: usize) -> Self { - self.max_encoding_message_size = Some(limit); - self + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "UNKNOWN" => Some(Self::Unknown), + "CONFIG_FILE" => Some(Self::ConfigFile), + "CONFIG_FILE_Names" => Some(Self::ConfigFileNames), + "CONFIG_FILE_GROUPS" => Some(Self::ConfigFileGroups), + _ => None, + } } } - impl tonic::codegen::Service> - for PolarisHeartbeatGrpcServer - where - T: PolarisHeartbeatGrpc, - B: Body + Send + 'static, - B::Error: Into + Send + 'static, - { - type Response = http::Response; - type Error = std::convert::Infallible; - type Future = BoxFuture; - fn poll_ready( - &mut self, - _cx: &mut Context<'_>, - ) -> Poll> { - Poll::Ready(Ok(())) - } - fn call(&mut self, req: http::Request) -> Self::Future { - let inner = self.inner.clone(); - match req.uri().path() { - "/v1.PolarisHeartbeatGRPC/BatchHeartbeat" => { - #[allow(non_camel_case_types)] - struct BatchHeartbeatSvc(pub Arc); - impl< - T: PolarisHeartbeatGrpc, - > tonic::server::StreamingService - for BatchHeartbeatSvc { - type Response = super::HeartbeatsResponse; - type ResponseStream = T::BatchHeartbeatStream; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request< - tonic::Streaming, - >, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::batch_heartbeat( - &inner, - request, - ) - .await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = BatchHeartbeatSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.streaming(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/v1.PolarisHeartbeatGRPC/BatchGetHeartbeat" => { - #[allow(non_camel_case_types)] - struct BatchGetHeartbeatSvc(pub Arc); - impl< - T: PolarisHeartbeatGrpc, - > tonic::server::UnaryService - for BatchGetHeartbeatSvc { - type Response = super::GetHeartbeatsResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::batch_get_heartbeat( - &inner, - request, - ) - .await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = BatchGetHeartbeatSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/v1.PolarisHeartbeatGRPC/BatchDelHeartbeat" => { - #[allow(non_camel_case_types)] - struct BatchDelHeartbeatSvc(pub Arc); - impl< - T: PolarisHeartbeatGrpc, - > tonic::server::UnaryService - for BatchDelHeartbeatSvc { - type Response = super::DelHeartbeatsResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::batch_del_heartbeat( - &inner, - request, - ) - .await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = BatchDelHeartbeatSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - _ => { - Box::pin(async move { - Ok( - http::Response::builder() - .status(200) - .header("grpc-status", "12") - .header("content-type", "application/grpc") - .body(empty_body()) - .unwrap(), - ) - }) - } +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ConfigSimpleResponse { + #[prost(message, optional, tag = "1")] + pub code: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub info: ::core::option::Option<::prost::alloc::string::String>, +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ConfigResponse { + #[prost(message, optional, tag = "1")] + pub code: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub info: ::core::option::Option<::prost::alloc::string::String>, + #[prost(message, optional, tag = "3")] + pub config_file_group: ::core::option::Option, + #[prost(message, optional, tag = "4")] + pub config_file: ::core::option::Option, + #[prost(message, optional, tag = "5")] + pub config_file_release: ::core::option::Option, + #[prost(message, optional, tag = "6")] + pub config_file_release_history: ::core::option::Option, + #[prost(message, optional, tag = "7")] + pub config_file_template: ::core::option::Option, +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ConfigBatchWriteResponse { + #[prost(message, optional, tag = "1")] + pub code: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub info: ::core::option::Option<::prost::alloc::string::String>, + #[prost(message, optional, tag = "3")] + pub total: ::core::option::Option, + #[prost(message, repeated, tag = "4")] + pub responses: ::prost::alloc::vec::Vec, +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ConfigBatchQueryResponse { + #[prost(message, optional, tag = "1")] + pub code: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub info: ::core::option::Option<::prost::alloc::string::String>, + #[prost(message, optional, tag = "3")] + pub total: ::core::option::Option, + #[prost(message, repeated, tag = "4")] + pub config_file_groups: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "5")] + pub config_files: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "6")] + pub config_file_releases: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "7")] + pub config_file_release_histories: ::prost::alloc::vec::Vec< + ConfigFileReleaseHistory, + >, + #[prost(message, repeated, tag = "8")] + pub config_file_templates: ::prost::alloc::vec::Vec, +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ConfigClientResponse { + #[prost(message, optional, tag = "1")] + pub code: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub info: ::core::option::Option<::prost::alloc::string::String>, + #[prost(message, optional, tag = "3")] + pub config_file: ::core::option::Option, +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ConfigImportResponse { + #[prost(message, optional, tag = "1")] + pub code: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub info: ::core::option::Option<::prost::alloc::string::String>, + #[prost(message, repeated, tag = "3")] + pub create_config_files: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "4")] + pub skip_config_files: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "5")] + pub overwrite_config_files: ::prost::alloc::vec::Vec, +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ConfigExportResponse { + #[prost(message, optional, tag = "1")] + pub code: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub info: ::core::option::Option<::prost::alloc::string::String>, + #[prost(message, optional, tag = "3")] + pub data: ::core::option::Option<::prost::alloc::vec::Vec>, +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ConfigEncryptAlgorithmResponse { + #[prost(message, optional, tag = "1")] + pub code: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub info: ::core::option::Option<::prost::alloc::string::String>, + #[prost(message, repeated, tag = "3")] + pub algorithms: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ConfigClientListResponse { + #[prost(message, optional, tag = "1")] + pub code: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub info: ::core::option::Option<::prost::alloc::string::String>, + #[prost(message, optional, tag = "3")] + pub revision: ::core::option::Option<::prost::alloc::string::String>, + #[prost(string, tag = "4")] + pub namespace: ::prost::alloc::string::String, + #[prost(string, tag = "5")] + pub group: ::prost::alloc::string::String, + #[prost(message, repeated, tag = "6")] + pub config_file_infos: ::prost::alloc::vec::Vec, +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct DiscoverFilter { + #[prost(bool, tag = "1")] + pub only_healthy_instance: bool, +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct DiscoverRequest { + #[prost(enumeration = "discover_request::DiscoverRequestType", tag = "1")] + pub r#type: i32, + #[prost(message, optional, tag = "2")] + pub service: ::core::option::Option, + #[prost(message, optional, tag = "30")] + pub filter: ::core::option::Option, +} +/// Nested message and enum types in `DiscoverRequest`. +pub mod discover_request { + #[derive( + Clone, + Copy, + Debug, + PartialEq, + Eq, + Hash, + PartialOrd, + Ord, + ::prost::Enumeration + )] + #[repr(i32)] + pub enum DiscoverRequestType { + Unknown = 0, + Instance = 1, + Cluster = 2, + Routing = 3, + RateLimit = 4, + CircuitBreaker = 5, + Services = 6, + Namespaces = 12, + FaultDetector = 13, + Lane = 100, + /// 自定义路由规则 + CustomRouteRule = 101, + /// 就近路由规则 + NearbyRouteRule = 102, + /// 无损上下线规则 + Lossless = 103, + } + impl DiscoverRequestType { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + DiscoverRequestType::Unknown => "UNKNOWN", + DiscoverRequestType::Instance => "INSTANCE", + DiscoverRequestType::Cluster => "CLUSTER", + DiscoverRequestType::Routing => "ROUTING", + DiscoverRequestType::RateLimit => "RATE_LIMIT", + DiscoverRequestType::CircuitBreaker => "CIRCUIT_BREAKER", + DiscoverRequestType::Services => "SERVICES", + DiscoverRequestType::Namespaces => "NAMESPACES", + DiscoverRequestType::FaultDetector => "FAULT_DETECTOR", + DiscoverRequestType::Lane => "LANE", + DiscoverRequestType::CustomRouteRule => "CUSTOM_ROUTE_RULE", + DiscoverRequestType::NearbyRouteRule => "NEARBY_ROUTE_RULE", + DiscoverRequestType::Lossless => "LOSSLESS", } } - } - impl Clone for PolarisHeartbeatGrpcServer { - fn clone(&self) -> Self { - let inner = self.inner.clone(); - Self { - inner, - accept_compression_encodings: self.accept_compression_encodings, - send_compression_encodings: self.send_compression_encodings, - max_decoding_message_size: self.max_decoding_message_size, - max_encoding_message_size: self.max_encoding_message_size, + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "UNKNOWN" => Some(Self::Unknown), + "INSTANCE" => Some(Self::Instance), + "CLUSTER" => Some(Self::Cluster), + "ROUTING" => Some(Self::Routing), + "RATE_LIMIT" => Some(Self::RateLimit), + "CIRCUIT_BREAKER" => Some(Self::CircuitBreaker), + "SERVICES" => Some(Self::Services), + "NAMESPACES" => Some(Self::Namespaces), + "FAULT_DETECTOR" => Some(Self::FaultDetector), + "LANE" => Some(Self::Lane), + "CUSTOM_ROUTE_RULE" => Some(Self::CustomRouteRule), + "NEARBY_ROUTE_RULE" => Some(Self::NearbyRouteRule), + "LOSSLESS" => Some(Self::Lossless), + _ => None, } } } - impl Clone for _Inner { - fn clone(&self) -> Self { - Self(Arc::clone(&self.0)) - } - } - impl std::fmt::Debug for _Inner { - fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(f, "{:?}", self.0) - } - } - impl tonic::server::NamedService - for PolarisHeartbeatGrpcServer { - const NAME: &'static str = "v1.PolarisHeartbeatGRPC"; - } } -/// Generated server implementations. -pub mod polaris_service_contract_grpc_server { +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct HeartbeatRecord { + #[prost(string, tag = "1")] + pub instance_id: ::prost::alloc::string::String, + #[prost(int64, tag = "6")] + pub last_heartbeat_sec: i64, + #[prost(bool, tag = "7")] + pub exist: bool, +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct InstanceHeartbeat { + #[prost(string, tag = "1")] + pub instance_id: ::prost::alloc::string::String, + #[prost(string, tag = "2")] + pub service: ::prost::alloc::string::String, + #[prost(string, tag = "3")] + pub namespace: ::prost::alloc::string::String, + #[prost(string, tag = "4")] + pub host: ::prost::alloc::string::String, + #[prost(uint32, tag = "5")] + pub port: u32, +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct HeartbeatsRequest { + #[prost(message, repeated, tag = "1")] + pub heartbeats: ::prost::alloc::vec::Vec, +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct HeartbeatsResponse {} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GetHeartbeatsRequest { + #[prost(string, repeated, tag = "1")] + pub instance_ids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GetHeartbeatsResponse { + #[prost(message, repeated, tag = "1")] + pub records: ::prost::alloc::vec::Vec, +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct DelHeartbeatsRequest { + #[prost(string, repeated, tag = "1")] + pub instance_ids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct DelHeartbeatsResponse { + #[prost(uint32, tag = "1")] + pub code: u32, + #[prost(string, tag = "2")] + pub info: ::prost::alloc::string::String, +} +/// Generated client implementations. +pub mod polaris_grpc_client { #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] use tonic::codegen::*; - /// Generated trait containing gRPC methods that should be implemented for use with PolarisServiceContractGrpcServer. - #[async_trait] - pub trait PolarisServiceContractGrpc: Send + Sync + 'static { - /// 上报服务契约 - async fn report_service_contract( - &self, - request: tonic::Request, - ) -> std::result::Result, tonic::Status>; - /// 查询服务契约 - async fn get_service_contract( - &self, - request: tonic::Request, - ) -> std::result::Result, tonic::Status>; + use tonic::codegen::http::Uri; + #[derive(Debug, Clone)] + pub struct PolarisGrpcClient { + inner: tonic::client::Grpc, } - #[derive(Debug)] - pub struct PolarisServiceContractGrpcServer { - inner: _Inner, - accept_compression_encodings: EnabledCompressionEncodings, - send_compression_encodings: EnabledCompressionEncodings, - max_decoding_message_size: Option, - max_encoding_message_size: Option, + impl PolarisGrpcClient { + /// Attempt to create a new client by connecting to a given endpoint. + pub async fn connect(dst: D) -> Result + where + D: TryInto, + D::Error: Into, + { + let conn = tonic::transport::Endpoint::new(dst)?.connect().await?; + Ok(Self::new(conn)) + } } - struct _Inner(Arc); - impl PolarisServiceContractGrpcServer { + impl PolarisGrpcClient + where + T: tonic::client::GrpcService, + T::Error: Into, + T::ResponseBody: Body + Send + 'static, + ::Error: Into + Send, + { pub fn new(inner: T) -> Self { - Self::from_arc(Arc::new(inner)) + let inner = tonic::client::Grpc::new(inner); + Self { inner } } - pub fn from_arc(inner: Arc) -> Self { - let inner = _Inner(inner); - Self { - inner, - accept_compression_encodings: Default::default(), - send_compression_encodings: Default::default(), - max_decoding_message_size: None, - max_encoding_message_size: None, - } + pub fn with_origin(inner: T, origin: Uri) -> Self { + let inner = tonic::client::Grpc::with_origin(inner, origin); + Self { inner } } pub fn with_interceptor( inner: T, interceptor: F, - ) -> InterceptedService + ) -> PolarisGrpcClient> where F: tonic::service::Interceptor, + T::ResponseBody: Default, + T: tonic::codegen::Service< + http::Request, + Response = http::Response< + >::ResponseBody, + >, + >, + , + >>::Error: Into + Send + Sync, { - InterceptedService::new(Self::new(inner), interceptor) + PolarisGrpcClient::new(InterceptedService::new(inner, interceptor)) } - /// Enable decompressing requests with the given encoding. + /// Compress requests with the given encoding. + /// + /// This requires the server to support it otherwise it might respond with an + /// error. #[must_use] - pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self { - self.accept_compression_encodings.enable(encoding); + pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self { + self.inner = self.inner.send_compressed(encoding); self } - /// Compress responses with the given encoding, if the client supports it. + /// Enable decompressing responses. #[must_use] - pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self { - self.send_compression_encodings.enable(encoding); + pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self { + self.inner = self.inner.accept_compressed(encoding); self } /// Limits the maximum size of a decoded message. @@ -4768,7 +4902,7 @@ pub mod polaris_service_contract_grpc_server { /// Default: `4MB` #[must_use] pub fn max_decoding_message_size(mut self, limit: usize) -> Self { - self.max_decoding_message_size = Some(limit); + self.inner = self.inner.max_decoding_message_size(limit); self } /// Limits the maximum size of an encoded message. @@ -4776,736 +4910,309 @@ pub mod polaris_service_contract_grpc_server { /// Default: `usize::MAX` #[must_use] pub fn max_encoding_message_size(mut self, limit: usize) -> Self { - self.max_encoding_message_size = Some(limit); + self.inner = self.inner.max_encoding_message_size(limit); self } - } - impl tonic::codegen::Service> - for PolarisServiceContractGrpcServer - where - T: PolarisServiceContractGrpc, - B: Body + Send + 'static, - B::Error: Into + Send + 'static, - { - type Response = http::Response; - type Error = std::convert::Infallible; - type Future = BoxFuture; - fn poll_ready( + /// 客户端上报 + pub async fn report_client( &mut self, - _cx: &mut Context<'_>, - ) -> Poll> { - Poll::Ready(Ok(())) + request: impl tonic::IntoRequest, + ) -> std::result::Result, tonic::Status> { + self.inner + .ready() + .await + .map_err(|e| { + tonic::Status::new( + tonic::Code::Unknown, + format!("Service was not ready: {}", e.into()), + ) + })?; + let codec = tonic::codec::ProstCodec::default(); + let path = http::uri::PathAndQuery::from_static( + "/v1.PolarisGRPC/ReportClient", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert(GrpcMethod::new("v1.PolarisGRPC", "ReportClient")); + self.inner.unary(req, path, codec).await } - fn call(&mut self, req: http::Request) -> Self::Future { - let inner = self.inner.clone(); - match req.uri().path() { - "/v1.PolarisServiceContractGRPC/ReportServiceContract" => { - #[allow(non_camel_case_types)] - struct ReportServiceContractSvc( - pub Arc, - ); - impl< - T: PolarisServiceContractGrpc, - > tonic::server::UnaryService - for ReportServiceContractSvc { - type Response = super::Response; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::report_service_contract( - &inner, - request, - ) - .await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = ReportServiceContractSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/v1.PolarisServiceContractGRPC/GetServiceContract" => { - #[allow(non_camel_case_types)] - struct GetServiceContractSvc( - pub Arc, - ); - impl< - T: PolarisServiceContractGrpc, - > tonic::server::UnaryService - for GetServiceContractSvc { - type Response = super::Response; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::get_service_contract( - &inner, - request, - ) - .await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = GetServiceContractSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - _ => { - Box::pin(async move { - Ok( - http::Response::builder() - .status(200) - .header("grpc-status", "12") - .header("content-type", "application/grpc") - .body(empty_body()) - .unwrap(), - ) - }) - } - } + /// 被调方注册服务实例 + pub async fn register_instance( + &mut self, + request: impl tonic::IntoRequest, + ) -> std::result::Result, tonic::Status> { + self.inner + .ready() + .await + .map_err(|e| { + tonic::Status::new( + tonic::Code::Unknown, + format!("Service was not ready: {}", e.into()), + ) + })?; + let codec = tonic::codec::ProstCodec::default(); + let path = http::uri::PathAndQuery::from_static( + "/v1.PolarisGRPC/RegisterInstance", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert(GrpcMethod::new("v1.PolarisGRPC", "RegisterInstance")); + self.inner.unary(req, path, codec).await } - } - impl Clone for PolarisServiceContractGrpcServer { - fn clone(&self) -> Self { - let inner = self.inner.clone(); - Self { - inner, - accept_compression_encodings: self.accept_compression_encodings, - send_compression_encodings: self.send_compression_encodings, - max_decoding_message_size: self.max_decoding_message_size, - max_encoding_message_size: self.max_encoding_message_size, - } + /// 被调方反注册服务实例 + pub async fn deregister_instance( + &mut self, + request: impl tonic::IntoRequest, + ) -> std::result::Result, tonic::Status> { + self.inner + .ready() + .await + .map_err(|e| { + tonic::Status::new( + tonic::Code::Unknown, + format!("Service was not ready: {}", e.into()), + ) + })?; + let codec = tonic::codec::ProstCodec::default(); + let path = http::uri::PathAndQuery::from_static( + "/v1.PolarisGRPC/DeregisterInstance", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert(GrpcMethod::new("v1.PolarisGRPC", "DeregisterInstance")); + self.inner.unary(req, path, codec).await } - } - impl Clone for _Inner { - fn clone(&self) -> Self { - Self(Arc::clone(&self.0)) + /// 统一发现接口 + pub async fn discover( + &mut self, + request: impl tonic::IntoStreamingRequest, + ) -> std::result::Result< + tonic::Response>, + tonic::Status, + > { + self.inner + .ready() + .await + .map_err(|e| { + tonic::Status::new( + tonic::Code::Unknown, + format!("Service was not ready: {}", e.into()), + ) + })?; + let codec = tonic::codec::ProstCodec::default(); + let path = http::uri::PathAndQuery::from_static("/v1.PolarisGRPC/Discover"); + let mut req = request.into_streaming_request(); + req.extensions_mut().insert(GrpcMethod::new("v1.PolarisGRPC", "Discover")); + self.inner.streaming(req, path, codec).await } - } - impl std::fmt::Debug for _Inner { - fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(f, "{:?}", self.0) + /// 被调方上报心跳 + pub async fn heartbeat( + &mut self, + request: impl tonic::IntoRequest, + ) -> std::result::Result, tonic::Status> { + self.inner + .ready() + .await + .map_err(|e| { + tonic::Status::new( + tonic::Code::Unknown, + format!("Service was not ready: {}", e.into()), + ) + })?; + let codec = tonic::codec::ProstCodec::default(); + let path = http::uri::PathAndQuery::from_static("/v1.PolarisGRPC/Heartbeat"); + let mut req = request.into_request(); + req.extensions_mut().insert(GrpcMethod::new("v1.PolarisGRPC", "Heartbeat")); + self.inner.unary(req, path, codec).await } } - impl tonic::server::NamedService - for PolarisServiceContractGrpcServer { - const NAME: &'static str = "v1.PolarisServiceContractGRPC"; - } -} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct ConfigFileGroup { - #[prost(message, optional, tag = "1")] - pub id: ::core::option::Option, - #[prost(message, optional, tag = "2")] - pub name: ::core::option::Option<::prost::alloc::string::String>, - #[prost(message, optional, tag = "3")] - pub namespace: ::core::option::Option<::prost::alloc::string::String>, - #[prost(message, optional, tag = "4")] - pub comment: ::core::option::Option<::prost::alloc::string::String>, - #[prost(message, optional, tag = "5")] - pub create_time: ::core::option::Option<::prost::alloc::string::String>, - #[prost(message, optional, tag = "6")] - pub create_by: ::core::option::Option<::prost::alloc::string::String>, - #[prost(message, optional, tag = "7")] - pub modify_time: ::core::option::Option<::prost::alloc::string::String>, - #[prost(message, optional, tag = "8")] - pub modify_by: ::core::option::Option<::prost::alloc::string::String>, - #[prost(message, optional, tag = "9")] - pub file_count: ::core::option::Option, - #[prost(message, repeated, tag = "10")] - pub user_ids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, - #[prost(message, repeated, tag = "11")] - pub group_ids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, - #[prost(message, repeated, tag = "13")] - pub remove_user_ids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, - #[prost(message, repeated, tag = "14")] - pub remove_group_ids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, - #[prost(message, optional, tag = "15")] - pub editable: ::core::option::Option, - #[prost(message, optional, tag = "16")] - pub owner: ::core::option::Option<::prost::alloc::string::String>, - #[prost(message, optional, tag = "17")] - pub business: ::core::option::Option<::prost::alloc::string::String>, - #[prost(message, optional, tag = "18")] - pub department: ::core::option::Option<::prost::alloc::string::String>, - #[prost(map = "string, string", tag = "19")] - pub metadata: ::std::collections::HashMap< - ::prost::alloc::string::String, - ::prost::alloc::string::String, - >, } -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct ConfigFile { - #[prost(message, optional, tag = "1")] - pub id: ::core::option::Option, - #[prost(message, optional, tag = "2")] - pub name: ::core::option::Option<::prost::alloc::string::String>, - #[prost(message, optional, tag = "3")] - pub namespace: ::core::option::Option<::prost::alloc::string::String>, - #[prost(message, optional, tag = "4")] - pub group: ::core::option::Option<::prost::alloc::string::String>, - #[prost(message, optional, tag = "5")] - pub content: ::core::option::Option<::prost::alloc::string::String>, - #[prost(message, optional, tag = "6")] - pub format: ::core::option::Option<::prost::alloc::string::String>, - #[prost(message, optional, tag = "7")] - pub comment: ::core::option::Option<::prost::alloc::string::String>, - #[prost(message, optional, tag = "8")] - pub status: ::core::option::Option<::prost::alloc::string::String>, - #[prost(message, repeated, tag = "9")] - pub tags: ::prost::alloc::vec::Vec, - #[prost(message, optional, tag = "10")] - pub create_time: ::core::option::Option<::prost::alloc::string::String>, - #[prost(message, optional, tag = "11")] - pub create_by: ::core::option::Option<::prost::alloc::string::String>, - #[prost(message, optional, tag = "12")] - pub modify_time: ::core::option::Option<::prost::alloc::string::String>, - #[prost(message, optional, tag = "13")] - pub modify_by: ::core::option::Option<::prost::alloc::string::String>, - #[prost(message, optional, tag = "14")] - pub release_time: ::core::option::Option<::prost::alloc::string::String>, - #[prost(message, optional, tag = "15")] - pub release_by: ::core::option::Option<::prost::alloc::string::String>, - /// 是否为加密配置文件 - #[prost(message, optional, tag = "16")] - pub encrypted: ::core::option::Option, - /// 加密算法 - #[prost(message, optional, tag = "17")] - pub encrypt_algo: ::core::option::Option<::prost::alloc::string::String>, -} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct ConfigFileTag { - #[prost(message, optional, tag = "1")] - pub key: ::core::option::Option<::prost::alloc::string::String>, - #[prost(message, optional, tag = "2")] - pub value: ::core::option::Option<::prost::alloc::string::String>, -} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct ConfigFileRelease { - #[prost(message, optional, tag = "1")] - pub id: ::core::option::Option, - #[prost(message, optional, tag = "2")] - pub name: ::core::option::Option<::prost::alloc::string::String>, - #[prost(message, optional, tag = "3")] - pub namespace: ::core::option::Option<::prost::alloc::string::String>, - #[prost(message, optional, tag = "4")] - pub group: ::core::option::Option<::prost::alloc::string::String>, - #[prost(message, optional, tag = "5")] - pub file_name: ::core::option::Option<::prost::alloc::string::String>, - #[prost(message, optional, tag = "6")] - pub content: ::core::option::Option<::prost::alloc::string::String>, - #[prost(message, optional, tag = "7")] - pub comment: ::core::option::Option<::prost::alloc::string::String>, - #[prost(message, optional, tag = "8")] - pub md5: ::core::option::Option<::prost::alloc::string::String>, - #[prost(message, optional, tag = "9")] - pub version: ::core::option::Option, - #[prost(message, optional, tag = "10")] - pub create_time: ::core::option::Option<::prost::alloc::string::String>, - #[prost(message, optional, tag = "11")] - pub create_by: ::core::option::Option<::prost::alloc::string::String>, - #[prost(message, optional, tag = "12")] - pub modify_time: ::core::option::Option<::prost::alloc::string::String>, - #[prost(message, optional, tag = "13")] - pub modify_by: ::core::option::Option<::prost::alloc::string::String>, - #[prost(message, repeated, tag = "14")] - pub tags: ::prost::alloc::vec::Vec, - /// 当前生效配置 - #[prost(message, optional, tag = "15")] - pub active: ::core::option::Option, - #[prost(message, optional, tag = "16")] - pub format: ::core::option::Option<::prost::alloc::string::String>, - #[prost(message, optional, tag = "17")] - pub release_description: ::core::option::Option<::prost::alloc::string::String>, - #[prost(message, optional, tag = "18")] - pub release_type: ::core::option::Option<::prost::alloc::string::String>, - /// 配置灰度发布时需要匹配的客户端标签信息 - #[prost(message, repeated, tag = "19")] - pub beta_labels: ::prost::alloc::vec::Vec, +/// Generated client implementations. +pub mod polaris_heartbeat_grpc_client { + #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] + use tonic::codegen::*; + use tonic::codegen::http::Uri; + #[derive(Debug, Clone)] + pub struct PolarisHeartbeatGrpcClient { + inner: tonic::client::Grpc, + } + impl PolarisHeartbeatGrpcClient { + /// Attempt to create a new client by connecting to a given endpoint. + pub async fn connect(dst: D) -> Result + where + D: TryInto, + D::Error: Into, + { + let conn = tonic::transport::Endpoint::new(dst)?.connect().await?; + Ok(Self::new(conn)) + } + } + impl PolarisHeartbeatGrpcClient + where + T: tonic::client::GrpcService, + T::Error: Into, + T::ResponseBody: Body + Send + 'static, + ::Error: Into + Send, + { + pub fn new(inner: T) -> Self { + let inner = tonic::client::Grpc::new(inner); + Self { inner } + } + pub fn with_origin(inner: T, origin: Uri) -> Self { + let inner = tonic::client::Grpc::with_origin(inner, origin); + Self { inner } + } + pub fn with_interceptor( + inner: T, + interceptor: F, + ) -> PolarisHeartbeatGrpcClient> + where + F: tonic::service::Interceptor, + T::ResponseBody: Default, + T: tonic::codegen::Service< + http::Request, + Response = http::Response< + >::ResponseBody, + >, + >, + , + >>::Error: Into + Send + Sync, + { + PolarisHeartbeatGrpcClient::new(InterceptedService::new(inner, interceptor)) + } + /// Compress requests with the given encoding. + /// + /// This requires the server to support it otherwise it might respond with an + /// error. + #[must_use] + pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self { + self.inner = self.inner.send_compressed(encoding); + self + } + /// Enable decompressing responses. + #[must_use] + pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self { + self.inner = self.inner.accept_compressed(encoding); + self + } + /// Limits the maximum size of a decoded message. + /// + /// Default: `4MB` + #[must_use] + pub fn max_decoding_message_size(mut self, limit: usize) -> Self { + self.inner = self.inner.max_decoding_message_size(limit); + self + } + /// Limits the maximum size of an encoded message. + /// + /// Default: `usize::MAX` + #[must_use] + pub fn max_encoding_message_size(mut self, limit: usize) -> Self { + self.inner = self.inner.max_encoding_message_size(limit); + self + } + /// 被调方批量上报心跳 + pub async fn batch_heartbeat( + &mut self, + request: impl tonic::IntoStreamingRequest, + ) -> std::result::Result< + tonic::Response>, + tonic::Status, + > { + self.inner + .ready() + .await + .map_err(|e| { + tonic::Status::new( + tonic::Code::Unknown, + format!("Service was not ready: {}", e.into()), + ) + })?; + let codec = tonic::codec::ProstCodec::default(); + let path = http::uri::PathAndQuery::from_static( + "/v1.PolarisHeartbeatGRPC/BatchHeartbeat", + ); + let mut req = request.into_streaming_request(); + req.extensions_mut() + .insert(GrpcMethod::new("v1.PolarisHeartbeatGRPC", "BatchHeartbeat")); + self.inner.streaming(req, path, codec).await + } + /// 批量获取心跳记录 + pub async fn batch_get_heartbeat( + &mut self, + request: impl tonic::IntoRequest, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + > { + self.inner + .ready() + .await + .map_err(|e| { + tonic::Status::new( + tonic::Code::Unknown, + format!("Service was not ready: {}", e.into()), + ) + })?; + let codec = tonic::codec::ProstCodec::default(); + let path = http::uri::PathAndQuery::from_static( + "/v1.PolarisHeartbeatGRPC/BatchGetHeartbeat", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert(GrpcMethod::new("v1.PolarisHeartbeatGRPC", "BatchGetHeartbeat")); + self.inner.unary(req, path, codec).await + } + /// 批量删除心跳记录 + pub async fn batch_del_heartbeat( + &mut self, + request: impl tonic::IntoRequest, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + > { + self.inner + .ready() + .await + .map_err(|e| { + tonic::Status::new( + tonic::Code::Unknown, + format!("Service was not ready: {}", e.into()), + ) + })?; + let codec = tonic::codec::ProstCodec::default(); + let path = http::uri::PathAndQuery::from_static( + "/v1.PolarisHeartbeatGRPC/BatchDelHeartbeat", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert(GrpcMethod::new("v1.PolarisHeartbeatGRPC", "BatchDelHeartbeat")); + self.inner.unary(req, path, codec).await + } + } } -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct ConfigFileReleaseHistory { - #[prost(message, optional, tag = "1")] - pub id: ::core::option::Option, - #[prost(message, optional, tag = "2")] - pub name: ::core::option::Option<::prost::alloc::string::String>, - #[prost(message, optional, tag = "3")] - pub namespace: ::core::option::Option<::prost::alloc::string::String>, - #[prost(message, optional, tag = "4")] - pub group: ::core::option::Option<::prost::alloc::string::String>, - #[prost(message, optional, tag = "5")] - pub file_name: ::core::option::Option<::prost::alloc::string::String>, - #[prost(message, optional, tag = "6")] - pub content: ::core::option::Option<::prost::alloc::string::String>, - #[prost(message, optional, tag = "7")] - pub format: ::core::option::Option<::prost::alloc::string::String>, - #[prost(message, optional, tag = "8")] - pub comment: ::core::option::Option<::prost::alloc::string::String>, - #[prost(message, optional, tag = "9")] - pub md5: ::core::option::Option<::prost::alloc::string::String>, - #[prost(message, optional, tag = "10")] - pub r#type: ::core::option::Option<::prost::alloc::string::String>, - #[prost(message, optional, tag = "11")] - pub status: ::core::option::Option<::prost::alloc::string::String>, - #[prost(message, repeated, tag = "12")] - pub tags: ::prost::alloc::vec::Vec, - #[prost(message, optional, tag = "13")] - pub create_time: ::core::option::Option<::prost::alloc::string::String>, - #[prost(message, optional, tag = "14")] - pub create_by: ::core::option::Option<::prost::alloc::string::String>, - #[prost(message, optional, tag = "15")] - pub modify_time: ::core::option::Option<::prost::alloc::string::String>, - #[prost(message, optional, tag = "16")] - pub modify_by: ::core::option::Option<::prost::alloc::string::String>, - /// 配置发布失败的原因 - #[prost(message, optional, tag = "17")] - pub reason: ::core::option::Option<::prost::alloc::string::String>, - #[prost(message, optional, tag = "18")] - pub release_description: ::core::option::Option<::prost::alloc::string::String>, -} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct ConfigFileTemplate { - #[prost(message, optional, tag = "1")] - pub id: ::core::option::Option, - #[prost(message, optional, tag = "2")] - pub name: ::core::option::Option<::prost::alloc::string::String>, - #[prost(message, optional, tag = "3")] - pub content: ::core::option::Option<::prost::alloc::string::String>, - #[prost(message, optional, tag = "4")] - pub format: ::core::option::Option<::prost::alloc::string::String>, - #[prost(message, optional, tag = "5")] - pub comment: ::core::option::Option<::prost::alloc::string::String>, - #[prost(message, optional, tag = "6")] - pub create_time: ::core::option::Option<::prost::alloc::string::String>, - #[prost(message, optional, tag = "7")] - pub create_by: ::core::option::Option<::prost::alloc::string::String>, - #[prost(message, optional, tag = "8")] - pub modify_time: ::core::option::Option<::prost::alloc::string::String>, - #[prost(message, optional, tag = "9")] - pub modify_by: ::core::option::Option<::prost::alloc::string::String>, -} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct ClientConfigFileInfo { - #[prost(message, optional, tag = "1")] - pub namespace: ::core::option::Option<::prost::alloc::string::String>, - #[prost(message, optional, tag = "2")] - pub group: ::core::option::Option<::prost::alloc::string::String>, - #[prost(message, optional, tag = "3")] - pub file_name: ::core::option::Option<::prost::alloc::string::String>, - #[prost(message, optional, tag = "4")] - pub content: ::core::option::Option<::prost::alloc::string::String>, - #[prost(message, optional, tag = "5")] - pub version: ::core::option::Option, - #[prost(message, optional, tag = "6")] - pub md5: ::core::option::Option<::prost::alloc::string::String>, - #[prost(message, repeated, tag = "7")] - pub tags: ::prost::alloc::vec::Vec, - /// 是否为加密配置文件 - #[prost(message, optional, tag = "8")] - pub encrypted: ::core::option::Option, - /// 公钥,用于加密数据密钥 - #[prost(message, optional, tag = "9")] - pub public_key: ::core::option::Option<::prost::alloc::string::String>, - /// 配置文件版本名称 - #[prost(message, optional, tag = "10")] - pub name: ::core::option::Option<::prost::alloc::string::String>, - /// 配置文件的发布时间 - #[prost(message, optional, tag = "11")] - pub release_time: ::core::option::Option<::prost::alloc::string::String>, -} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct ClientWatchConfigFileRequest { - #[prost(message, optional, tag = "1")] - pub client_ip: ::core::option::Option<::prost::alloc::string::String>, - #[prost(message, optional, tag = "2")] - pub service_name: ::core::option::Option<::prost::alloc::string::String>, - #[prost(message, repeated, tag = "3")] - pub watch_files: ::prost::alloc::vec::Vec, -} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct ConfigFileExportRequest { - #[prost(message, optional, tag = "1")] - pub namespace: ::core::option::Option<::prost::alloc::string::String>, - #[prost(message, repeated, tag = "2")] - pub groups: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, - #[prost(message, repeated, tag = "3")] - pub names: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, -} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct ConfigFilePublishInfo { - #[prost(message, optional, tag = "1")] - pub release_name: ::core::option::Option<::prost::alloc::string::String>, - #[prost(message, optional, tag = "2")] - pub namespace: ::core::option::Option<::prost::alloc::string::String>, - #[prost(message, optional, tag = "3")] - pub group: ::core::option::Option<::prost::alloc::string::String>, - #[prost(message, optional, tag = "4")] - pub file_name: ::core::option::Option<::prost::alloc::string::String>, - #[prost(message, optional, tag = "5")] - pub content: ::core::option::Option<::prost::alloc::string::String>, - #[prost(message, optional, tag = "6")] - pub comment: ::core::option::Option<::prost::alloc::string::String>, - #[prost(message, optional, tag = "7")] - pub format: ::core::option::Option<::prost::alloc::string::String>, - #[prost(message, optional, tag = "8")] - pub release_description: ::core::option::Option<::prost::alloc::string::String>, - #[prost(message, optional, tag = "11")] - pub create_by: ::core::option::Option<::prost::alloc::string::String>, - #[prost(message, optional, tag = "13")] - pub modify_by: ::core::option::Option<::prost::alloc::string::String>, - #[prost(message, repeated, tag = "14")] - pub tags: ::prost::alloc::vec::Vec, - #[prost(message, optional, tag = "15")] - pub md5: ::core::option::Option<::prost::alloc::string::String>, - /// 是否为加密配置文件 - #[prost(message, optional, tag = "16")] - pub encrypted: ::core::option::Option, - /// 加密算法 - #[prost(message, optional, tag = "17")] - pub encrypt_algo: ::core::option::Option<::prost::alloc::string::String>, -} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct ConfigFileGroupRequest { - #[prost(message, optional, tag = "1")] - pub revision: ::core::option::Option<::prost::alloc::string::String>, - #[prost(message, optional, tag = "2")] - pub config_file_group: ::core::option::Option, - /// 配置标签 - #[prost(map = "string, string", tag = "12")] - pub client_labels: ::std::collections::HashMap< - ::prost::alloc::string::String, - ::prost::alloc::string::String, - >, -} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct ConfigDiscoverRequest { - #[prost( - enumeration = "config_discover_request::ConfigDiscoverRequestType", - tag = "1" - )] - pub r#type: i32, - #[prost(message, optional, tag = "2")] - pub config_file: ::core::option::Option, - #[prost(string, tag = "3")] - pub revision: ::prost::alloc::string::String, -} -/// Nested message and enum types in `ConfigDiscoverRequest`. -pub mod config_discover_request { - #[derive( - Clone, - Copy, - Debug, - PartialEq, - Eq, - Hash, - PartialOrd, - Ord, - ::prost::Enumeration - )] - #[repr(i32)] - pub enum ConfigDiscoverRequestType { - Unknown = 0, - ConfigFile = 1, - ConfigFileNames = 2, - ConfigFileGroups = 3, +/// Generated client implementations. +pub mod polaris_service_contract_grpc_client { + #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] + use tonic::codegen::*; + use tonic::codegen::http::Uri; + #[derive(Debug, Clone)] + pub struct PolarisServiceContractGrpcClient { + inner: tonic::client::Grpc, } - impl ConfigDiscoverRequestType { - /// String value of the enum field names used in the ProtoBuf definition. - /// - /// The values are not transformed in any way and thus are considered stable - /// (if the ProtoBuf definition does not change) and safe for programmatic use. - pub fn as_str_name(&self) -> &'static str { - match self { - ConfigDiscoverRequestType::Unknown => "UNKNOWN", - ConfigDiscoverRequestType::ConfigFile => "CONFIG_FILE", - ConfigDiscoverRequestType::ConfigFileNames => "CONFIG_FILE_Names", - ConfigDiscoverRequestType::ConfigFileGroups => "CONFIG_FILE_GROUPS", - } - } - /// Creates an enum from field names used in the ProtoBuf definition. - pub fn from_str_name(value: &str) -> ::core::option::Option { - match value { - "UNKNOWN" => Some(Self::Unknown), - "CONFIG_FILE" => Some(Self::ConfigFile), - "CONFIG_FILE_Names" => Some(Self::ConfigFileNames), - "CONFIG_FILE_GROUPS" => Some(Self::ConfigFileGroups), - _ => None, - } + impl PolarisServiceContractGrpcClient { + /// Attempt to create a new client by connecting to a given endpoint. + pub async fn connect(dst: D) -> Result + where + D: TryInto, + D::Error: Into, + { + let conn = tonic::transport::Endpoint::new(dst)?.connect().await?; + Ok(Self::new(conn)) } } -} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct ConfigDiscoverResponse { - #[prost(uint32, tag = "1")] - pub code: u32, - #[prost(string, tag = "2")] - pub info: ::prost::alloc::string::String, - #[prost(string, tag = "3")] - pub revision: ::prost::alloc::string::String, - #[prost( - enumeration = "config_discover_response::ConfigDiscoverResponseType", - tag = "4" - )] - pub r#type: i32, - #[prost(message, optional, tag = "5")] - pub config_file: ::core::option::Option, - #[prost(message, repeated, tag = "6")] - pub config_file_names: ::prost::alloc::vec::Vec, - #[prost(message, repeated, tag = "7")] - pub config_file_groups: ::prost::alloc::vec::Vec, -} -/// Nested message and enum types in `ConfigDiscoverResponse`. -pub mod config_discover_response { - #[derive( - Clone, - Copy, - Debug, - PartialEq, - Eq, - Hash, - PartialOrd, - Ord, - ::prost::Enumeration - )] - #[repr(i32)] - pub enum ConfigDiscoverResponseType { - Unknown = 0, - ConfigFile = 1, - ConfigFileNames = 2, - ConfigFileGroups = 3, - } - impl ConfigDiscoverResponseType { - /// String value of the enum field names used in the ProtoBuf definition. - /// - /// The values are not transformed in any way and thus are considered stable - /// (if the ProtoBuf definition does not change) and safe for programmatic use. - pub fn as_str_name(&self) -> &'static str { - match self { - ConfigDiscoverResponseType::Unknown => "UNKNOWN", - ConfigDiscoverResponseType::ConfigFile => "CONFIG_FILE", - ConfigDiscoverResponseType::ConfigFileNames => "CONFIG_FILE_Names", - ConfigDiscoverResponseType::ConfigFileGroups => "CONFIG_FILE_GROUPS", - } - } - /// Creates an enum from field names used in the ProtoBuf definition. - pub fn from_str_name(value: &str) -> ::core::option::Option { - match value { - "UNKNOWN" => Some(Self::Unknown), - "CONFIG_FILE" => Some(Self::ConfigFile), - "CONFIG_FILE_Names" => Some(Self::ConfigFileNames), - "CONFIG_FILE_GROUPS" => Some(Self::ConfigFileGroups), - _ => None, - } - } - } -} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct ConfigSimpleResponse { - #[prost(message, optional, tag = "1")] - pub code: ::core::option::Option, - #[prost(message, optional, tag = "2")] - pub info: ::core::option::Option<::prost::alloc::string::String>, -} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct ConfigResponse { - #[prost(message, optional, tag = "1")] - pub code: ::core::option::Option, - #[prost(message, optional, tag = "2")] - pub info: ::core::option::Option<::prost::alloc::string::String>, - #[prost(message, optional, tag = "3")] - pub config_file_group: ::core::option::Option, - #[prost(message, optional, tag = "4")] - pub config_file: ::core::option::Option, - #[prost(message, optional, tag = "5")] - pub config_file_release: ::core::option::Option, - #[prost(message, optional, tag = "6")] - pub config_file_release_history: ::core::option::Option, - #[prost(message, optional, tag = "7")] - pub config_file_template: ::core::option::Option, -} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct ConfigBatchWriteResponse { - #[prost(message, optional, tag = "1")] - pub code: ::core::option::Option, - #[prost(message, optional, tag = "2")] - pub info: ::core::option::Option<::prost::alloc::string::String>, - #[prost(message, optional, tag = "3")] - pub total: ::core::option::Option, - #[prost(message, repeated, tag = "4")] - pub responses: ::prost::alloc::vec::Vec, -} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct ConfigBatchQueryResponse { - #[prost(message, optional, tag = "1")] - pub code: ::core::option::Option, - #[prost(message, optional, tag = "2")] - pub info: ::core::option::Option<::prost::alloc::string::String>, - #[prost(message, optional, tag = "3")] - pub total: ::core::option::Option, - #[prost(message, repeated, tag = "4")] - pub config_file_groups: ::prost::alloc::vec::Vec, - #[prost(message, repeated, tag = "5")] - pub config_files: ::prost::alloc::vec::Vec, - #[prost(message, repeated, tag = "6")] - pub config_file_releases: ::prost::alloc::vec::Vec, - #[prost(message, repeated, tag = "7")] - pub config_file_release_histories: ::prost::alloc::vec::Vec< - ConfigFileReleaseHistory, - >, - #[prost(message, repeated, tag = "8")] - pub config_file_templates: ::prost::alloc::vec::Vec, -} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct ConfigClientResponse { - #[prost(message, optional, tag = "1")] - pub code: ::core::option::Option, - #[prost(message, optional, tag = "2")] - pub info: ::core::option::Option<::prost::alloc::string::String>, - #[prost(message, optional, tag = "3")] - pub config_file: ::core::option::Option, -} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct ConfigImportResponse { - #[prost(message, optional, tag = "1")] - pub code: ::core::option::Option, - #[prost(message, optional, tag = "2")] - pub info: ::core::option::Option<::prost::alloc::string::String>, - #[prost(message, repeated, tag = "3")] - pub create_config_files: ::prost::alloc::vec::Vec, - #[prost(message, repeated, tag = "4")] - pub skip_config_files: ::prost::alloc::vec::Vec, - #[prost(message, repeated, tag = "5")] - pub overwrite_config_files: ::prost::alloc::vec::Vec, -} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct ConfigExportResponse { - #[prost(message, optional, tag = "1")] - pub code: ::core::option::Option, - #[prost(message, optional, tag = "2")] - pub info: ::core::option::Option<::prost::alloc::string::String>, - #[prost(message, optional, tag = "3")] - pub data: ::core::option::Option<::prost::alloc::vec::Vec>, -} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct ConfigEncryptAlgorithmResponse { - #[prost(message, optional, tag = "1")] - pub code: ::core::option::Option, - #[prost(message, optional, tag = "2")] - pub info: ::core::option::Option<::prost::alloc::string::String>, - #[prost(message, repeated, tag = "3")] - pub algorithms: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, -} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct ConfigClientListResponse { - #[prost(message, optional, tag = "1")] - pub code: ::core::option::Option, - #[prost(message, optional, tag = "2")] - pub info: ::core::option::Option<::prost::alloc::string::String>, - #[prost(message, optional, tag = "3")] - pub revision: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, tag = "4")] - pub namespace: ::prost::alloc::string::String, - #[prost(string, tag = "5")] - pub group: ::prost::alloc::string::String, - #[prost(message, repeated, tag = "6")] - pub config_file_infos: ::prost::alloc::vec::Vec, -} -/// Generated client implementations. -pub mod polaris_config_grpc_client { - #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] - use tonic::codegen::*; - use tonic::codegen::http::Uri; - #[derive(Debug, Clone)] - pub struct PolarisConfigGrpcClient { - inner: tonic::client::Grpc, - } - impl PolarisConfigGrpcClient { - /// Attempt to create a new client by connecting to a given endpoint. - pub async fn connect(dst: D) -> Result - where - D: TryInto, - D::Error: Into, - { - let conn = tonic::transport::Endpoint::new(dst)?.connect().await?; - Ok(Self::new(conn)) - } - } - impl PolarisConfigGrpcClient + impl PolarisServiceContractGrpcClient where T: tonic::client::GrpcService, T::Error: Into, @@ -5523,7 +5230,7 @@ pub mod polaris_config_grpc_client { pub fn with_interceptor( inner: T, interceptor: F, - ) -> PolarisConfigGrpcClient> + ) -> PolarisServiceContractGrpcClient> where F: tonic::service::Interceptor, T::ResponseBody: Default, @@ -5537,7 +5244,9 @@ pub mod polaris_config_grpc_client { http::Request, >>::Error: Into + Send + Sync, { - PolarisConfigGrpcClient::new(InterceptedService::new(inner, interceptor)) + PolarisServiceContractGrpcClient::new( + InterceptedService::new(inner, interceptor), + ) } /// Compress requests with the given encoding. /// @@ -5570,40 +5279,11 @@ pub mod polaris_config_grpc_client { self.inner = self.inner.max_encoding_message_size(limit); self } - /// 拉取配置 - pub async fn get_config_file( - &mut self, - request: impl tonic::IntoRequest, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - > { - self.inner - .ready() - .await - .map_err(|e| { - tonic::Status::new( - tonic::Code::Unknown, - format!("Service was not ready: {}", e.into()), - ) - })?; - let codec = tonic::codec::ProstCodec::default(); - let path = http::uri::PathAndQuery::from_static( - "/v1.PolarisConfigGRPC/GetConfigFile", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert(GrpcMethod::new("v1.PolarisConfigGRPC", "GetConfigFile")); - self.inner.unary(req, path, codec).await - } - /// 创建配置 - pub async fn create_config_file( + /// 上报服务契约 + pub async fn report_service_contract( &mut self, - request: impl tonic::IntoRequest, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - > { + request: impl tonic::IntoRequest, + ) -> std::result::Result, tonic::Status> { self.inner .ready() .await @@ -5615,21 +5295,23 @@ pub mod polaris_config_grpc_client { })?; let codec = tonic::codec::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( - "/v1.PolarisConfigGRPC/CreateConfigFile", + "/v1.PolarisServiceContractGRPC/ReportServiceContract", ); let mut req = request.into_request(); req.extensions_mut() - .insert(GrpcMethod::new("v1.PolarisConfigGRPC", "CreateConfigFile")); + .insert( + GrpcMethod::new( + "v1.PolarisServiceContractGRPC", + "ReportServiceContract", + ), + ); self.inner.unary(req, path, codec).await } - /// 更新配置 - pub async fn update_config_file( + /// 查询服务契约 + pub async fn get_service_contract( &mut self, - request: impl tonic::IntoRequest, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - > { + request: impl tonic::IntoRequest, + ) -> std::result::Result, tonic::Status> { self.inner .ready() .await @@ -5641,228 +5323,61 @@ pub mod polaris_config_grpc_client { })?; let codec = tonic::codec::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( - "/v1.PolarisConfigGRPC/UpdateConfigFile", + "/v1.PolarisServiceContractGRPC/GetServiceContract", ); let mut req = request.into_request(); req.extensions_mut() - .insert(GrpcMethod::new("v1.PolarisConfigGRPC", "UpdateConfigFile")); + .insert( + GrpcMethod::new( + "v1.PolarisServiceContractGRPC", + "GetServiceContract", + ), + ); self.inner.unary(req, path, codec).await } - /// 发布配置 - pub async fn publish_config_file( - &mut self, - request: impl tonic::IntoRequest, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - > { - self.inner - .ready() - .await - .map_err(|e| { - tonic::Status::new( - tonic::Code::Unknown, - format!("Service was not ready: {}", e.into()), - ) - })?; - let codec = tonic::codec::ProstCodec::default(); - let path = http::uri::PathAndQuery::from_static( - "/v1.PolarisConfigGRPC/PublishConfigFile", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert(GrpcMethod::new("v1.PolarisConfigGRPC", "PublishConfigFile")); - self.inner.unary(req, path, codec).await - } - /// 发布配置 - pub async fn upsert_and_publish_config_file( - &mut self, - request: impl tonic::IntoRequest, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - > { - self.inner - .ready() - .await - .map_err(|e| { - tonic::Status::new( - tonic::Code::Unknown, - format!("Service was not ready: {}", e.into()), - ) - })?; - let codec = tonic::codec::ProstCodec::default(); - let path = http::uri::PathAndQuery::from_static( - "/v1.PolarisConfigGRPC/UpsertAndPublishConfigFile", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new("v1.PolarisConfigGRPC", "UpsertAndPublishConfigFile"), - ); - self.inner.unary(req, path, codec).await - } - /// 订阅配置变更 - pub async fn watch_config_files( - &mut self, - request: impl tonic::IntoRequest, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - > { - self.inner - .ready() - .await - .map_err(|e| { - tonic::Status::new( - tonic::Code::Unknown, - format!("Service was not ready: {}", e.into()), - ) - })?; - let codec = tonic::codec::ProstCodec::default(); - let path = http::uri::PathAndQuery::from_static( - "/v1.PolarisConfigGRPC/WatchConfigFiles", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert(GrpcMethod::new("v1.PolarisConfigGRPC", "WatchConfigFiles")); - self.inner.unary(req, path, codec).await - } - /// 拉取指定配置分组下的配置文件列表 - pub async fn get_config_file_metadata_list( - &mut self, - request: impl tonic::IntoRequest, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - > { - self.inner - .ready() - .await - .map_err(|e| { - tonic::Status::new( - tonic::Code::Unknown, - format!("Service was not ready: {}", e.into()), - ) - })?; - let codec = tonic::codec::ProstCodec::default(); - let path = http::uri::PathAndQuery::from_static( - "/v1.PolarisConfigGRPC/GetConfigFileMetadataList", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new("v1.PolarisConfigGRPC", "GetConfigFileMetadataList"), - ); - self.inner.unary(req, path, codec).await - } - /// 统一发现接口 - pub async fn discover( - &mut self, - request: impl tonic::IntoStreamingRequest< - Message = super::ConfigDiscoverRequest, - >, - ) -> std::result::Result< - tonic::Response>, - tonic::Status, - > { - self.inner - .ready() - .await - .map_err(|e| { - tonic::Status::new( - tonic::Code::Unknown, - format!("Service was not ready: {}", e.into()), - ) - })?; - let codec = tonic::codec::ProstCodec::default(); - let path = http::uri::PathAndQuery::from_static( - "/v1.PolarisConfigGRPC/Discover", - ); - let mut req = request.into_streaming_request(); - req.extensions_mut() - .insert(GrpcMethod::new("v1.PolarisConfigGRPC", "Discover")); - self.inner.streaming(req, path, codec).await - } } } /// Generated server implementations. -pub mod polaris_config_grpc_server { +pub mod polaris_grpc_server { #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] use tonic::codegen::*; - /// Generated trait containing gRPC methods that should be implemented for use with PolarisConfigGrpcServer. + /// Generated trait containing gRPC methods that should be implemented for use with PolarisGrpcServer. #[async_trait] - pub trait PolarisConfigGrpc: Send + Sync + 'static { - /// 拉取配置 - async fn get_config_file( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// 创建配置 - async fn create_config_file( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// 更新配置 - async fn update_config_file( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// 发布配置 - async fn publish_config_file( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// 发布配置 - async fn upsert_and_publish_config_file( + pub trait PolarisGrpc: Send + Sync + 'static { + /// 客户端上报 + async fn report_client( &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// 订阅配置变更 - async fn watch_config_files( + request: tonic::Request, + ) -> std::result::Result, tonic::Status>; + /// 被调方注册服务实例 + async fn register_instance( &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// 拉取指定配置分组下的配置文件列表 - async fn get_config_file_metadata_list( + request: tonic::Request, + ) -> std::result::Result, tonic::Status>; + /// 被调方反注册服务实例 + async fn deregister_instance( &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; + request: tonic::Request, + ) -> std::result::Result, tonic::Status>; /// Server streaming response type for the Discover method. type DiscoverStream: tonic::codegen::tokio_stream::Stream< - Item = std::result::Result, + Item = std::result::Result, > + Send + 'static; /// 统一发现接口 async fn discover( &self, - request: tonic::Request>, + request: tonic::Request>, ) -> std::result::Result, tonic::Status>; + /// 被调方上报心跳 + async fn heartbeat( + &self, + request: tonic::Request, + ) -> std::result::Result, tonic::Status>; } #[derive(Debug)] - pub struct PolarisConfigGrpcServer { + pub struct PolarisGrpcServer { inner: _Inner, accept_compression_encodings: EnabledCompressionEncodings, send_compression_encodings: EnabledCompressionEncodings, @@ -5870,7 +5385,7 @@ pub mod polaris_config_grpc_server { max_encoding_message_size: Option, } struct _Inner(Arc); - impl PolarisConfigGrpcServer { + impl PolarisGrpcServer { pub fn new(inner: T) -> Self { Self::from_arc(Arc::new(inner)) } @@ -5922,9 +5437,9 @@ pub mod polaris_config_grpc_server { self } } - impl tonic::codegen::Service> for PolarisConfigGrpcServer + impl tonic::codegen::Service> for PolarisGrpcServer where - T: PolarisConfigGrpc, + T: PolarisGrpc, B: Body + Send + 'static, B::Error: Into + Send + 'static, { @@ -5940,26 +5455,23 @@ pub mod polaris_config_grpc_server { fn call(&mut self, req: http::Request) -> Self::Future { let inner = self.inner.clone(); match req.uri().path() { - "/v1.PolarisConfigGRPC/GetConfigFile" => { + "/v1.PolarisGRPC/ReportClient" => { #[allow(non_camel_case_types)] - struct GetConfigFileSvc(pub Arc); - impl< - T: PolarisConfigGrpc, - > tonic::server::UnaryService - for GetConfigFileSvc { - type Response = super::ConfigClientResponse; + struct ReportClientSvc(pub Arc); + impl tonic::server::UnaryService + for ReportClientSvc { + type Response = super::Response; type Future = BoxFuture< tonic::Response, tonic::Status, >; fn call( &mut self, - request: tonic::Request, + request: tonic::Request, ) -> Self::Future { let inner = Arc::clone(&self.0); let fut = async move { - ::get_config_file(&inner, request) - .await + ::report_client(&inner, request).await }; Box::pin(fut) } @@ -5971,7 +5483,7 @@ pub mod polaris_config_grpc_server { let inner = self.inner.clone(); let fut = async move { let inner = inner.0; - let method = GetConfigFileSvc(inner); + let method = ReportClientSvc(inner); let codec = tonic::codec::ProstCodec::default(); let mut grpc = tonic::server::Grpc::new(codec) .apply_compression_config( @@ -5987,29 +5499,23 @@ pub mod polaris_config_grpc_server { }; Box::pin(fut) } - "/v1.PolarisConfigGRPC/CreateConfigFile" => { + "/v1.PolarisGRPC/RegisterInstance" => { #[allow(non_camel_case_types)] - struct CreateConfigFileSvc(pub Arc); - impl< - T: PolarisConfigGrpc, - > tonic::server::UnaryService - for CreateConfigFileSvc { - type Response = super::ConfigClientResponse; + struct RegisterInstanceSvc(pub Arc); + impl tonic::server::UnaryService + for RegisterInstanceSvc { + type Response = super::Response; type Future = BoxFuture< tonic::Response, tonic::Status, >; fn call( &mut self, - request: tonic::Request, + request: tonic::Request, ) -> Self::Future { let inner = Arc::clone(&self.0); let fut = async move { - ::create_config_file( - &inner, - request, - ) - .await + ::register_instance(&inner, request).await }; Box::pin(fut) } @@ -6021,7 +5527,7 @@ pub mod polaris_config_grpc_server { let inner = self.inner.clone(); let fut = async move { let inner = inner.0; - let method = CreateConfigFileSvc(inner); + let method = RegisterInstanceSvc(inner); let codec = tonic::codec::ProstCodec::default(); let mut grpc = tonic::server::Grpc::new(codec) .apply_compression_config( @@ -6037,28 +5543,23 @@ pub mod polaris_config_grpc_server { }; Box::pin(fut) } - "/v1.PolarisConfigGRPC/UpdateConfigFile" => { + "/v1.PolarisGRPC/DeregisterInstance" => { #[allow(non_camel_case_types)] - struct UpdateConfigFileSvc(pub Arc); - impl< - T: PolarisConfigGrpc, - > tonic::server::UnaryService - for UpdateConfigFileSvc { - type Response = super::ConfigClientResponse; + struct DeregisterInstanceSvc(pub Arc); + impl tonic::server::UnaryService + for DeregisterInstanceSvc { + type Response = super::Response; type Future = BoxFuture< tonic::Response, tonic::Status, >; fn call( &mut self, - request: tonic::Request, + request: tonic::Request, ) -> Self::Future { let inner = Arc::clone(&self.0); let fut = async move { - ::update_config_file( - &inner, - request, - ) + ::deregister_instance(&inner, request) .await }; Box::pin(fut) @@ -6071,7 +5572,7 @@ pub mod polaris_config_grpc_server { let inner = self.inner.clone(); let fut = async move { let inner = inner.0; - let method = UpdateConfigFileSvc(inner); + let method = DeregisterInstanceSvc(inner); let codec = tonic::codec::ProstCodec::default(); let mut grpc = tonic::server::Grpc::new(codec) .apply_compression_config( @@ -6087,29 +5588,28 @@ pub mod polaris_config_grpc_server { }; Box::pin(fut) } - "/v1.PolarisConfigGRPC/PublishConfigFile" => { + "/v1.PolarisGRPC/Discover" => { #[allow(non_camel_case_types)] - struct PublishConfigFileSvc(pub Arc); + struct DiscoverSvc(pub Arc); impl< - T: PolarisConfigGrpc, - > tonic::server::UnaryService - for PublishConfigFileSvc { - type Response = super::ConfigClientResponse; + T: PolarisGrpc, + > tonic::server::StreamingService + for DiscoverSvc { + type Response = super::DiscoverResponse; + type ResponseStream = T::DiscoverStream; type Future = BoxFuture< - tonic::Response, + tonic::Response, tonic::Status, >; fn call( &mut self, - request: tonic::Request, + request: tonic::Request< + tonic::Streaming, + >, ) -> Self::Future { let inner = Arc::clone(&self.0); let fut = async move { - ::publish_config_file( - &inner, - request, - ) - .await + ::discover(&inner, request).await }; Box::pin(fut) } @@ -6121,7 +5621,7 @@ pub mod polaris_config_grpc_server { let inner = self.inner.clone(); let fut = async move { let inner = inner.0; - let method = PublishConfigFileSvc(inner); + let method = DiscoverSvc(inner); let codec = tonic::codec::ProstCodec::default(); let mut grpc = tonic::server::Grpc::new(codec) .apply_compression_config( @@ -6132,36 +5632,28 @@ pub mod polaris_config_grpc_server { max_decoding_message_size, max_encoding_message_size, ); - let res = grpc.unary(method, req).await; + let res = grpc.streaming(method, req).await; Ok(res) }; Box::pin(fut) } - "/v1.PolarisConfigGRPC/UpsertAndPublishConfigFile" => { + "/v1.PolarisGRPC/Heartbeat" => { #[allow(non_camel_case_types)] - struct UpsertAndPublishConfigFileSvc( - pub Arc, - ); - impl< - T: PolarisConfigGrpc, - > tonic::server::UnaryService - for UpsertAndPublishConfigFileSvc { - type Response = super::ConfigClientResponse; + struct HeartbeatSvc(pub Arc); + impl tonic::server::UnaryService + for HeartbeatSvc { + type Response = super::Response; type Future = BoxFuture< tonic::Response, tonic::Status, >; fn call( &mut self, - request: tonic::Request, + request: tonic::Request, ) -> Self::Future { let inner = Arc::clone(&self.0); let fut = async move { - ::upsert_and_publish_config_file( - &inner, - request, - ) - .await + ::heartbeat(&inner, request).await }; Box::pin(fut) } @@ -6173,7 +5665,7 @@ pub mod polaris_config_grpc_server { let inner = self.inner.clone(); let fut = async move { let inner = inner.0; - let method = UpsertAndPublishConfigFileSvc(inner); + let method = HeartbeatSvc(inner); let codec = tonic::codec::ProstCodec::default(); let mut grpc = tonic::server::Grpc::new(codec) .apply_compression_config( @@ -6189,25 +5681,187 @@ pub mod polaris_config_grpc_server { }; Box::pin(fut) } - "/v1.PolarisConfigGRPC/WatchConfigFiles" => { + _ => { + Box::pin(async move { + Ok( + http::Response::builder() + .status(200) + .header("grpc-status", "12") + .header("content-type", "application/grpc") + .body(empty_body()) + .unwrap(), + ) + }) + } + } + } + } + impl Clone for PolarisGrpcServer { + fn clone(&self) -> Self { + let inner = self.inner.clone(); + Self { + inner, + accept_compression_encodings: self.accept_compression_encodings, + send_compression_encodings: self.send_compression_encodings, + max_decoding_message_size: self.max_decoding_message_size, + max_encoding_message_size: self.max_encoding_message_size, + } + } + } + impl Clone for _Inner { + fn clone(&self) -> Self { + Self(Arc::clone(&self.0)) + } + } + impl std::fmt::Debug for _Inner { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(f, "{:?}", self.0) + } + } + impl tonic::server::NamedService for PolarisGrpcServer { + const NAME: &'static str = "v1.PolarisGRPC"; + } +} +/// Generated server implementations. +pub mod polaris_heartbeat_grpc_server { + #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] + use tonic::codegen::*; + /// Generated trait containing gRPC methods that should be implemented for use with PolarisHeartbeatGrpcServer. + #[async_trait] + pub trait PolarisHeartbeatGrpc: Send + Sync + 'static { + /// Server streaming response type for the BatchHeartbeat method. + type BatchHeartbeatStream: tonic::codegen::tokio_stream::Stream< + Item = std::result::Result, + > + + Send + + 'static; + /// 被调方批量上报心跳 + async fn batch_heartbeat( + &self, + request: tonic::Request>, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// 批量获取心跳记录 + async fn batch_get_heartbeat( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// 批量删除心跳记录 + async fn batch_del_heartbeat( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + } + #[derive(Debug)] + pub struct PolarisHeartbeatGrpcServer { + inner: _Inner, + accept_compression_encodings: EnabledCompressionEncodings, + send_compression_encodings: EnabledCompressionEncodings, + max_decoding_message_size: Option, + max_encoding_message_size: Option, + } + struct _Inner(Arc); + impl PolarisHeartbeatGrpcServer { + pub fn new(inner: T) -> Self { + Self::from_arc(Arc::new(inner)) + } + pub fn from_arc(inner: Arc) -> Self { + let inner = _Inner(inner); + Self { + inner, + accept_compression_encodings: Default::default(), + send_compression_encodings: Default::default(), + max_decoding_message_size: None, + max_encoding_message_size: None, + } + } + pub fn with_interceptor( + inner: T, + interceptor: F, + ) -> InterceptedService + where + F: tonic::service::Interceptor, + { + InterceptedService::new(Self::new(inner), interceptor) + } + /// Enable decompressing requests with the given encoding. + #[must_use] + pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self { + self.accept_compression_encodings.enable(encoding); + self + } + /// Compress responses with the given encoding, if the client supports it. + #[must_use] + pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self { + self.send_compression_encodings.enable(encoding); + self + } + /// Limits the maximum size of a decoded message. + /// + /// Default: `4MB` + #[must_use] + pub fn max_decoding_message_size(mut self, limit: usize) -> Self { + self.max_decoding_message_size = Some(limit); + self + } + /// Limits the maximum size of an encoded message. + /// + /// Default: `usize::MAX` + #[must_use] + pub fn max_encoding_message_size(mut self, limit: usize) -> Self { + self.max_encoding_message_size = Some(limit); + self + } + } + impl tonic::codegen::Service> + for PolarisHeartbeatGrpcServer + where + T: PolarisHeartbeatGrpc, + B: Body + Send + 'static, + B::Error: Into + Send + 'static, + { + type Response = http::Response; + type Error = std::convert::Infallible; + type Future = BoxFuture; + fn poll_ready( + &mut self, + _cx: &mut Context<'_>, + ) -> Poll> { + Poll::Ready(Ok(())) + } + fn call(&mut self, req: http::Request) -> Self::Future { + let inner = self.inner.clone(); + match req.uri().path() { + "/v1.PolarisHeartbeatGRPC/BatchHeartbeat" => { #[allow(non_camel_case_types)] - struct WatchConfigFilesSvc(pub Arc); + struct BatchHeartbeatSvc(pub Arc); impl< - T: PolarisConfigGrpc, - > tonic::server::UnaryService - for WatchConfigFilesSvc { - type Response = super::ConfigClientResponse; + T: PolarisHeartbeatGrpc, + > tonic::server::StreamingService + for BatchHeartbeatSvc { + type Response = super::HeartbeatsResponse; + type ResponseStream = T::BatchHeartbeatStream; type Future = BoxFuture< - tonic::Response, + tonic::Response, tonic::Status, >; fn call( &mut self, - request: tonic::Request, + request: tonic::Request< + tonic::Streaming, + >, ) -> Self::Future { let inner = Arc::clone(&self.0); let fut = async move { - ::watch_config_files( + ::batch_heartbeat( &inner, request, ) @@ -6223,7 +5877,7 @@ pub mod polaris_config_grpc_server { let inner = self.inner.clone(); let fut = async move { let inner = inner.0; - let method = WatchConfigFilesSvc(inner); + let method = BatchHeartbeatSvc(inner); let codec = tonic::codec::ProstCodec::default(); let mut grpc = tonic::server::Grpc::new(codec) .apply_compression_config( @@ -6234,32 +5888,30 @@ pub mod polaris_config_grpc_server { max_decoding_message_size, max_encoding_message_size, ); - let res = grpc.unary(method, req).await; + let res = grpc.streaming(method, req).await; Ok(res) }; Box::pin(fut) } - "/v1.PolarisConfigGRPC/GetConfigFileMetadataList" => { + "/v1.PolarisHeartbeatGRPC/BatchGetHeartbeat" => { #[allow(non_camel_case_types)] - struct GetConfigFileMetadataListSvc( - pub Arc, - ); + struct BatchGetHeartbeatSvc(pub Arc); impl< - T: PolarisConfigGrpc, - > tonic::server::UnaryService - for GetConfigFileMetadataListSvc { - type Response = super::ConfigClientListResponse; + T: PolarisHeartbeatGrpc, + > tonic::server::UnaryService + for BatchGetHeartbeatSvc { + type Response = super::GetHeartbeatsResponse; type Future = BoxFuture< tonic::Response, tonic::Status, >; fn call( &mut self, - request: tonic::Request, + request: tonic::Request, ) -> Self::Future { let inner = Arc::clone(&self.0); let fut = async move { - ::get_config_file_metadata_list( + ::batch_get_heartbeat( &inner, request, ) @@ -6275,7 +5927,7 @@ pub mod polaris_config_grpc_server { let inner = self.inner.clone(); let fut = async move { let inner = inner.0; - let method = GetConfigFileMetadataListSvc(inner); + let method = BatchGetHeartbeatSvc(inner); let codec = tonic::codec::ProstCodec::default(); let mut grpc = tonic::server::Grpc::new(codec) .apply_compression_config( @@ -6291,28 +5943,29 @@ pub mod polaris_config_grpc_server { }; Box::pin(fut) } - "/v1.PolarisConfigGRPC/Discover" => { + "/v1.PolarisHeartbeatGRPC/BatchDelHeartbeat" => { #[allow(non_camel_case_types)] - struct DiscoverSvc(pub Arc); + struct BatchDelHeartbeatSvc(pub Arc); impl< - T: PolarisConfigGrpc, - > tonic::server::StreamingService - for DiscoverSvc { - type Response = super::ConfigDiscoverResponse; - type ResponseStream = T::DiscoverStream; + T: PolarisHeartbeatGrpc, + > tonic::server::UnaryService + for BatchDelHeartbeatSvc { + type Response = super::DelHeartbeatsResponse; type Future = BoxFuture< - tonic::Response, + tonic::Response, tonic::Status, >; fn call( &mut self, - request: tonic::Request< - tonic::Streaming, - >, + request: tonic::Request, ) -> Self::Future { let inner = Arc::clone(&self.0); let fut = async move { - ::discover(&inner, request).await + ::batch_del_heartbeat( + &inner, + request, + ) + .await }; Box::pin(fut) } @@ -6324,7 +5977,7 @@ pub mod polaris_config_grpc_server { let inner = self.inner.clone(); let fut = async move { let inner = inner.0; - let method = DiscoverSvc(inner); + let method = BatchDelHeartbeatSvc(inner); let codec = tonic::codec::ProstCodec::default(); let mut grpc = tonic::server::Grpc::new(codec) .apply_compression_config( @@ -6335,7 +5988,7 @@ pub mod polaris_config_grpc_server { max_decoding_message_size, max_encoding_message_size, ); - let res = grpc.streaming(method, req).await; + let res = grpc.unary(method, req).await; Ok(res) }; Box::pin(fut) @@ -6355,7 +6008,7 @@ pub mod polaris_config_grpc_server { } } } - impl Clone for PolarisConfigGrpcServer { + impl Clone for PolarisHeartbeatGrpcServer { fn clone(&self) -> Self { let inner = self.inner.clone(); Self { @@ -6367,7 +6020,7 @@ pub mod polaris_config_grpc_server { } } } - impl Clone for _Inner { + impl Clone for _Inner { fn clone(&self) -> Self { Self(Arc::clone(&self.0)) } @@ -6377,555 +6030,1149 @@ pub mod polaris_config_grpc_server { write!(f, "{:?}", self.0) } } - impl tonic::server::NamedService - for PolarisConfigGrpcServer { - const NAME: &'static str = "v1.PolarisConfigGRPC"; + impl tonic::server::NamedService + for PolarisHeartbeatGrpcServer { + const NAME: &'static str = "v1.PolarisHeartbeatGRPC"; } } -#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] -#[repr(i32)] -pub enum Code { - /// base module status codes - Unknown = 0, - ExecuteSuccess = 200000, - DataNoChange = 200001, - NoNeedUpdate = 200002, - BadRequest = 400000, - ParseException = 400001, - EmptyRequest = 400002, - BatchSizeOverLimit = 400003, - InvalidDiscoverResource = 400004, - InvalidRequestId = 400100, - InvalidUserName = 400101, - InvalidUserToken = 400102, - InvalidParameter = 400103, - EmptyQueryParameter = 400104, - InvalidQueryInsParameter = 400105, - InvalidNamespaceName = 400110, - InvalidNamespaceOwners = 400111, - InvalidNamespaceToken = 400112, - InvalidServiceName = 400120, - InvalidServiceOwners = 400121, - InvalidServiceToken = 400122, - InvalidServiceMetadata = 400123, - InvalidServicePorts = 400124, - InvalidServiceBusiness = 400125, - InvalidServiceDepartment = 400126, - InvalidServiceCmdb = 400127, - InvalidServiceComment = 400128, - InvalidServiceAliasComment = 400129, - InvalidInstanceId = 400130, - InvalidInstanceHost = 400131, - InvalidInstancePort = 400132, - InvalidServiceAlias = 400133, - InvalidNamespaceWithAlias = 400134, - InvalidServiceAliasOwners = 400135, - InvalidInstanceProtocol = 400136, - InvalidInstanceVersion = 400137, - InvalidInstanceLogicSet = 400138, - InvalidInstanceIsolate = 400139, - HealthCheckNotOpen = 400140, - HeartbeatOnDisabledIns = 400141, - HeartbeatExceedLimit = 400142, - HeartbeatTypeNotFound = 400143, - InvalidMetadata = 400150, - InvalidRateLimitId = 400151, - InvalidRateLimitLabels = 400152, - InvalidRateLimitAmounts = 400153, - InvalidRateLimitName = 400154, - InvalidCircuitBreakerId = 400160, - InvalidCircuitBreakerVersion = 400161, - InvalidCircuitBreakerName = 400162, - InvalidCircuitBreakerNamespace = 400163, - InvalidCircuitBreakerOwners = 400164, - InvalidCircuitBreakerToken = 400165, - InvalidCircuitBreakerBusiness = 400166, - InvalidCircuitBreakerDepartment = 400167, - InvalidCircuitBreakerComment = 400168, - CircuitBreakerRuleExisted = 400169, - InvalidRoutingId = 400700, - InvalidRoutingPolicy = 400701, - InvalidRoutingName = 400702, - InvalidRoutingPriority = 400703, - InvalidFaultDetectId = 400900, - InvalidFaultDetectName = 400901, - InvalidFaultDetectNamespace = 400902, - FaultDetectRuleExisted = 400903, - InvalidMatchRule = 400904, - /// network relative codes - ServicesExistedMesh = 400170, - ResourcesExistedMesh = 400171, - InvalidMeshParameter = 400172, - /// platform relative codes - InvalidPlatformId = 400180, - InvalidPlatformName = 400181, - InvalidPlatformDomain = 400182, - InvalidPlatformQps = 400183, - InvalidPlatformToken = 400184, - InvalidPlatformOwner = 400185, - InvalidPlatformDepartment = 400186, - InvalidPlatformComment = 400187, - NotFoundPlatform = 400188, - /// flux relative codes - InvalidFluxRateLimitId = 400190, - InvalidFluxRateLimitQps = 400191, - InvalidFluxRateLimitSetKey = 400192, - ExistedResource = 400201, - NotFoundResource = 400202, - NamespaceExistedServices = 400203, - ServiceExistedInstances = 400204, - ServiceExistedRoutings = 400205, - ServiceExistedRateLimits = 400206, - ExistReleasedConfig = 400207, - SameInstanceRequest = 400208, - ServiceExistedCircuitBreakers = 400209, - ServiceExistedAlias = 400210, - NamespaceExistedMeshResources = 400211, - NamespaceExistedCircuitBreakers = 400212, - ServiceSubscribedByMeshes = 400213, - ServiceExistedFluxRateLimits = 400214, - NamespaceExistedConfigGroups = 400219, - NotFoundService = 400301, - NotFoundRouting = 400302, - NotFoundInstance = 400303, - NotFoundServiceAlias = 400304, - NotFoundNamespace = 400305, - NotFoundSourceService = 400306, - NotFoundRateLimit = 400307, - NotFoundCircuitBreaker = 400308, - NotFoundMasterConfig = 400309, - NotFoundTagConfig = 400310, - NotFoundTagConfigOrService = 400311, - ClientApiNotOpen = 400401, - NotAllowBusinessService = 400402, - NotAllowAliasUpdate = 400501, - NotAllowAliasCreateInstance = 400502, - NotAllowAliasCreateRouting = 400503, - NotAllowCreateAliasForAlias = 400504, - NotAllowAliasCreateRateLimit = 400505, - NotAllowAliasBindRule = 400506, - NotAllowDifferentNamespaceBindRule = 400507, - Unauthorized = 401000, - NotAllowedAccess = 401001, - CmdbNotFindHost = 404001, - DataConflict = 409000, - InstanceTooManyRequests = 429001, - IpRateLimit = 429002, - ApiRateLimit = 403003, - ExecuteException = 500000, - StoreLayerException = 500001, - CmdbPluginException = 500002, - ParseRoutingException = 500004, - ParseRateLimitException = 500005, - ParseCircuitBreakerException = 500006, - HeartbeatException = 500007, - InstanceRegisTimeout = 500008, - /// config center status codes - InvalidConfigFileGroupName = 400801, - InvalidConfigFileName = 400802, - InvalidConfigFileContentLength = 400803, - InvalidConfigFileFormat = 400804, - InvalidConfigFileTags = 400805, - InvalidWatchConfigFileFormat = 400806, - NotFoundResourceConfigFile = 400807, - InvalidConfigFileTemplateName = 400808, - EncryptConfigFileException = 400809, - DecryptConfigFileException = 400810, - /// auth codes - InvalidUserOwners = 400410, - InvalidUserId = 400411, - InvalidUserPassword = 400412, - InvalidUserMobile = 400413, - InvalidUserEmail = 400414, - InvalidUserGroupOwners = 400420, - InvalidUserGroupId = 400421, - InvalidAuthStrategyOwners = 400430, - InvalidAuthStrategyName = 400431, - InvalidAuthStrategyId = 400432, - InvalidPrincipalType = 400440, - UserExisted = 400215, - UserGroupExisted = 400216, - AuthStrategyRuleExisted = 400217, - SubAccountExisted = 400218, - NotFoundUser = 400312, - NotFoundOwnerUser = 400313, - NotFoundUserGroup = 400314, - NotFoundAuthStrategyRule = 400315, - NotAllowModifyDefaultStrategyPrincipal = 400508, - NotAllowModifyOwnerDefaultStrategy = 400509, - EmptyAutToken = 401002, - TokenDisabled = 401003, - TokenNotExisted = 401004, - AuthTokenForbidden = 403001, - OperationRoleForbidden = 403002, -} -impl Code { - /// String value of the enum field names used in the ProtoBuf definition. - /// - /// The values are not transformed in any way and thus are considered stable - /// (if the ProtoBuf definition does not change) and safe for programmatic use. - pub fn as_str_name(&self) -> &'static str { - match self { - Code::Unknown => "Unknown", - Code::ExecuteSuccess => "ExecuteSuccess", - Code::DataNoChange => "DataNoChange", - Code::NoNeedUpdate => "NoNeedUpdate", - Code::BadRequest => "BadRequest", - Code::ParseException => "ParseException", - Code::EmptyRequest => "EmptyRequest", - Code::BatchSizeOverLimit => "BatchSizeOverLimit", - Code::InvalidDiscoverResource => "InvalidDiscoverResource", - Code::InvalidRequestId => "InvalidRequestID", - Code::InvalidUserName => "InvalidUserName", - Code::InvalidUserToken => "InvalidUserToken", - Code::InvalidParameter => "InvalidParameter", - Code::EmptyQueryParameter => "EmptyQueryParameter", - Code::InvalidQueryInsParameter => "InvalidQueryInsParameter", - Code::InvalidNamespaceName => "InvalidNamespaceName", - Code::InvalidNamespaceOwners => "InvalidNamespaceOwners", - Code::InvalidNamespaceToken => "InvalidNamespaceToken", - Code::InvalidServiceName => "InvalidServiceName", - Code::InvalidServiceOwners => "InvalidServiceOwners", - Code::InvalidServiceToken => "InvalidServiceToken", - Code::InvalidServiceMetadata => "InvalidServiceMetadata", - Code::InvalidServicePorts => "InvalidServicePorts", - Code::InvalidServiceBusiness => "InvalidServiceBusiness", - Code::InvalidServiceDepartment => "InvalidServiceDepartment", - Code::InvalidServiceCmdb => "InvalidServiceCMDB", - Code::InvalidServiceComment => "InvalidServiceComment", - Code::InvalidServiceAliasComment => "InvalidServiceAliasComment", - Code::InvalidInstanceId => "InvalidInstanceID", - Code::InvalidInstanceHost => "InvalidInstanceHost", - Code::InvalidInstancePort => "InvalidInstancePort", - Code::InvalidServiceAlias => "InvalidServiceAlias", - Code::InvalidNamespaceWithAlias => "InvalidNamespaceWithAlias", - Code::InvalidServiceAliasOwners => "InvalidServiceAliasOwners", - Code::InvalidInstanceProtocol => "InvalidInstanceProtocol", - Code::InvalidInstanceVersion => "InvalidInstanceVersion", - Code::InvalidInstanceLogicSet => "InvalidInstanceLogicSet", - Code::InvalidInstanceIsolate => "InvalidInstanceIsolate", - Code::HealthCheckNotOpen => "HealthCheckNotOpen", - Code::HeartbeatOnDisabledIns => "HeartbeatOnDisabledIns", - Code::HeartbeatExceedLimit => "HeartbeatExceedLimit", - Code::HeartbeatTypeNotFound => "HeartbeatTypeNotFound", - Code::InvalidMetadata => "InvalidMetadata", - Code::InvalidRateLimitId => "InvalidRateLimitID", - Code::InvalidRateLimitLabels => "InvalidRateLimitLabels", - Code::InvalidRateLimitAmounts => "InvalidRateLimitAmounts", - Code::InvalidRateLimitName => "InvalidRateLimitName", - Code::InvalidCircuitBreakerId => "InvalidCircuitBreakerID", - Code::InvalidCircuitBreakerVersion => "InvalidCircuitBreakerVersion", - Code::InvalidCircuitBreakerName => "InvalidCircuitBreakerName", - Code::InvalidCircuitBreakerNamespace => "InvalidCircuitBreakerNamespace", - Code::InvalidCircuitBreakerOwners => "InvalidCircuitBreakerOwners", - Code::InvalidCircuitBreakerToken => "InvalidCircuitBreakerToken", - Code::InvalidCircuitBreakerBusiness => "InvalidCircuitBreakerBusiness", - Code::InvalidCircuitBreakerDepartment => "InvalidCircuitBreakerDepartment", - Code::InvalidCircuitBreakerComment => "InvalidCircuitBreakerComment", - Code::CircuitBreakerRuleExisted => "CircuitBreakerRuleExisted", - Code::InvalidRoutingId => "InvalidRoutingID", - Code::InvalidRoutingPolicy => "InvalidRoutingPolicy", - Code::InvalidRoutingName => "InvalidRoutingName", - Code::InvalidRoutingPriority => "InvalidRoutingPriority", - Code::InvalidFaultDetectId => "InvalidFaultDetectID", - Code::InvalidFaultDetectName => "InvalidFaultDetectName", - Code::InvalidFaultDetectNamespace => "InvalidFaultDetectNamespace", - Code::FaultDetectRuleExisted => "FaultDetectRuleExisted", - Code::InvalidMatchRule => "InvalidMatchRule", - Code::ServicesExistedMesh => "ServicesExistedMesh", - Code::ResourcesExistedMesh => "ResourcesExistedMesh", - Code::InvalidMeshParameter => "InvalidMeshParameter", - Code::InvalidPlatformId => "InvalidPlatformID", - Code::InvalidPlatformName => "InvalidPlatformName", - Code::InvalidPlatformDomain => "InvalidPlatformDomain", - Code::InvalidPlatformQps => "InvalidPlatformQPS", - Code::InvalidPlatformToken => "InvalidPlatformToken", - Code::InvalidPlatformOwner => "InvalidPlatformOwner", - Code::InvalidPlatformDepartment => "InvalidPlatformDepartment", - Code::InvalidPlatformComment => "InvalidPlatformComment", - Code::NotFoundPlatform => "NotFoundPlatform", - Code::InvalidFluxRateLimitId => "InvalidFluxRateLimitId", - Code::InvalidFluxRateLimitQps => "InvalidFluxRateLimitQps", - Code::InvalidFluxRateLimitSetKey => "InvalidFluxRateLimitSetKey", - Code::ExistedResource => "ExistedResource", - Code::NotFoundResource => "NotFoundResource", - Code::NamespaceExistedServices => "NamespaceExistedServices", - Code::ServiceExistedInstances => "ServiceExistedInstances", - Code::ServiceExistedRoutings => "ServiceExistedRoutings", - Code::ServiceExistedRateLimits => "ServiceExistedRateLimits", - Code::ExistReleasedConfig => "ExistReleasedConfig", - Code::SameInstanceRequest => "SameInstanceRequest", - Code::ServiceExistedCircuitBreakers => "ServiceExistedCircuitBreakers", - Code::ServiceExistedAlias => "ServiceExistedAlias", - Code::NamespaceExistedMeshResources => "NamespaceExistedMeshResources", - Code::NamespaceExistedCircuitBreakers => "NamespaceExistedCircuitBreakers", - Code::ServiceSubscribedByMeshes => "ServiceSubscribedByMeshes", - Code::ServiceExistedFluxRateLimits => "ServiceExistedFluxRateLimits", - Code::NamespaceExistedConfigGroups => "NamespaceExistedConfigGroups", - Code::NotFoundService => "NotFoundService", - Code::NotFoundRouting => "NotFoundRouting", - Code::NotFoundInstance => "NotFoundInstance", - Code::NotFoundServiceAlias => "NotFoundServiceAlias", - Code::NotFoundNamespace => "NotFoundNamespace", - Code::NotFoundSourceService => "NotFoundSourceService", - Code::NotFoundRateLimit => "NotFoundRateLimit", - Code::NotFoundCircuitBreaker => "NotFoundCircuitBreaker", - Code::NotFoundMasterConfig => "NotFoundMasterConfig", - Code::NotFoundTagConfig => "NotFoundTagConfig", - Code::NotFoundTagConfigOrService => "NotFoundTagConfigOrService", - Code::ClientApiNotOpen => "ClientAPINotOpen", - Code::NotAllowBusinessService => "NotAllowBusinessService", - Code::NotAllowAliasUpdate => "NotAllowAliasUpdate", - Code::NotAllowAliasCreateInstance => "NotAllowAliasCreateInstance", - Code::NotAllowAliasCreateRouting => "NotAllowAliasCreateRouting", - Code::NotAllowCreateAliasForAlias => "NotAllowCreateAliasForAlias", - Code::NotAllowAliasCreateRateLimit => "NotAllowAliasCreateRateLimit", - Code::NotAllowAliasBindRule => "NotAllowAliasBindRule", - Code::NotAllowDifferentNamespaceBindRule => { - "NotAllowDifferentNamespaceBindRule" - } - Code::Unauthorized => "Unauthorized", - Code::NotAllowedAccess => "NotAllowedAccess", - Code::CmdbNotFindHost => "CMDBNotFindHost", - Code::DataConflict => "DataConflict", - Code::InstanceTooManyRequests => "InstanceTooManyRequests", - Code::IpRateLimit => "IPRateLimit", - Code::ApiRateLimit => "APIRateLimit", - Code::ExecuteException => "ExecuteException", - Code::StoreLayerException => "StoreLayerException", - Code::CmdbPluginException => "CMDBPluginException", - Code::ParseRoutingException => "ParseRoutingException", - Code::ParseRateLimitException => "ParseRateLimitException", - Code::ParseCircuitBreakerException => "ParseCircuitBreakerException", - Code::HeartbeatException => "HeartbeatException", - Code::InstanceRegisTimeout => "InstanceRegisTimeout", - Code::InvalidConfigFileGroupName => "InvalidConfigFileGroupName", - Code::InvalidConfigFileName => "InvalidConfigFileName", - Code::InvalidConfigFileContentLength => "InvalidConfigFileContentLength", - Code::InvalidConfigFileFormat => "InvalidConfigFileFormat", - Code::InvalidConfigFileTags => "InvalidConfigFileTags", - Code::InvalidWatchConfigFileFormat => "InvalidWatchConfigFileFormat", - Code::NotFoundResourceConfigFile => "NotFoundResourceConfigFile", - Code::InvalidConfigFileTemplateName => "InvalidConfigFileTemplateName", - Code::EncryptConfigFileException => "EncryptConfigFileException", - Code::DecryptConfigFileException => "DecryptConfigFileException", - Code::InvalidUserOwners => "InvalidUserOwners", - Code::InvalidUserId => "InvalidUserID", - Code::InvalidUserPassword => "InvalidUserPassword", - Code::InvalidUserMobile => "InvalidUserMobile", - Code::InvalidUserEmail => "InvalidUserEmail", - Code::InvalidUserGroupOwners => "InvalidUserGroupOwners", - Code::InvalidUserGroupId => "InvalidUserGroupID", - Code::InvalidAuthStrategyOwners => "InvalidAuthStrategyOwners", - Code::InvalidAuthStrategyName => "InvalidAuthStrategyName", - Code::InvalidAuthStrategyId => "InvalidAuthStrategyID", - Code::InvalidPrincipalType => "InvalidPrincipalType", - Code::UserExisted => "UserExisted", - Code::UserGroupExisted => "UserGroupExisted", - Code::AuthStrategyRuleExisted => "AuthStrategyRuleExisted", - Code::SubAccountExisted => "SubAccountExisted", - Code::NotFoundUser => "NotFoundUser", - Code::NotFoundOwnerUser => "NotFoundOwnerUser", - Code::NotFoundUserGroup => "NotFoundUserGroup", - Code::NotFoundAuthStrategyRule => "NotFoundAuthStrategyRule", - Code::NotAllowModifyDefaultStrategyPrincipal => { - "NotAllowModifyDefaultStrategyPrincipal" +/// Generated server implementations. +pub mod polaris_service_contract_grpc_server { + #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] + use tonic::codegen::*; + /// Generated trait containing gRPC methods that should be implemented for use with PolarisServiceContractGrpcServer. + #[async_trait] + pub trait PolarisServiceContractGrpc: Send + Sync + 'static { + /// 上报服务契约 + async fn report_service_contract( + &self, + request: tonic::Request, + ) -> std::result::Result, tonic::Status>; + /// 查询服务契约 + async fn get_service_contract( + &self, + request: tonic::Request, + ) -> std::result::Result, tonic::Status>; + } + #[derive(Debug)] + pub struct PolarisServiceContractGrpcServer { + inner: _Inner, + accept_compression_encodings: EnabledCompressionEncodings, + send_compression_encodings: EnabledCompressionEncodings, + max_decoding_message_size: Option, + max_encoding_message_size: Option, + } + struct _Inner(Arc); + impl PolarisServiceContractGrpcServer { + pub fn new(inner: T) -> Self { + Self::from_arc(Arc::new(inner)) + } + pub fn from_arc(inner: Arc) -> Self { + let inner = _Inner(inner); + Self { + inner, + accept_compression_encodings: Default::default(), + send_compression_encodings: Default::default(), + max_decoding_message_size: None, + max_encoding_message_size: None, } - Code::NotAllowModifyOwnerDefaultStrategy => { - "NotAllowModifyOwnerDefaultStrategy" + } + pub fn with_interceptor( + inner: T, + interceptor: F, + ) -> InterceptedService + where + F: tonic::service::Interceptor, + { + InterceptedService::new(Self::new(inner), interceptor) + } + /// Enable decompressing requests with the given encoding. + #[must_use] + pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self { + self.accept_compression_encodings.enable(encoding); + self + } + /// Compress responses with the given encoding, if the client supports it. + #[must_use] + pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self { + self.send_compression_encodings.enable(encoding); + self + } + /// Limits the maximum size of a decoded message. + /// + /// Default: `4MB` + #[must_use] + pub fn max_decoding_message_size(mut self, limit: usize) -> Self { + self.max_decoding_message_size = Some(limit); + self + } + /// Limits the maximum size of an encoded message. + /// + /// Default: `usize::MAX` + #[must_use] + pub fn max_encoding_message_size(mut self, limit: usize) -> Self { + self.max_encoding_message_size = Some(limit); + self + } + } + impl tonic::codegen::Service> + for PolarisServiceContractGrpcServer + where + T: PolarisServiceContractGrpc, + B: Body + Send + 'static, + B::Error: Into + Send + 'static, + { + type Response = http::Response; + type Error = std::convert::Infallible; + type Future = BoxFuture; + fn poll_ready( + &mut self, + _cx: &mut Context<'_>, + ) -> Poll> { + Poll::Ready(Ok(())) + } + fn call(&mut self, req: http::Request) -> Self::Future { + let inner = self.inner.clone(); + match req.uri().path() { + "/v1.PolarisServiceContractGRPC/ReportServiceContract" => { + #[allow(non_camel_case_types)] + struct ReportServiceContractSvc( + pub Arc, + ); + impl< + T: PolarisServiceContractGrpc, + > tonic::server::UnaryService + for ReportServiceContractSvc { + type Response = super::Response; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::report_service_contract( + &inner, + request, + ) + .await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = ReportServiceContractSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/v1.PolarisServiceContractGRPC/GetServiceContract" => { + #[allow(non_camel_case_types)] + struct GetServiceContractSvc( + pub Arc, + ); + impl< + T: PolarisServiceContractGrpc, + > tonic::server::UnaryService + for GetServiceContractSvc { + type Response = super::Response; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::get_service_contract( + &inner, + request, + ) + .await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = GetServiceContractSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + _ => { + Box::pin(async move { + Ok( + http::Response::builder() + .status(200) + .header("grpc-status", "12") + .header("content-type", "application/grpc") + .body(empty_body()) + .unwrap(), + ) + }) + } + } + } + } + impl Clone for PolarisServiceContractGrpcServer { + fn clone(&self) -> Self { + let inner = self.inner.clone(); + Self { + inner, + accept_compression_encodings: self.accept_compression_encodings, + send_compression_encodings: self.send_compression_encodings, + max_decoding_message_size: self.max_decoding_message_size, + max_encoding_message_size: self.max_encoding_message_size, + } + } + } + impl Clone for _Inner { + fn clone(&self) -> Self { + Self(Arc::clone(&self.0)) + } + } + impl std::fmt::Debug for _Inner { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(f, "{:?}", self.0) + } + } + impl tonic::server::NamedService + for PolarisServiceContractGrpcServer { + const NAME: &'static str = "v1.PolarisServiceContractGRPC"; + } +} +/// Generated client implementations. +pub mod polaris_config_grpc_client { + #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] + use tonic::codegen::*; + use tonic::codegen::http::Uri; + #[derive(Debug, Clone)] + pub struct PolarisConfigGrpcClient { + inner: tonic::client::Grpc, + } + impl PolarisConfigGrpcClient { + /// Attempt to create a new client by connecting to a given endpoint. + pub async fn connect(dst: D) -> Result + where + D: TryInto, + D::Error: Into, + { + let conn = tonic::transport::Endpoint::new(dst)?.connect().await?; + Ok(Self::new(conn)) + } + } + impl PolarisConfigGrpcClient + where + T: tonic::client::GrpcService, + T::Error: Into, + T::ResponseBody: Body + Send + 'static, + ::Error: Into + Send, + { + pub fn new(inner: T) -> Self { + let inner = tonic::client::Grpc::new(inner); + Self { inner } + } + pub fn with_origin(inner: T, origin: Uri) -> Self { + let inner = tonic::client::Grpc::with_origin(inner, origin); + Self { inner } + } + pub fn with_interceptor( + inner: T, + interceptor: F, + ) -> PolarisConfigGrpcClient> + where + F: tonic::service::Interceptor, + T::ResponseBody: Default, + T: tonic::codegen::Service< + http::Request, + Response = http::Response< + >::ResponseBody, + >, + >, + , + >>::Error: Into + Send + Sync, + { + PolarisConfigGrpcClient::new(InterceptedService::new(inner, interceptor)) + } + /// Compress requests with the given encoding. + /// + /// This requires the server to support it otherwise it might respond with an + /// error. + #[must_use] + pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self { + self.inner = self.inner.send_compressed(encoding); + self + } + /// Enable decompressing responses. + #[must_use] + pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self { + self.inner = self.inner.accept_compressed(encoding); + self + } + /// Limits the maximum size of a decoded message. + /// + /// Default: `4MB` + #[must_use] + pub fn max_decoding_message_size(mut self, limit: usize) -> Self { + self.inner = self.inner.max_decoding_message_size(limit); + self + } + /// Limits the maximum size of an encoded message. + /// + /// Default: `usize::MAX` + #[must_use] + pub fn max_encoding_message_size(mut self, limit: usize) -> Self { + self.inner = self.inner.max_encoding_message_size(limit); + self + } + /// 拉取配置 + pub async fn get_config_file( + &mut self, + request: impl tonic::IntoRequest, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + > { + self.inner + .ready() + .await + .map_err(|e| { + tonic::Status::new( + tonic::Code::Unknown, + format!("Service was not ready: {}", e.into()), + ) + })?; + let codec = tonic::codec::ProstCodec::default(); + let path = http::uri::PathAndQuery::from_static( + "/v1.PolarisConfigGRPC/GetConfigFile", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert(GrpcMethod::new("v1.PolarisConfigGRPC", "GetConfigFile")); + self.inner.unary(req, path, codec).await + } + /// 创建配置 + pub async fn create_config_file( + &mut self, + request: impl tonic::IntoRequest, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + > { + self.inner + .ready() + .await + .map_err(|e| { + tonic::Status::new( + tonic::Code::Unknown, + format!("Service was not ready: {}", e.into()), + ) + })?; + let codec = tonic::codec::ProstCodec::default(); + let path = http::uri::PathAndQuery::from_static( + "/v1.PolarisConfigGRPC/CreateConfigFile", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert(GrpcMethod::new("v1.PolarisConfigGRPC", "CreateConfigFile")); + self.inner.unary(req, path, codec).await + } + /// 更新配置 + pub async fn update_config_file( + &mut self, + request: impl tonic::IntoRequest, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + > { + self.inner + .ready() + .await + .map_err(|e| { + tonic::Status::new( + tonic::Code::Unknown, + format!("Service was not ready: {}", e.into()), + ) + })?; + let codec = tonic::codec::ProstCodec::default(); + let path = http::uri::PathAndQuery::from_static( + "/v1.PolarisConfigGRPC/UpdateConfigFile", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert(GrpcMethod::new("v1.PolarisConfigGRPC", "UpdateConfigFile")); + self.inner.unary(req, path, codec).await + } + /// 发布配置 + pub async fn publish_config_file( + &mut self, + request: impl tonic::IntoRequest, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + > { + self.inner + .ready() + .await + .map_err(|e| { + tonic::Status::new( + tonic::Code::Unknown, + format!("Service was not ready: {}", e.into()), + ) + })?; + let codec = tonic::codec::ProstCodec::default(); + let path = http::uri::PathAndQuery::from_static( + "/v1.PolarisConfigGRPC/PublishConfigFile", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert(GrpcMethod::new("v1.PolarisConfigGRPC", "PublishConfigFile")); + self.inner.unary(req, path, codec).await + } + /// 发布配置 + pub async fn upsert_and_publish_config_file( + &mut self, + request: impl tonic::IntoRequest, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + > { + self.inner + .ready() + .await + .map_err(|e| { + tonic::Status::new( + tonic::Code::Unknown, + format!("Service was not ready: {}", e.into()), + ) + })?; + let codec = tonic::codec::ProstCodec::default(); + let path = http::uri::PathAndQuery::from_static( + "/v1.PolarisConfigGRPC/UpsertAndPublishConfigFile", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert( + GrpcMethod::new("v1.PolarisConfigGRPC", "UpsertAndPublishConfigFile"), + ); + self.inner.unary(req, path, codec).await + } + /// 订阅配置变更 + pub async fn watch_config_files( + &mut self, + request: impl tonic::IntoRequest, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + > { + self.inner + .ready() + .await + .map_err(|e| { + tonic::Status::new( + tonic::Code::Unknown, + format!("Service was not ready: {}", e.into()), + ) + })?; + let codec = tonic::codec::ProstCodec::default(); + let path = http::uri::PathAndQuery::from_static( + "/v1.PolarisConfigGRPC/WatchConfigFiles", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert(GrpcMethod::new("v1.PolarisConfigGRPC", "WatchConfigFiles")); + self.inner.unary(req, path, codec).await + } + /// 拉取指定配置分组下的配置文件列表 + pub async fn get_config_file_metadata_list( + &mut self, + request: impl tonic::IntoRequest, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + > { + self.inner + .ready() + .await + .map_err(|e| { + tonic::Status::new( + tonic::Code::Unknown, + format!("Service was not ready: {}", e.into()), + ) + })?; + let codec = tonic::codec::ProstCodec::default(); + let path = http::uri::PathAndQuery::from_static( + "/v1.PolarisConfigGRPC/GetConfigFileMetadataList", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert( + GrpcMethod::new("v1.PolarisConfigGRPC", "GetConfigFileMetadataList"), + ); + self.inner.unary(req, path, codec).await + } + /// 统一发现接口 + pub async fn discover( + &mut self, + request: impl tonic::IntoStreamingRequest< + Message = super::ConfigDiscoverRequest, + >, + ) -> std::result::Result< + tonic::Response>, + tonic::Status, + > { + self.inner + .ready() + .await + .map_err(|e| { + tonic::Status::new( + tonic::Code::Unknown, + format!("Service was not ready: {}", e.into()), + ) + })?; + let codec = tonic::codec::ProstCodec::default(); + let path = http::uri::PathAndQuery::from_static( + "/v1.PolarisConfigGRPC/Discover", + ); + let mut req = request.into_streaming_request(); + req.extensions_mut() + .insert(GrpcMethod::new("v1.PolarisConfigGRPC", "Discover")); + self.inner.streaming(req, path, codec).await + } + } +} +/// Generated server implementations. +pub mod polaris_config_grpc_server { + #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] + use tonic::codegen::*; + /// Generated trait containing gRPC methods that should be implemented for use with PolarisConfigGrpcServer. + #[async_trait] + pub trait PolarisConfigGrpc: Send + Sync + 'static { + /// 拉取配置 + async fn get_config_file( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// 创建配置 + async fn create_config_file( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// 更新配置 + async fn update_config_file( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// 发布配置 + async fn publish_config_file( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// 发布配置 + async fn upsert_and_publish_config_file( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// 订阅配置变更 + async fn watch_config_files( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// 拉取指定配置分组下的配置文件列表 + async fn get_config_file_metadata_list( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// Server streaming response type for the Discover method. + type DiscoverStream: tonic::codegen::tokio_stream::Stream< + Item = std::result::Result, + > + + Send + + 'static; + /// 统一发现接口 + async fn discover( + &self, + request: tonic::Request>, + ) -> std::result::Result, tonic::Status>; + } + #[derive(Debug)] + pub struct PolarisConfigGrpcServer { + inner: _Inner, + accept_compression_encodings: EnabledCompressionEncodings, + send_compression_encodings: EnabledCompressionEncodings, + max_decoding_message_size: Option, + max_encoding_message_size: Option, + } + struct _Inner(Arc); + impl PolarisConfigGrpcServer { + pub fn new(inner: T) -> Self { + Self::from_arc(Arc::new(inner)) + } + pub fn from_arc(inner: Arc) -> Self { + let inner = _Inner(inner); + Self { + inner, + accept_compression_encodings: Default::default(), + send_compression_encodings: Default::default(), + max_decoding_message_size: None, + max_encoding_message_size: None, + } + } + pub fn with_interceptor( + inner: T, + interceptor: F, + ) -> InterceptedService + where + F: tonic::service::Interceptor, + { + InterceptedService::new(Self::new(inner), interceptor) + } + /// Enable decompressing requests with the given encoding. + #[must_use] + pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self { + self.accept_compression_encodings.enable(encoding); + self + } + /// Compress responses with the given encoding, if the client supports it. + #[must_use] + pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self { + self.send_compression_encodings.enable(encoding); + self + } + /// Limits the maximum size of a decoded message. + /// + /// Default: `4MB` + #[must_use] + pub fn max_decoding_message_size(mut self, limit: usize) -> Self { + self.max_decoding_message_size = Some(limit); + self + } + /// Limits the maximum size of an encoded message. + /// + /// Default: `usize::MAX` + #[must_use] + pub fn max_encoding_message_size(mut self, limit: usize) -> Self { + self.max_encoding_message_size = Some(limit); + self + } + } + impl tonic::codegen::Service> for PolarisConfigGrpcServer + where + T: PolarisConfigGrpc, + B: Body + Send + 'static, + B::Error: Into + Send + 'static, + { + type Response = http::Response; + type Error = std::convert::Infallible; + type Future = BoxFuture; + fn poll_ready( + &mut self, + _cx: &mut Context<'_>, + ) -> Poll> { + Poll::Ready(Ok(())) + } + fn call(&mut self, req: http::Request) -> Self::Future { + let inner = self.inner.clone(); + match req.uri().path() { + "/v1.PolarisConfigGRPC/GetConfigFile" => { + #[allow(non_camel_case_types)] + struct GetConfigFileSvc(pub Arc); + impl< + T: PolarisConfigGrpc, + > tonic::server::UnaryService + for GetConfigFileSvc { + type Response = super::ConfigClientResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::get_config_file(&inner, request) + .await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = GetConfigFileSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/v1.PolarisConfigGRPC/CreateConfigFile" => { + #[allow(non_camel_case_types)] + struct CreateConfigFileSvc(pub Arc); + impl< + T: PolarisConfigGrpc, + > tonic::server::UnaryService + for CreateConfigFileSvc { + type Response = super::ConfigClientResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::create_config_file( + &inner, + request, + ) + .await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = CreateConfigFileSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/v1.PolarisConfigGRPC/UpdateConfigFile" => { + #[allow(non_camel_case_types)] + struct UpdateConfigFileSvc(pub Arc); + impl< + T: PolarisConfigGrpc, + > tonic::server::UnaryService + for UpdateConfigFileSvc { + type Response = super::ConfigClientResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::update_config_file( + &inner, + request, + ) + .await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = UpdateConfigFileSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/v1.PolarisConfigGRPC/PublishConfigFile" => { + #[allow(non_camel_case_types)] + struct PublishConfigFileSvc(pub Arc); + impl< + T: PolarisConfigGrpc, + > tonic::server::UnaryService + for PublishConfigFileSvc { + type Response = super::ConfigClientResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::publish_config_file( + &inner, + request, + ) + .await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = PublishConfigFileSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/v1.PolarisConfigGRPC/UpsertAndPublishConfigFile" => { + #[allow(non_camel_case_types)] + struct UpsertAndPublishConfigFileSvc( + pub Arc, + ); + impl< + T: PolarisConfigGrpc, + > tonic::server::UnaryService + for UpsertAndPublishConfigFileSvc { + type Response = super::ConfigClientResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::upsert_and_publish_config_file( + &inner, + request, + ) + .await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = UpsertAndPublishConfigFileSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/v1.PolarisConfigGRPC/WatchConfigFiles" => { + #[allow(non_camel_case_types)] + struct WatchConfigFilesSvc(pub Arc); + impl< + T: PolarisConfigGrpc, + > tonic::server::UnaryService + for WatchConfigFilesSvc { + type Response = super::ConfigClientResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::watch_config_files( + &inner, + request, + ) + .await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = WatchConfigFilesSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/v1.PolarisConfigGRPC/GetConfigFileMetadataList" => { + #[allow(non_camel_case_types)] + struct GetConfigFileMetadataListSvc( + pub Arc, + ); + impl< + T: PolarisConfigGrpc, + > tonic::server::UnaryService + for GetConfigFileMetadataListSvc { + type Response = super::ConfigClientListResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::get_config_file_metadata_list( + &inner, + request, + ) + .await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = GetConfigFileMetadataListSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/v1.PolarisConfigGRPC/Discover" => { + #[allow(non_camel_case_types)] + struct DiscoverSvc(pub Arc); + impl< + T: PolarisConfigGrpc, + > tonic::server::StreamingService + for DiscoverSvc { + type Response = super::ConfigDiscoverResponse; + type ResponseStream = T::DiscoverStream; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request< + tonic::Streaming, + >, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::discover(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = DiscoverSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.streaming(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + _ => { + Box::pin(async move { + Ok( + http::Response::builder() + .status(200) + .header("grpc-status", "12") + .header("content-type", "application/grpc") + .body(empty_body()) + .unwrap(), + ) + }) + } } - Code::EmptyAutToken => "EmptyAutToken", - Code::TokenDisabled => "TokenDisabled", - Code::TokenNotExisted => "TokenNotExisted", - Code::AuthTokenForbidden => "AuthTokenForbidden", - Code::OperationRoleForbidden => "OperationRoleForbidden", } } - /// Creates an enum from field names used in the ProtoBuf definition. - pub fn from_str_name(value: &str) -> ::core::option::Option { - match value { - "Unknown" => Some(Self::Unknown), - "ExecuteSuccess" => Some(Self::ExecuteSuccess), - "DataNoChange" => Some(Self::DataNoChange), - "NoNeedUpdate" => Some(Self::NoNeedUpdate), - "BadRequest" => Some(Self::BadRequest), - "ParseException" => Some(Self::ParseException), - "EmptyRequest" => Some(Self::EmptyRequest), - "BatchSizeOverLimit" => Some(Self::BatchSizeOverLimit), - "InvalidDiscoverResource" => Some(Self::InvalidDiscoverResource), - "InvalidRequestID" => Some(Self::InvalidRequestId), - "InvalidUserName" => Some(Self::InvalidUserName), - "InvalidUserToken" => Some(Self::InvalidUserToken), - "InvalidParameter" => Some(Self::InvalidParameter), - "EmptyQueryParameter" => Some(Self::EmptyQueryParameter), - "InvalidQueryInsParameter" => Some(Self::InvalidQueryInsParameter), - "InvalidNamespaceName" => Some(Self::InvalidNamespaceName), - "InvalidNamespaceOwners" => Some(Self::InvalidNamespaceOwners), - "InvalidNamespaceToken" => Some(Self::InvalidNamespaceToken), - "InvalidServiceName" => Some(Self::InvalidServiceName), - "InvalidServiceOwners" => Some(Self::InvalidServiceOwners), - "InvalidServiceToken" => Some(Self::InvalidServiceToken), - "InvalidServiceMetadata" => Some(Self::InvalidServiceMetadata), - "InvalidServicePorts" => Some(Self::InvalidServicePorts), - "InvalidServiceBusiness" => Some(Self::InvalidServiceBusiness), - "InvalidServiceDepartment" => Some(Self::InvalidServiceDepartment), - "InvalidServiceCMDB" => Some(Self::InvalidServiceCmdb), - "InvalidServiceComment" => Some(Self::InvalidServiceComment), - "InvalidServiceAliasComment" => Some(Self::InvalidServiceAliasComment), - "InvalidInstanceID" => Some(Self::InvalidInstanceId), - "InvalidInstanceHost" => Some(Self::InvalidInstanceHost), - "InvalidInstancePort" => Some(Self::InvalidInstancePort), - "InvalidServiceAlias" => Some(Self::InvalidServiceAlias), - "InvalidNamespaceWithAlias" => Some(Self::InvalidNamespaceWithAlias), - "InvalidServiceAliasOwners" => Some(Self::InvalidServiceAliasOwners), - "InvalidInstanceProtocol" => Some(Self::InvalidInstanceProtocol), - "InvalidInstanceVersion" => Some(Self::InvalidInstanceVersion), - "InvalidInstanceLogicSet" => Some(Self::InvalidInstanceLogicSet), - "InvalidInstanceIsolate" => Some(Self::InvalidInstanceIsolate), - "HealthCheckNotOpen" => Some(Self::HealthCheckNotOpen), - "HeartbeatOnDisabledIns" => Some(Self::HeartbeatOnDisabledIns), - "HeartbeatExceedLimit" => Some(Self::HeartbeatExceedLimit), - "HeartbeatTypeNotFound" => Some(Self::HeartbeatTypeNotFound), - "InvalidMetadata" => Some(Self::InvalidMetadata), - "InvalidRateLimitID" => Some(Self::InvalidRateLimitId), - "InvalidRateLimitLabels" => Some(Self::InvalidRateLimitLabels), - "InvalidRateLimitAmounts" => Some(Self::InvalidRateLimitAmounts), - "InvalidRateLimitName" => Some(Self::InvalidRateLimitName), - "InvalidCircuitBreakerID" => Some(Self::InvalidCircuitBreakerId), - "InvalidCircuitBreakerVersion" => Some(Self::InvalidCircuitBreakerVersion), - "InvalidCircuitBreakerName" => Some(Self::InvalidCircuitBreakerName), - "InvalidCircuitBreakerNamespace" => { - Some(Self::InvalidCircuitBreakerNamespace) - } - "InvalidCircuitBreakerOwners" => Some(Self::InvalidCircuitBreakerOwners), - "InvalidCircuitBreakerToken" => Some(Self::InvalidCircuitBreakerToken), - "InvalidCircuitBreakerBusiness" => Some(Self::InvalidCircuitBreakerBusiness), - "InvalidCircuitBreakerDepartment" => { - Some(Self::InvalidCircuitBreakerDepartment) - } - "InvalidCircuitBreakerComment" => Some(Self::InvalidCircuitBreakerComment), - "CircuitBreakerRuleExisted" => Some(Self::CircuitBreakerRuleExisted), - "InvalidRoutingID" => Some(Self::InvalidRoutingId), - "InvalidRoutingPolicy" => Some(Self::InvalidRoutingPolicy), - "InvalidRoutingName" => Some(Self::InvalidRoutingName), - "InvalidRoutingPriority" => Some(Self::InvalidRoutingPriority), - "InvalidFaultDetectID" => Some(Self::InvalidFaultDetectId), - "InvalidFaultDetectName" => Some(Self::InvalidFaultDetectName), - "InvalidFaultDetectNamespace" => Some(Self::InvalidFaultDetectNamespace), - "FaultDetectRuleExisted" => Some(Self::FaultDetectRuleExisted), - "InvalidMatchRule" => Some(Self::InvalidMatchRule), - "ServicesExistedMesh" => Some(Self::ServicesExistedMesh), - "ResourcesExistedMesh" => Some(Self::ResourcesExistedMesh), - "InvalidMeshParameter" => Some(Self::InvalidMeshParameter), - "InvalidPlatformID" => Some(Self::InvalidPlatformId), - "InvalidPlatformName" => Some(Self::InvalidPlatformName), - "InvalidPlatformDomain" => Some(Self::InvalidPlatformDomain), - "InvalidPlatformQPS" => Some(Self::InvalidPlatformQps), - "InvalidPlatformToken" => Some(Self::InvalidPlatformToken), - "InvalidPlatformOwner" => Some(Self::InvalidPlatformOwner), - "InvalidPlatformDepartment" => Some(Self::InvalidPlatformDepartment), - "InvalidPlatformComment" => Some(Self::InvalidPlatformComment), - "NotFoundPlatform" => Some(Self::NotFoundPlatform), - "InvalidFluxRateLimitId" => Some(Self::InvalidFluxRateLimitId), - "InvalidFluxRateLimitQps" => Some(Self::InvalidFluxRateLimitQps), - "InvalidFluxRateLimitSetKey" => Some(Self::InvalidFluxRateLimitSetKey), - "ExistedResource" => Some(Self::ExistedResource), - "NotFoundResource" => Some(Self::NotFoundResource), - "NamespaceExistedServices" => Some(Self::NamespaceExistedServices), - "ServiceExistedInstances" => Some(Self::ServiceExistedInstances), - "ServiceExistedRoutings" => Some(Self::ServiceExistedRoutings), - "ServiceExistedRateLimits" => Some(Self::ServiceExistedRateLimits), - "ExistReleasedConfig" => Some(Self::ExistReleasedConfig), - "SameInstanceRequest" => Some(Self::SameInstanceRequest), - "ServiceExistedCircuitBreakers" => Some(Self::ServiceExistedCircuitBreakers), - "ServiceExistedAlias" => Some(Self::ServiceExistedAlias), - "NamespaceExistedMeshResources" => Some(Self::NamespaceExistedMeshResources), - "NamespaceExistedCircuitBreakers" => { - Some(Self::NamespaceExistedCircuitBreakers) - } - "ServiceSubscribedByMeshes" => Some(Self::ServiceSubscribedByMeshes), - "ServiceExistedFluxRateLimits" => Some(Self::ServiceExistedFluxRateLimits), - "NamespaceExistedConfigGroups" => Some(Self::NamespaceExistedConfigGroups), - "NotFoundService" => Some(Self::NotFoundService), - "NotFoundRouting" => Some(Self::NotFoundRouting), - "NotFoundInstance" => Some(Self::NotFoundInstance), - "NotFoundServiceAlias" => Some(Self::NotFoundServiceAlias), - "NotFoundNamespace" => Some(Self::NotFoundNamespace), - "NotFoundSourceService" => Some(Self::NotFoundSourceService), - "NotFoundRateLimit" => Some(Self::NotFoundRateLimit), - "NotFoundCircuitBreaker" => Some(Self::NotFoundCircuitBreaker), - "NotFoundMasterConfig" => Some(Self::NotFoundMasterConfig), - "NotFoundTagConfig" => Some(Self::NotFoundTagConfig), - "NotFoundTagConfigOrService" => Some(Self::NotFoundTagConfigOrService), - "ClientAPINotOpen" => Some(Self::ClientApiNotOpen), - "NotAllowBusinessService" => Some(Self::NotAllowBusinessService), - "NotAllowAliasUpdate" => Some(Self::NotAllowAliasUpdate), - "NotAllowAliasCreateInstance" => Some(Self::NotAllowAliasCreateInstance), - "NotAllowAliasCreateRouting" => Some(Self::NotAllowAliasCreateRouting), - "NotAllowCreateAliasForAlias" => Some(Self::NotAllowCreateAliasForAlias), - "NotAllowAliasCreateRateLimit" => Some(Self::NotAllowAliasCreateRateLimit), - "NotAllowAliasBindRule" => Some(Self::NotAllowAliasBindRule), - "NotAllowDifferentNamespaceBindRule" => { - Some(Self::NotAllowDifferentNamespaceBindRule) - } - "Unauthorized" => Some(Self::Unauthorized), - "NotAllowedAccess" => Some(Self::NotAllowedAccess), - "CMDBNotFindHost" => Some(Self::CmdbNotFindHost), - "DataConflict" => Some(Self::DataConflict), - "InstanceTooManyRequests" => Some(Self::InstanceTooManyRequests), - "IPRateLimit" => Some(Self::IpRateLimit), - "APIRateLimit" => Some(Self::ApiRateLimit), - "ExecuteException" => Some(Self::ExecuteException), - "StoreLayerException" => Some(Self::StoreLayerException), - "CMDBPluginException" => Some(Self::CmdbPluginException), - "ParseRoutingException" => Some(Self::ParseRoutingException), - "ParseRateLimitException" => Some(Self::ParseRateLimitException), - "ParseCircuitBreakerException" => Some(Self::ParseCircuitBreakerException), - "HeartbeatException" => Some(Self::HeartbeatException), - "InstanceRegisTimeout" => Some(Self::InstanceRegisTimeout), - "InvalidConfigFileGroupName" => Some(Self::InvalidConfigFileGroupName), - "InvalidConfigFileName" => Some(Self::InvalidConfigFileName), - "InvalidConfigFileContentLength" => { - Some(Self::InvalidConfigFileContentLength) - } - "InvalidConfigFileFormat" => Some(Self::InvalidConfigFileFormat), - "InvalidConfigFileTags" => Some(Self::InvalidConfigFileTags), - "InvalidWatchConfigFileFormat" => Some(Self::InvalidWatchConfigFileFormat), - "NotFoundResourceConfigFile" => Some(Self::NotFoundResourceConfigFile), - "InvalidConfigFileTemplateName" => Some(Self::InvalidConfigFileTemplateName), - "EncryptConfigFileException" => Some(Self::EncryptConfigFileException), - "DecryptConfigFileException" => Some(Self::DecryptConfigFileException), - "InvalidUserOwners" => Some(Self::InvalidUserOwners), - "InvalidUserID" => Some(Self::InvalidUserId), - "InvalidUserPassword" => Some(Self::InvalidUserPassword), - "InvalidUserMobile" => Some(Self::InvalidUserMobile), - "InvalidUserEmail" => Some(Self::InvalidUserEmail), - "InvalidUserGroupOwners" => Some(Self::InvalidUserGroupOwners), - "InvalidUserGroupID" => Some(Self::InvalidUserGroupId), - "InvalidAuthStrategyOwners" => Some(Self::InvalidAuthStrategyOwners), - "InvalidAuthStrategyName" => Some(Self::InvalidAuthStrategyName), - "InvalidAuthStrategyID" => Some(Self::InvalidAuthStrategyId), - "InvalidPrincipalType" => Some(Self::InvalidPrincipalType), - "UserExisted" => Some(Self::UserExisted), - "UserGroupExisted" => Some(Self::UserGroupExisted), - "AuthStrategyRuleExisted" => Some(Self::AuthStrategyRuleExisted), - "SubAccountExisted" => Some(Self::SubAccountExisted), - "NotFoundUser" => Some(Self::NotFoundUser), - "NotFoundOwnerUser" => Some(Self::NotFoundOwnerUser), - "NotFoundUserGroup" => Some(Self::NotFoundUserGroup), - "NotFoundAuthStrategyRule" => Some(Self::NotFoundAuthStrategyRule), - "NotAllowModifyDefaultStrategyPrincipal" => { - Some(Self::NotAllowModifyDefaultStrategyPrincipal) - } - "NotAllowModifyOwnerDefaultStrategy" => { - Some(Self::NotAllowModifyOwnerDefaultStrategy) + impl Clone for PolarisConfigGrpcServer { + fn clone(&self) -> Self { + let inner = self.inner.clone(); + Self { + inner, + accept_compression_encodings: self.accept_compression_encodings, + send_compression_encodings: self.send_compression_encodings, + max_decoding_message_size: self.max_decoding_message_size, + max_encoding_message_size: self.max_encoding_message_size, } - "EmptyAutToken" => Some(Self::EmptyAutToken), - "TokenDisabled" => Some(Self::TokenDisabled), - "TokenNotExisted" => Some(Self::TokenNotExisted), - "AuthTokenForbidden" => Some(Self::AuthTokenForbidden), - "OperationRoleForbidden" => Some(Self::OperationRoleForbidden), - _ => None, } } + impl Clone for _Inner { + fn clone(&self) -> Self { + Self(Arc::clone(&self.0)) + } + } + impl std::fmt::Debug for _Inner { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(f, "{:?}", self.0) + } + } + impl tonic::server::NamedService + for PolarisConfigGrpcServer { + const NAME: &'static str = "v1.PolarisConfigGRPC"; + } }