代码拉取完成,页面将自动刷新
/*
* Copyright (c) KylinSoft Co., Ltd. 2024.All rights reserved.
* PilotGo licensed under the Mulan Permissive Software License, Version 2.
* See LICENSE file for more details.
* Author: zhanghan2021 <zhanghan@kylinos.cn>
* Date: Wed Sep 27 17:35:12 2023 +0800
*/
package client
import (
"encoding/json"
"fmt"
"gitee.com/openeuler/PilotGo/sdk/common"
"gitee.com/openeuler/PilotGo/sdk/plugin/jwt"
"gitee.com/openeuler/PilotGo/sdk/utils/httputils"
)
func (c *Client) MachineList() ([]*common.MachineNode, error) {
serverInfo, err := c.Registry.Get("pilotgo-server")
if err != nil {
return nil, err
}
url := fmt.Sprintf("http://%s:%s/api/v1/pluginapi/machine_list", serverInfo.Address, serverInfo.Port)
r, err := httputils.Get(url, &httputils.Params{
Cookie: map[string]string{
jwt.TokenCookie: c.token,
},
})
if err != nil {
return nil, err
}
result := struct {
Code int `json:"code"`
Data []*common.MachineNode `json:"data"`
}{}
if err := json.Unmarshal(r.Body, &result); err != nil {
return nil, err
}
return result.Data, nil
}
func (c *Client) MachineInfoByUUID(machine_uuid string) (*common.MachineNode, error) {
serverInfo, err := c.Registry.Get("pilotgo-server")
if err != nil {
return &common.MachineNode{}, err
}
url := fmt.Sprintf("http://%s:%s/api/v1/pluginapi/machine_info?machine_uuid=%s", serverInfo.Address, serverInfo.Port, machine_uuid)
r, err := httputils.Get(url, &httputils.Params{
Cookie: map[string]string{
jwt.TokenCookie: c.token,
},
})
if err != nil {
return nil, err
}
result := struct {
Code int `json:"code"`
Data *struct {
ID int `json:"id"`
Departid int `json:"departid"`
Departname string `json:"departname"`
IP string `json:"ip"`
UUID string `json:"uuid"`
CPU string `json:"cpu"`
Runstatus string `json:"runstatus"`
Maintstatus string `json:"maintstatus"`
Systeminfo string `json:"systeminfo"`
} `json:"data"`
}{}
if err := json.Unmarshal(r.Body, &result); err != nil {
return nil, err
}
res := &common.MachineNode{
UUID: machine_uuid,
Department: result.Data.Departname,
IP: result.Data.IP,
CPUArch: result.Data.CPU,
OS: result.Data.Systeminfo,
RunStatus: result.Data.Runstatus,
MaintStatus: result.Data.Maintstatus,
}
return res, nil
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。