syntax = "proto3"; package gorpc; option go_package = "code.clickto.dev/nomo-server/go-service-pb/client"; import "pb/common.proto"; // VpnTag message VpnTagVo { int64 id = 1; string productCode = 2; string type = 3; string name = 4; int64 sort = 5; Status status = 6; string remark = 7; int64 createTime = 8; int64 updateTime = 9; string otherConfig = 10; } message VpnTagGetReq { VpnTagVo vo = 1; } message VpnTagListReq { Page page = 1; VpnTagVo vo = 2; repeated string productCodes = 3; repeated int64 excludeIds = 4; } message VpnTagListResp { int64 total = 1; repeated VpnTagVo list = 2; } message VpnTagBatchAddReq { repeated VpnTagVo list = 1; } message VpnTagBatchAddResp { repeated VpnTagVo list = 1; } message VpnTagBatchUpdateReq { repeated VpnTagVo list = 1; } message VpnTagBatchUpdateResp { repeated VpnTagVo list = 1; } message VpnTagBatchDelReq { repeated int64 ids = 1; } // VpnTag message VpnGroupVo { int64 id = 1; string productCode = 2; string name = 3; string icon = 4; int64 sort = 5; Status status = 6; string remark = 7; int64 createTime = 8; int64 updateTime = 9; string version = 10; string otherConfig = 11; } message VpnGroupExVo { VpnGroupVo vo = 1; repeated int64 tagIds = 2; } message VpnGroupAddReq { VpnGroupVo vo = 1; repeated int64 tagIds = 2; } message VpnGroupGetReq { VpnGroupVo vo = 1; } message VpnGroupListReq { Page page = 1; VpnGroupVo vo = 2; repeated string productCodes = 3; repeated int64 excludeIds = 4; } message VpnGroupListResp { int64 total = 1; repeated VpnGroupVo list = 2; } message VpnGroupBatchAddReq { repeated VpnGroupExVo list = 1; } message VpnGroupBatchAddResp { repeated VpnGroupExVo list = 1; } message VpnGroupBatchUpdateReq { repeated VpnGroupExVo list = 1; } message VpnGroupBatchUpdateResp { repeated VpnGroupExVo list = 1; } message VpnGroupBatchDelReq { repeated int64 ids = 1; } // VpnGroupTag message VpnGroupTagVo { int64 id = 1; int64 groupId = 2; int64 tagId = 3; int64 createTime = 4; int64 updateTime = 5; } message VpnGroupTagListReq { Page page = 1; VpnGroupTagVo vo = 2; repeated int64 groupIds = 3; repeated int64 tagIds = 4; } message VpnGroupTagListResp { int64 total = 1; repeated VpnGroupTagVo list = 2; } // VpnLocation message VpnLocationVo { int64 id = 1; int64 groupId = 2; string name = 3; string code = 4; string icon = 5; int64 type = 6; string displayPolicyConfig = 7; string routePolicyConfig = 8; int64 sort = 9; Status status = 10; string remark = 11; int64 createTime = 12; int64 updateTime = 13; string version = 14; string otherConfig = 15; } message VpnLocationExVo { VpnLocationVo vo = 1; string productCode = 2; } message VpnLocationGetReq { VpnLocationVo vo = 1; } message VpnLocationListReq { Page page = 1; VpnLocationExVo vo = 2; repeated int64 groupIds = 3; repeated int64 excludeIds = 4; repeated string productCodes = 5; } message VpnLocationListResp { int64 total = 1; repeated VpnLocationExVo list = 2; } message VpnLocationBatchAddReq { repeated VpnLocationVo list = 1; } message VpnLocationBatchAddResp { repeated VpnLocationExVo list = 1; } message VpnLocationBatchUpdateReq { repeated VpnLocationVo list = 1; } message VpnLocationBatchUpdateResp { repeated VpnLocationExVo list = 1; } message VpnLocationBatchDelReq { repeated int64 ids = 1; } // VpnServer message VpnServerVo { int64 id = 1; int64 instanceId = 2; string name = 3; string ip = 4; int64 port = 5; int64 pingPort = 6; string netConfig = 7; string routePolicyConfig = 8; string serverInfo = 9; Status status = 10; string remark = 11; int64 createTime = 12; int64 updateTime = 13; string version = 14; string otherInfo = 15; int64 monitorPort = 16; string vpnConfig = 17; } message VpnServerExVo { VpnServerVo vo = 1; repeated int64 locationIds = 2; } message VpnServerListReq { Page page = 1; VpnServerVo vo = 2; repeated int64 excludeIds = 3; // 排除的ID repeated string productCodes = 4; repeated int64 locationIds = 5; repeated int64 instanceIds = 6; } message VpnServerListResp { int64 total = 1; repeated VpnServerVo list = 2; } message VpnServerExListResp { int64 total = 1; repeated VpnServerExVo list = 2; } message VpnServerAddReq { VpnServerVo vo = 1; repeated int64 locationIds = 2; } message VpnServerBatchAddReq { repeated VpnServerExVo list = 1; } message VpnServerBatchAddResp { repeated VpnServerExVo list = 1; } message VpnServerBatchUpdateReq { repeated VpnServerExVo list = 1; } message VpnServerBatchUpdateResp { repeated VpnServerExVo list = 1; } message VpnServerBatchDelReq { repeated int64 ids = 1; } message VpnServerLocationVo { int64 id = 1; int64 serverId = 2; int64 locationId = 3; int64 createTime = 4; int64 updateTime = 5; Status status = 6; } message VpnServerLocationListReq { Page page = 1; VpnServerLocationVo vo = 2; repeated int64 serverIds = 3; repeated int64 locationIds = 4; } message VpnServerLocationListResp { int64 total = 1; repeated VpnServerLocationVo list = 2; } message VpnLocationServerCountVo { int64 locationId = 1; int64 serverCount = 2; } message VpnLocationServerCountReq { Page page = 1; Status status = 2; repeated int64 serverIds = 3; repeated int64 locationIds = 4; } message VpnLocationServerCountResp { int64 total = 1; repeated VpnLocationServerCountVo list = 2; } message VpnProbeTaskVo { int64 id = 1; string taskId = 2; string filter = 3; // 筛选条件 string type = 4; // 类型 string uploadDomain = 5; // 配置 string params = 6; int64 answer = 7; float percentage = 8; // 进度百分比 string result = 9; // 结果 int64 userId = 10; int64 createTime = 11; int64 updateTime = 12; } message VpnProbeTaskListReq { Page page = 1; VpnProbeTaskVo vo = 2; } message VpnProbeTaskListResp { int64 total = 1; repeated VpnProbeTaskVo list = 2; } message VpnWithIPAndPortReq { // 产品Code string productCode = 1; } message VpnWithIPAndPortResp { repeated VpnWithIPAndPortItem list = 1; } message VpnWithIPAndPortItem { // location displayConfig string displayConfig = 1; // 设备 repeated VpnServerVo vo = 2; } // VpnipWalledVo message VpnipWalledVo { int64 id = 1; // ID int64 ipId = 2; // IP ID string area = 3; // 地区 int64 walledTime = 4; // 被墙时间 string remark = 5; // 备注 int64 createTime = 6; // 创建时间 int64 createAt = 7; // 创建者ID int64 updateTime = 8; // 更新时间 int64 updateAt = 9; // 更新者ID } message VpnipWalledAddReq { VpnipWalledVo vo = 1; } message VpnipWalledAddResp { VpnipWalledVo vo = 1; } message VpnipWalledUpdateReq { VpnipWalledVo vo = 1; } message VpnipWalledUpdateResp { VpnipWalledVo vo = 1; } message VpnipWalledGetReq { VpnipWalledVo vo = 1; } message VpnipWalledGetResp { VpnipWalledVo vo = 1; } message VpnipWalledListReq { Page page = 1; VpnipWalledVo vo = 2; repeated int64 excludeIds = 3; repeated int64 ipIds = 4; repeated string ips = 5; repeated string areas = 6; } message VpnipWalledListResp { int64 total = 1; repeated VpnipWalledVo list = 2; } message VpnipWalledBatchAddReq { repeated VpnipWalledVo list = 1; } message VpnipWalledBatchAddResp { repeated VpnipWalledVo list = 1; } message VpnipWalledBatchUpdateReq { repeated VpnipWalledVo list = 1; } message VpnipWalledBatchUpdateResp { repeated VpnipWalledVo list = 1; } // VpnipVo message VpnipVo { int64 id = 1; // ID int64 rangeId = 2; // IP段ID string ip = 3; // IP地址 string otherInfo = 4; // 其他信息,保留字段,用于扩展 Status status = 5; // 状态 string remark = 6; // 备注 int64 createTime = 7; // 创建时间 int64 createAt = 8; // 创建者ID int64 updateTime = 9; // 更新时间 int64 updateAt = 10; // 更新者ID } message VpnipExVo { VpnipVo vo = 1; repeated VpnipWalledVo walledInfos = 2; } message VpnipAddReq { VpnipVo vo = 1; } message VpnipAddResp { VpnipVo vo = 1; } message VpnipExAddReq { VpnipExVo vo = 1; } message VpnipExAddResp { VpnipExVo vo = 1; } message VpnipUpdateReq { VpnipVo vo = 1; } message VpnipUpdateResp { VpnipVo vo = 1; } message VpnipExUpdateReq { VpnipExVo vo = 1; } message VpnipExUpdateResp { VpnipExVo vo = 1; } message VpnipGetReq { VpnipVo vo = 1; } message VpnipGetResp { VpnipVo vo = 1; } message VpnipExGetResp { VpnipExVo vo = 1; } message VpnipListReq { Page page = 1; VpnipVo vo = 2; repeated int64 excludeIds = 3; repeated string ips = 4; repeated int64 serverIds = 5; repeated int64 instanceIds = 6; repeated int64 rangeIds = 7; } message VpnipListResp { int64 total = 1; repeated VpnipVo list = 2; } message VpnipExListResp { int64 total = 1; repeated VpnipExVo list = 2; } message VpnipBatchAddReq { repeated VpnipVo list = 1; } message VpnipBatchAddResp { repeated VpnipVo list = 1; } message VpnipBatchUpdateReq { repeated VpnipVo list = 1; } message VpnipBatchUpdateResp { repeated VpnipVo list = 1; } message VpnipExBatchAddReq { repeated VpnipExVo list = 1; } message VpnipExBatchAddResp { repeated VpnipExVo list = 1; } message VpnipExBatchUpdateReq { repeated VpnipExVo list = 1; } message VpnipExBatchUpdateResp { repeated VpnipExVo list = 1; } // VpnipRangeVo message VpnipRangeVo { int64 id = 1; // ID string name = 2; // 名称 string supplierId = 3; // 供应商ID string startIP = 4; // 起始IP string endIP = 5; // 结束IP int64 expires = 6; // 到期日期 int64 sort = 7; // 排序 Status status = 8; // 状态 string remark = 9; // 备注 int64 createTime = 10; // 创建时间 int64 createAt = 11; // 创建者ID int64 updateTime = 12; // 更新时间 int64 updateAt = 13; // 更新者ID } message VpnipRangeExVo { VpnipRangeVo vo = 1; repeated VpnipVo ipInfos = 2; } message VpnipRangeAddReq { VpnipRangeVo vo = 1; } message VpnipRangeAddResp { VpnipRangeVo vo = 1; } message VpnipRangeExAddReq { VpnipRangeExVo vo = 1; } message VpnipRangeExAddResp { VpnipRangeExVo vo = 1; } message VpnipRangeUpdateReq { VpnipRangeVo vo = 1; } message VpnipRangeUpdateResp { VpnipRangeVo vo = 1; } message VpnipRangeExUpdateReq { VpnipRangeExVo vo = 1; } message VpnipRangeExUpdateResp { VpnipRangeExVo vo = 1; } message VpnipRangeGetReq { VpnipRangeVo vo = 1; } message VpnipRangeGetResp { VpnipRangeVo vo = 1; } message VpnipRangeExGetResp { VpnipRangeExVo vo = 1; } message VpnipRangeListReq { Page page = 1; VpnipRangeVo vo = 2; repeated string names = 3; repeated string ips = 4; repeated int64 excludeIds = 5; // 排除的ID } message VpnipRangeListResp { int64 total = 1; repeated VpnipRangeVo list = 2; } message VpnipRangeExListResp { int64 total = 1; repeated VpnipRangeExVo list = 2; } message VpnipRangeBatchAddReq { repeated VpnipRangeVo list = 1; } message VpnipRangeBatchAddResp { repeated VpnipRangeVo list = 1; } message VpnipRangeBatchUpdateReq { repeated VpnipRangeVo list = 1; } message VpnipRangeBatchUpdateResp { repeated VpnipRangeVo list = 1; } message VpnipRangeExBatchAddReq { repeated VpnipRangeExVo list = 1; } message VpnipRangeExBatchAddResp { repeated VpnipRangeExVo list = 1; } message VpnipRangeExBatchUpdateReq { repeated VpnipRangeExVo list = 1; } message VpnipRangeExBatchUpdateResp { repeated VpnipRangeExVo list = 1; } // VpnipBindVo message VpnipBindVo { int64 id = 1; // ID int64 ipId = 2; // IP ID int64 serverId = 3; // 服务器ID string batchId = 4; // 批次ID,用于批量操作和回滚 string prevBindId = 5; // 上一次绑定记录的ID,为空时表示之前未绑定 int64 bindTime = 6; // 绑定时间 int64 unbindTime = 7; // 解绑时间 int64 isCurrent = 8; // 是否为当前绑定记录 string remark = 9; // 备注 int64 createTime = 10; // 创建时间 int64 createAt = 11; // 创建者ID int64 updateTime = 12; // 更新时间 int64 updateAt = 13; // 更新者ID } message VpnipBindAddReq { VpnipBindVo vo = 1; } message VpnipBindAddResp { VpnipBindVo vo = 1; } message VpnipBindUpdateReq { VpnipBindVo vo = 1; } message VpnipBindUpdateResp { VpnipBindVo vo = 1; } message VpnipBindGetReq { VpnipBindVo vo = 1; } message VpnipBindGetResp { VpnipBindVo vo = 1; } message VpnipBindListReq { Page page = 1; VpnipBindVo vo = 2; repeated int64 excludeIds = 3; repeated int64 ipIds = 4; repeated int64 serverIds = 5; repeated string ips = 6; repeated int64 instanceIds = 7; } message VpnipBindListResp { int64 total = 1; repeated VpnipBindVo list = 2; } message VpnipBindBatchAddReq { repeated VpnipBindVo list = 1; } message VpnipBindBatchAddResp { repeated VpnipBindVo list = 1; } message VpnipBindBatchUpdateReq { repeated VpnipBindVo list = 1; } message VpnipBindBatchUpdateResp { repeated VpnipBindVo list = 1; } // VpnConfigTemplatePlanVo message VpnConfigTemplatePlanVo { int64 id = 1; // id string productCode = 2; // 产品Code string name = 3; // 配置名称 string config = 4; // 保留字段,用于扩展配置 int64 sort = 5; // 排序 Status status = 6; // 状态 string remark = 7; // 备注 int64 createTime = 8; // 创建时间 int64 createAt = 9; // 创建者Id int64 updateTime = 10; // 更新时间 int64 updateAt = 11; // 更新者Id string version = 12; // 数据版本 } // VpnConfigTemplatePlanDetailVo message VpnConfigTemplatePlanDetailVo { int64 id = 1; // id int64 planId = 2; // 配置模板主表id string core = 3; // 内核 string name = 4; // 名称 string envs = 5; // 环境变量 string serverConfig = 6; // 服务端配置 string clientConfig = 7; // 客户端配置 string policyConfig = 8; // 策略配置 int64 sort = 9; // 排序 Status status = 10; // 状态 string remark = 11; // 备注 int64 createTime = 12; // 创建时间 int64 createAt = 13; // 创建者Id int64 updateTime = 14; // 更新时间 int64 updateAt = 15; // 更新者Id string version = 16; // 数据版本 } message VpnConfigTemplatePlanAddReq { VpnConfigTemplatePlanVo plan = 1; repeated VpnConfigTemplatePlanDetailVo details = 2; } message VpnConfigTemplatePlanAddResp { VpnConfigTemplatePlanVo plan = 1; repeated VpnConfigTemplatePlanDetailVo details = 2; } message VpnConfigTemplatePlanUpdateReq { VpnConfigTemplatePlanVo vo = 1; bool withDetails = 2; } message VpnConfigTemplatePlanUpdateResp { VpnConfigTemplatePlanVo plan = 1; repeated VpnConfigTemplatePlanDetailVo details = 2; } message VpnConfigTemplatePlanDelReq { repeated int64 ids = 1; } message VpnConfigTemplatePlanGetReq { VpnConfigTemplatePlanVo vo = 1; bool withDetails = 2; } message VpnConfigTemplatePlanGetResp { VpnConfigTemplatePlanVo plan = 1; repeated VpnConfigTemplatePlanDetailVo details = 2; } message VpnConfigTemplatePlanListReq { Page page = 1; VpnConfigTemplatePlanVo vo = 2; repeated int64 excludeIds = 3; repeated string productCodes = 4; bool withDetails = 5; } message VpnConfigTemplatePlanListResp { int64 total = 1; repeated VpnConfigTemplatePlanGetResp list = 2; } message VpnConfigTemplatePlanDetailAddReq { VpnConfigTemplatePlanDetailVo vo = 1; } message VpnConfigTemplatePlanDetailAddResp { VpnConfigTemplatePlanDetailVo vo = 1; } message VpnConfigTemplatePlanDetailUpdateReq { VpnConfigTemplatePlanDetailVo vo = 1; } message VpnConfigTemplatePlanDetailUpdateResp { VpnConfigTemplatePlanDetailVo vo = 1; } message VpnConfigTemplatePlanDetailDelReq { repeated int64 ids = 1; } message VpnConfigTemplatePlanDetailGetReq { VpnConfigTemplatePlanDetailVo vo = 1; } message VpnConfigTemplatePlanDetailGetResp { VpnConfigTemplatePlanDetailVo vo = 1; } message VpnConfigTemplatePlanDetailListReq { Page page = 1; VpnConfigTemplatePlanDetailVo vo = 2; repeated int64 planIds = 3; repeated int64 excludeIds = 4; repeated string productCodes = 5; } message VpnConfigTemplatePlanDetailListResp { int64 total = 1; repeated VpnConfigTemplatePlanDetailVo list = 2; } // govpn 模块,VPN相关服务 service GoVpnClient { rpc Ping(Request) returns (Response); // 表的事务操作 rpc Transaction(TransactionReq) returns (Empty); // VpnTag Model // VpnTagAdd rpc VpnTagAdd(VpnTagVo) returns (VpnTagVo); rpc VpnTagUpdate(VpnTagVo) returns (VpnTagVo); rpc VpnTagDel(Ids) returns (Empty); rpc VpnTagGet(VpnTagGetReq) returns (VpnTagVo); rpc VpnTagList(VpnTagListReq) returns (VpnTagListResp); rpc VpnTagBatchAdd(VpnTagBatchAddReq) returns (VpnTagBatchAddResp); rpc VpnTagBatchUpdate(VpnTagBatchUpdateReq) returns (VpnTagBatchUpdateResp); // VpnGroup Model // VpnGroupAdd rpc VpnGroupAdd(VpnGroupAddReq) returns (VpnGroupVo); rpc VpnGroupUpdate(VpnGroupAddReq) returns (Empty); rpc VpnGroupDel(Ids) returns (Empty); rpc VpnGroupGet(VpnGroupGetReq) returns (VpnGroupVo); rpc VpnGroupList(VpnGroupListReq) returns (VpnGroupListResp); rpc VpnGroupBatchAdd(VpnGroupBatchAddReq) returns (VpnGroupBatchAddResp); rpc VpnGroupBatchUpdate(VpnGroupBatchUpdateReq) returns (VpnGroupBatchUpdateResp); // VpnGroupTag Model // VpnGroupTagAdd rpc VpnGroupTagAdd(VpnGroupTagVo) returns (VpnGroupTagVo); rpc VpnGroupTagUpdate(VpnGroupTagVo) returns (VpnGroupTagVo); rpc VpnGroupTagDel(Ids) returns (Empty); rpc VpnGroupTagGet(VpnGroupTagVo) returns (VpnGroupTagVo); rpc VpnGroupTagList(VpnGroupTagListReq) returns (VpnGroupTagListResp); // VpnLocation Model // VpnLocationAdd rpc VpnLocationAdd(VpnLocationVo) returns (VpnLocationVo); rpc VpnLocationUpdate(VpnLocationVo) returns (Empty); rpc VpnLocationDel(Ids) returns (Empty); rpc VpnLocationGet(VpnLocationGetReq) returns (VpnLocationVo); rpc VpnLocationList(VpnLocationListReq) returns (VpnLocationListResp); rpc VpnLocationBatchAdd(VpnLocationBatchAddReq) returns (VpnLocationBatchAddResp); rpc VpnLocationBatchUpdate(VpnLocationBatchUpdateReq) returns (VpnLocationBatchUpdateResp); // VpnServer Model // VpnServerAdd rpc VpnServerAdd(VpnServerAddReq) returns (VpnServerAddReq); rpc VpnServerUpdate(VpnServerAddReq) returns (VpnServerAddReq); rpc VpnServerDel(Ids) returns (Empty); rpc VpnServerGet(VpnServerVo) returns (VpnServerVo); rpc VpnServerExGet(VpnServerVo) returns (VpnServerExVo); rpc VpnServerList(VpnServerListReq) returns (VpnServerListResp); rpc VpnServerExList(VpnServerListReq) returns (VpnServerExListResp); rpc VpnServerBatchAdd(VpnServerBatchAddReq) returns (VpnServerBatchAddResp); rpc VpnServerBatchUpdate(VpnServerBatchUpdateReq) returns (VpnServerBatchUpdateResp); // VpnServerLocation Model // VpnServerLocationAdd rpc VpnServerLocationAdd(VpnServerLocationVo) returns (VpnServerLocationVo); rpc VpnServerLocationUpdate(VpnServerLocationVo) returns (Empty); rpc VpnServerLocationDel(Ids) returns (Empty); rpc VpnServerLocationGet(VpnServerLocationVo) returns (VpnServerLocationVo); rpc VpnServerLocationList(VpnServerLocationListReq) returns (VpnServerLocationListResp); rpc VpnWithIPAndPort(VpnWithIPAndPortReq) returns (VpnWithIPAndPortResp); // VpnLocationServerCount rpc VpnLocationServerCount(VpnLocationServerCountReq) returns (VpnLocationServerCountResp); // VpnProbeTask Model // VpnProbeTaskAdd rpc VpnProbeTaskAdd(VpnProbeTaskVo) returns (VpnProbeTaskVo); rpc VpnProbeTaskUpdate(VpnProbeTaskVo) returns (Empty); rpc VpnProbeTaskList(VpnProbeTaskListReq) returns (VpnProbeTaskListResp); // VpnipWalled Model // VpnipWalledAdd rpc VpnipWalledAdd(VpnipWalledAddReq) returns (VpnipWalledAddResp); rpc VpnipWalledUpdate(VpnipWalledUpdateReq) returns (VpnipWalledUpdateResp); rpc VpnipWalledDel(Ids) returns (Empty); rpc VpnipWalledGet(VpnipWalledGetReq) returns (VpnipWalledGetResp); rpc VpnipWalledList(VpnipWalledListReq) returns (VpnipWalledListResp); rpc VpnipWalledBatchAdd(VpnipWalledBatchAddReq) returns (VpnipWalledBatchAddResp); rpc VpnipWalledBatchUpdate(VpnipWalledBatchUpdateReq) returns (VpnipWalledBatchUpdateResp); // Vpnip Model // VpnipAdd rpc VpnipAdd(VpnipAddReq) returns (VpnipAddResp); rpc VpnipExAdd(VpnipExAddReq) returns (VpnipExAddResp); rpc VpnipUpdate(VpnipUpdateReq) returns (VpnipUpdateResp); rpc VpnipExUpdate(VpnipExUpdateReq) returns (VpnipExUpdateResp); rpc VpnipDel(Ids) returns (Empty); rpc VpnipGet(VpnipGetReq) returns (VpnipGetResp); rpc VpnipExGet(VpnipGetReq) returns (VpnipExGetResp); rpc VpnipList(VpnipListReq) returns (VpnipListResp); rpc VpnipExList(VpnipListReq) returns (VpnipExListResp); rpc VpnipBatchAdd(VpnipBatchAddReq) returns (VpnipBatchAddResp); rpc VpnipBatchUpdate(VpnipBatchUpdateReq) returns (VpnipBatchUpdateResp); rpc VpnipExBatchAdd(VpnipExBatchAddReq) returns (VpnipExBatchAddResp); rpc VpnipExBatchUpdate(VpnipExBatchUpdateReq) returns (VpnipExBatchUpdateResp); // VpnipRange Model // VpnipRangeAdd rpc VpnipRangeAdd(VpnipRangeAddReq) returns (VpnipRangeAddResp); // VpnipRangeExAdd 添加IP段及IP数据,如果IP数据已存在,会自动将已经存在的IP的 rangeId 更新为新增的IP段的ID rpc VpnipRangeExAdd(VpnipRangeExAddReq) returns (VpnipRangeExAddResp); rpc VpnipRangeUpdate(VpnipRangeUpdateReq) returns (VpnipRangeUpdateResp); rpc VpnipRangeExUpdate(VpnipRangeExUpdateReq) returns (VpnipRangeExUpdateResp); rpc VpnipRangeDel(Ids) returns (Empty); rpc VpnipRangeGet(VpnipRangeGetReq) returns (VpnipRangeGetResp); rpc VpnipRangeExGet(VpnipRangeGetReq) returns (VpnipRangeExGetResp); rpc VpnipRangeList(VpnipRangeListReq) returns (VpnipRangeListResp); rpc VpnipRangeExList(VpnipRangeListReq) returns (VpnipRangeExListResp); rpc VpnipRangeBatchAdd(VpnipRangeBatchAddReq) returns (VpnipRangeBatchAddResp); rpc VpnipRangeExBatchAdd(VpnipRangeExBatchAddReq) returns (VpnipRangeExBatchAddResp); rpc VpnipRangeBatchUpdate(VpnipRangeBatchUpdateReq) returns (VpnipRangeBatchUpdateResp); rpc VpnipRangeExBatchUpdate(VpnipRangeExBatchUpdateReq) returns (VpnipRangeExBatchUpdateResp); // VpnipBind Model // VpnipBindAdd rpc VpnipBindAdd(VpnipBindAddReq) returns (VpnipBindAddResp); rpc VpnipBindUpdate(VpnipBindUpdateReq) returns (VpnipBindUpdateResp); rpc VpnipBindDel(Ids) returns (Empty); rpc VpnipBindGet(VpnipBindGetReq) returns (VpnipBindGetResp); rpc VpnipBindList(VpnipBindListReq) returns (VpnipBindListResp); rpc VpnipBindBatchUpdate(VpnipBindBatchUpdateReq) returns (VpnipBindBatchUpdateResp); // VpnipsBindServer 为一台服务器绑定一批新IP,会解绑上次绑定的IP,再绑定新的IP,仅需提供 ipId, serverId, Remark, createAt, updateAt 即可,其他字段会自动填充 rpc VpnipsBindServer(VpnipBindBatchAddReq) returns (VpnipBindBatchAddResp); // VpnConfigTemplatePlan Model (Xray配置模板,jump那边叫做配置模板) // VpnConfigTemplatePlanAdd 添加配置模板及模板详情 rpc VpnConfigTemplatePlanAdd(VpnConfigTemplatePlanAddReq) returns (VpnConfigTemplatePlanAddResp); // VpnConfigTemplatePlanUpdate 更新配置模板(只更新模板,不更新模板详情,如果 withDetails 为 true,则返回结果中包含模板详情) rpc VpnConfigTemplatePlanUpdate(VpnConfigTemplatePlanUpdateReq) returns (VpnConfigTemplatePlanUpdateResp); // VpnConfigTemplatePlanDel 删除配置模板(会同时删除模板详情) rpc VpnConfigTemplatePlanDel(VpnConfigTemplatePlanDelReq) returns (Empty); // VpnConfigTemplatePlanGet 获取配置模板(如果 withDetails 为 true,则返回结果中包含模板详情) rpc VpnConfigTemplatePlanGet(VpnConfigTemplatePlanGetReq) returns (VpnConfigTemplatePlanGetResp); // VpnConfigTemplatePlanList 获取配置模板列表(如果 withDetails 为 true,则返回结果中包含模板详情) rpc VpnConfigTemplatePlanList(VpnConfigTemplatePlanListReq) returns (VpnConfigTemplatePlanListResp); // VpnConfigTemplatePlanDetail Model (Xray配置模板详情,jump那边叫做传输配置) // VpnConfigTemplatePlanDetailAdd 添加模板详情 rpc VpnConfigTemplatePlanDetailAdd(VpnConfigTemplatePlanDetailAddReq) returns (VpnConfigTemplatePlanDetailAddResp); rpc VpnConfigTemplatePlanDetailUpdate(VpnConfigTemplatePlanDetailUpdateReq) returns (VpnConfigTemplatePlanDetailUpdateResp); rpc VpnConfigTemplatePlanDetailDel(VpnConfigTemplatePlanDetailDelReq) returns (Empty); rpc VpnConfigTemplatePlanDetailGet(VpnConfigTemplatePlanDetailGetReq) returns (VpnConfigTemplatePlanDetailGetResp); rpc VpnConfigTemplatePlanDetailList(VpnConfigTemplatePlanDetailListReq) returns (VpnConfigTemplatePlanDetailListResp); }