Compare commits

...

6 Commits

Author SHA1 Message Date
Пётр Крутов
b152359706 Merge branch 'dev' into 'main'
Dev

See merge request rudecs/terraform-provider-decort!41
2022-09-09 12:31:06 +00:00
a844f6cc30 Dev 2022-09-09 12:31:05 +00:00
Пётр Крутов
8e6b5a9bab Merge branch 'dev' into 'main'
Dev

See merge request rudecs/terraform-provider-decort!39
2022-09-08 14:56:06 +00:00
Сергей Лескин
cd4695ee68 Dev 2022-09-08 14:56:05 +00:00
Пётр Крутов
5bd7958f09 Merge branch 'dev' into 'main'
Dev

See merge request rudecs/terraform-provider-decort!38
2022-09-08 12:20:13 +00:00
8fc9170c9c Dev 2022-09-08 12:20:12 +00:00
4 changed files with 26 additions and 4 deletions

View File

@@ -11,6 +11,9 @@ OS_ARCH=windows_amd64
default: install default: install
lint:
golangci-lint run --timeout 600s
build: build:
go build -o ${BINARY} ${MAINPATH} go build -o ${BINARY} ${MAINPATH}
release: release:

View File

@@ -31,7 +31,7 @@ Documentation: https://github.com/rudecs/terraform-provider-decort/wiki
package image package image
const imageCreateAPI = "/restmachine/cloudapi/image/createImage" const imageCreateAPI = "/restmachine/cloudapi/image/create"
const imageCreateVirtualAPI = "/restmachine/cloudapi/image/createVirtual" const imageCreateVirtualAPI = "/restmachine/cloudapi/image/createVirtual"
const imageGetAPI = "/restmachine/cloudapi/image/get" const imageGetAPI = "/restmachine/cloudapi/image/get"
const imageListGetAPI = "/restmachine/cloudapi/image/list" const imageListGetAPI = "/restmachine/cloudapi/image/list"

View File

@@ -33,6 +33,7 @@ package image
import ( import (
"context" "context"
"encoding/json"
"net/url" "net/url"
"strconv" "strconv"
@@ -52,7 +53,7 @@ func resourceImageCreate(ctx context.Context, d *schema.ResourceData, m interfac
urlValues.Add("url", d.Get("url").(string)) urlValues.Add("url", d.Get("url").(string))
urlValues.Add("gid", strconv.Itoa(d.Get("gid").(int))) urlValues.Add("gid", strconv.Itoa(d.Get("gid").(int)))
urlValues.Add("boottype", d.Get("boot_type").(string)) urlValues.Add("boottype", d.Get("boot_type").(string))
urlValues.Add("imagetype", d.Get("image_type").(string)) urlValues.Add("imagetype", d.Get("type").(string))
tstr := d.Get("drivers").([]interface{}) tstr := d.Get("drivers").([]interface{})
temp := "" temp := ""
@@ -94,11 +95,25 @@ func resourceImageCreate(ctx context.Context, d *schema.ResourceData, m interfac
if architecture, ok := d.GetOk("architecture"); ok { if architecture, ok := d.GetOk("architecture"); ok {
urlValues.Add("architecture", architecture.(string)) urlValues.Add("architecture", architecture.(string))
} }
/* uncomment then OK
imageId, err := c.DecortAPICall(ctx, "POST", imageCreateAPI, urlValues) imageId, err := c.DecortAPICall(ctx, "POST", imageCreateAPI, urlValues)
if err != nil { if err != nil {
return diag.FromErr(err) return diag.FromErr(err)
} }
*/
//innovation
res, err := c.DecortAPICall(ctx, "POST", imageCreateAPI, urlValues)
if err != nil {
return diag.FromErr(err)
}
i := make([]interface{}, 0)
err = json.Unmarshal([]byte(res), &i)
if err != nil {
return diag.FromErr(err)
}
imageId := strconv.Itoa(int(i[1].(float64)))
// end innovation
d.SetId(imageId) d.SetId(imageId)
d.Set("image_id", imageId) d.Set("image_id", imageId)

View File

@@ -139,7 +139,11 @@ func flattenCompute(d *schema.ResourceData, compFacts string) error {
d.Set("cpu", model.Cpu) d.Set("cpu", model.Cpu)
d.Set("ram", model.Ram) d.Set("ram", model.Ram)
// d.Set("boot_disk_size", model.BootDiskSize) - bootdiskSize key in API compute/get is always zero, so we set boot_disk_size in another way // d.Set("boot_disk_size", model.BootDiskSize) - bootdiskSize key in API compute/get is always zero, so we set boot_disk_size in another way
d.Set("image_id", model.ImageID) if model.VirtualImageID != 0 {
d.Set("image_id", model.VirtualImageID)
} else {
d.Set("image_id", model.ImageID)
}
d.Set("description", model.Desc) d.Set("description", model.Desc)
d.Set("cloud_init", "applied") // NOTE: for existing compute we hard-code this value as an indicator for DiffSuppress fucntion d.Set("cloud_init", "applied") // NOTE: for existing compute we hard-code this value as an indicator for DiffSuppress fucntion
// d.Set("status", model.Status) // d.Set("status", model.Status)