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 : "*" }; } }