This commit is contained in:
stSolo
2022-12-22 17:56:47 +03:00
parent 8712561853
commit d4b1ab7133
672 changed files with 28509 additions and 4419 deletions

View File

@@ -7,11 +7,14 @@ import (
"net/http"
)
// Request struct for get detailed information about load balancer
type GetRequest struct {
// ID of the load balancer to get details for
// Required: true
LBID uint64 `url:"lbId"`
}
func (lbrq GetRequest) Validate() error {
func (lbrq GetRequest) validate() error {
if lbrq.LBID == 0 {
return errors.New("validation-error: field LBID can not be empty or equal to 0")
}
@@ -19,25 +22,26 @@ func (lbrq GetRequest) Validate() error {
return nil
}
func (l LB) Get(ctx context.Context, req GetRequest) (*LoadBalancer, error) {
err := req.Validate()
// Get gets detailed information about load balancer
func (l LB) Get(ctx context.Context, req GetRequest) (*RecordLB, error) {
err := req.validate()
if err != nil {
return nil, err
}
url := "/cloudapi/lb/get"
lbRaw, err := l.client.DecortApiCall(ctx, http.MethodPost, url, req)
res, err := l.client.DecortApiCall(ctx, http.MethodPost, url, req)
if err != nil {
return nil, err
}
lb := &LoadBalancer{}
err = json.Unmarshal(lbRaw, lb)
info := RecordLB{}
err = json.Unmarshal(res, &info)
if err != nil {
return nil, err
}
return lb, nil
return &info, nil
}