56 lines
1.2 KiB
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
|
|
}
|