Skip to content

Commit

Permalink
♻️: Update container status return (#129)
Browse files Browse the repository at this point in the history
  • Loading branch information
alperencelik committed Mar 7, 2024
1 parent 4f9cd78 commit f038446
Show file tree
Hide file tree
Showing 2 changed files with 36 additions and 17 deletions.
48 changes: 36 additions & 12 deletions containers.go
Original file line number Diff line number Diff line change
Expand Up @@ -48,28 +48,52 @@ func (c *Container) Config(ctx context.Context, options ...ContainerOption) (*Ta
return NewTask(upid, c.client), err
}

func (c *Container) Start(ctx context.Context) (status string, err error) {
return status, c.client.Post(ctx, fmt.Sprintf("/nodes/%s/lxc/%d/status/start", c.Node, c.VMID), nil, &status)
func (c *Container) Start(ctx context.Context) (task *Task, err error) {
var upid UPID
if err := c.client.Post(ctx, fmt.Sprintf("/nodes/%s/lxc/%d/status/start", c.Node, c.VMID), nil, &upid); err != nil {
return nil, err
}
return NewTask(upid, c.client), nil
}

func (c *Container) Stop(ctx context.Context) (status string, err error) {
return status, c.client.Post(ctx, fmt.Sprintf("/nodes/%s/lxc/%d/status/stop", c.Node, c.VMID), nil, &status)
func (c *Container) Stop(ctx context.Context) (task *Task, err error) {
var upid UPID
if err := c.client.Post(ctx, fmt.Sprintf("/nodes/%s/lxc/%d/status/stop", c.Node, c.VMID), nil, &upid); err != nil {
return nil, err
}
return NewTask(upid, c.client), nil
}

func (c *Container) Suspend(ctx context.Context) (status string, err error) {
return status, c.client.Post(ctx, fmt.Sprintf("/nodes/%s/lxc/%d/status/suspend", c.Node, c.VMID), nil, &status)
func (c *Container) Suspend(ctx context.Context) (task *Task, err error) {
var upid UPID
if err := c.client.Post(ctx, fmt.Sprintf("/nodes/%s/lxc/%d/status/suspend", c.Node, c.VMID), nil, &upid); err != nil {
return nil, err
}
return NewTask(upid, c.client), nil
}

func (c *Container) Reboot(ctx context.Context) (status string, err error) {
return status, c.client.Post(ctx, fmt.Sprintf("/nodes/%s/lxc/%d/status/reboot", c.Node, c.VMID), nil, &status)
func (c *Container) Reboot(ctx context.Context) (task *Task, err error) {
var upid UPID
if err := c.client.Post(ctx, fmt.Sprintf("/nodes/%s/lxc/%d/status/reboot", c.Node, c.VMID), nil, &upid); err != nil {
return nil, err
}
return NewTask(upid, c.client), nil
}

func (c *Container) Resume(ctx context.Context) (status string, err error) {
return status, c.client.Post(ctx, fmt.Sprintf("/nodes/%s/lxc/%d/status/resume", c.Node, c.VMID), nil, &status)
func (c *Container) Resume(ctx context.Context) (task *Task, err error) {
var upid UPID
if err := c.client.Post(ctx, fmt.Sprintf("/nodes/%s/lxc/%d/status/resume", c.Node, c.VMID), nil, &upid); err != nil {
return nil, err
}
return NewTask(upid, c.client), nil
}

func (c *Container) Shutdown(ctx context.Context, force bool, timeout int) (status string, err error) {
return status, c.client.Post(ctx, fmt.Sprintf("/nodes/%s/lxc/%d/status/shutdown", c.Node, c.VMID), map[string]interface{}{"force": force, "timeout": timeout}, &status)
func (c *Container) Shutdown(ctx context.Context, force bool, timeout int) (task *Task, err error) {
var upid UPID
if err := c.client.Post(ctx, fmt.Sprintf("/nodes/%s/lxc/%d/status/shutdown", c.Node, c.VMID), map[string]interface{}{"forceStop": force, "timeout": timeout}, &upid); err != nil {
return nil, err
}
return NewTask(upid, c.client), nil
}

func (c *Container) TermProxy(ctx context.Context) (vnc *VNC, err error) {
Expand Down
5 changes: 0 additions & 5 deletions types.go
Original file line number Diff line number Diff line change
Expand Up @@ -678,11 +678,6 @@ type ContainerCloneOptions struct {
Target string `json:"target,omitempty"`
}

type ContainerStatuses []*ContainerStatus
type ContainerStatus struct {
Data string `json:",omitempty"`
}

// ContainerOptions A key/value pair used to modify a container(LXC) config
// Refer to https://pve.proxmox.com/pve-docs/api-viewer/#/nodes/{node}/lxc/{vmid}/config for a list of valid values
type ContainerOptions []*ContainerOption
Expand Down

0 comments on commit f038446

Please sign in to comment.