JCC-CSScheduler/common/pkgs/mq/executor/pcm.go

64 lines
1.7 KiB
Go

package executor
import (
"gitlink.org.cn/cloudream/common/pkgs/mq"
pcmsdk "gitlink.org.cn/cloudream/common/sdks/pcm"
)
type PCMService interface {
DeleteImage(msg *DeleteImage) (*DeleteImageResp, *mq.CodeMessage)
DeleteTask(msg *DeleteTask) (*DeleteTaskResp, *mq.CodeMessage)
}
// 删除镜像
var _ = Register(Service.DeleteImage)
type DeleteImage struct {
mq.MessageBodyBase
PCMParticipantID pcmsdk.ParticipantID `json:"pcmParticipantID"`
PCMImageID pcmsdk.ImageID `json:"pcmImageID"`
}
type DeleteImageResp struct {
mq.MessageBodyBase
}
func NewDeleteImage(pcmParticipantID pcmsdk.ParticipantID, pcmImageID pcmsdk.ImageID) *DeleteImage {
return &DeleteImage{
PCMParticipantID: pcmParticipantID,
PCMImageID: pcmImageID,
}
}
func NewDeleteImageResp() *DeleteImageResp {
return &DeleteImageResp{}
}
func (c *Client) DeleteImage(msg *DeleteImage, opts ...mq.RequestOption) (*DeleteImageResp, error) {
return mq.Request(Service.DeleteImage, c.rabbitCli, msg, opts...)
}
// 删除任务
var _ = Register(Service.DeleteTask)
type DeleteTask struct {
mq.MessageBodyBase
PCMParticipantID pcmsdk.ParticipantID `json:"pcmParticipantID"`
PCMTaskID pcmsdk.TaskID `json:"pcmTaskID"`
}
type DeleteTaskResp struct {
mq.MessageBodyBase
}
func NewDeleteTask(pcmParticipantID pcmsdk.ParticipantID, pcmTaskID pcmsdk.TaskID) *DeleteTask {
return &DeleteTask{
PCMParticipantID: pcmParticipantID,
PCMTaskID: pcmTaskID,
}
}
func NewDeleteTaskResp() *DeleteTaskResp {
return &DeleteTaskResp{}
}
func (c *Client) DeleteTask(msg *DeleteTask, opts ...mq.RequestOption) (*DeleteTaskResp, error) {
return mq.Request(Service.DeleteTask, c.rabbitCli, msg, opts...)
}