liuhaijun 3f5f28d785 add sheduling agent
Change-Id: I89f35fb3984044c57f10727432755012542f9fd8
2023-11-16 10:55:57 +00:00

70 lines
1.9 KiB
Go

package v1
import (
"encoding/json"
"git.inspur.com/sbg-jszt/cfn/cfn-schedule-agent/config/agent"
"git.inspur.com/sbg-jszt/cfn/cfn-schedule-agent/internal/controller"
"git.inspur.com/sbg-jszt/cfn/cfn-schedule-agent/internal/pkg/errors"
"git.inspur.com/sbg-jszt/cfn/cfn-schedule-agent/internal/pkg/request"
"git.inspur.com/sbg-jszt/cfn/cfn-schedule-agent/internal/service/component"
"git.inspur.com/sbg-jszt/cfn/cfn-schedule-agent/internal/service/load_resource_info"
"github.com/gin-gonic/gin"
"io"
)
func AssetInformationEntry(c *gin.Context) {
body := request.GetBody(c)
var rinfo = agent.AgentConfig{}
err := json.Unmarshal(body, &rinfo)
if err != nil {
controller.FailCode(c, errors.ServerError, err, "更新资产信息失败!")
return
}
agent.Agent = &rinfo
load_resource_info.LoadAgentInfo(rinfo)
controller.Success(c, "配置初始化完成")
}
func GetComponentInfo(c *gin.Context) {
info, err := component.GetComInfo()
if err != nil {
controller.FailCode(c, errors.ServerError, err, "获取组件详情失败!")
return
}
controller.Success(c, info)
}
func UpdateTelegrafConfig(c *gin.Context) {
_, fileHeader, err := c.Request.FormFile("telegraf-config")
if err != nil {
controller.FailCode(c, errors.InvalidParameter, err, "请检查参数(body)是否符合要求!")
return
}
src, err := fileHeader.Open()
if err != nil {
controller.FailCode(c, errors.InvalidParameter, err, "请检查参数(body)是否符合要求!")
return
}
defer src.Close()
var out []byte
out, _ = io.ReadAll(src)
component.UpdateTelegrafConfig(out)
if err != nil {
controller.FailCode(c, errors.ServerError, err, "请检查参数(body)是否符合要求!")
return
}
controller.Success(c, "完成配置文件更新!")
}
func RecoverConfig(c *gin.Context) {
component.RecoverConfig()
controller.Success(c, "完成配置文件恢复!")
}