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

@@ -18,12 +18,12 @@ type CreateTemplateRequest struct {
// Name to assign to the template being created
// Required: true
Name string `url:"name" json:"name" validate:"required"`
}
// Async API call
// For async call use CreateTemplateAsync
// For sync call use CreateTemplate
// Required: true
async bool `url:"async"`
type wrapperCreateTemplateRequest struct {
CreateTemplateRequest
Async bool `url:"async"`
}
// CreateTemplate create template from compute instance
@@ -35,11 +35,14 @@ func (c Compute) CreateTemplate(ctx context.Context, req CreateTemplateRequest)
}
}
req.async = false
reqWrapped := wrapperCreateTemplateRequest{
CreateTemplateRequest: req,
Async: false,
}
url := "/cloudapi/compute/createTemplate"
res, err := c.client.DecortApiCall(ctx, http.MethodPost, url, req)
res, err := c.client.DecortApiCall(ctx, http.MethodPost, url, reqWrapped)
if err != nil {
return 0, err
}
@@ -61,11 +64,14 @@ func (c Compute) CreateTemplateAsync(ctx context.Context, req CreateTemplateRequ
}
}
req.async = true
reqWrapped := wrapperCreateTemplateRequest{
CreateTemplateRequest: req,
Async: true,
}
url := "/cloudapi/compute/createTemplate"
res, err := c.client.DecortApiCall(ctx, http.MethodPost, url, req)
res, err := c.client.DecortApiCall(ctx, http.MethodPost, url, reqWrapped)
if err != nil {
return "", err
}

View File

@@ -39,11 +39,11 @@ type NATRuleAddRequest struct {
}
// NATRuleAdd create NAT (port forwarding) rule on VINS
func (v VINS) NATRuleAdd(ctx context.Context, req NATRuleAddRequest) (bool, error) {
func (v VINS) NATRuleAdd(ctx context.Context, req NATRuleAddRequest) (uint64, error) {
err := validators.ValidateRequest(req)
if err != nil {
for _, validationError := range validators.GetErrors(err) {
return false, validators.ValidationError(validationError)
return 0, validators.ValidationError(validationError)
}
}
@@ -51,12 +51,12 @@ func (v VINS) NATRuleAdd(ctx context.Context, req NATRuleAddRequest) (bool, erro
res, err := v.client.DecortApiCall(ctx, http.MethodPost, url, req)
if err != nil {
return false, err
return 0, err
}
result, err := strconv.ParseBool(string(res))
result, err := strconv.ParseUint(string(res), 10, 64)
if err != nil {
return false, err
return 0, err
}
return result, nil

View File

@@ -17,7 +17,7 @@ type NATRuleDelRequest struct {
// ID of the rule to delete.
// Pass -1 to clear all rules at once
// Required: true
RuleID uint64 `url:"ruleId" json:"ruleId" validate:"required"`
RuleID int64 `url:"ruleId" json:"ruleId" validate:"required"`
}
// NATRuleDel delete NAT (port forwarding) rule on VINS