snapshot: AnsibleManager拆分前快照
This commit is contained in:
1 parent
16205fdb2b
commit
e6d9f364e5
13 files changed
+660
-103
No files matched your search
@@ -251,6 +251,48 @@ func (h *AlertHandler) DeleteRule(c *gin.Context) {
|
||||
})
|
||||
}
|
||||
|
||||
// BatchDeleteRules 批量删除告警规则 // Logan.Li
|
||||
// @Summary 批量删除告警规则
|
||||
// @Description 批量删除指定告警规则
|
||||
// @Tags 告警
|
||||
// @Accept json
|
||||
// @Produce json
|
||||
// @Security Bearer
|
||||
// @Param request body models.IDsRequest true "删除请求"
|
||||
// @Success 200 {object} models.Response
|
||||
// @Router /alerts/rules/batch-delete [delete]
|
||||
func (h *AlertHandler) BatchDeleteRules(c *gin.Context) {
|
||||
var req models.IDsRequest
|
||||
if err := c.ShouldBindJSON(&req); err != nil {
|
||||
c.JSON(http.StatusBadRequest, models.Response{
|
||||
Code: 400,
|
||||
Message: "请求参数错误",
|
||||
})
|
||||
return
|
||||
}
|
||||
|
||||
if len(req.IDs) == 0 {
|
||||
c.JSON(http.StatusBadRequest, models.Response{
|
||||
Code: 400,
|
||||
Message: "请选择要删除的规则",
|
||||
})
|
||||
return
|
||||
}
|
||||
|
||||
if err := h.db.Delete(&models.AlertRule{}, req.IDs).Error; err != nil {
|
||||
c.JSON(http.StatusInternalServerError, models.Response{
|
||||
Code: 500,
|
||||
Message: "删除失败",
|
||||
})
|
||||
return
|
||||
}
|
||||
|
||||
c.JSON(http.StatusOK, models.Response{
|
||||
Code: 200,
|
||||
Message: "删除成功",
|
||||
})
|
||||
}
|
||||
|
||||
// ToggleRule 切换告警规则状态
|
||||
// @Summary 切换告警规则状态
|
||||
// @Description 启用或禁用告警规则
|
||||
|
||||
@@ -115,6 +115,24 @@ func (h *AnsibleHandler) DeletePlaybook(c *gin.Context) {
|
||||
c.JSON(http.StatusOK, models.Response{Code: 200, Message: "已删除"})
|
||||
}
|
||||
|
||||
// BatchDeletePlaybooks 批量删除 Playbook // Logan.Li
|
||||
func (h *AnsibleHandler) BatchDeletePlaybooks(c *gin.Context) {
|
||||
var req models.IDsRequest
|
||||
if err := c.ShouldBindJSON(&req); err != nil {
|
||||
c.JSON(http.StatusBadRequest, models.Response{Code: 400, Message: "请求参数错误"})
|
||||
return
|
||||
}
|
||||
if len(req.IDs) == 0 {
|
||||
c.JSON(http.StatusBadRequest, models.Response{Code: 400, Message: "ids 不能为空"})
|
||||
return
|
||||
}
|
||||
if err := h.db.Delete(&models.AnsiblePlaybook{}, req.IDs).Error; err != nil {
|
||||
c.JSON(http.StatusInternalServerError, models.Response{Code: 500, Message: "删除失败"})
|
||||
return
|
||||
}
|
||||
c.JSON(http.StatusOK, models.Response{Code: 200, Message: "已删除"})
|
||||
}
|
||||
|
||||
// ==================== Job ====================
|
||||
|
||||
func (h *AnsibleHandler) ListJobs(c *gin.Context) {
|
||||
|
||||
@@ -210,6 +210,40 @@ func (h *AutomationHandler) DeleteCronJob(c *gin.Context) {
|
||||
})
|
||||
}
|
||||
|
||||
// BatchDeleteCronJobs 批量删除定时任务
|
||||
// @Summary 批量删除定时任务
|
||||
// @Description 批量删除定时任务
|
||||
// @Tags 自动化运维
|
||||
// @Accept json
|
||||
// @Produce json
|
||||
// @Security Bearer
|
||||
// @Param request body models.IDsRequest true "删除请求"
|
||||
// @Success 200 {object} models.Response
|
||||
// @Router /cron-jobs/batch-delete [delete]
|
||||
func (h *AutomationHandler) BatchDeleteCronJobs(c *gin.Context) {
|
||||
var req models.IDsRequest
|
||||
if err := c.ShouldBindJSON(&req); err != nil {
|
||||
c.JSON(http.StatusBadRequest, models.Response{
|
||||
Code: 400,
|
||||
Message: "请求参数错误",
|
||||
})
|
||||
return
|
||||
}
|
||||
|
||||
if err := h.db.Delete(&models.CronJob{}, req.IDs).Error; err != nil {
|
||||
c.JSON(http.StatusInternalServerError, models.Response{
|
||||
Code: 500,
|
||||
Message: "删除失败",
|
||||
})
|
||||
return
|
||||
}
|
||||
|
||||
c.JSON(http.StatusOK, models.Response{
|
||||
Code: 200,
|
||||
Message: "删除成功",
|
||||
})
|
||||
}
|
||||
|
||||
// ToggleCronJob 切换定时任务状态
|
||||
// @Summary 切换定时任务状态
|
||||
// @Description 启用或禁用定时任务
|
||||
|
||||
@@ -205,6 +205,40 @@ func (h *AutomationHandler) DeleteScript(c *gin.Context) {
|
||||
})
|
||||
}
|
||||
|
||||
// BatchDeleteScripts 批量删除脚本
|
||||
// @Summary 批量删除脚本
|
||||
// @Description 批量删除脚本
|
||||
// @Tags 自动化运维
|
||||
// @Accept json
|
||||
// @Produce json
|
||||
// @Security Bearer
|
||||
// @Param request body models.IDsRequest true "删除请求"
|
||||
// @Success 200 {object} models.Response
|
||||
// @Router /scripts/batch-delete [post]
|
||||
func (h *AutomationHandler) BatchDeleteScripts(c *gin.Context) {
|
||||
var req models.IDsRequest
|
||||
if err := c.ShouldBindJSON(&req); err != nil {
|
||||
c.JSON(http.StatusBadRequest, models.Response{
|
||||
Code: 400,
|
||||
Message: "请求参数错误",
|
||||
})
|
||||
return
|
||||
}
|
||||
|
||||
if err := h.db.Delete(&models.Script{}, req.IDs).Error; err != nil {
|
||||
c.JSON(http.StatusInternalServerError, models.Response{
|
||||
Code: 500,
|
||||
Message: "删除失败",
|
||||
})
|
||||
return
|
||||
}
|
||||
|
||||
c.JSON(http.StatusOK, models.Response{
|
||||
Code: 200,
|
||||
Message: "删除成功",
|
||||
})
|
||||
}
|
||||
|
||||
// ExecuteScript 执行脚本
|
||||
// @Summary 执行脚本
|
||||
// @Description 在目标服务器上执行脚本
|
||||
|
||||
@@ -125,3 +125,27 @@ func (h *RegionHandler) DeleteRegion(c *gin.Context) {
|
||||
}
|
||||
c.JSON(http.StatusOK, models.Response{Code: 200, Message: "删除成功"})
|
||||
}
|
||||
|
||||
// BatchDeleteRegions 批量删除区域 // Logan.Li
|
||||
// @Summary 批量删除区域
|
||||
// @Description 批量删除区域
|
||||
// @Tags 云区域
|
||||
// @Accept json
|
||||
// @Produce json
|
||||
// @Security Bearer
|
||||
// @Param request body models.IDsRequest true "删除请求"
|
||||
// @Success 200 {object} models.Response
|
||||
// @Router /regions/batch-delete [delete]
|
||||
func (h *RegionHandler) BatchDeleteRegions(c *gin.Context) {
|
||||
var req models.IDsRequest
|
||||
if err := c.ShouldBindJSON(&req); err != nil {
|
||||
c.JSON(http.StatusBadRequest, models.Response{Code: 400, Message: "请求参数错误"})
|
||||
return
|
||||
}
|
||||
|
||||
if err := h.db.Delete(&models.Region{}, req.IDs).Error; err != nil {
|
||||
c.JSON(http.StatusInternalServerError, models.Response{Code: 500, Message: "删除失败"})
|
||||
return
|
||||
}
|
||||
c.JSON(http.StatusOK, models.Response{Code: 200, Message: "删除成功"})
|
||||
}
|
||||
@@ -150,6 +150,7 @@ func Register(r *gin.Engine, db *gorm.DB, log *zap.Logger, cfg *config.Config) {
|
||||
regions.GET("", regionHandler.ListRegions)
|
||||
regions.POST("", regionHandler.CreateRegion)
|
||||
regions.PUT("/:id", regionHandler.UpdateRegion)
|
||||
regions.DELETE("/batch-delete", regionHandler.BatchDeleteRegions) // Logan.Li
|
||||
regions.DELETE("/:id", regionHandler.DeleteRegion)
|
||||
}
|
||||
|
||||
@@ -207,6 +208,7 @@ func Register(r *gin.Engine, db *gorm.DB, log *zap.Logger, cfg *config.Config) {
|
||||
alerts.GET("/rules", alertHandler.ListRules)
|
||||
alerts.POST("/rules", alertHandler.CreateRule)
|
||||
alerts.PUT("/rules/:id", alertHandler.UpdateRule)
|
||||
alerts.DELETE("/rules/batch-delete", alertHandler.BatchDeleteRules)
|
||||
alerts.DELETE("/rules/:id", alertHandler.DeleteRule)
|
||||
alerts.POST("/rules/:id/toggle", alertHandler.ToggleRule)
|
||||
alerts.POST("/:id/ack", alertHandler.AcknowledgeAlert)
|
||||
@@ -249,6 +251,7 @@ func Register(r *gin.Engine, db *gorm.DB, log *zap.Logger, cfg *config.Config) {
|
||||
cronJobs.POST("", automationHandler.CreateCronJob)
|
||||
cronJobs.GET("/:id", automationHandler.GetCronJob)
|
||||
cronJobs.PUT("/:id", automationHandler.UpdateCronJob)
|
||||
cronJobs.DELETE("/batch-delete", automationHandler.BatchDeleteCronJobs)
|
||||
cronJobs.DELETE("/:id", automationHandler.DeleteCronJob)
|
||||
cronJobs.POST("/:id/toggle", automationHandler.ToggleCronJob)
|
||||
cronJobs.POST("/:id/execute", automationHandler.ExecuteCronJob)
|
||||
@@ -260,6 +263,7 @@ func Register(r *gin.Engine, db *gorm.DB, log *zap.Logger, cfg *config.Config) {
|
||||
scripts.POST("", automationHandler.CreateScript)
|
||||
scripts.GET("/:id", automationHandler.GetScript)
|
||||
scripts.PUT("/:id", automationHandler.UpdateScript)
|
||||
scripts.POST("/batch-delete", automationHandler.BatchDeleteScripts)
|
||||
scripts.DELETE("/:id", automationHandler.DeleteScript)
|
||||
scripts.POST("/:id/execute", automationHandler.ExecuteScript)
|
||||
}
|
||||
@@ -286,6 +290,7 @@ func Register(r *gin.Engine, db *gorm.DB, log *zap.Logger, cfg *config.Config) {
|
||||
ansible.GET("/playbooks/:id", ansibleHandler.GetPlaybook)
|
||||
ansible.PUT("/playbooks/:id", ansibleHandler.UpdatePlaybook)
|
||||
ansible.DELETE("/playbooks/:id", ansibleHandler.DeletePlaybook)
|
||||
ansible.DELETE("/playbooks/batch-delete", ansibleHandler.BatchDeletePlaybooks)
|
||||
ansible.POST("/playbooks/:id/execute", ansibleHandler.ExecutePlaybook)
|
||||
|
||||
ansible.GET("/jobs", ansibleHandler.ListJobs)
|
||||
|
||||
Reference in new issue
Block a user