Modifying INTERFACE of listserversdetailedlogic.go

This commit is contained in:
qiwang 2024-04-01 10:18:44 +08:00
parent 6cff79d0ca
commit 51419f13ef
3 changed files with 6291 additions and 6236 deletions

View File

@ -119,9 +119,13 @@ type ServersDetailed struct {
VmState string `json:"VmState"`
OS_EXT_SRV_ATTR_Instance_Name string `json:"OS_EXT_SRV_ATTR_Instance_Name"`
Created string `json:"Created"`
Updated string `json:"Updated"`
HostId string `json:"HostId"`
Ip string `json:"Ip"`
Image string `json:"Image"`
Flavor string `json:"Flavor"`
Id string `json:"Id"`
Name string `json:"Name"`
// 其他字段...
}
@ -147,18 +151,27 @@ func (l *ListServersDetailedLogic) ListServersDetailed(in *openstack.ListServers
}
var newList []interface{}
for _, server := range response.Servers {
// 假设我们想要提取任务状态(task_state)和状态(status)
newList = append(newList, map[string]interface{}{
"OSTaskState": server.OSTaskState,
"status": server.Status,
"VmState": server.VmState,
"OS_EXT_SRV_ATTR_Instance_Name": server.InstanceName,
"Created": server.Created,
"Updated": server.Updated,
"hostId": server.HostId,
"ip": server.Addresses,
"image": server.Image.Id,
})
for _, network := range server.Addresses {
for _, addr := range network {
ip := addr.Addr
fmt.Println("addr:", addr.Addr)
// 假设我们想要提取任务状态(task_state)和状态(status)
newList = append(newList, map[string]interface{}{
"OSTaskState": server.OSTaskState,
"Status": server.Status,
"VmState": server.VmState,
"OS_EXT_SRV_ATTR_Instance_Name": server.InstanceName,
"Created": server.Created,
"Updated": server.Updated,
"HostId": server.HostId,
"Ip": ip,
"Image": server.Image.Id,
"Flavor": server.Flavor.Id,
"Id": server.Id,
"Name": server.Name,
})
}
}
}
jsonData, err := json.Marshal(newList)
var serversDetailed []ServersDetailed

File diff suppressed because it is too large Load Diff

View File

@ -122,6 +122,10 @@ message ListServersDetailedResp {
string HostId = 6;
string Ip = 7;
string Image =8;
string Updated = 9;
string Flavor =10;
string Id =11;
string Name =12;
}
repeated ServersDetailed servers = 1; // @gotags: copier:"ServersDetailed"