This commit is contained in:
2023-06-23 15:13:22 +03:00
parent c06a3198f6
commit 264538f492
50 changed files with 2143 additions and 76 deletions

View File

@@ -4,8 +4,9 @@ import (
"context"
"encoding/json"
"net/http"
"repository.basistech.ru/BASIS/decort-golang-sdk/internal/validators"
"strings"
"repository.basistech.ru/BASIS/decort-golang-sdk/internal/validators"
)
// Request struct for creating disk backup
@@ -21,12 +22,12 @@ type CreateDiskBackupRequest struct {
// Backup path
// Required: true
BackupPath string `url:"backupPath" json:"backupPath" validate:"required"`
}
// Async API Call
// For async call use CreateDiskBackupAsync
// For sync call use CreateDiskBackup
// Required: true
async bool `url:"async"`
type wrapperCreateDiskBackupRequest struct {
CreateDiskBackupRequest
Async bool `url:"async"`
}
// CreateDiskBackup creates disk backup
@@ -38,11 +39,14 @@ func (b Backup) CreateDiskBackup(ctx context.Context, req CreateDiskBackupReques
}
}
req.async = false
reqWrapped := wrapperCreateDiskBackupRequest{
CreateDiskBackupRequest: req,
Async: false,
}
url := "/cloudbroker/backup/createDiskBackup"
res, err := b.client.DecortApiCall(ctx, http.MethodPost, url, req)
res, err := b.client.DecortApiCall(ctx, http.MethodPost, url, reqWrapped)
if err != nil {
return nil, err
}
@@ -66,11 +70,14 @@ func (b Backup) CreateDiskBackupAsync(ctx context.Context, req CreateDiskBackupR
}
}
req.async = true
reqWrapped := wrapperCreateDiskBackupRequest{
CreateDiskBackupRequest: req,
Async: true,
}
url := "/cloudbroker/backup/createDiskBackup"
res, err := b.client.DecortApiCall(ctx, http.MethodPost, url, req)
res, err := b.client.DecortApiCall(ctx, http.MethodPost, url, reqWrapped)
if err != nil {
return "", err
}