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" ]; google.protobuf.BoolValue deleteable = 26; } 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; google.protobuf.BoolValue deleteable = 13; } 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; }