Ai
70 Star 93 Fork 79

openEuler/PilotGo-plugins

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
script.go 1.69 KB
一键复制 编辑 原始数据 按行查看 历史
wubijie 提交于 2023-07-27 10:54 +08:00 . Integration structure
package client
import (
"encoding/base64"
"encoding/json"
"gitee.com/openeuler/PilotGo-plugins/sdk/common"
"gitee.com/openeuler/PilotGo-plugins/sdk/utils/httputils"
)
type CmdResult struct {
MachineUUID string
MachineIP string
RetCode int
Stdout string
Stderr string
}
type CmdStruct struct {
Batch *common.Batch `json:"batch"`
Command string `json:"command"`
}
func (c *Client) RunCommand(batch *common.Batch, cmd string) ([]*CmdResult, error) {
url := c.Server + "/api/v1/pluginapi/run_command"
p := &CmdStruct{
Batch: batch,
Command: base64.StdEncoding.EncodeToString([]byte(cmd)),
}
r, err := httputils.Post(url, &httputils.Params{
Body: p,
})
if err != nil {
return nil, err
}
res := &struct {
Code int `json:"code"`
Message string `json:"msg"`
Data []*CmdResult `json:"data"`
}{}
if err := json.Unmarshal(r.Body, res); err != nil {
return nil, err
}
return res.Data, nil
}
type ScriptStruct struct {
Batch *common.Batch `json:"batch"`
Script string `json:"script"`
Params []string `json:"params"`
}
func (c *Client) RunScript(batch *common.Batch, script string, params []string) ([]*CmdResult, error) {
url := c.Server + "/api/v1/pluginapi/run_script"
p := &ScriptStruct{
Batch: batch,
Script: base64.StdEncoding.EncodeToString([]byte(script)),
Params: params,
}
r, err := httputils.Post(url, &httputils.Params{
Body: p,
})
if err != nil {
return nil, err
}
res := &struct {
Code int `json:"code"`
Message string `json:"msg"`
Data []*CmdResult `json:"data"`
}{}
if err := json.Unmarshal(r.Body, res); err != nil {
return nil, err
}
return res.Data, nil
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/openeuler/PilotGo-plugins.git
git@gitee.com:openeuler/PilotGo-plugins.git
openeuler
PilotGo-plugins
PilotGo-plugins
80198980aca1

搜索帮助