|
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193 |
- syntax = "proto3";
- package pbpod;
-
- option go_package = "gitlink.org.cn/JCCE/PCM/lan_trans/idl/pbpod";
-
- import "idl/pbtenant/tenant.proto";
- import "google/api/annotations.proto";
-
- message PodInstance {
- // 云类型
- pbtenant.CloudProvider provider = 1;
- // 账号名称
- string account_name = 2;
- // 实例id
- string pod_id = 3;
- // 实例名称
- string pod_name = 4;
- // 地域,数据中心
- int32 region_id = 5;
- // 镜像
- string container_image = 6;
- // 容器名称
- string container_name = 7;
- // vcpu数
- string cpu_pod = 8;
- // 内存MB
- string memory_pod = 9;
-
- //安全组ID 对应腾讯 SecurityGroupIds(腾讯必需)
- string security_group_id = 10;
- //子网ID 对应腾讯 SubnetId(腾讯必需)
- string subnet_id = 11;
- //VPC ID 对应腾讯 VpcId(腾讯必需)
- string vpc_id = 12;
- //名空间
- string namespace = 13;
- }
-
-
- message CreatePodReq {
- // 云类型
- pbtenant.CloudProvider provider = 1;
- // 账号名称
- string account_name = 2;
- // 实例id
- string pod_id = 3;
- // 实例名称
- string pod_name = 4;
- // 地域,数据中心
- int32 region_id = 5;
- // 镜像
- string container_image = 6;
- // 容器名称
- string container_name = 7;
- // v cpu数
- string cpu_pod = 8;
- // 内存MB
- string memory_pod = 9;
- //安全组ID 对应腾讯 SecurityGroupIds(腾讯必需)
- string security_group_id = 10;
- //子网ID 对应腾讯 SubnetId(腾讯必需)
- string subnet_id = 11;
- //VPC ID 对应腾讯 VpcId(腾讯必需)
- string vpc_id = 12;
- //名空间
- string namespace = 13;
- }
-
- message CreatePodResp {
- // Pod集合
- repeated PodInstance pods = 1;
- // 查询是否完成,如果为否-false,则可以将下面三个分页参数填入到请求中,继续查询
- bool finished = 2;
- // 请求id,出现问题后提供给云厂商,排查问题
- string request_id = 3;
- }
-
- message DeletePodReq {
- // 云类型
- pbtenant.CloudProvider provider = 1;
- // 账号名称
- string account_name = 2;
- // 实例名称
- string pod_name = 3;
- //namespace
- string namespace = 4;
- // 地域,数据中心
- int32 region_id = 5;
- }
-
- message DeletePodResp {
- // Pod集合
- repeated PodInstance pods = 1;
- // 查询是否完成,如果为否-false,则可以将下面三个分页参数填入到请求中,继续查询
- bool finished = 2;
- // 请求id,出现问题后提供给云厂商,排查问题
- string request_id = 3;
- }
-
- message ListPodDetailReq {
- // 云名称
- pbtenant.CloudProvider provider = 1;
- // 账户名称,根据config.yaml中的配置,默认为第一个配置的账户
- string account_name = 2;
- // 区域Id,参考 tenant.proto 中的各个云的区域
- int32 region_id = 3;
- // podID
- int32 pod_id = 4;
- // 分页相关参数,页码
- int32 page_number = 5;
- // 分页相关参数,每页数量
- int32 page_size = 6;
- // 分页相关参数,下一页的token
- string next_token = 7;
- // namespace
- string namespace = 8;
- }
-
- message ListPodDetailResp {
- // Pod集合
- repeated PodInstance pods = 1;
- // 查询是否完成,如果为否-false,则可以将下面三个分页参数填入到请求中,继续查询
- bool finished = 2;
- // 分页相关参数,页码
- int32 page_number = 3;
- // 分页相关参数,每页数量
- int32 page_size = 4;
- // 分页相关参数,下一页的token
- string next_token = 5;
- // 请求id,出现问题后提供给云厂商,排查问题
- string request_id = 6;
- }
-
- message ListPodReq {
- // 云名称
- pbtenant.CloudProvider provider = 1;
- }
-
- message ListPodResp {
- // pod集合
- repeated PodInstance pods = 1;
- }
-
- message ListPodAllReq{}
-
-
- // Pod类产品接口
- // 阿里云 - ECI
- // 腾讯云 - TKS
- // 华为云 - CCI
-
- service PodService {
-
- // 创建Pod
- rpc CreatePod(CreatePodReq) returns (CreatePodResp) {
- option (google.api.http) = {
- post : "/apis/pod/create"
- body : "*"
- };
- }
-
- // 删除Pod
- rpc DeletePod(DeletePodReq) returns (DeletePodResp) {
- option (google.api.http) = {
- post : "/apis/pod/delete/{namespace}/{pod_name}"
- body : "*"
- };
- }
-
- // 查询Pod明细
- rpc ListPodDetail(ListPodDetailReq) returns (ListPodDetailResp) {
- option (google.api.http) = {
- post : "/apis/pod/detail"
- body : "*"
- };
- }
-
- // 查询Pod全量 - 根据云类型
- rpc ListPod(ListPodReq) returns (ListPodResp) {
- option (google.api.http) = {
- post : "/apis/pod"
- body : "*"
- };
- }
-
- // 查询所有云的Pod
- rpc ListPodAll(ListPodAllReq) returns (ListPodResp) {
- option (google.api.http) = {
- post : "/apis/pod/all"
- body : "*"
- };
- }
- }
|