pcm-participant/cloud/service/container.go

56 lines
1.2 KiB
Go

package service
import (
"context"
"errors"
"gitlink.org.cn/JointCloud/pcm-participant-cloud/container"
)
type Container struct {
container container.IContainer
}
func NewContainer(container container.IContainer) *Container {
return &Container{container: container}
}
func (c *Container) Create(ctx context.Context, param *container.CreateParam) (interface{}, error) {
if param.Name == "" {
return nil, errors.New("Name is required")
}
if param.Image == "" {
return nil, errors.New("Image is required")
}
if param.ContainerGroupName == "" {
return nil, errors.New("ContainerGroupName is required")
}
if param == nil {
return nil, nil
}
ctn, err := c.container.Create(ctx, param)
if err != nil {
return nil, err
}
return ctn, nil
}
func (c *Container) Delete(ctx context.Context, param *container.DeleteParam) error {
if param == nil {
return nil
}
err := c.container.Delete(ctx, param)
if err != nil {
return err
}
return nil
}
func (c *Container) Get(ctx context.Context, param *container.GetParam) (interface{}, error) {
if param == nil {
return nil, errors.New("param is required")
}
resp, err := c.container.Get(ctx, param)
if err != nil {
return nil, err
}
return resp, err
}