浏览代码

feat: table vpnconfig_template_plan and vpnconfig_template_plan_detail

BaiLuoYan 4 月之前
父节点
当前提交
e791d1b8cc

+ 20 - 0
pb/client/gogameclient/go_game_client.go

@@ -206,6 +206,26 @@ type (
 	UserAppConfigListReq                       = pb.UserAppConfigListReq
 	UserAppConfigListRes                       = pb.UserAppConfigListRes
 	UserAppConfigVo                            = pb.UserAppConfigVo
+	VpnConfigTemplatePlanAddReq                = pb.VpnConfigTemplatePlanAddReq
+	VpnConfigTemplatePlanAddResp               = pb.VpnConfigTemplatePlanAddResp
+	VpnConfigTemplatePlanDelReq                = pb.VpnConfigTemplatePlanDelReq
+	VpnConfigTemplatePlanDetailAddReq          = pb.VpnConfigTemplatePlanDetailAddReq
+	VpnConfigTemplatePlanDetailAddResp         = pb.VpnConfigTemplatePlanDetailAddResp
+	VpnConfigTemplatePlanDetailDelReq          = pb.VpnConfigTemplatePlanDetailDelReq
+	VpnConfigTemplatePlanDetailGetReq          = pb.VpnConfigTemplatePlanDetailGetReq
+	VpnConfigTemplatePlanDetailGetResp         = pb.VpnConfigTemplatePlanDetailGetResp
+	VpnConfigTemplatePlanDetailListReq         = pb.VpnConfigTemplatePlanDetailListReq
+	VpnConfigTemplatePlanDetailListResp        = pb.VpnConfigTemplatePlanDetailListResp
+	VpnConfigTemplatePlanDetailUpdateReq       = pb.VpnConfigTemplatePlanDetailUpdateReq
+	VpnConfigTemplatePlanDetailUpdateResp      = pb.VpnConfigTemplatePlanDetailUpdateResp
+	VpnConfigTemplatePlanDetailVo              = pb.VpnConfigTemplatePlanDetailVo
+	VpnConfigTemplatePlanGetReq                = pb.VpnConfigTemplatePlanGetReq
+	VpnConfigTemplatePlanGetResp               = pb.VpnConfigTemplatePlanGetResp
+	VpnConfigTemplatePlanListReq               = pb.VpnConfigTemplatePlanListReq
+	VpnConfigTemplatePlanListResp              = pb.VpnConfigTemplatePlanListResp
+	VpnConfigTemplatePlanUpdateReq             = pb.VpnConfigTemplatePlanUpdateReq
+	VpnConfigTemplatePlanUpdateResp            = pb.VpnConfigTemplatePlanUpdateResp
+	VpnConfigTemplatePlanVo                    = pb.VpnConfigTemplatePlanVo
 	VpnGroupAddReq                             = pb.VpnGroupAddReq
 	VpnGroupBatchAddReq                        = pb.VpnGroupBatchAddReq
 	VpnGroupBatchAddResp                       = pb.VpnGroupBatchAddResp

+ 20 - 0
pb/client/gopmpclient/go_pmp_client.go

@@ -206,6 +206,26 @@ type (
 	UserAppConfigListReq                       = pb.UserAppConfigListReq
 	UserAppConfigListRes                       = pb.UserAppConfigListRes
 	UserAppConfigVo                            = pb.UserAppConfigVo
+	VpnConfigTemplatePlanAddReq                = pb.VpnConfigTemplatePlanAddReq
+	VpnConfigTemplatePlanAddResp               = pb.VpnConfigTemplatePlanAddResp
+	VpnConfigTemplatePlanDelReq                = pb.VpnConfigTemplatePlanDelReq
+	VpnConfigTemplatePlanDetailAddReq          = pb.VpnConfigTemplatePlanDetailAddReq
+	VpnConfigTemplatePlanDetailAddResp         = pb.VpnConfigTemplatePlanDetailAddResp
+	VpnConfigTemplatePlanDetailDelReq          = pb.VpnConfigTemplatePlanDetailDelReq
+	VpnConfigTemplatePlanDetailGetReq          = pb.VpnConfigTemplatePlanDetailGetReq
+	VpnConfigTemplatePlanDetailGetResp         = pb.VpnConfigTemplatePlanDetailGetResp
+	VpnConfigTemplatePlanDetailListReq         = pb.VpnConfigTemplatePlanDetailListReq
+	VpnConfigTemplatePlanDetailListResp        = pb.VpnConfigTemplatePlanDetailListResp
+	VpnConfigTemplatePlanDetailUpdateReq       = pb.VpnConfigTemplatePlanDetailUpdateReq
+	VpnConfigTemplatePlanDetailUpdateResp      = pb.VpnConfigTemplatePlanDetailUpdateResp
+	VpnConfigTemplatePlanDetailVo              = pb.VpnConfigTemplatePlanDetailVo
+	VpnConfigTemplatePlanGetReq                = pb.VpnConfigTemplatePlanGetReq
+	VpnConfigTemplatePlanGetResp               = pb.VpnConfigTemplatePlanGetResp
+	VpnConfigTemplatePlanListReq               = pb.VpnConfigTemplatePlanListReq
+	VpnConfigTemplatePlanListResp              = pb.VpnConfigTemplatePlanListResp
+	VpnConfigTemplatePlanUpdateReq             = pb.VpnConfigTemplatePlanUpdateReq
+	VpnConfigTemplatePlanUpdateResp            = pb.VpnConfigTemplatePlanUpdateResp
+	VpnConfigTemplatePlanVo                    = pb.VpnConfigTemplatePlanVo
 	VpnGroupAddReq                             = pb.VpnGroupAddReq
 	VpnGroupBatchAddReq                        = pb.VpnGroupBatchAddReq
 	VpnGroupBatchAddResp                       = pb.VpnGroupBatchAddResp

+ 20 - 0
pb/client/goshortdramaclient/go_short_drama_client.go

@@ -206,6 +206,26 @@ type (
 	UserAppConfigListReq                       = pb.UserAppConfigListReq
 	UserAppConfigListRes                       = pb.UserAppConfigListRes
 	UserAppConfigVo                            = pb.UserAppConfigVo
+	VpnConfigTemplatePlanAddReq                = pb.VpnConfigTemplatePlanAddReq
+	VpnConfigTemplatePlanAddResp               = pb.VpnConfigTemplatePlanAddResp
+	VpnConfigTemplatePlanDelReq                = pb.VpnConfigTemplatePlanDelReq
+	VpnConfigTemplatePlanDetailAddReq          = pb.VpnConfigTemplatePlanDetailAddReq
+	VpnConfigTemplatePlanDetailAddResp         = pb.VpnConfigTemplatePlanDetailAddResp
+	VpnConfigTemplatePlanDetailDelReq          = pb.VpnConfigTemplatePlanDetailDelReq
+	VpnConfigTemplatePlanDetailGetReq          = pb.VpnConfigTemplatePlanDetailGetReq
+	VpnConfigTemplatePlanDetailGetResp         = pb.VpnConfigTemplatePlanDetailGetResp
+	VpnConfigTemplatePlanDetailListReq         = pb.VpnConfigTemplatePlanDetailListReq
+	VpnConfigTemplatePlanDetailListResp        = pb.VpnConfigTemplatePlanDetailListResp
+	VpnConfigTemplatePlanDetailUpdateReq       = pb.VpnConfigTemplatePlanDetailUpdateReq
+	VpnConfigTemplatePlanDetailUpdateResp      = pb.VpnConfigTemplatePlanDetailUpdateResp
+	VpnConfigTemplatePlanDetailVo              = pb.VpnConfigTemplatePlanDetailVo
+	VpnConfigTemplatePlanGetReq                = pb.VpnConfigTemplatePlanGetReq
+	VpnConfigTemplatePlanGetResp               = pb.VpnConfigTemplatePlanGetResp
+	VpnConfigTemplatePlanListReq               = pb.VpnConfigTemplatePlanListReq
+	VpnConfigTemplatePlanListResp              = pb.VpnConfigTemplatePlanListResp
+	VpnConfigTemplatePlanUpdateReq             = pb.VpnConfigTemplatePlanUpdateReq
+	VpnConfigTemplatePlanUpdateResp            = pb.VpnConfigTemplatePlanUpdateResp
+	VpnConfigTemplatePlanVo                    = pb.VpnConfigTemplatePlanVo
 	VpnGroupAddReq                             = pb.VpnGroupAddReq
 	VpnGroupBatchAddReq                        = pb.VpnGroupBatchAddReq
 	VpnGroupBatchAddResp                       = pb.VpnGroupBatchAddResp

+ 20 - 0
pb/client/gosysclient/go_sys_client.go

@@ -206,6 +206,26 @@ type (
 	UserAppConfigListReq                       = pb.UserAppConfigListReq
 	UserAppConfigListRes                       = pb.UserAppConfigListRes
 	UserAppConfigVo                            = pb.UserAppConfigVo
+	VpnConfigTemplatePlanAddReq                = pb.VpnConfigTemplatePlanAddReq
+	VpnConfigTemplatePlanAddResp               = pb.VpnConfigTemplatePlanAddResp
+	VpnConfigTemplatePlanDelReq                = pb.VpnConfigTemplatePlanDelReq
+	VpnConfigTemplatePlanDetailAddReq          = pb.VpnConfigTemplatePlanDetailAddReq
+	VpnConfigTemplatePlanDetailAddResp         = pb.VpnConfigTemplatePlanDetailAddResp
+	VpnConfigTemplatePlanDetailDelReq          = pb.VpnConfigTemplatePlanDetailDelReq
+	VpnConfigTemplatePlanDetailGetReq          = pb.VpnConfigTemplatePlanDetailGetReq
+	VpnConfigTemplatePlanDetailGetResp         = pb.VpnConfigTemplatePlanDetailGetResp
+	VpnConfigTemplatePlanDetailListReq         = pb.VpnConfigTemplatePlanDetailListReq
+	VpnConfigTemplatePlanDetailListResp        = pb.VpnConfigTemplatePlanDetailListResp
+	VpnConfigTemplatePlanDetailUpdateReq       = pb.VpnConfigTemplatePlanDetailUpdateReq
+	VpnConfigTemplatePlanDetailUpdateResp      = pb.VpnConfigTemplatePlanDetailUpdateResp
+	VpnConfigTemplatePlanDetailVo              = pb.VpnConfigTemplatePlanDetailVo
+	VpnConfigTemplatePlanGetReq                = pb.VpnConfigTemplatePlanGetReq
+	VpnConfigTemplatePlanGetResp               = pb.VpnConfigTemplatePlanGetResp
+	VpnConfigTemplatePlanListReq               = pb.VpnConfigTemplatePlanListReq
+	VpnConfigTemplatePlanListResp              = pb.VpnConfigTemplatePlanListResp
+	VpnConfigTemplatePlanUpdateReq             = pb.VpnConfigTemplatePlanUpdateReq
+	VpnConfigTemplatePlanUpdateResp            = pb.VpnConfigTemplatePlanUpdateResp
+	VpnConfigTemplatePlanVo                    = pb.VpnConfigTemplatePlanVo
 	VpnGroupAddReq                             = pb.VpnGroupAddReq
 	VpnGroupBatchAddReq                        = pb.VpnGroupBatchAddReq
 	VpnGroupBatchAddResp                       = pb.VpnGroupBatchAddResp

+ 20 - 0
pb/client/gouserclient/go_user_client.go

@@ -206,6 +206,26 @@ type (
 	UserAppConfigListReq                       = pb.UserAppConfigListReq
 	UserAppConfigListRes                       = pb.UserAppConfigListRes
 	UserAppConfigVo                            = pb.UserAppConfigVo
+	VpnConfigTemplatePlanAddReq                = pb.VpnConfigTemplatePlanAddReq
+	VpnConfigTemplatePlanAddResp               = pb.VpnConfigTemplatePlanAddResp
+	VpnConfigTemplatePlanDelReq                = pb.VpnConfigTemplatePlanDelReq
+	VpnConfigTemplatePlanDetailAddReq          = pb.VpnConfigTemplatePlanDetailAddReq
+	VpnConfigTemplatePlanDetailAddResp         = pb.VpnConfigTemplatePlanDetailAddResp
+	VpnConfigTemplatePlanDetailDelReq          = pb.VpnConfigTemplatePlanDetailDelReq
+	VpnConfigTemplatePlanDetailGetReq          = pb.VpnConfigTemplatePlanDetailGetReq
+	VpnConfigTemplatePlanDetailGetResp         = pb.VpnConfigTemplatePlanDetailGetResp
+	VpnConfigTemplatePlanDetailListReq         = pb.VpnConfigTemplatePlanDetailListReq
+	VpnConfigTemplatePlanDetailListResp        = pb.VpnConfigTemplatePlanDetailListResp
+	VpnConfigTemplatePlanDetailUpdateReq       = pb.VpnConfigTemplatePlanDetailUpdateReq
+	VpnConfigTemplatePlanDetailUpdateResp      = pb.VpnConfigTemplatePlanDetailUpdateResp
+	VpnConfigTemplatePlanDetailVo              = pb.VpnConfigTemplatePlanDetailVo
+	VpnConfigTemplatePlanGetReq                = pb.VpnConfigTemplatePlanGetReq
+	VpnConfigTemplatePlanGetResp               = pb.VpnConfigTemplatePlanGetResp
+	VpnConfigTemplatePlanListReq               = pb.VpnConfigTemplatePlanListReq
+	VpnConfigTemplatePlanListResp              = pb.VpnConfigTemplatePlanListResp
+	VpnConfigTemplatePlanUpdateReq             = pb.VpnConfigTemplatePlanUpdateReq
+	VpnConfigTemplatePlanUpdateResp            = pb.VpnConfigTemplatePlanUpdateResp
+	VpnConfigTemplatePlanVo                    = pb.VpnConfigTemplatePlanVo
 	VpnGroupAddReq                             = pb.VpnGroupAddReq
 	VpnGroupBatchAddReq                        = pb.VpnGroupBatchAddReq
 	VpnGroupBatchAddResp                       = pb.VpnGroupBatchAddResp

+ 82 - 0
pb/client/govpnclient/go_vpn_client.go

@@ -206,6 +206,26 @@ type (
 	UserAppConfigListReq                       = pb.UserAppConfigListReq
 	UserAppConfigListRes                       = pb.UserAppConfigListRes
 	UserAppConfigVo                            = pb.UserAppConfigVo
+	VpnConfigTemplatePlanAddReq                = pb.VpnConfigTemplatePlanAddReq
+	VpnConfigTemplatePlanAddResp               = pb.VpnConfigTemplatePlanAddResp
+	VpnConfigTemplatePlanDelReq                = pb.VpnConfigTemplatePlanDelReq
+	VpnConfigTemplatePlanDetailAddReq          = pb.VpnConfigTemplatePlanDetailAddReq
+	VpnConfigTemplatePlanDetailAddResp         = pb.VpnConfigTemplatePlanDetailAddResp
+	VpnConfigTemplatePlanDetailDelReq          = pb.VpnConfigTemplatePlanDetailDelReq
+	VpnConfigTemplatePlanDetailGetReq          = pb.VpnConfigTemplatePlanDetailGetReq
+	VpnConfigTemplatePlanDetailGetResp         = pb.VpnConfigTemplatePlanDetailGetResp
+	VpnConfigTemplatePlanDetailListReq         = pb.VpnConfigTemplatePlanDetailListReq
+	VpnConfigTemplatePlanDetailListResp        = pb.VpnConfigTemplatePlanDetailListResp
+	VpnConfigTemplatePlanDetailUpdateReq       = pb.VpnConfigTemplatePlanDetailUpdateReq
+	VpnConfigTemplatePlanDetailUpdateResp      = pb.VpnConfigTemplatePlanDetailUpdateResp
+	VpnConfigTemplatePlanDetailVo              = pb.VpnConfigTemplatePlanDetailVo
+	VpnConfigTemplatePlanGetReq                = pb.VpnConfigTemplatePlanGetReq
+	VpnConfigTemplatePlanGetResp               = pb.VpnConfigTemplatePlanGetResp
+	VpnConfigTemplatePlanListReq               = pb.VpnConfigTemplatePlanListReq
+	VpnConfigTemplatePlanListResp              = pb.VpnConfigTemplatePlanListResp
+	VpnConfigTemplatePlanUpdateReq             = pb.VpnConfigTemplatePlanUpdateReq
+	VpnConfigTemplatePlanUpdateResp            = pb.VpnConfigTemplatePlanUpdateResp
+	VpnConfigTemplatePlanVo                    = pb.VpnConfigTemplatePlanVo
 	VpnGroupAddReq                             = pb.VpnGroupAddReq
 	VpnGroupBatchAddReq                        = pb.VpnGroupBatchAddReq
 	VpnGroupBatchAddResp                       = pb.VpnGroupBatchAddResp
@@ -315,6 +335,17 @@ type (
 		VpnProbeTaskAdd(ctx context.Context, in *VpnProbeTaskVo, opts ...grpc.CallOption) (*VpnProbeTaskVo, error)
 		VpnProbeTaskUpdate(ctx context.Context, in *VpnProbeTaskVo, opts ...grpc.CallOption) (*Empty, error)
 		VpnProbeTaskList(ctx context.Context, in *VpnProbeTaskListReq, opts ...grpc.CallOption) (*VpnProbeTaskListResp, error)
+		// VpnConfigTemplatePlan
+		VpnConfigTemplatePlanAdd(ctx context.Context, in *VpnConfigTemplatePlanAddReq, opts ...grpc.CallOption) (*VpnConfigTemplatePlanAddResp, error)
+		VpnConfigTemplatePlanUpdate(ctx context.Context, in *VpnConfigTemplatePlanUpdateReq, opts ...grpc.CallOption) (*VpnConfigTemplatePlanUpdateResp, error)
+		VpnConfigTemplatePlanDel(ctx context.Context, in *VpnConfigTemplatePlanDelReq, opts ...grpc.CallOption) (*Empty, error)
+		VpnConfigTemplatePlanGet(ctx context.Context, in *VpnConfigTemplatePlanGetReq, opts ...grpc.CallOption) (*VpnConfigTemplatePlanGetResp, error)
+		VpnConfigTemplatePlanList(ctx context.Context, in *VpnConfigTemplatePlanListReq, opts ...grpc.CallOption) (*VpnConfigTemplatePlanListResp, error)
+		VpnConfigTemplatePlanDetailAdd(ctx context.Context, in *VpnConfigTemplatePlanDetailAddReq, opts ...grpc.CallOption) (*VpnConfigTemplatePlanDetailAddResp, error)
+		VpnConfigTemplatePlanDetailUpdate(ctx context.Context, in *VpnConfigTemplatePlanDetailUpdateReq, opts ...grpc.CallOption) (*VpnConfigTemplatePlanDetailUpdateResp, error)
+		VpnConfigTemplatePlanDetailDel(ctx context.Context, in *VpnConfigTemplatePlanDetailDelReq, opts ...grpc.CallOption) (*Empty, error)
+		VpnConfigTemplatePlanDetailGet(ctx context.Context, in *VpnConfigTemplatePlanDetailGetReq, opts ...grpc.CallOption) (*VpnConfigTemplatePlanDetailGetResp, error)
+		VpnConfigTemplatePlanDetailList(ctx context.Context, in *VpnConfigTemplatePlanDetailListReq, opts ...grpc.CallOption) (*VpnConfigTemplatePlanDetailListResp, error)
 	}
 
 	defaultGoVpnClient struct {
@@ -561,3 +592,54 @@ func (m *defaultGoVpnClient) VpnProbeTaskList(ctx context.Context, in *VpnProbeT
 	client := pb.NewGoVpnClientClient(m.cli.Conn())
 	return client.VpnProbeTaskList(ctx, in, opts...)
 }
+
+// VpnConfigTemplatePlan
+func (m *defaultGoVpnClient) VpnConfigTemplatePlanAdd(ctx context.Context, in *VpnConfigTemplatePlanAddReq, opts ...grpc.CallOption) (*VpnConfigTemplatePlanAddResp, error) {
+	client := pb.NewGoVpnClientClient(m.cli.Conn())
+	return client.VpnConfigTemplatePlanAdd(ctx, in, opts...)
+}
+
+func (m *defaultGoVpnClient) VpnConfigTemplatePlanUpdate(ctx context.Context, in *VpnConfigTemplatePlanUpdateReq, opts ...grpc.CallOption) (*VpnConfigTemplatePlanUpdateResp, error) {
+	client := pb.NewGoVpnClientClient(m.cli.Conn())
+	return client.VpnConfigTemplatePlanUpdate(ctx, in, opts...)
+}
+
+func (m *defaultGoVpnClient) VpnConfigTemplatePlanDel(ctx context.Context, in *VpnConfigTemplatePlanDelReq, opts ...grpc.CallOption) (*Empty, error) {
+	client := pb.NewGoVpnClientClient(m.cli.Conn())
+	return client.VpnConfigTemplatePlanDel(ctx, in, opts...)
+}
+
+func (m *defaultGoVpnClient) VpnConfigTemplatePlanGet(ctx context.Context, in *VpnConfigTemplatePlanGetReq, opts ...grpc.CallOption) (*VpnConfigTemplatePlanGetResp, error) {
+	client := pb.NewGoVpnClientClient(m.cli.Conn())
+	return client.VpnConfigTemplatePlanGet(ctx, in, opts...)
+}
+
+func (m *defaultGoVpnClient) VpnConfigTemplatePlanList(ctx context.Context, in *VpnConfigTemplatePlanListReq, opts ...grpc.CallOption) (*VpnConfigTemplatePlanListResp, error) {
+	client := pb.NewGoVpnClientClient(m.cli.Conn())
+	return client.VpnConfigTemplatePlanList(ctx, in, opts...)
+}
+
+func (m *defaultGoVpnClient) VpnConfigTemplatePlanDetailAdd(ctx context.Context, in *VpnConfigTemplatePlanDetailAddReq, opts ...grpc.CallOption) (*VpnConfigTemplatePlanDetailAddResp, error) {
+	client := pb.NewGoVpnClientClient(m.cli.Conn())
+	return client.VpnConfigTemplatePlanDetailAdd(ctx, in, opts...)
+}
+
+func (m *defaultGoVpnClient) VpnConfigTemplatePlanDetailUpdate(ctx context.Context, in *VpnConfigTemplatePlanDetailUpdateReq, opts ...grpc.CallOption) (*VpnConfigTemplatePlanDetailUpdateResp, error) {
+	client := pb.NewGoVpnClientClient(m.cli.Conn())
+	return client.VpnConfigTemplatePlanDetailUpdate(ctx, in, opts...)
+}
+
+func (m *defaultGoVpnClient) VpnConfigTemplatePlanDetailDel(ctx context.Context, in *VpnConfigTemplatePlanDetailDelReq, opts ...grpc.CallOption) (*Empty, error) {
+	client := pb.NewGoVpnClientClient(m.cli.Conn())
+	return client.VpnConfigTemplatePlanDetailDel(ctx, in, opts...)
+}
+
+func (m *defaultGoVpnClient) VpnConfigTemplatePlanDetailGet(ctx context.Context, in *VpnConfigTemplatePlanDetailGetReq, opts ...grpc.CallOption) (*VpnConfigTemplatePlanDetailGetResp, error) {
+	client := pb.NewGoVpnClientClient(m.cli.Conn())
+	return client.VpnConfigTemplatePlanDetailGet(ctx, in, opts...)
+}
+
+func (m *defaultGoVpnClient) VpnConfigTemplatePlanDetailList(ctx context.Context, in *VpnConfigTemplatePlanDetailListReq, opts ...grpc.CallOption) (*VpnConfigTemplatePlanDetailListResp, error) {
+	client := pb.NewGoVpnClientClient(m.cli.Conn())
+	return client.VpnConfigTemplatePlanDetailList(ctx, in, opts...)
+}

+ 128 - 0
pb/gorpc.proto

@@ -2250,6 +2250,114 @@ message VpnProbeTaskListResp {
   repeated VpnProbeTaskVo list = 2;
 }
 
+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;    // 数据版本
+}
+
+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; }
+
+message VpnConfigTemplatePlanUpdateResp { VpnConfigTemplatePlanVo vo = 1; }
+
+message VpnConfigTemplatePlanDelReq { repeated int64 ids = 1; }
+
+message VpnConfigTemplatePlanGetReq { VpnConfigTemplatePlanVo vo = 1; }
+
+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;
+}
+
+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);
@@ -2320,4 +2428,24 @@ service GoVpnClient {
   rpc VpnProbeTaskAdd(VpnProbeTaskVo) returns (VpnProbeTaskVo);
   rpc VpnProbeTaskUpdate(VpnProbeTaskVo) returns (Empty);
   rpc VpnProbeTaskList(VpnProbeTaskListReq) returns (VpnProbeTaskListResp);
+
+  // VpnConfigTemplatePlan
+  rpc VpnConfigTemplatePlanAdd(VpnConfigTemplatePlanAddReq)
+      returns (VpnConfigTemplatePlanAddResp);
+  rpc VpnConfigTemplatePlanUpdate(VpnConfigTemplatePlanUpdateReq)
+      returns (VpnConfigTemplatePlanUpdateResp);
+  rpc VpnConfigTemplatePlanDel(VpnConfigTemplatePlanDelReq) returns (Empty);
+  rpc VpnConfigTemplatePlanGet(VpnConfigTemplatePlanGetReq)
+      returns (VpnConfigTemplatePlanGetResp);
+  rpc VpnConfigTemplatePlanList(VpnConfigTemplatePlanListReq)
+      returns (VpnConfigTemplatePlanListResp);
+  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);
 }

文件差异内容过多而无法显示
+ 1184 - 0
pb/pb/gorpc.pb.go


+ 427 - 45
pb/pb/gorpc_grpc.pb.go

@@ -8985,51 +8985,61 @@ var GoUserClient_ServiceDesc = grpc.ServiceDesc{
 }
 
 const (
-	GoVpnClient_Ping_FullMethodName                    = "/gorpc.GoVpnClient/Ping"
-	GoVpnClient_Transaction_FullMethodName             = "/gorpc.GoVpnClient/Transaction"
-	GoVpnClient_VpnTagAdd_FullMethodName               = "/gorpc.GoVpnClient/VpnTagAdd"
-	GoVpnClient_VpnTagUpdate_FullMethodName            = "/gorpc.GoVpnClient/VpnTagUpdate"
-	GoVpnClient_VpnTagDel_FullMethodName               = "/gorpc.GoVpnClient/VpnTagDel"
-	GoVpnClient_VpnTagGet_FullMethodName               = "/gorpc.GoVpnClient/VpnTagGet"
-	GoVpnClient_VpnTagList_FullMethodName              = "/gorpc.GoVpnClient/VpnTagList"
-	GoVpnClient_VpnTagBatchAdd_FullMethodName          = "/gorpc.GoVpnClient/VpnTagBatchAdd"
-	GoVpnClient_VpnTagBatchUpdate_FullMethodName       = "/gorpc.GoVpnClient/VpnTagBatchUpdate"
-	GoVpnClient_VpnGroupAdd_FullMethodName             = "/gorpc.GoVpnClient/VpnGroupAdd"
-	GoVpnClient_VpnGroupUpdate_FullMethodName          = "/gorpc.GoVpnClient/VpnGroupUpdate"
-	GoVpnClient_VpnGroupDel_FullMethodName             = "/gorpc.GoVpnClient/VpnGroupDel"
-	GoVpnClient_VpnGroupGet_FullMethodName             = "/gorpc.GoVpnClient/VpnGroupGet"
-	GoVpnClient_VpnGroupList_FullMethodName            = "/gorpc.GoVpnClient/VpnGroupList"
-	GoVpnClient_VpnGroupBatchAdd_FullMethodName        = "/gorpc.GoVpnClient/VpnGroupBatchAdd"
-	GoVpnClient_VpnGroupBatchUpdate_FullMethodName     = "/gorpc.GoVpnClient/VpnGroupBatchUpdate"
-	GoVpnClient_VpnGroupTagAdd_FullMethodName          = "/gorpc.GoVpnClient/VpnGroupTagAdd"
-	GoVpnClient_VpnGroupTagUpdate_FullMethodName       = "/gorpc.GoVpnClient/VpnGroupTagUpdate"
-	GoVpnClient_VpnGroupTagDel_FullMethodName          = "/gorpc.GoVpnClient/VpnGroupTagDel"
-	GoVpnClient_VpnGroupTagGet_FullMethodName          = "/gorpc.GoVpnClient/VpnGroupTagGet"
-	GoVpnClient_VpnGroupTagList_FullMethodName         = "/gorpc.GoVpnClient/VpnGroupTagList"
-	GoVpnClient_VpnLocationAdd_FullMethodName          = "/gorpc.GoVpnClient/VpnLocationAdd"
-	GoVpnClient_VpnLocationUpdate_FullMethodName       = "/gorpc.GoVpnClient/VpnLocationUpdate"
-	GoVpnClient_VpnLocationDel_FullMethodName          = "/gorpc.GoVpnClient/VpnLocationDel"
-	GoVpnClient_VpnLocationGet_FullMethodName          = "/gorpc.GoVpnClient/VpnLocationGet"
-	GoVpnClient_VpnLocationList_FullMethodName         = "/gorpc.GoVpnClient/VpnLocationList"
-	GoVpnClient_VpnLocationBatchAdd_FullMethodName     = "/gorpc.GoVpnClient/VpnLocationBatchAdd"
-	GoVpnClient_VpnLocationBatchUpdate_FullMethodName  = "/gorpc.GoVpnClient/VpnLocationBatchUpdate"
-	GoVpnClient_VpnServerAdd_FullMethodName            = "/gorpc.GoVpnClient/VpnServerAdd"
-	GoVpnClient_VpnServerUpdate_FullMethodName         = "/gorpc.GoVpnClient/VpnServerUpdate"
-	GoVpnClient_VpnServerDel_FullMethodName            = "/gorpc.GoVpnClient/VpnServerDel"
-	GoVpnClient_VpnServerGet_FullMethodName            = "/gorpc.GoVpnClient/VpnServerGet"
-	GoVpnClient_VpnServerList_FullMethodName           = "/gorpc.GoVpnClient/VpnServerList"
-	GoVpnClient_VpnServerExList_FullMethodName         = "/gorpc.GoVpnClient/VpnServerExList"
-	GoVpnClient_VpnServerBatchAdd_FullMethodName       = "/gorpc.GoVpnClient/VpnServerBatchAdd"
-	GoVpnClient_VpnServerBatchUpdate_FullMethodName    = "/gorpc.GoVpnClient/VpnServerBatchUpdate"
-	GoVpnClient_VpnServerLocationAdd_FullMethodName    = "/gorpc.GoVpnClient/VpnServerLocationAdd"
-	GoVpnClient_VpnServerLocationUpdate_FullMethodName = "/gorpc.GoVpnClient/VpnServerLocationUpdate"
-	GoVpnClient_VpnServerLocationDel_FullMethodName    = "/gorpc.GoVpnClient/VpnServerLocationDel"
-	GoVpnClient_VpnServerLocationGet_FullMethodName    = "/gorpc.GoVpnClient/VpnServerLocationGet"
-	GoVpnClient_VpnServerLocationList_FullMethodName   = "/gorpc.GoVpnClient/VpnServerLocationList"
-	GoVpnClient_VpnLocationServerCount_FullMethodName  = "/gorpc.GoVpnClient/VpnLocationServerCount"
-	GoVpnClient_VpnProbeTaskAdd_FullMethodName         = "/gorpc.GoVpnClient/VpnProbeTaskAdd"
-	GoVpnClient_VpnProbeTaskUpdate_FullMethodName      = "/gorpc.GoVpnClient/VpnProbeTaskUpdate"
-	GoVpnClient_VpnProbeTaskList_FullMethodName        = "/gorpc.GoVpnClient/VpnProbeTaskList"
+	GoVpnClient_Ping_FullMethodName                              = "/gorpc.GoVpnClient/Ping"
+	GoVpnClient_Transaction_FullMethodName                       = "/gorpc.GoVpnClient/Transaction"
+	GoVpnClient_VpnTagAdd_FullMethodName                         = "/gorpc.GoVpnClient/VpnTagAdd"
+	GoVpnClient_VpnTagUpdate_FullMethodName                      = "/gorpc.GoVpnClient/VpnTagUpdate"
+	GoVpnClient_VpnTagDel_FullMethodName                         = "/gorpc.GoVpnClient/VpnTagDel"
+	GoVpnClient_VpnTagGet_FullMethodName                         = "/gorpc.GoVpnClient/VpnTagGet"
+	GoVpnClient_VpnTagList_FullMethodName                        = "/gorpc.GoVpnClient/VpnTagList"
+	GoVpnClient_VpnTagBatchAdd_FullMethodName                    = "/gorpc.GoVpnClient/VpnTagBatchAdd"
+	GoVpnClient_VpnTagBatchUpdate_FullMethodName                 = "/gorpc.GoVpnClient/VpnTagBatchUpdate"
+	GoVpnClient_VpnGroupAdd_FullMethodName                       = "/gorpc.GoVpnClient/VpnGroupAdd"
+	GoVpnClient_VpnGroupUpdate_FullMethodName                    = "/gorpc.GoVpnClient/VpnGroupUpdate"
+	GoVpnClient_VpnGroupDel_FullMethodName                       = "/gorpc.GoVpnClient/VpnGroupDel"
+	GoVpnClient_VpnGroupGet_FullMethodName                       = "/gorpc.GoVpnClient/VpnGroupGet"
+	GoVpnClient_VpnGroupList_FullMethodName                      = "/gorpc.GoVpnClient/VpnGroupList"
+	GoVpnClient_VpnGroupBatchAdd_FullMethodName                  = "/gorpc.GoVpnClient/VpnGroupBatchAdd"
+	GoVpnClient_VpnGroupBatchUpdate_FullMethodName               = "/gorpc.GoVpnClient/VpnGroupBatchUpdate"
+	GoVpnClient_VpnGroupTagAdd_FullMethodName                    = "/gorpc.GoVpnClient/VpnGroupTagAdd"
+	GoVpnClient_VpnGroupTagUpdate_FullMethodName                 = "/gorpc.GoVpnClient/VpnGroupTagUpdate"
+	GoVpnClient_VpnGroupTagDel_FullMethodName                    = "/gorpc.GoVpnClient/VpnGroupTagDel"
+	GoVpnClient_VpnGroupTagGet_FullMethodName                    = "/gorpc.GoVpnClient/VpnGroupTagGet"
+	GoVpnClient_VpnGroupTagList_FullMethodName                   = "/gorpc.GoVpnClient/VpnGroupTagList"
+	GoVpnClient_VpnLocationAdd_FullMethodName                    = "/gorpc.GoVpnClient/VpnLocationAdd"
+	GoVpnClient_VpnLocationUpdate_FullMethodName                 = "/gorpc.GoVpnClient/VpnLocationUpdate"
+	GoVpnClient_VpnLocationDel_FullMethodName                    = "/gorpc.GoVpnClient/VpnLocationDel"
+	GoVpnClient_VpnLocationGet_FullMethodName                    = "/gorpc.GoVpnClient/VpnLocationGet"
+	GoVpnClient_VpnLocationList_FullMethodName                   = "/gorpc.GoVpnClient/VpnLocationList"
+	GoVpnClient_VpnLocationBatchAdd_FullMethodName               = "/gorpc.GoVpnClient/VpnLocationBatchAdd"
+	GoVpnClient_VpnLocationBatchUpdate_FullMethodName            = "/gorpc.GoVpnClient/VpnLocationBatchUpdate"
+	GoVpnClient_VpnServerAdd_FullMethodName                      = "/gorpc.GoVpnClient/VpnServerAdd"
+	GoVpnClient_VpnServerUpdate_FullMethodName                   = "/gorpc.GoVpnClient/VpnServerUpdate"
+	GoVpnClient_VpnServerDel_FullMethodName                      = "/gorpc.GoVpnClient/VpnServerDel"
+	GoVpnClient_VpnServerGet_FullMethodName                      = "/gorpc.GoVpnClient/VpnServerGet"
+	GoVpnClient_VpnServerList_FullMethodName                     = "/gorpc.GoVpnClient/VpnServerList"
+	GoVpnClient_VpnServerExList_FullMethodName                   = "/gorpc.GoVpnClient/VpnServerExList"
+	GoVpnClient_VpnServerBatchAdd_FullMethodName                 = "/gorpc.GoVpnClient/VpnServerBatchAdd"
+	GoVpnClient_VpnServerBatchUpdate_FullMethodName              = "/gorpc.GoVpnClient/VpnServerBatchUpdate"
+	GoVpnClient_VpnServerLocationAdd_FullMethodName              = "/gorpc.GoVpnClient/VpnServerLocationAdd"
+	GoVpnClient_VpnServerLocationUpdate_FullMethodName           = "/gorpc.GoVpnClient/VpnServerLocationUpdate"
+	GoVpnClient_VpnServerLocationDel_FullMethodName              = "/gorpc.GoVpnClient/VpnServerLocationDel"
+	GoVpnClient_VpnServerLocationGet_FullMethodName              = "/gorpc.GoVpnClient/VpnServerLocationGet"
+	GoVpnClient_VpnServerLocationList_FullMethodName             = "/gorpc.GoVpnClient/VpnServerLocationList"
+	GoVpnClient_VpnLocationServerCount_FullMethodName            = "/gorpc.GoVpnClient/VpnLocationServerCount"
+	GoVpnClient_VpnProbeTaskAdd_FullMethodName                   = "/gorpc.GoVpnClient/VpnProbeTaskAdd"
+	GoVpnClient_VpnProbeTaskUpdate_FullMethodName                = "/gorpc.GoVpnClient/VpnProbeTaskUpdate"
+	GoVpnClient_VpnProbeTaskList_FullMethodName                  = "/gorpc.GoVpnClient/VpnProbeTaskList"
+	GoVpnClient_VpnConfigTemplatePlanAdd_FullMethodName          = "/gorpc.GoVpnClient/VpnConfigTemplatePlanAdd"
+	GoVpnClient_VpnConfigTemplatePlanUpdate_FullMethodName       = "/gorpc.GoVpnClient/VpnConfigTemplatePlanUpdate"
+	GoVpnClient_VpnConfigTemplatePlanDel_FullMethodName          = "/gorpc.GoVpnClient/VpnConfigTemplatePlanDel"
+	GoVpnClient_VpnConfigTemplatePlanGet_FullMethodName          = "/gorpc.GoVpnClient/VpnConfigTemplatePlanGet"
+	GoVpnClient_VpnConfigTemplatePlanList_FullMethodName         = "/gorpc.GoVpnClient/VpnConfigTemplatePlanList"
+	GoVpnClient_VpnConfigTemplatePlanDetailAdd_FullMethodName    = "/gorpc.GoVpnClient/VpnConfigTemplatePlanDetailAdd"
+	GoVpnClient_VpnConfigTemplatePlanDetailUpdate_FullMethodName = "/gorpc.GoVpnClient/VpnConfigTemplatePlanDetailUpdate"
+	GoVpnClient_VpnConfigTemplatePlanDetailDel_FullMethodName    = "/gorpc.GoVpnClient/VpnConfigTemplatePlanDetailDel"
+	GoVpnClient_VpnConfigTemplatePlanDetailGet_FullMethodName    = "/gorpc.GoVpnClient/VpnConfigTemplatePlanDetailGet"
+	GoVpnClient_VpnConfigTemplatePlanDetailList_FullMethodName   = "/gorpc.GoVpnClient/VpnConfigTemplatePlanDetailList"
 )
 
 // GoVpnClientClient is the client API for GoVpnClient service.
@@ -9092,6 +9102,17 @@ type GoVpnClientClient interface {
 	VpnProbeTaskAdd(ctx context.Context, in *VpnProbeTaskVo, opts ...grpc.CallOption) (*VpnProbeTaskVo, error)
 	VpnProbeTaskUpdate(ctx context.Context, in *VpnProbeTaskVo, opts ...grpc.CallOption) (*Empty, error)
 	VpnProbeTaskList(ctx context.Context, in *VpnProbeTaskListReq, opts ...grpc.CallOption) (*VpnProbeTaskListResp, error)
+	// VpnConfigTemplatePlan
+	VpnConfigTemplatePlanAdd(ctx context.Context, in *VpnConfigTemplatePlanAddReq, opts ...grpc.CallOption) (*VpnConfigTemplatePlanAddResp, error)
+	VpnConfigTemplatePlanUpdate(ctx context.Context, in *VpnConfigTemplatePlanUpdateReq, opts ...grpc.CallOption) (*VpnConfigTemplatePlanUpdateResp, error)
+	VpnConfigTemplatePlanDel(ctx context.Context, in *VpnConfigTemplatePlanDelReq, opts ...grpc.CallOption) (*Empty, error)
+	VpnConfigTemplatePlanGet(ctx context.Context, in *VpnConfigTemplatePlanGetReq, opts ...grpc.CallOption) (*VpnConfigTemplatePlanGetResp, error)
+	VpnConfigTemplatePlanList(ctx context.Context, in *VpnConfigTemplatePlanListReq, opts ...grpc.CallOption) (*VpnConfigTemplatePlanListResp, error)
+	VpnConfigTemplatePlanDetailAdd(ctx context.Context, in *VpnConfigTemplatePlanDetailAddReq, opts ...grpc.CallOption) (*VpnConfigTemplatePlanDetailAddResp, error)
+	VpnConfigTemplatePlanDetailUpdate(ctx context.Context, in *VpnConfigTemplatePlanDetailUpdateReq, opts ...grpc.CallOption) (*VpnConfigTemplatePlanDetailUpdateResp, error)
+	VpnConfigTemplatePlanDetailDel(ctx context.Context, in *VpnConfigTemplatePlanDetailDelReq, opts ...grpc.CallOption) (*Empty, error)
+	VpnConfigTemplatePlanDetailGet(ctx context.Context, in *VpnConfigTemplatePlanDetailGetReq, opts ...grpc.CallOption) (*VpnConfigTemplatePlanDetailGetResp, error)
+	VpnConfigTemplatePlanDetailList(ctx context.Context, in *VpnConfigTemplatePlanDetailListReq, opts ...grpc.CallOption) (*VpnConfigTemplatePlanDetailListResp, error)
 }
 
 type goVpnClientClient struct {
@@ -9552,6 +9573,106 @@ func (c *goVpnClientClient) VpnProbeTaskList(ctx context.Context, in *VpnProbeTa
 	return out, nil
 }
 
+func (c *goVpnClientClient) VpnConfigTemplatePlanAdd(ctx context.Context, in *VpnConfigTemplatePlanAddReq, opts ...grpc.CallOption) (*VpnConfigTemplatePlanAddResp, error) {
+	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
+	out := new(VpnConfigTemplatePlanAddResp)
+	err := c.cc.Invoke(ctx, GoVpnClient_VpnConfigTemplatePlanAdd_FullMethodName, in, out, cOpts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *goVpnClientClient) VpnConfigTemplatePlanUpdate(ctx context.Context, in *VpnConfigTemplatePlanUpdateReq, opts ...grpc.CallOption) (*VpnConfigTemplatePlanUpdateResp, error) {
+	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
+	out := new(VpnConfigTemplatePlanUpdateResp)
+	err := c.cc.Invoke(ctx, GoVpnClient_VpnConfigTemplatePlanUpdate_FullMethodName, in, out, cOpts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *goVpnClientClient) VpnConfigTemplatePlanDel(ctx context.Context, in *VpnConfigTemplatePlanDelReq, opts ...grpc.CallOption) (*Empty, error) {
+	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
+	out := new(Empty)
+	err := c.cc.Invoke(ctx, GoVpnClient_VpnConfigTemplatePlanDel_FullMethodName, in, out, cOpts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *goVpnClientClient) VpnConfigTemplatePlanGet(ctx context.Context, in *VpnConfigTemplatePlanGetReq, opts ...grpc.CallOption) (*VpnConfigTemplatePlanGetResp, error) {
+	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
+	out := new(VpnConfigTemplatePlanGetResp)
+	err := c.cc.Invoke(ctx, GoVpnClient_VpnConfigTemplatePlanGet_FullMethodName, in, out, cOpts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *goVpnClientClient) VpnConfigTemplatePlanList(ctx context.Context, in *VpnConfigTemplatePlanListReq, opts ...grpc.CallOption) (*VpnConfigTemplatePlanListResp, error) {
+	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
+	out := new(VpnConfigTemplatePlanListResp)
+	err := c.cc.Invoke(ctx, GoVpnClient_VpnConfigTemplatePlanList_FullMethodName, in, out, cOpts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *goVpnClientClient) VpnConfigTemplatePlanDetailAdd(ctx context.Context, in *VpnConfigTemplatePlanDetailAddReq, opts ...grpc.CallOption) (*VpnConfigTemplatePlanDetailAddResp, error) {
+	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
+	out := new(VpnConfigTemplatePlanDetailAddResp)
+	err := c.cc.Invoke(ctx, GoVpnClient_VpnConfigTemplatePlanDetailAdd_FullMethodName, in, out, cOpts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *goVpnClientClient) VpnConfigTemplatePlanDetailUpdate(ctx context.Context, in *VpnConfigTemplatePlanDetailUpdateReq, opts ...grpc.CallOption) (*VpnConfigTemplatePlanDetailUpdateResp, error) {
+	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
+	out := new(VpnConfigTemplatePlanDetailUpdateResp)
+	err := c.cc.Invoke(ctx, GoVpnClient_VpnConfigTemplatePlanDetailUpdate_FullMethodName, in, out, cOpts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *goVpnClientClient) VpnConfigTemplatePlanDetailDel(ctx context.Context, in *VpnConfigTemplatePlanDetailDelReq, opts ...grpc.CallOption) (*Empty, error) {
+	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
+	out := new(Empty)
+	err := c.cc.Invoke(ctx, GoVpnClient_VpnConfigTemplatePlanDetailDel_FullMethodName, in, out, cOpts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *goVpnClientClient) VpnConfigTemplatePlanDetailGet(ctx context.Context, in *VpnConfigTemplatePlanDetailGetReq, opts ...grpc.CallOption) (*VpnConfigTemplatePlanDetailGetResp, error) {
+	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
+	out := new(VpnConfigTemplatePlanDetailGetResp)
+	err := c.cc.Invoke(ctx, GoVpnClient_VpnConfigTemplatePlanDetailGet_FullMethodName, in, out, cOpts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *goVpnClientClient) VpnConfigTemplatePlanDetailList(ctx context.Context, in *VpnConfigTemplatePlanDetailListReq, opts ...grpc.CallOption) (*VpnConfigTemplatePlanDetailListResp, error) {
+	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
+	out := new(VpnConfigTemplatePlanDetailListResp)
+	err := c.cc.Invoke(ctx, GoVpnClient_VpnConfigTemplatePlanDetailList_FullMethodName, in, out, cOpts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
 // GoVpnClientServer is the server API for GoVpnClient service.
 // All implementations must embed UnimplementedGoVpnClientServer
 // for forward compatibility.
@@ -9612,6 +9733,17 @@ type GoVpnClientServer interface {
 	VpnProbeTaskAdd(context.Context, *VpnProbeTaskVo) (*VpnProbeTaskVo, error)
 	VpnProbeTaskUpdate(context.Context, *VpnProbeTaskVo) (*Empty, error)
 	VpnProbeTaskList(context.Context, *VpnProbeTaskListReq) (*VpnProbeTaskListResp, error)
+	// VpnConfigTemplatePlan
+	VpnConfigTemplatePlanAdd(context.Context, *VpnConfigTemplatePlanAddReq) (*VpnConfigTemplatePlanAddResp, error)
+	VpnConfigTemplatePlanUpdate(context.Context, *VpnConfigTemplatePlanUpdateReq) (*VpnConfigTemplatePlanUpdateResp, error)
+	VpnConfigTemplatePlanDel(context.Context, *VpnConfigTemplatePlanDelReq) (*Empty, error)
+	VpnConfigTemplatePlanGet(context.Context, *VpnConfigTemplatePlanGetReq) (*VpnConfigTemplatePlanGetResp, error)
+	VpnConfigTemplatePlanList(context.Context, *VpnConfigTemplatePlanListReq) (*VpnConfigTemplatePlanListResp, error)
+	VpnConfigTemplatePlanDetailAdd(context.Context, *VpnConfigTemplatePlanDetailAddReq) (*VpnConfigTemplatePlanDetailAddResp, error)
+	VpnConfigTemplatePlanDetailUpdate(context.Context, *VpnConfigTemplatePlanDetailUpdateReq) (*VpnConfigTemplatePlanDetailUpdateResp, error)
+	VpnConfigTemplatePlanDetailDel(context.Context, *VpnConfigTemplatePlanDetailDelReq) (*Empty, error)
+	VpnConfigTemplatePlanDetailGet(context.Context, *VpnConfigTemplatePlanDetailGetReq) (*VpnConfigTemplatePlanDetailGetResp, error)
+	VpnConfigTemplatePlanDetailList(context.Context, *VpnConfigTemplatePlanDetailListReq) (*VpnConfigTemplatePlanDetailListResp, error)
 	mustEmbedUnimplementedGoVpnClientServer()
 }
 
@@ -9757,6 +9889,36 @@ func (UnimplementedGoVpnClientServer) VpnProbeTaskUpdate(context.Context, *VpnPr
 func (UnimplementedGoVpnClientServer) VpnProbeTaskList(context.Context, *VpnProbeTaskListReq) (*VpnProbeTaskListResp, error) {
 	return nil, status.Errorf(codes.Unimplemented, "method VpnProbeTaskList not implemented")
 }
+func (UnimplementedGoVpnClientServer) VpnConfigTemplatePlanAdd(context.Context, *VpnConfigTemplatePlanAddReq) (*VpnConfigTemplatePlanAddResp, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method VpnConfigTemplatePlanAdd not implemented")
+}
+func (UnimplementedGoVpnClientServer) VpnConfigTemplatePlanUpdate(context.Context, *VpnConfigTemplatePlanUpdateReq) (*VpnConfigTemplatePlanUpdateResp, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method VpnConfigTemplatePlanUpdate not implemented")
+}
+func (UnimplementedGoVpnClientServer) VpnConfigTemplatePlanDel(context.Context, *VpnConfigTemplatePlanDelReq) (*Empty, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method VpnConfigTemplatePlanDel not implemented")
+}
+func (UnimplementedGoVpnClientServer) VpnConfigTemplatePlanGet(context.Context, *VpnConfigTemplatePlanGetReq) (*VpnConfigTemplatePlanGetResp, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method VpnConfigTemplatePlanGet not implemented")
+}
+func (UnimplementedGoVpnClientServer) VpnConfigTemplatePlanList(context.Context, *VpnConfigTemplatePlanListReq) (*VpnConfigTemplatePlanListResp, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method VpnConfigTemplatePlanList not implemented")
+}
+func (UnimplementedGoVpnClientServer) VpnConfigTemplatePlanDetailAdd(context.Context, *VpnConfigTemplatePlanDetailAddReq) (*VpnConfigTemplatePlanDetailAddResp, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method VpnConfigTemplatePlanDetailAdd not implemented")
+}
+func (UnimplementedGoVpnClientServer) VpnConfigTemplatePlanDetailUpdate(context.Context, *VpnConfigTemplatePlanDetailUpdateReq) (*VpnConfigTemplatePlanDetailUpdateResp, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method VpnConfigTemplatePlanDetailUpdate not implemented")
+}
+func (UnimplementedGoVpnClientServer) VpnConfigTemplatePlanDetailDel(context.Context, *VpnConfigTemplatePlanDetailDelReq) (*Empty, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method VpnConfigTemplatePlanDetailDel not implemented")
+}
+func (UnimplementedGoVpnClientServer) VpnConfigTemplatePlanDetailGet(context.Context, *VpnConfigTemplatePlanDetailGetReq) (*VpnConfigTemplatePlanDetailGetResp, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method VpnConfigTemplatePlanDetailGet not implemented")
+}
+func (UnimplementedGoVpnClientServer) VpnConfigTemplatePlanDetailList(context.Context, *VpnConfigTemplatePlanDetailListReq) (*VpnConfigTemplatePlanDetailListResp, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method VpnConfigTemplatePlanDetailList not implemented")
+}
 func (UnimplementedGoVpnClientServer) mustEmbedUnimplementedGoVpnClientServer() {}
 func (UnimplementedGoVpnClientServer) testEmbeddedByValue()                     {}
 
@@ -10588,6 +10750,186 @@ func _GoVpnClient_VpnProbeTaskList_Handler(srv interface{}, ctx context.Context,
 	return interceptor(ctx, in, info, handler)
 }
 
+func _GoVpnClient_VpnConfigTemplatePlanAdd_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(VpnConfigTemplatePlanAddReq)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(GoVpnClientServer).VpnConfigTemplatePlanAdd(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: GoVpnClient_VpnConfigTemplatePlanAdd_FullMethodName,
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(GoVpnClientServer).VpnConfigTemplatePlanAdd(ctx, req.(*VpnConfigTemplatePlanAddReq))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _GoVpnClient_VpnConfigTemplatePlanUpdate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(VpnConfigTemplatePlanUpdateReq)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(GoVpnClientServer).VpnConfigTemplatePlanUpdate(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: GoVpnClient_VpnConfigTemplatePlanUpdate_FullMethodName,
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(GoVpnClientServer).VpnConfigTemplatePlanUpdate(ctx, req.(*VpnConfigTemplatePlanUpdateReq))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _GoVpnClient_VpnConfigTemplatePlanDel_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(VpnConfigTemplatePlanDelReq)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(GoVpnClientServer).VpnConfigTemplatePlanDel(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: GoVpnClient_VpnConfigTemplatePlanDel_FullMethodName,
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(GoVpnClientServer).VpnConfigTemplatePlanDel(ctx, req.(*VpnConfigTemplatePlanDelReq))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _GoVpnClient_VpnConfigTemplatePlanGet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(VpnConfigTemplatePlanGetReq)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(GoVpnClientServer).VpnConfigTemplatePlanGet(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: GoVpnClient_VpnConfigTemplatePlanGet_FullMethodName,
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(GoVpnClientServer).VpnConfigTemplatePlanGet(ctx, req.(*VpnConfigTemplatePlanGetReq))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _GoVpnClient_VpnConfigTemplatePlanList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(VpnConfigTemplatePlanListReq)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(GoVpnClientServer).VpnConfigTemplatePlanList(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: GoVpnClient_VpnConfigTemplatePlanList_FullMethodName,
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(GoVpnClientServer).VpnConfigTemplatePlanList(ctx, req.(*VpnConfigTemplatePlanListReq))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _GoVpnClient_VpnConfigTemplatePlanDetailAdd_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(VpnConfigTemplatePlanDetailAddReq)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(GoVpnClientServer).VpnConfigTemplatePlanDetailAdd(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: GoVpnClient_VpnConfigTemplatePlanDetailAdd_FullMethodName,
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(GoVpnClientServer).VpnConfigTemplatePlanDetailAdd(ctx, req.(*VpnConfigTemplatePlanDetailAddReq))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _GoVpnClient_VpnConfigTemplatePlanDetailUpdate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(VpnConfigTemplatePlanDetailUpdateReq)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(GoVpnClientServer).VpnConfigTemplatePlanDetailUpdate(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: GoVpnClient_VpnConfigTemplatePlanDetailUpdate_FullMethodName,
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(GoVpnClientServer).VpnConfigTemplatePlanDetailUpdate(ctx, req.(*VpnConfigTemplatePlanDetailUpdateReq))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _GoVpnClient_VpnConfigTemplatePlanDetailDel_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(VpnConfigTemplatePlanDetailDelReq)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(GoVpnClientServer).VpnConfigTemplatePlanDetailDel(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: GoVpnClient_VpnConfigTemplatePlanDetailDel_FullMethodName,
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(GoVpnClientServer).VpnConfigTemplatePlanDetailDel(ctx, req.(*VpnConfigTemplatePlanDetailDelReq))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _GoVpnClient_VpnConfigTemplatePlanDetailGet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(VpnConfigTemplatePlanDetailGetReq)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(GoVpnClientServer).VpnConfigTemplatePlanDetailGet(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: GoVpnClient_VpnConfigTemplatePlanDetailGet_FullMethodName,
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(GoVpnClientServer).VpnConfigTemplatePlanDetailGet(ctx, req.(*VpnConfigTemplatePlanDetailGetReq))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _GoVpnClient_VpnConfigTemplatePlanDetailList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(VpnConfigTemplatePlanDetailListReq)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(GoVpnClientServer).VpnConfigTemplatePlanDetailList(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: GoVpnClient_VpnConfigTemplatePlanDetailList_FullMethodName,
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(GoVpnClientServer).VpnConfigTemplatePlanDetailList(ctx, req.(*VpnConfigTemplatePlanDetailListReq))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
 // GoVpnClient_ServiceDesc is the grpc.ServiceDesc for GoVpnClient service.
 // It's only intended for direct use with grpc.RegisterService,
 // and not to be introspected or modified (even as a copy)
@@ -10775,6 +11117,46 @@ var GoVpnClient_ServiceDesc = grpc.ServiceDesc{
 			MethodName: "VpnProbeTaskList",
 			Handler:    _GoVpnClient_VpnProbeTaskList_Handler,
 		},
+		{
+			MethodName: "VpnConfigTemplatePlanAdd",
+			Handler:    _GoVpnClient_VpnConfigTemplatePlanAdd_Handler,
+		},
+		{
+			MethodName: "VpnConfigTemplatePlanUpdate",
+			Handler:    _GoVpnClient_VpnConfigTemplatePlanUpdate_Handler,
+		},
+		{
+			MethodName: "VpnConfigTemplatePlanDel",
+			Handler:    _GoVpnClient_VpnConfigTemplatePlanDel_Handler,
+		},
+		{
+			MethodName: "VpnConfigTemplatePlanGet",
+			Handler:    _GoVpnClient_VpnConfigTemplatePlanGet_Handler,
+		},
+		{
+			MethodName: "VpnConfigTemplatePlanList",
+			Handler:    _GoVpnClient_VpnConfigTemplatePlanList_Handler,
+		},
+		{
+			MethodName: "VpnConfigTemplatePlanDetailAdd",
+			Handler:    _GoVpnClient_VpnConfigTemplatePlanDetailAdd_Handler,
+		},
+		{
+			MethodName: "VpnConfigTemplatePlanDetailUpdate",
+			Handler:    _GoVpnClient_VpnConfigTemplatePlanDetailUpdate_Handler,
+		},
+		{
+			MethodName: "VpnConfigTemplatePlanDetailDel",
+			Handler:    _GoVpnClient_VpnConfigTemplatePlanDetailDel_Handler,
+		},
+		{
+			MethodName: "VpnConfigTemplatePlanDetailGet",
+			Handler:    _GoVpnClient_VpnConfigTemplatePlanDetailGet_Handler,
+		},
+		{
+			MethodName: "VpnConfigTemplatePlanDetailList",
+			Handler:    _GoVpnClient_VpnConfigTemplatePlanDetailList_Handler,
+		},
 	},
 	Streams:  []grpc.StreamDesc{},
 	Metadata: "gorpc.proto",

+ 128 - 0
pb/vpn.proto

@@ -273,6 +273,114 @@ message VpnProbeTaskListResp {
   repeated VpnProbeTaskVo list = 2;
 }
 
+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;    // 数据版本
+}
+
+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; }
+
+message VpnConfigTemplatePlanUpdateResp { VpnConfigTemplatePlanVo vo = 1; }
+
+message VpnConfigTemplatePlanDelReq { repeated int64 ids = 1; }
+
+message VpnConfigTemplatePlanGetReq { VpnConfigTemplatePlanVo vo = 1; }
+
+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;
+}
+
+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);
@@ -343,4 +451,24 @@ service GoVpnClient {
   rpc VpnProbeTaskAdd(VpnProbeTaskVo) returns (VpnProbeTaskVo);
   rpc VpnProbeTaskUpdate(VpnProbeTaskVo) returns (Empty);
   rpc VpnProbeTaskList(VpnProbeTaskListReq) returns (VpnProbeTaskListResp);
+
+  // VpnConfigTemplatePlan
+  rpc VpnConfigTemplatePlanAdd(VpnConfigTemplatePlanAddReq)
+      returns (VpnConfigTemplatePlanAddResp);
+  rpc VpnConfigTemplatePlanUpdate(VpnConfigTemplatePlanUpdateReq)
+      returns (VpnConfigTemplatePlanUpdateResp);
+  rpc VpnConfigTemplatePlanDel(VpnConfigTemplatePlanDelReq) returns (Empty);
+  rpc VpnConfigTemplatePlanGet(VpnConfigTemplatePlanGetReq)
+      returns (VpnConfigTemplatePlanGetResp);
+  rpc VpnConfigTemplatePlanList(VpnConfigTemplatePlanListReq)
+      returns (VpnConfigTemplatePlanListResp);
+  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);
 }

部分文件因为文件数量过多而无法显示