70 lines
1.9 KiB
Go
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, "完成配置文件恢复!")
|
|
}
|