1.1.0
This commit is contained in:
@@ -100,6 +100,10 @@ func CreateRequestResourceK8CP(ctx context.Context, plan *models.ResourceK8SCPMo
|
||||
req.OidcCertificate = plan.OidcCertificate.ValueString()
|
||||
}
|
||||
|
||||
if !plan.Chipset.IsNull() {
|
||||
req.Chipset = plan.Chipset.ValueString()
|
||||
}
|
||||
|
||||
if !plan.Description.IsNull() {
|
||||
req.Description = plan.Description.ValueString()
|
||||
}
|
||||
@@ -427,7 +431,7 @@ func K8SCPDeleteMaster(ctx context.Context, plan *models.ResourceK8SCPModel, sta
|
||||
|
||||
diags := diag.Diagnostics{}
|
||||
|
||||
deleteMasterComp := make([]string, 0)
|
||||
deleteMasterComp := make([]uint64, 0)
|
||||
|
||||
for i, val := range state.DetailedInfo.Elements() {
|
||||
if i == 2 {
|
||||
@@ -437,15 +441,16 @@ func K8SCPDeleteMaster(ctx context.Context, plan *models.ResourceK8SCPModel, sta
|
||||
if err != nil {
|
||||
tflog.Error(ctx, fmt.Sprint("Error flattenDetailedInfo struct to obj", err), map[string]any{"k8s_id": plan.Id.ValueString()})
|
||||
}
|
||||
id := obj.Attributes()["compute_id"]
|
||||
id := obj.Attributes()["compute_id"].(types.Int64).ValueInt64()
|
||||
|
||||
deleteMasterComp = append(deleteMasterComp, id.String())
|
||||
deleteMasterComp = append(deleteMasterComp, uint64(id))
|
||||
}
|
||||
|
||||
req := k8s.DeleteMasterFromGroupRequest{
|
||||
K8SID: uint64(state.K8SID.ValueInt64()),
|
||||
MasterGroupID: uint64(state.MasterGroupId.ValueInt64()),
|
||||
MasterIDs: deleteMasterComp,
|
||||
//TODO fix it
|
||||
//MasterIDs: deleteMasterComp,
|
||||
}
|
||||
|
||||
_, err := c.CloudAPI().K8S().DeleteMasterFromGroup(ctx, req)
|
||||
|
||||
@@ -13,6 +13,7 @@ import (
|
||||
|
||||
decort "repository.basistech.ru/BASIS/decort-golang-sdk"
|
||||
"repository.basistech.ru/BASIS/decort-golang-sdk/pkg/cloudapi/k8s"
|
||||
"repository.basistech.ru/BASIS/decort-golang-sdk/pkg/cloudapi/tasks"
|
||||
"repository.basistech.ru/BASIS/terraform-provider-dynamix/internal/service/cloudapi/k8s/models"
|
||||
)
|
||||
|
||||
@@ -76,6 +77,9 @@ func CreateRequestResourceK8WG(ctx context.Context, plan *models.ResourceK8SWGMo
|
||||
if !plan.CloudInit.IsNull() {
|
||||
req.UserData = plan.CloudInit.ValueString()
|
||||
}
|
||||
if !plan.Chipset.IsNull() {
|
||||
req.Chipset = plan.Chipset.ValueString()
|
||||
}
|
||||
|
||||
tflog.Info(ctx, "End CreateRequestResourceK8WG", map[string]any{"name": plan.Name.ValueString()})
|
||||
return req
|
||||
@@ -87,14 +91,44 @@ func ResourceK8SWGCreate(ctx context.Context, plan *models.ResourceK8SWGModel, c
|
||||
diags := diag.Diagnostics{}
|
||||
|
||||
// Make request and get response
|
||||
wgId, err := c.CloudAPI().K8S().WorkersGroupAdd(ctx, CreateRequestResourceK8WG(ctx, plan))
|
||||
resp, err := c.CloudAPI().K8S().WorkersGroupAdd(ctx, CreateRequestResourceK8WG(ctx, plan))
|
||||
if err != nil {
|
||||
tflog.Error(ctx, "Error response for create k8s_wg")
|
||||
diags.AddError("Unable to Create K8SWG", err.Error())
|
||||
return diags
|
||||
}
|
||||
|
||||
plan.Id = types.StringValue(strconv.Itoa(int(wgId)))
|
||||
taskReq := tasks.GetRequest{
|
||||
AuditID: strings.Trim(resp, `"`),
|
||||
}
|
||||
for {
|
||||
task, err := c.CloudAPI().Tasks().Get(ctx, taskReq)
|
||||
if err != nil {
|
||||
diags.AddError("The audit cannot be found", err.Error())
|
||||
return diags
|
||||
}
|
||||
|
||||
tflog.Info(ctx, fmt.Sprintf("ResourceK8SWGCreate instance creating - %s", task.Stage))
|
||||
|
||||
if task.Completed {
|
||||
if task.Error != "" {
|
||||
diags.AddError("Cannot create k8s wg instance:", task.Error)
|
||||
return diags
|
||||
}
|
||||
|
||||
result, err := task.Result.ID()
|
||||
if err != nil {
|
||||
diags.AddError("Cannot get wg ID:", err.Error())
|
||||
return diags
|
||||
}
|
||||
plan.Id = types.StringValue(strconv.Itoa(result))
|
||||
plan.LastUpdated = types.StringValue(time.Now().Format(time.RFC850))
|
||||
break
|
||||
}
|
||||
|
||||
time.Sleep(time.Second * 20)
|
||||
}
|
||||
|
||||
plan.LastUpdated = types.StringValue(time.Now().Format(time.RFC850))
|
||||
|
||||
wg, k8sId, err := K8SWGResourceCheckPresence(ctx, plan, c)
|
||||
@@ -185,6 +219,7 @@ func K8SWGUpdateNumWorkers(ctx context.Context, plan, state *models.ResourceK8SW
|
||||
K8SID: k8sId,
|
||||
WorkersGroupID: wg.ID,
|
||||
Num: uint64(newNum) - wg.Num,
|
||||
Chipset: plan.WorkerChipset.ValueString(),
|
||||
}
|
||||
|
||||
tflog.Info(ctx, "Add workers in wg with id", map[string]any{"wg_id": state.WorkerGroupId.ValueInt64(), "k8s_id": state.K8SID.ValueInt64()})
|
||||
|
||||
Reference in New Issue
Block a user