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"; 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"; 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; // 无损上下线规则 LOSSLESS = 103; // 服务黑白名单规则 BLOCK_ALLOW_RULE = 104; } 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; // 无损上下线规则内容 repeated LosslessRule losslessRules = 25; // 服务黑白名单鉴权规则 repeated BlockAllowListRule blockAllowListRule = 26; } message OptionSwitch { map options = 1; } message InstanceLabels { map labels = 1; string namespace = 2; string service = 3; string service_id = 4; }