PCM/adaptor/PCM-VM/PCM-OPENSTACK/rpc/pb/pcm-openstack.proto

1953 lines
61 KiB
Protocol Buffer
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

syntax = "proto3";
package openstack;
option go_package = "/openstack";
/******************List servers Start*************************/
message ListServersReq{
int32 limit = 1; // @gotags: copier:"Limit"
int32 offset = 2; // @gotags: copier:"Offset"
/*string access_ip_v4 = 1; // 按应使用的 IPv4 地址筛选服务器列表结果 以访问服务器 @gotags: copier:"accessIpV4"
string access_ip_v6 = 2; //按应使用的 IPv6 地址筛选服务器列表结果 以访问服务器。@gotags: copier:"Limit"
bool all_tenants = 3; //指定查询参数以列出所有实例 适用于所有项目 @gotags: copier:"Offset"
string auto_disk_config =4; //通过服务器的设置过滤服务器列表结果 @gotags: copier:"ModelArtsType"
string availability_zone =5;// 按服务器可用性区域筛选服务器列表结果 @gotags: copier:"ModelArtsType"
string changes_since =6 [json_name="changes-since"]; // 按服务器上次使用的日期和时间戳筛选响应 状态已更改 @gotags: copier:"ModelArtsType"
string config_drive =7; //按服务器的配置驱动器设置过滤服务器列表结果 @gotags: copier:"ConfigDrive"
string created_at =8; //按创建服务器时的日期和时间戳筛选服务器列表结果@gotags: copier:"CreatedAt"
bool deleted =9; //仅显示已删除的项目 @gotags: copier:"Deleted"
string description =10; //筛选服务器列表结果@gotags: copier:"Description"
string flavor =11; // 按特定实例筛选响应,作为 UUID@gotags: copier:"Flavor"
string host =12; // 按计算节点的主机名筛选服务器列表结果@gotags: copier:"Host"
string hostname =13; // 按服务器的主机名筛选服务器列表结果@gotags: copier:"Hostname"
string image =14; //按图像筛选响应,作为 UUID。@gotags: copier:"Image"
string ip =15; // 用于筛选结果的 IPv4 地址@gotags: copier:"Ip"
string ip6 =16; // 用于筛选结果的 IPv6 地址@gotags: copier:"Ip6"
string kernel_id =17; // 按内核映像的 UUID 筛选服务器列表结果 使用 AMI 时@gotags: copier:"KernelId"
string key_name =18; // 按密钥对名称筛选服务器列表结果@gotags: copier:"KeyName"
int64 launch_index =19; // 服务器已启动@gotags: copier:"LaunchIndex"
string launched_at =20; // 按启动实例时的日期和时间戳筛选服务器列表结果。@gotags: copier:"LaunchedAt"
int64 limit =21; // 请求项目的页面大小。@gotags: copier:"Limit"
string locked_by =22; //按锁定服务器的人员筛选服务器列表结果,可能的值 可以是或 。@gotags: copier:"LockedBy"
string marker =23; // 上次看到的项目的 ID。@gotags: copier:"Marker"
string name =24; // 按服务器名称(字符串形式)筛选响应@gotags: copier:"Name"
string node =25; // 按节点筛选服务器列表结果@gotags: copier:"Node"
int64 power_state =26; //按服务器电源状态筛选服务器列表结果@gotags: copier:"PowerState"
int64 progress =27; //按服务器的进度筛选服务器列表结果@gotags: copier:"Progress"
string project_id =28; // 按给定的项目 ID 筛选服务器列表@gotags: copier:"ProjectId"
string ramdisk_id =29; // 当出现时按虚拟硬盘镜像的UUID过滤服务器列表结果 使用 AMI@gotags: copier:"RamdiskId"
string reservation_id =30; // 服务器多次创建调用返回的预留 ID@gotags: copier:"ReservationId"
string root_device_name =31; //按服务器的根设备名称筛选服务器列表结果@gotags: copier:"RootDeviceName"
string soft_deleted =32;// 按状态筛选服务器列表。此参数仅有效 指定筛选器参数时@gotags: copier:"SoftDeleted"
string sort_dir =33; //排序方向@gotags: copier:"SortDir"
string sort_key =34; //按服务器属性排序@gotags: copier:"SortKey"
string status =35; //按服务器状态(字符串形式)筛选响应@gotags: copier:"Status"
string task_state =36;//按任务状态筛选服务器列表结果@gotags: copier:"TaskState"
string terminated_at=37; //按实例终止时的日期和时间戳筛选服务器列表结果@gotags: copier:"TerminatedAt"
string user_id=38; //按给定的用户 ID 过滤服务器列表@gotags: copier:"UserId"
string uuid=39; //按服务器的 UUID 筛选服务器列表结果@gotags: copier:"Uuid"
string vm_state =40;// 按 VM 状态筛选服务器列表结果@gotags: copier:"VmState"
string not_tags =41 [json_name="not-tags"]; //用于筛选服务器列表的标记列表。@gotags: copier:"NotTags"
string not_tags_any = 42 [json_name="not-tags-any"]; // 用于筛选服务器列表的标记列表@gotags: copier:"NotTagsAny"
string tags = 43; //用于筛选服务器列表的标记列表@gotags: copier:"Tags"
string tags_any =44 [json_name="tags-any"];//用于筛选服务器列表的标记列表@gotags: copier:"TagsAny"
string changes_before =45 [json_name="changes-before"]; //按上次更改服务器时的日期和时间戳筛选响应。@gotags: copier:"ChangesBefore"
string locked =46; //指定查询参数以列出所有锁定或解锁的内容 实例。@gotags: copier:"Locked"*/
}
message ListServersResp{
message Links {
string href = 1;
string rel = 2;
}
message Servers {
string id = 1; //The UUID of the server
repeated Links links = 2; //有关资源的链接。
string name = 3; //The server name
}
message Servers_links {
string href = 1;
string rel = 2;
}
repeated Servers servers = 1; //对象列表。server
repeated Servers_links servers_links = 2; //链接到下一个服务器
int32 code = 3; // @gotags: copier:"Code"
string msg = 4; // @gotags: copier:"Msg"
string error_msg =5;// @gotags: copier:"ErrorMsg"
}
message ListServersDetailedReq {
}
message ListServersDetailedResp {
message Private {
string OS_EXT_IPS_MAC_mac_addr = 1 [json_name="OS-EXT-IPS-MAC:mac_addr"];
string OS_EXT_IPS_type = 2 [json_name="OS-EXT-IPS:type"];
string addr = 3;
uint32 version = 4;
}
message Addresses {
repeated Private private = 1;
}
message Extra_specs {
}
message Flavor {
uint32 disk = 1;
uint32 ephemeral = 2;
Extra_specs extra_specs = 3;
string original_name = 4;
uint32 ram = 5;
uint32 swap = 6;
uint32 vcpus = 7;
}
message Links {
string href = 1;
string rel = 2;
}
message Image {
string id = 1;
repeated Links links = 2;
}
message Links1 {
string href = 1;
string rel = 2;
}
message Metadata {
}
message Security_groups {
string name = 1;
}
message ServersDetailed {
string OS_DCF_diskConfig = 1 [json_name="OS-DCF:diskConfig"]; // @gotags: copier:"OS_DCF_diskConfig"
string OS_EXT_AZ_availability_zone = 2 [json_name="OS-EXT-AZ:availability_zone"];
string OS_EXT_SRV_ATTR_host = 3 [json_name="OS-EXT-SRV-ATTR:host"];
string OS_EXT_SRV_ATTR_hostname = 4 [json_name="OS-EXT-SRV-ATTR:hostname"];
string OS_EXT_SRV_ATTR_hypervisor_hostname = 5 [json_name="OS-EXT-SRV-ATTR:hypervisor_hostname"];
string OS_EXT_SRV_ATTR_instance_name = 6 [json_name="OS-EXT-SRV-ATTR:instance_name"];
string OS_EXT_SRV_ATTR_kernel_id = 7 [json_name="OS-EXT-SRV-ATTR:kernel_id"];
uint32 OS_EXT_SRV_ATTR_launch_index = 8 [json_name="OS-EXT-SRV-ATTR:launch_index"];
string OS_EXT_SRV_ATTR_ramdisk_id = 9 [json_name="OS-EXT-SRV-ATTR:ramdisk_id"];
string OS_EXT_SRV_ATTR_reservation_id = 10 [json_name="OS-EXT-SRV-ATTR:reservation_id"];
string OS_EXT_SRV_ATTR_root_device_name = 11 [json_name="OS-EXT-SRV-ATTR:root_device_name"];
string OS_EXT_SRV_ATTR_user_data = 12 [json_name="OS-EXT-SRV-ATTR:user_data"];
uint32 OS_EXT_STS_power_state = 13[json_name="OS-EXT-SRV-ATTR:power_state"];
string OS_EXT_STS_task_state = 14[json_name="OS-EXT-SRV-ATTR:task_state"];
string OS_EXT_STS_vm_state = 15[json_name="OS-EXT-STS:vm_state"];
string OS_SRV_USG_launched_at = 16[json_name="OS-SRV-USG:launched_at"];
string OS_SRV_USG_terminated_at = 17[json_name="OS-SRV-USG:terminated_at"];
string accessIPv4 = 18;
string accessIPv6 = 19;
Addresses addresses = 20;
string config_drive = 21;
string description = 23;
Flavor flavor = 24;
string hostId = 25;
string host_status = 26;
string id = 27;
Image image = 28;
string key_name = 29;
repeated Links1 links = 30;
bool locked = 31;
string locked_reason = 32;
Metadata metadata = 33;
string name = 34;
repeated string os_extended_volumes_volumes_attached = 35 [json_name="os-extended-volumes:volumes_attached"];
uint32 progress = 36;
repeated Security_groups security_groups = 37;
string status = 38;
repeated string tags = 39;
string tenant_id = 40;
string trusted_image_certificates = 41;
string updated = 42;
string user_id = 43;
}
repeated ServersDetailed servers = 1; // @gotags: copier:"ServersDetailed"
int32 code = 2; // @gotags: copier:"Code"
string msg = 3; // @gotags: copier:"Msg"
string error_msg =4;// @gotags: copier:"ErrorMsg"
}
/******************List servers end*************************/
/******************create servers start*********************/
//The message is consistent with the wdbsite,
//so see the detailed annontation via web,https://docs.openstack.org/api-ref/compute/
//req
message CreateServerReq {
message Networks {
string uuid = 1; // @gotags: copier:"Uuid"
string port = 2;
string fixed_ip = 3;
string tag = 4;
}
message Block_device_mapping_v2 {
string boot_index = 1; // @gotags: copier:"BootIndex"
bool delete_on_termination = 2; // @gotags: copier:"DeleteOnTermination"
string destination_type = 3;
string device_name = 4;
string device_type = 5;
string disk_bus = 6;
string guest_format = 7;
bool no_device = 8;
string source_type = 9; // @gotags: copier:"SourceType"
string uuid = 10; // @gotags: copier:"Uuid"
string volume_size = 11;
string tag = 12;
string volume_type = 13; // @gotags: copier:"VolumeType"
}
message Metadata {
string My_Server_Name = 1 [json_name="My Server Name"];
}
message Personality {
string path = 1;
string contents = 2;
}
message Security_groups {
string name = 1;
}
message Server {
string flavorRef = 1; // @gotags: copier:"FlavorRef"
string name = 2; // @gotags: copier:"Name"
repeated Networks networks = 3; // @gotags: copier:"Networks"
string imageRef = 10; // @gotags: copier:"ImageRef"
string accessIPv4 = 4;
string accessIPv6 = 5;
string adminPass = 6;
string availability_zone = 7;
repeated Block_device_mapping_v2 block_device_mapping_v2 = 8; // @gotags: copier:"BlockDeviceMappingV2"
bool config_drive = 9;
string key_name = 11;
Metadata metadata = 12;
string OS_DCF_diskConfig = 13 [json_name="OS-DCF:diskConfig"]; // @gotags: copier:"OSDCFDiskConfig"
repeated Personality personality = 14;
repeated Security_groups security_groups = 15;
string user_data = 16;
string description = 17;
string hostname = 18;
repeated string tags = 19;
repeated string trusted_image_certificates = 20;
string host = 21;
string hypervisor_hostname = 22;
}
message Os_sch_hnt_scheduler_hints {
repeated string same_host = 1;
string build_near_host_ip = 2;
string cidr = 3;
repeated string different_cell = 4;
repeated string different_host = 5;
string group = 6;
string query = 7;
string target_cell = 8;
}
Server server = 1; // @gotags: copier:"Server"
// Os_sch_hnt_scheduler_hints OS_SCH_HNT_scheduler_hints = 2 [json_name="OS-SCH-HNT:scheduler_hints"];
}
//resp
message CreateServerResp{
message Links {
string href = 1;
string rel = 2;
}
message Security_groups {
string name = 1; // @gotags: copier:"Name"
}
message Server {
string id = 1; // @gotags: copier:"Id"
repeated Links links = 2; //
string OS_DCF_diskConfig = 3 [json_name="OS-DCF:diskConfig"]; // @gotags: copier:"OSDCFDiskConfig"
repeated Security_groups security_groups = 4; // @gotags: copier:"SecurityGroups"
string adminPass =5; // @gotags: copier:"AdminPass"
}
Server server = 1; // @gotags: copier:"Server"
int32 code = 2; // @gotags: copier:"Code"
string msg = 3; // @gotags: copier:"Msg"
string error_msg =4;// @gotags: copier:"ErrorMsg"
}
/******************create server end*************************/
/******************Delete server start*************************/
//The message is consistent with the wdbsite,
//so see the detailed annontation via web,https://docs.openstack.org/api-ref/compute/
//Req
message DeleteServerReq{
string server_id = 1; // @gotags: copier:"ServerId"
}
//Resp
message DeleteServerResp{
string msg =1; // @gotags: copier:"Msg"
int32 code =2; // @gotags: copier:"Code"
string error_msg =3;// @gotags: copier:"ErrorMsg"
}
/******************Delete server end*************************/
/******************ListServerDetailedById server start*************************/
//The message is consistent with the wdbsite,
//so see the detailed annontation via web,https://docs.openstack.org/api-ref/compute/
//Req
message ListServerDetailedByIdReq{
string server_id = 1;
}
//Resp
message ListServerDetailedByIdResp{
message Private {
string OS_EXT_IPS_MAC_mac_addr = 1 [json_name="OS-EXT-IPS-MAC:mac_addr"];
string OS_EXT_IPS_type = 2[json_name="OS-EXT-IPS:type"];
string addr = 3;
uint32 version = 4;
}
message Addresses {
repeated Private private = 1;
}
message Extra_specs {
}
message Flavor {
string id = 1;
string links = 2;
uint32 vcpus = 3;
uint32 ram = 4;
uint32 disk = 5;
uint32 ephemeral = 6;
uint32 swap = 7;
string original_name = 8;
Extra_specs extra_specs = 9;
}
message Links {
string href = 1;
string rel = 2;
}
message Image {
string id = 1;
repeated Links links = 2;
}
message Links1 {
string href = 1;
string rel = 2;
}
message Metadata {
string My_Server_Name = 1[json_name="My Server Name"];
}
message Os_extended_volumes_volumes_attached {
string id = 1;
bool delete_on_termination = 2;
}
message Fault {
uint32 code = 1;
string created = 2;
string message = 3;
string details = 4;
}
message Security_groups {
string name = 1;
}
message Servers {
string accessIPv4 = 1;
string accessIPv6 = 2;
Addresses addresses = 3;
string config_drive = 4;
string created = 5;
Flavor flavor = 6;
string hostId = 7;
string id = 8;
Image image = 9;
string key_name = 10;
repeated Links1 links = 11;
Metadata metadata = 12;
string name = 13;
string OS_DCF_diskConfig = 14[json_name = "OS-DCF:diskConfig"];
string OS_EXT_AZ_availability_zone = 15[json_name = "OS-EXT-AZ:availability_zone"];
string OS_EXT_SRV_ATTR_host = 16[json_name = "OS-EXT-SRV-ATTR:host"];
string OS_EXT_SRV_ATTR_hostname = 17[json_name = "OS-EXT-SRV-ATTR:hostname"];
string OS_EXT_SRV_ATTR_hypervisor_hostname = 18[json_name = "OS-EXT-SRV-ATTR:hypervisor_hostname"];
string OS_EXT_SRV_ATTR_instance_name = 19[json_name = "OS-EXT-SRV-ATTR:instance_name"];
string OS_EXT_SRV_ATTR_kernel_id = 20[json_name = "OS-EXT-SRV-ATTR:kernel_id"];
uint32 OS_EXT_SRV_ATTR_launch_index = 21[json_name = "OS-EXT-SRV-ATTR:launch_index"];
string OS_EXT_SRV_ATTR_ramdisk_id = 22[json_name = "OS-EXT-SRV-ATTR:ramdisk_id"];
string OS_EXT_SRV_ATTR_reservation_id = 23[json_name = "OS-EXT-SRV-ATTR:reservation_id"];
string OS_EXT_SRV_ATTR_root_device_name = 24[json_name = "OS-EXT-SRV-ATTR:root_device_name"];
string OS_EXT_SRV_ATTR_user_data = 25[json_name = "OS-EXT-SRV-ATTR:user_data"];
uint32 OS_EXT_STS_power_state = 26[json_name = "OS-EXT-STS:power_state"];
string OS_EXT_STS_task_state = 27[json_name = "OS-EXT-STS:task_state"];
string OS_EXT_STS_vm_state = 28[json_name = "OS-EXT-STS:vm_state"];
repeated Os_extended_volumes_volumes_attached os_extended_volumes_volumes_attached = 29[json_name = "os-extended-volumes:volumes_attached"];
string OS_SRV_USG_launched_at = 30[json_name = "OS-SRV-USG:launched_at"];
string OS_SRV_USG_terminated_at = 31[json_name = "OS-SRV-USG:terminated_at"];
string status = 32;
string tenant_id = 33;
string updated = 34;
string user_id = 35;
Fault fault = 36;
uint32 progress = 37;
repeated Security_groups security_groups = 38;
bool locked = 39;
string host_status = 40;
string description = 41;
repeated string tags = 42;
string trusted_image_certificates = 43;
repeated string server_groups = 44;
string locked_reason = 45;
}
repeated Servers servers = 1;
int32 code = 2; // @gotags: copier:"Code"
string msg = 3; // @gotags: copier:"Msg"
string error_msg =4;// @gotags: copier:"ErrorMsg"
}
/******************update server Start*************************/
message UpdateServerReq{
message Server {
string accessIPv4 = 1;
string accessIPv6 = 2;
string OS_DCF_diskConfig = 3[json_name = "OS-DCF:diskConfig"];
string name = 4;
string description = 5;
}
string server_id =1;
Server server = 2;
}
message UpdateServerResp{
message Private {
string OS_EXT_IPS_MAC_mac_addr = 1[json_name = "OS-EXT-IPS-MAC:mac_addr"];
string OS_EXT_IPS_type = 2[json_name = "OS-EXT-IPS:type"];
string addr = 3;
uint32 version = 4;
}
message Addresses {
repeated Private private = 1;
}
message Extra_specs {
}
message Flavor {
uint32 disk = 1;
uint32 ephemeral = 2;
Extra_specs extra_specs = 3;
string original_name = 4;
uint32 ram = 5;
uint32 swap = 6;
uint32 vcpus = 7;
}
message Links {
string href = 1;
string rel = 2;
}
message Image {
string id = 1;
repeated Links links = 2;
}
message Links1 {
string href = 1;
string rel = 2;
}
message Metadata {
string My_Server_Name = 1[json_name = "My Server Name"];
}
message Security_groups {
string name = 1;
}
message Server {
string OS_DCF_diskConfig = 1[json_name = "OS-DCF:diskConfig"];
string OS_EXT_AZ_availability_zone = 2[json_name = "OS-EXT-AZ:availability_zone"];
string OS_EXT_SRV_ATTR_host = 3[json_name = "OS-EXT-SRV-ATTR:host"];
string OS_EXT_SRV_ATTR_hostname = 4[json_name = "OS-EXT-SRV-ATTR:hostname"];
string OS_EXT_SRV_ATTR_hypervisor_hostname = 5[json_name = "OS-EXT-SRV-ATTR:hypervisor_hostname"];
string OS_EXT_SRV_ATTR_instance_name = 6[json_name = "OS-EXT-SRV-ATTR:instance_name"];
string OS_EXT_SRV_ATTR_kernel_id = 7[json_name = "OS-EXT-SRV-ATTR:kernel_id"];
uint32 OS_EXT_SRV_ATTR_launch_index = 8[json_name = "OS-EXT-SRV-ATTR:launch_index"];
string OS_EXT_SRV_ATTR_ramdisk_id = 9[json_name = "OS-EXT-SRV-ATTR:ramdisk_id"];
string OS_EXT_SRV_ATTR_reservation_id = 10[json_name = "OS-EXT-SRV-ATTR:reservation_id"];
string OS_EXT_SRV_ATTR_root_device_name = 11[json_name = "OS-EXT-SRV-ATTR:root_device_name"];
string OS_EXT_SRV_ATTR_user_data = 12[json_name = "OS-EXT-SRV-ATTR:user_data"];
uint32 OS_EXT_STS_power_state = 13[json_name = "OS-EXT-STS:power_state"];
string OS_EXT_STS_task_state = 14[json_name = "OS-EXT-STS:task_state"];
string OS_EXT_STS_vm_state = 15[json_name = "OS-EXT-STS:vm_state"];
string OS_SRV_USG_launched_at = 16[json_name = "OS-SRV-USG:launched_at"];
string OS_SRV_USG_terminated_at = 17[json_name = "OS-SRV-USG:terminated_at"];
string accessIPv4 = 18;
string accessIPv6 = 19;
Addresses addresses = 20;
string config_drive = 21;
string created = 22;
string description = 23;
Flavor flavor = 24;
string hostId = 25;
string host_status = 26;
string id = 27;
Image image = 28;
string key_name = 29;
repeated Links1 links = 30;
bool locked = 31;
string locked_reason = 32;
Metadata metadata = 33;
string name = 34;
repeated string os_extended_volumes_volumes_attached = 35[json_name = "os-extended-volumes:volumes_attached"];
uint32 progress = 36;
repeated Security_groups security_groups = 37;
repeated string server_groups = 38;
string status = 39;
repeated string tags = 40;
string tenant_id = 41;
string trusted_image_certificates = 42;
string updated = 43;
string user_id = 44;
}
Server server = 1;
string msg =2; // @gotags: copier:"Msg"
int32 code =3; // @gotags: copier:"Code"
string error_msg =4;// @gotags: copier:"ErrorMsg"
}
message StartServerReq{
string server_id = 1;
OsStart osStart=2;
message OsStart{
string os_start = 1[json_name = "os-start"];
}
}
message StartServerResp{
string msg =1; // @gotags: copier:"Msg"
int32 code =2; // @gotags: copier:"Code"
string error_msg =3;// @gotags: copier:"ErrorMsg"
}
message StopServerReq{
string server_id = 1;
OsStop osStop=2;
message OsStop{
string os_stop = 1[json_name = "os-stop"];
}
}
message StopServerResp{
string msg =1; // @gotags: copier:"Msg"
int32 code =2; // @gotags: copier:"Code"
string error_msg =3;// @gotags: copier:"ErrorMsg"
}
message RebootServerReq{
string server_id = 1;
message Reboot {
string type = 1;
}
Reboot reboot = 2;
}
message RebootServerResp{
string msg =1; // @gotags: copier:"Msg"
int32 code =2; // @gotags: copier:"Code"
string error_msg =3;// @gotags: copier:"ErrorMsg"
}
message PauseServerReq{
string server_id = 1;
OsPause osPause=2;
message OsPause{
string pause = 1;
}
}
message PauseServerResp{
string msg =1; // @gotags: copier:"Msg"
int32 code =2; // @gotags: copier:"Code"
string error_msg =3;// @gotags: copier:"ErrorMsg"
}
/******************update server end*************************/
/******************ListFlavorsDetail start*************************/
message ListFlavorsDetailReq{
string sort_key =1;
string sort_dir =2;
int32 limit =3;
string marker =4;
int32 minDisk =5;
int32 minRam =6;
string is_public =7;
}
message ListFlavorsDetailResp{
repeated Flavor flavors =1; // @gotags: copier:"Flavor"
string msg =2; // @gotags: copier:"Msg"
int32 code =3; // @gotags: copier:"Code"
string error_msg =4;// @gotags: copier:"ErrorMsg"
message Flavor {
string name = 1;
string description =2;
string id =3;
int32 disk = 4;
uint32 ephemeral = 5;
Extra_specs extra_specs = 6;
string original_name = 7;
int32 ram = 8;
int32 swap = 9;
int32 vcpus = 10;
repeated Links links = 11;
string OS_FLV_EXT_DATA_ephemeral = 12[json_name = "OS-FLV-EXT-DATA:ephemeral"];
string OS_FLV_DISABLED_disabled = 13[json_name = "OS-FLV-DISABLED:disabled"];
float rxtx_factor =15;
bool os_flavor_access_is_public = 16[json_name = "os-flavor-access:is_public"];
}
message Extra_specs {
}
message Links {
string href = 1;
string rel = 2;
}
}
/******************ListFlavorsDetail end*************************/
/******************networks*************************/
/******************Show network details Start*************************/
message ShowNetworkDetailsReq{
string network_id = 1; //网络ID
string fields = 2; //可选,希望服务器返回的字段
}
message Network{
bool admin_state_up = 1; // @gotags: copier:"AdminStateUp"
repeated string availability_zone_hints = 2;// @gotags: copier:"AvailabilityZoneHints"
repeated string availability_zones = 3; // @gotags: copier:"AvailabilityZones"
string created_at = 4;// @gotags: copier:"CreatedAt"
string dns_domain = 5;// @gotags: copier:"DnsDomain"
string id = 6; // @gotags: copier:"Id"
string ipv4_address_scope = 7; // @gotags: copier:"Ipv4AddressScope"
string ipv6_address_scope = 8; // @gotags: copier:"Ipv6AddressScope"
bool l2_adjacency = 9; // @gotags: copier:"L2Adjacency"
int64 mtu = 10; // @gotags: copier:"Mtu"
string name = 11; // @gotags: copier:"Name"
bool port_security_enabled = 12; // @gotags: copier:"PortSecurityEnabled"
string project_id = 13; // @gotags: copier:"ProjectId"
string qos_policy_id = 14; // @gotags: copier:"QosPolicyId"
int64 revision_number = 15;// @gotags: copier:"RevisionNumber"
bool router_external = 16 [json_name = "router:external"]; // @gotags: copier:"RouterExternal"
bool shared = 17; // @gotags: copier:"Shared"
string status = 18; // @gotags: copier:"Status"
repeated string subnets = 19; // @gotags: copier:"Subnets"
repeated string tags = 20; // @gotags: copier:"Tags"
string tenant_id = 21; // @gotags: copier:"TenantId"
string updated_at = 22; // @gotags: copier:"UpdatedAt"
bool vlan_transparent = 23; // @gotags: copier:"VlanTransparent"
string description = 24;// @gotags: copier:"Description"
bool is_default = 25; // @gotags: copier:"IsDefault"
}
message Segment{
string provider_network_type = 1 [json_name = "provider:network_type"]; //此网络映射到的物理网络的类型
string provider_physical_network = 2 [json_name = "provider:physical_network"]; //实现该网络/分段的物理网络
int64 provider_segmentation_id = 3 [json_name = "provider:segmentation_id"]; //物理网络上隔离段的IDnetwork_type属性定义分段模型
}
message ShowNetworkDetailsResp{
Network network = 1; //一个网络对象
bool admin_state_up = 2; //网络的管理状态是向上true还是向下false
repeated string availability_zone_hints = 3; //网络的可用性区域候选者
repeated string availability_zones = 4; //网络的可用性区域
string created_at = 5; //创建资源的时间
string dns_domain = 6; //有效的DNS域
string id = 7; //网络ID
string ipv4_address_scope = 8; //与网络关联的IPv4地址作用域的ID
string ipv6_address_scope = 9; //与网络关联的IPv6地址作用域的ID
bool l2_adjacency = 10; //指示L2连接是否在整个网络中可用
int64 mtu = 11; //要寻址分段的最大传输单元MTUIPv4最小值为68IPv6最小值为1280
string name = 12; //人类可读的网络名称
bool port_security_enabled = 13; //网络的端口安全状态。有效值为启用true和禁用false
string project_id = 14; //项目ID
string provider_network_type = 15 [json_name = "provider:network_type"]; //此网络映射到的物理网络的类型例如flat、vlan、vxlan或gre。有效值取决于网络后端
string provider_physical_network = 16 [json_name = "provider:physical_network"]; //实现该网络/分段的物理网络
int64 provider_segmentation_id = 17 [json_name = "provider:segmentation_id"]; //物理网络上隔离段的IDnetwork_type属性定义分段模型
string qos_policy_id = 18; //与网络关联的QoS策略的ID
int64 revision_number = 19; //资源的修订号
bool router_external = 20 [json_name = "router:external"]; //定义网络是否可用于创建浮动IP只有具有此标志的网络才能作为路由器的外部网关
repeated Segment segments = 21; //提供程序段对象的列表
bool shared = 22; //指示是否在所有租户之间共享此网络,默认情况下,只有管理用户才能更改此值
string status = 23; //网络状态值为ACTIVE、DOWN、BUILD或ERROR
repeated string subnets = 24; //关联的子网
string tenant_id = 25; //项目的ID
string updated_at = 26; //资源更新的时间
bool vlan_transparent = 27; //指示网络的VLAN透明模式为VLAN透明true或非VLAN透明false
string description = 28; //人类可读的资源描述
bool is_default = 29; //网络是否为默认池
repeated string tags = 30; //资源上的标记列表
string msg =31; // @gotags: copier:"Msg"
int32 code =32; // @gotags: copier:"Code"
string error_msg =33;// @gotags: copier:"ErrorMsg"
}
/******************Show network details End*************************/
/******************Update network Start*************************/
message UpdateNetworkReq{
string network_id = 1;
Network network = 2;
bool admin_state_up = 3;
string dns_domain = 4;
int64 mtu = 5;
string name = 6;
bool port_security_enabled = 7;
string provider_network_type = 8 [json_name = "provider:network_type"];
string provider_physical_network = 9 [json_name = "provider:physical_network"];
int64 provider_segmentation_id = 10 [json_name = "provider:segmentation_id"];
string qos_policy_id = 11;
bool router_external = 12 [json_name = "router:external"];
repeated Segment segments = 13;
bool shared = 14;
string description = 15;
bool is_default = 16;
}
message UpdateNetworkResp{
Network network = 1;
bool admin_state_up = 2;
repeated string availability_zone_hints = 3;
repeated string availability_zones = 4;
string created_at = 5;
string dns_domain = 6;
string id = 7;
string ipv4_address_scope = 8;
string ipv6_address_scope = 9;
bool l2_adjacency = 10;
int64 mtu = 11;
string name = 12;
bool port_security_enabled = 13;
string project_id = 14;
string provider_network_type = 15 [json_name = "provider:network_type"];
string provider_physical_network = 16 [json_name = "provider:physical_network"];
int64 provider_segmentation_id = 17 [json_name = "provider:segmentation_id"];
string qos_policy_id = 18;
int64 revision_number = 19;
bool router_external = 20 [json_name = "router:external"];
repeated Segment segments = 21;
bool shared = 22;
string status = 23;
repeated string subnets = 24;
string tenant_id = 25;
string updated_at = 26;
string description = 27;
bool is_default = 28;
repeated string tags = 29;
string msg =30; // @gotags: copier:"Msg"
int32 code =31; // @gotags: copier:"Code"
string error_msg =32;// @gotags: copier:"ErrorMsg"
}
/******************Update network End*************************/
/******************Delete network Start*************************/
message DeleteNetworkReq{
string network_id = 1; // @gotags: copier:"NetworkId"
}
message DeleteNetworkResp{
string msg =1; // @gotags: copier:"Msg"
int32 code =2; // @gotags: copier:"Code"
string error_msg =3;// @gotags: copier:"ErrorMsg"
}
/******************Delete network End*************************/
/******************List networks Start*************************/
message ListNetworksReq{
/* bool admin_state_up = 1;
string id = 2;
int64 mtu = 3;
string name = 4;
string project_id = 5;
string provider_network_type = 6 [json_name = "provider:network_type"];
string provider_physical_network = 7 [json_name = "provider:physical_network"];
int64 provider_segmentation_id = 8 [json_name = "provider:segmentation_id"];
int64 revision_number = 9;
bool router_external = 10 [json_name = "router:external"];
bool shared = 11;
string status = 12;
string tenant_id = 13;
bool vlan_transparent = 14;
string description = 15;
bool is_default = 16;
string tags = 17;
string tags_any = 18 [json_name = "tags-any"];
string not_tags = 19 [json_name = "not-tags"];
string not_tags_any = 20[json_name = "not-tags-any"];
string sort_dir = 21;
string sort_key = 22;
string fields = 23;*/
}
message ListNetworksResp{
repeated Network networks = 1; // @gotags: copier:"Networks"
/* bool admin_state_up = 2;
repeated string availability_zone_hints = 3;
repeated string availability_zones = 4;
string created_at = 5;
string dns_domain = 6;
string id = 7;
string ipv4_address_scope = 8;
string ipv6_address_scope = 9;
bool l2_adjacency = 10;
int64 mtu = 11;
string name = 12;
bool port_security_enabled = 13;
string project_id = 14;
string provider_network_type = 15 [json_name = "provider:network_type"];
string provider_physical_network = 16 [json_name = "provider:physical_network"];
int64 provider_segmentation_id = 17 [json_name = "provider:segmentation_id"];
string qos_policy_id = 18;
int64 revision_number = 19;
bool router_external = 20 [json_name = "router:external"];
repeated Segment segments = 21;
bool shared = 22;
string status = 23;
repeated string subnets = 24;
string tenant_id = 25;
string updated_at = 26;
bool vlan_transparent = 27;
string description = 28;
bool is_default = 29;
repeated string tags = 30;*/
int32 code = 2; // @gotags: copier:"Code"
string msg = 3; // @gotags: copier:"Msg"
string error_msg =4;// @gotags: copier:"ErrorMsg"
}
/******************List networks End*************************/
/******************Create network Start*************************/
message CreateNetworkReq{
Network network = 1; // @gotags: copier:"Network"
/* bool admin_state_up = 2;
string dns_domain = 3;
int64 mtu = 4;
string name = 5;
bool port_security_enabled = 6;
string project_id = 7;
string provider_network_type = 8 [json_name = "provider:network_type"];
string provider_physical_network = 9 [json_name = "provider:physical_network"];
int64 provider_segmentation_id = 10 [json_name = "provider:segmentation_id"];
string qos_policy_id = 11;
bool router_external = 12 [json_name = "router:external"];
repeated Segment segments = 13;
bool shared = 14;
string tenant_id = 15;
bool vlan_transparent = 16;
string description = 17;
bool is_default = 18;
repeated string availability_zone_hints = 19;*/
}
message CreateNetworkResp{
Network network = 1; // @gotags: copier:"Network"
/* bool admin_state_up = 2;
repeated string availability_zone_hints = 3;
repeated string availability_zones = 4;
string created_at = 5;
string dns_domain = 6;
string id = 7;
string ipv4_address_scope = 8;
string ipv6_address_scope = 9;
bool l2_adjacency = 10;
int64 mtu = 11;
string name = 12;
bool port_security_enabled = 13;
string project_id = 14;
string provider_network_type = 15 [json_name = "provider:network_type"];
string provider_physical_network = 16 [json_name = "provider:physical_network"];
int64 provider_segmentation_id = 17 [json_name = "provider:segmentation_id"];
string qos_policy_id = 18;
int64 revision_number = 19;
bool router_external = 20 [json_name = "router:external"];
repeated Segment segments = 21;
bool shared = 22;
string status = 23;
repeated string subnets = 24;
string updated_at = 25;
bool vlan_transparent = 26;
string description = 27;
bool is_default = 28;
repeated string tags = 29;*/
int32 code = 30; // @gotags: copier:"Code"
string msg = 31; // @gotags: copier:"Msg"
string error_msg =32;// @gotags: copier:"ErrorMsg"
}
/******************Create network End*************************/
message CreateSubnetReq{
Subnet subnet = 1; // @gotags: copier:"Subnet"
}
message CreateSubnetResp{
SubnetResp subnet = 1; // @gotags: copier:"SubnetResp"
int32 code = 2; // @gotags: copier:"Code"
string msg = 3; // @gotags: copier:"Msg"
string error_msg =4;// @gotags: copier:"ErrorMsg"
}
message Subnet {
string network_id =1; //@gotags: copier:"NetworkId"
string name =2; //@gotags: copier:"Name"
string cidr =3; //@gotags: copier:"Cidr"
int32 ip_version =4; //@gotags: copier:"IpVersion"
string gateway_ip =5; //@gotags: copier:"GatewayIp"
bool enable_dhcp =6; //@gotags: copier:"EnableDhcp"
repeated Allocation_pools allocation_pools =7; //@gotags: copier:"AllocationPools"
repeated string dns_nameservers =8; //@gotags: copier:"DnsNameservers"
repeated string host_routes =9; //@gotags: copier:"HostRoutes"
}
message SubnetResp {
string name =1;
string cidr =2;
int32 ip_version =3;
string gateway_ip =4;
bool enable_dhcp =5;
repeated Allocation_pools allocation_pools =6; //@gotags: copier:"Allocation_pools"
repeated string dns_nameservers =7;
repeated string host_routes =8;
string network_id =9;
string segment_id =10;
string project_id =11;
string tenant_id =12 ;
string dns_publish_fixed_ip =13;
string id =14;
string created_at =15;
string description =16;
string ipv6_address_mode =17;
string ipv6_ra_mode =18;
string revision_number =19;
repeated string service_types =20;
string subnetpool_id =21;
repeated string tags =22;
string updated_at =23;
}
message Allocation_pools {
string start = 1; // @gotags: copier:"Start"
string end = 2; // @gotags: copier:"End"
}
/******************Create subnets start*************************/
/******************Create subnets End*************************/
/******************Bulk create networks Start*************************/
message BulkCreateNetworksReq{
repeated Network networks = 1;
bool admin_state_up = 2;
string dns_domain = 3;
int64 mtu = 4;
string name = 5;
bool port_security_enabled = 6;
string project_id = 7;
string provider_network_type = 8 [json_name = "provider:network_type"];
string provider_physical_network = 9 [json_name = "provider:physical_network"];
int64 provider_segmentation_id = 10 [json_name = "provider:segmentation_id"];
string qos_policy_id = 11;
bool router_external = 12 [json_name = "router:external"];
repeated Segment segments = 13;
bool shared = 14;
string tenant_id = 15;
bool vlan_transparent = 16;
string description = 17;
repeated string availability_zone_hints = 18;
}
message BulkCreateNetworksResp{
repeated Network networks = 1;
bool admin_state_up = 2;
repeated string availability_zone_hints = 3;
repeated string availability_zones = 4;
string created_at = 5;
string dns_domain = 6;
string id = 7;
string ipv4_address_scope = 8;
string ipv6_address_scope = 9;
bool l2_adjacency = 10;
int64 mtu = 11;
string name = 12;
bool port_security_enabled = 13;
string project_id = 14;
string provider_network_type = 15 [json_name = "provider:network_type"];
string provider_physical_network = 16 [json_name = "provider:physical_network"];
int64 provider_segmentation_id = 17 [json_name = "provider:segmentation_id"];
string qos_policy_id = 18;
int64 revision_number = 19;
bool router_external = 20 [json_name = "router:external"];
repeated Segment segments = 21;
bool shared = 22;
string status = 23;
repeated string subnets = 24;
string tenant_id = 25;
string updated_at = 26;
bool vlan_transparent = 27;
string description = 28;
bool is_default = 29;
repeated string tags = 30;
int32 code = 31; // @gotags: copier:"Code"
string msg = 32; // @gotags: copier:"Msg"
string error_msg =33;// @gotags: copier:"ErrorMsg"
}
/******************Bulk create networks End*************************/
/******************WangQi Bare Metal API Start*************************/
/****************** Bare Metal ListNodes Start*************************/
message ListNodesReq {
string instance_uuid = 1;
bool maintenance = 2;
bool associated = 3;
string provision_state = 4;
bool sharded = 5;
string driver = 6;
string resource_class = 7;
string conductor_group = 8;
string conductor =9;
string fault =10;
string owner =11;
string lessee =12;
repeated string shard =13;
int64 limit =14;
string marker =15;
string sort_dir =16;
string sort_key =17;
bool detail =18;
string parent_node =19;
string include_children =20;
}
message ListNodesResp {
message Links {
string href = 1;
string rel = 2;
}
message Nodes {
string instance_uuid = 1;
repeated Links links = 2;
bool maintenance = 3;
string name = 4;
string power_state = 5;
string provision_state = 6;
string uuid = 7;
}
repeated Nodes nodes = 1;
int32 code = 2; // @gotags: copier:"Code"
string msg = 3; // @gotags: copier:"Msg"
string error_msg =4;// @gotags: copier:"ErrorMsg"
}
/******************Bare Metal ListNodes End*************************/
/****************** Bare Metal createNode Start*************************/
message CreateNodeReq {
message Driver_info {
string ipmi_username = 1;
string ipmi_password = 2;
}
string name = 1;
string driver = 2;
Driver_info driver_info = 3;
string power_interface = 4;
string resource_class = 5;
string boot_interface = 6;
string conductor_group = 7;
string console_interface = 8;
string deploy_interface = 9;
string inspect_interface = 10;
string management_interface = 11;
string network_interface = 12;
string rescue_interface = 13;
string storage_interface = 14;
string uuid = 15;
string vendor_interface = 16;
string owner = 17;
string description = 18;
string lessee = 19;
string shard = 20;
Properties properties = 21;
bool automated_clean = 22;
string bios_interface = 23;
string chassis_uuid =24;
Instance_info instance_info = 25;
string instance_uuid =26;
bool maintenance = 27;
bool maintenance_reason = 28;
Network_data network_data = 29;
string parent_node =30;
bool protected =31;
string protected_reason =32;
bool retired =33;
string retired_reason =34;
message Properties {
}
message Instance_info {
}
message Network_data{
}
int32 code = 35; // @gotags: copier:"Code"
string msg = 36; // @gotags: copier:"Msg"
string error_msg =37;// @gotags: copier:"ErrorMsg"
}
message CreateNodeResp {
message Clean_step {
}
message Deploy_step {
}
message Driver_info {
string ipmi_password = 1;
string ipmi_username = 2;
}
message Driver_internal_info {
}
message Extra {
}
message Instance_info {
}
message Links {
string href = 1;
string rel = 2;
}
message Network_data {
}
message Portgroups {
string href = 1;
string rel = 2;
}
message Ports {
string href = 1;
string rel = 2;
}
message Properties {
}
message Raid_config {
}
message States {
string href = 1;
string rel = 2;
}
message Target_raid_config {
}
message Volume {
string href = 1;
string rel = 2;
}
string allocation_uuid = 1;
string name = 2;
string power_state = 3;
string target_power_state = 4;
string provision_state = 5;
string target_provision_state = 6;
bool maintenance = 7;
string maintenance_reason = 8;
string fault = 9;
string last_error = 10;
string reservation = 11;
string driver = 12;
Driver_info driver_info = 13;
Driver_internal_info driver_internal_info = 14;
Properties properties = 15;
Instance_info instance_info = 16;
string instance_uuid = 17;
string chassis_uuid = 18;
Extra extra = 19;
bool console_enabled = 20;
Raid_config raid_config = 21;
Target_raid_config target_raid_config = 22;
Clean_step clean_step = 23;
Deploy_step deploy_step = 24;
repeated Links links = 25;
repeated Ports ports = 26;
repeated Portgroups portgroups = 27;
repeated States states = 28;
string resource_class = 29;
string boot_interface = 30;
string console_interface = 31;
string deploy_interface = 32;
string conductor_group = 33;
string inspect_interface = 34;
string management_interface = 35;
string network_interface = 36;
string power_interface = 37;
string raid_interface = 38;
string rescue_interface = 39;
string storage_interface = 40;
repeated string traits = 41;
string vendor_interface = 42;
repeated Volume volume = 43;
bool protected = 44;
string protected_reason = 45;
string conductor =46;
string owner = 47;
string lessee = 48;
string shard = 49;
string description = 50;
string automated_clean = 51;
string bios_interface = 52;
Network_data network_data = 53;
bool retired = 54;
string retired_reason = 55;
string created_at = 56;
string inspection_finished_at = 57;
string inspection_started_at = 58;
string updated_at = 59;
string uuid = 60;
string provision_updated_at = 61;
int32 code = 62; // @gotags: copier:"Code"
string msg = 63; // @gotags: copier:"Msg"
string error_msg =65;// @gotags: copier:"ErrorMsg"
}
/******************Bare Metal createNode End*************************/
/****************** Bare Metal DeleteNode Start*************************/
message DeleteNodeReq{
string node_ident = 1;
}
message DeleteNodeResp{
int32 code = 1; // @gotags: copier:"Code"
string msg = 2; // @gotags: copier:"Msg"
string error_msg =3;// @gotags: copier:"ErrorMsg"
}
/****************** Bare Metal DeleteNode End*************************/
/****************** Bare Metal ShowNodeDetailsReq Start******************/
message ShowNodeDetailsReq{
string node_ident = 1;
repeated Fields fields = 2;
message Fields{
}
}
message ShowNodeDetailsResp{
message Clean_step {
}
message Deploy_step {
}
message Driver_info {
string ipmi_password = 1;
string ipmi_username = 2;
}
message Driver_internal_info {
string clean_steps = 1;
}
message Extra {
}
message Instance_info {
}
message Links {
string href = 1;
string rel = 2;
}
message Network_data {
}
message Portgroups {
string href = 1;
string rel = 2;
}
message Ports {
string href = 1;
string rel = 2;
}
message Properties {
}
message Raid_config {
}
message States {
string href = 1;
string rel = 2;
}
message Target_raid_config {
}
message Volume {
string href = 1;
string rel = 2;
}
message Traits{
}
string uuid = 1;
string name = 2;
string power_state = 3;
string target_power_state = 4;
string provision_state = 5;
string target_provision_state = 6;
bool maintenance = 7;
string maintenance_reason = 8;
string fault = 9;
string last_error = 10;
string reservation =11;
string driver = 12;
Driver_info driver_info = 13;
Driver_internal_info driver_internal_info = 14;
Properties properties = 15;
Instance_info instance_info = 16;
string instance_uuid = 17;
string chassis_uuid = 18;
Extra extra = 19;
bool console_enabled = 20;
Raid_config raid_config = 21;
Target_raid_config target_raid_config = 22;
Clean_step clean_step = 23;
Deploy_step deploy_step = 24;
repeated Links links = 25;
repeated Ports ports = 26;
repeated Portgroups portgroups = 27;
repeated States states = 28;
string resource_class = 29;
string bios_interface = 30;
string boot_interface = 31;
string console_interface = 32;
string deploy_interface = 33;
string inspect_interface = 34;
string management_interface =35;
string network_interface = 36;
string power_interface = 37;
string raid_interface = 38;
string rescue_interface = 39;
string storage_interface = 40;
repeated Traits traits = 41;
string vendor_interface = 42;
repeated Volume volume = 43;
string conductor_group = 44;
bool protected = 45;
string protected_reason = 46;
string owner = 47;
string lessee = 48;
string shard = 49;
string description = 50;
string conductor = 51;
string allocation_uuid = 52;
string created_at = 53;
string inspection_finished_at = 54;
string inspection_started_at = 55;
Network_data network_data = 57;
string provision_updated_at = 58;
bool retired = 59;
string retired_reason = 60;
string updated_at = 61;
int32 code = 62; // @gotags: copier:"Code"
string msg = 63; // @gotags: copier:"Msg"
string error_msg =64;// @gotags: copier:"ErrorMsg"
}
/****************** Bare Metal ShowNodeDetailsResp End********************/
/******************WangQi Bare Metal API End*************************/
/******************WangQi Images API start*************************/
message CreateImageReq{
string container_format = 1;
string disk_format = 2;
string id = 3;
int64 min_disk =4;
int64 min_ram =5;
string name = 6;
bool protected =7;
repeated Tags tags = 43;
string visibility = 44;
}
message Tags{
}
message CreateImageResp{
string Location = 1;
string OpenStack_image_import_methods = 2 [json_name="OpenStack-image-import-methods"];
string OpenStack_image_store_ids = 3 [json_name="OpenStack-image-store-ids"];
string checksum = 4;
string container_format = 5;
string created_at = 6;
string disk_format = 7;
string file = 8;
string id = 9;
uint32 min_disk = 10;
uint32 min_ram = 11;
string name = 12;
string os_hash_algo = 13;
string os_hash_value = 14;
bool os_hidden = 15;
bool protected = 16;
string owner = 17;
string schema = 18;
string self = 19;
int64 size = 20;
string status = 21;
string updated_at = 22;
string visibility = 23;
int64 virtual_size = 24;
string direct_url =25;
repeated Tags tags = 26;
repeated Locations locations = 27;
message Tags{
}
message Locations{
}
int32 code = 28; // @gotags: copier:"Code"
string msg = 29; // @gotags: copier:"Msg"
string error_msg =30;// @gotags: copier:"ErrorMsg"
}
message ListImagesReq{
int32 limit = 1; // @gotags: copier:"Limit"
/* string marker =2; // @gotags: copier:"Marker"
string name =3; // @gotags: copier:"Name"
string owner = 4; // @gotags: copier:"Owner"
bool protected =5; // @gotags: copier:"Protected"
int32 status =6; // @gotags: copier:"Status"
string tag = 7; // @gotags: copier:"tag"
string visibility =8; // @gotags: copier:"visibility"
bool os_hidden =9;
string member_status =10;
string size_max =11;
string size_min =12;
string created_at =13;
string updated_at =14;
string sort_dir =15;
string sort_key =16;
string sort =17;*/
}
message ListImagesResp{
string first =1;
string next =2;
string schema = 3;
repeated Images images = 4;
message Images{
string status = 1;
string name = 2;
repeated Tags tags = 3;
string container_format = 4;
string created_at = 5;
string disk_format = 6;
string updated_at = 7;
string visibility = 8;
string self = 9;
uint32 min_disk = 10;
bool protected = 11;
string id = 12;
string file = 13;
string checksum = 14;
string os_hash_algo = 15;
string os_hash_value = 16;
bool os_hidden = 17;
string owner = 18;
uint32 size = 19;
uint32 min_ram = 20;
string schema = 21;
int32 virtual_size = 22;
}
message Tags {
}
int32 code = 5; // @gotags: copier:"Code"
string msg = 6; // @gotags: copier:"Msg"
string error_msg =7;// @gotags: copier:"ErrorMsg"
}
message DeleteImageReq{
string image_id = 1; // @gotags: copier:"imageId"
}
message DeleteImageResp{
int32 code = 1; // @gotags: copier:"Code"
string msg = 2; // @gotags: copier:"Msg"
string error_msg =3;// @gotags: copier:"ErrorMsg"
}
message UploadOsImageReq{
string image_id = 1; // @gotags: copier:"ImageId"
}
message UploadOsImageResp{
int32 code = 1; // @gotags: copier:"Code"
string msg = 2; // @gotags: copier:"Msg"
string error_msg =3;// @gotags: copier:"ErrorMsg"
}
/******************WangQi Images API End*************************/
/******************WangQi volumes API start*************************/
message ListVolumesReq{
string project_id = 1; // @gotags: copier:"ProjectId"
string all_tenants =2;
string sort =3;
int32 limit =4;
int32 offset =5;
string marker =6;
bool with_count =7;
string created_at =8;
bool consumes_quota =9;
string updated_at =10;
}
message ListVolumesResp{
message Links {
string href = 1;
string rel = 2;
}
message Volumes {
string id = 1;
repeated Links links = 2;
string name = 3;
}
repeated Volumes volumes = 1;
int32 code = 2; // @gotags: copier:"Code"
string msg = 3; // @gotags: copier:"Msg"
string error_msg =4;// @gotags: copier:"ErrorMsg"
}
message ListVolumesDetailReq{
string all_tenants =2;
string sort =3;
int32 limit =4;
int32 offset =5;
string marker =6;
bool with_count =7;
string created_at =8;
bool consumes_quota =9;
string updated_at =10;
}
message ListVolumesDetailResp{
repeated VolumeDetail volumes = 1;
int32 code = 2; // @gotags: copier:"Code"
string msg = 3; // @gotags: copier:"Msg"
string error_msg =4;// @gotags: copier:"ErrorMsg"
message Links {
string href = 1;
string rel = 2;
}
message Attachments {
string server_id = 1;
string attachment_id = 2;
string attached_at =3;
string host_name =4;
string volume_id=5;
string device =6;
string id=7;
}
message Metadata{
}
message VolumeDetail {
string id = 1;
repeated Links links = 2;
string name = 3;
string migration_status =4;
repeated Attachments attachments = 5;
string availability_zone =6;
string os_vol_host_attr_host =7 [json_name="os-vol-host-attr:host"];
bool encrypted =8;
string encryption_key_id=9;
string updated_at=10;
string replication_status =11;
string snapshot_id =12;
int32 size =13;
string user_id =14;
string os_vol_tenant_attr_tenant_id =15 [json_name="os-vol-tenant-attr:tenant_id"];
string os_vol_mig_status_attr_migstat =16 [json_name="os-vol-mig-status-attr:migstat"];
Metadata metadata =17;
string status =18;
string description =19;
bool multiattach =20;
string source_volid =21;
string consistencygroup_id =22;
string os_vol_mig_status_attr_name_id =23 [json_name="os-vol-mig-status-attr:name_id"];
string bootable =24;
string created_at =25;
string volume_type =26;
string volume_type_id =27;
string group_id =28;
string provider_id =29;
string service_uuid =30;
bool shared_targets =31;
string cluster_name =32;
bool consumes_quota =33;
int32 count =34;
}
}
message CreateVolumeReq{
string project_id = 1; // @gotags: copier:"ProjectId"
Volume volume = 2;
// Os_ch_hnt_scheduler_hints OS_SCH_HNT_scheduler_hints = 3 [json_name="Os-sch-hnt:scheduler_hints"];
message Metadata {
}
message Volume {
int32 size = 1; // @gotags: copier:"Size"
string availability_zone =2; // @gotags: copier:"AvailabilityZone"
string name = 3; // @gotags: copier:"Name"
string volume_type =4; // @gotags: copier:"VolumeType"
string description =5; // @gotags: copier:"Description"
Metadata metadata = 11;
}
/* message Os_ch_hnt_scheduler_hints {
repeated string same_host = 1;
}*/
}
message CreateVolumeResp{
message Links {
string href = 1;
string rel = 2;
}
message Metadata {
}
message Volume {
repeated Attachments attachments = 1;
string availability_zone = 2;
string bootable = 3;
string consistencygroup_id = 4;
string created_at = 5;
string description = 6;
bool encrypted = 7;
string id = 8;
repeated Links links = 9;
Metadata metadata = 10;
string migration_status = 11;
bool multiattach = 12;
string name = 13;
string replication_status = 14;
uint32 size = 15;
string snapshot_id = 16;
string source_volid = 17;
string status = 18;
string updated_at = 19;
string user_id = 20;
string volume_type = 21;
string group_id = 22;
string provider_id = 23;
string service_uuid = 24;
bool shared_targets = 25;
string cluster_name = 26;
string volume_type_id = 27;
bool consumes_quota = 28;
}
message Attachments{
string server_id = 1;
string attachment_id = 2;
string attached_at = 3;
string host_name = 4;
string volume_id = 5;
string device = 6;
string id = 7;
}
Volume volume = 1; // @gotags: copier:"Volume"
int32 code = 2; // @gotags: copier:"Code"
string msg = 3; // @gotags: copier:"Msg"
string error_msg =4;// @gotags: copier:"ErrorMsg"
}
message DeleteVolumeReq{
// string project_id =1;
string volume_id =2;
bool cascade =3;
bool force =4;
}
message DeleteVolumeResp{
int32 code = 1; // @gotags: copier:"Code"
string msg = 2; // @gotags: copier:"Msg"
string error_msg =3;// @gotags: copier:"ErrorMsg"
}
message UpdateVolumeReq{
message Metadata {
string name = 1;
}
message Volume {
string name = 1;
string description = 2;
Metadata metadata = 3;
}
string project_id = 1;
string volume_type_id = 2;
Volume volume = 3;
}
message UpdateVolumeResp{
message Links {
string href = 1;
string rel = 2;
}
message Metadata {
string name = 1;
}
message Volume {
repeated Attachments attachments = 1;
string availability_zone = 2;
string bootable = 3;
string consistencygroup_id = 4;
string created_at = 5;
string description = 6;
bool encrypted = 7;
string id = 8;
repeated Links links = 9;
Metadata metadata = 10;
string migration_status = 11;
bool multiattach = 12;
string name = 13;
string replication_status = 14;
uint32 size = 15;
string snapshot_id = 16;
string source_volid = 17;
string status = 18;
string updated_at = 19;
string user_id = 20;
string volume_type = 21;
string group_id = 22;
string provider_id = 23;
string service_uuid = 24;
bool shared_targets = 25;
string cluster_name = 26;
string volume_type_id = 27;
bool consumes_quota = 28;
}
message Attachments{
string server_id = 1;
string attachment_id = 2;
string attached_at = 3;
string host_name = 4;
string volume_id = 5;
string device = 6;
string id = 7;
}
Volume volume = 1;
int32 code = 2; // @gotags: copier:"Code"
string msg = 3; // @gotags: copier:"Msg"
string error_msg =4;// @gotags: copier:"ErrorMsg"
}
message ListVolumeTypesReq{
string project_id =1;
string sort =2;
bool is_public =3;
int32 limit=4;
int32 offset =5;
string marker =6;
}
message ListVolumeTypesResp{
message Extra_specs {
string capabilities = 1;
}
message Volume_types {
string description = 1;
Extra_specs extra_specs = 2;
string id = 3;
bool is_public = 4; // @gotags: copier:"IsPublic"
string name = 5;
bool os_volume_type_access_is_public = 6 [json_name="os-volume-type-access:is_public"]; // @gotags: copier:"OsVolumeTypeAccessIsPublic"
string qos_specs_id = 7;
}
repeated Volume_types volume_types = 1; // @gotags: copier:"VolumeTypes"
int32 code = 2; // @gotags: copier:"Code"
string msg = 3; // @gotags: copier:"Msg"
string error_msg =4;// @gotags: copier:"ErrorMsg"
}
message CreateTypeReq{
message Extra_specs {
string capabilities = 1;
}
message Volume_type {
string name = 1;
string description = 2;
bool os_volume_type_access_is_public = 3[json_name="os-volume-type-access:is_public"];
Extra_specs extra_specs = 4;
}
string project_id=1;
Volume_type volume_type = 2;
}
message CreateTypeResp{
message Extra_specs {
string capabilities = 1; // @gotags: copier:"Capabilities"
}
message Volume_type {
string name = 1; // @gotags: copier:"Name"
Extra_specs extra_specs = 2; // @gotags: copier:"ExtraSpecs"
bool os_volume_type_access_is_public = 3[json_name="os-volume-type-access:is_public"]; // @gotags: copier:"OsVolumeTypeAccessIsPublic"
bool is_public = 4; // @gotags: copier:"IsPublic"
string id = 5; // @gotags: copier:"Id"
string description = 6; // @gotags: copier:"Description"
}
Volume_type volume_type = 1; // @gotags: copier:"VolumeTypes"
int32 code = 2; // @gotags: copier:"Code"
string msg = 3; // @gotags: copier:"Msg"
string error_msg =4;// @gotags: copier:"ErrorMsg"
}
message DeleteTypeReq{
string project_id =1;
string volume_type_id =2;
}
message DeleteTypeResp{
int32 code = 1; // @gotags: copier:"Code"
string msg = 2; // @gotags: copier:"Msg"
string error_msg =3;// @gotags: copier:"ErrorMsg"
}
/******************WangQi volumes API start*************************/
service Openstack {
// Servers
rpc ListServers(ListServersReq) returns (ListServersResp);
rpc ListServersDetailed (ListServersDetailedReq) returns (ListServersDetailedResp);
rpc CreateServer(CreateServerReq) returns (CreateServerResp);
rpc DeleteServer(DeleteServerReq) returns (DeleteServerResp);
rpc ListServerDetailedById(ListServerDetailedByIdReq ) returns (ListServerDetailedByIdResp);
rpc UpdateServer(UpdateServerReq) returns (UpdateServerResp);
rpc StartServer(StartServerReq) returns (StartServerResp);
rpc StopServer(StopServerReq) returns (StopServerResp);
rpc RebootServer(RebootServerReq) returns (RebootServerResp);
rpc PauseServer(PauseServerReq) returns (PauseServerResp);
rpc ListFlavorsDetail(ListFlavorsDetailReq) returns (ListFlavorsDetailResp);
//network
rpc ShowNetworkDetails(ShowNetworkDetailsReq) returns (ShowNetworkDetailsResp);
rpc UpdateNetwork(UpdateNetworkReq) returns (UpdateNetworkResp);
rpc DeleteNetwork(DeleteNetworkReq) returns (DeleteNetworkResp);
rpc ListNetworks(ListNetworksReq) returns (ListNetworksResp);
rpc CreateNetwork(CreateNetworkReq) returns (CreateNetworkResp);
rpc BulkCreateNetworks(BulkCreateNetworksReq) returns (BulkCreateNetworksResp);//批量创建网络
rpc CreateSubnet(CreateSubnetReq) returns (CreateSubnetResp);//创建子网
// Images from glance
rpc CreateImage(CreateImageReq) returns (CreateImageResp);
rpc LisImages(ListImagesReq) returns (ListImagesResp);
rpc DeleteImage(DeleteImageReq) returns (DeleteImageResp);
rpc UploadImage(UploadOsImageReq) returns (UploadOsImageResp);
// Bare Metal
rpc ListNodes(ListNodesReq) returns (ListNodesResp);
rpc CreateNode(CreateNodeReq) returns (CreateNodeResp);
rpc DeleteNode(DeleteNodeReq) returns (DeleteNodeResp);
rpc ShowNodeDetails(ShowNodeDetailsReq) returns (ShowNodeDetailsResp);
// cinder(block storage) volumes
rpc ListVolumes(ListVolumesReq) returns (ListVolumesResp);
rpc ListVolumesDetail(ListVolumesDetailReq) returns (ListVolumesDetailResp);
rpc CreateVolume(CreateVolumeReq) returns (CreateVolumeResp);
rpc DeleteVolume(DeleteVolumeReq) returns (DeleteVolumeResp);
rpc UpdateVolume(UpdateVolumeReq) returns (UpdateVolumeResp);
rpc ListVolumeTypes(ListVolumeTypesReq) returns (ListVolumeTypesResp);
rpc CreateVolumeTypes(CreateTypeReq) returns (CreateTypeResp);
rpc DeleteVolumeTypes(DeleteTypeReq) returns (DeleteTypeResp);
}