Files
decort-golang-sdk/pkg/cloudbroker/compute/raise_down.go

45 lines
973 B
Go
Raw Normal View History

2022-12-22 17:56:47 +03:00
package compute
import (
"context"
"net/http"
"strconv"
)
2026-06-05 17:14:39 +03:00
type wrapperRaiseDownRequest struct {
AsyncMode bool `url:"asyncMode"`
}
2022-12-22 17:56:47 +03:00
// RaiseDown starting all computes in "DOWN" tech status
func (c Compute) RaiseDown(ctx context.Context) (bool, error) {
2026-06-05 17:14:39 +03:00
reqWrapped := wrapperRaiseDownRequest{AsyncMode: false}
2022-12-22 17:56:47 +03:00
url := "/cloudbroker/compute/raiseDown"
2026-06-05 17:14:39 +03:00
res, err := c.client.DecortApiCall(ctx, http.MethodPost, url, reqWrapped)
2022-12-22 17:56:47 +03:00
if err != nil {
return false, err
}
result, err := strconv.ParseBool(string(res))
if err != nil {
return false, err
}
return result, nil
}
2026-06-05 17:14:39 +03:00
// RaiseDownAsync starting all computes in "DOWN" tech status with AsyncMode
func (c Compute) RaiseDownAsync(ctx context.Context) (string, error) {
reqWrapped := wrapperRaiseDownRequest{AsyncMode: true}
url := "/cloudbroker/compute/raiseDown"
res, err := c.client.DecortApiCall(ctx, http.MethodPost, url, reqWrapped)
if err != nil {
return "", err
}
return string(res), nil
}