This commit is contained in:
asteam
2025-07-01 13:44:09 +03:00
parent 5382579a5f
commit ddbb12996d
1041 changed files with 2842 additions and 96448 deletions

View File

@@ -10,6 +10,7 @@ import (
"github.com/hashicorp/terraform-plugin-log/tflog"
"repository.basistech.ru/BASIS/decort-golang-sdk/pkg/cloudapi/vins"
"repository.basistech.ru/BASIS/terraform-provider-dynamix/internal/client"
"repository.basistech.ru/BASIS/terraform-provider-dynamix/internal/flattens"
"repository.basistech.ru/BASIS/terraform-provider-dynamix/internal/service/cloudapi/vins/models"
"repository.basistech.ru/BASIS/terraform-provider-dynamix/internal/service/cloudapi/vins/utilities"
)
@@ -37,23 +38,23 @@ func VINSResource(ctx context.Context, plan *models.ResourceVINSModel, c *client
*plan = models.ResourceVINSModel{
Name: types.StringValue(recordVins.Name),
RGID: plan.RGID,
RGID: types.Int64Value(int64(recordVins.RGID)),
AccountID: plan.AccountID,
IPCIDR: plan.IPCIDR,
PreReservationsNum: plan.PreReservationsNum,
Description: plan.Description,
GID: plan.GID,
DNS: plan.DNS,
GID: types.Int64Value(int64(recordVins.GID)),
DNS: flattens.FlattenSimpleTypeToSet(ctx, types.StringType, recordVins.VNFs.DHCP.Config.DNS),
Enable: plan.Enable,
Enable: types.BoolValue(recordVins.Status == "ENABLED"),
Permanently: plan.Permanently,
Force: plan.Force,
Restore: plan.Restore,
VnfdevRestart: plan.VnfdevRestart,
VnfdevRedeploy: plan.VnfdevRedeploy,
ExtNet: plan.ExtNet,
ExtNet: flattenExtNet(ctx, recordVins),
IP: plan.IP,
NatRule: plan.NatRule,
Timeouts: plan.Timeouts,
@@ -160,3 +161,22 @@ func flattenNatRule(ctx context.Context, plan *models.ResourceVINSModel, rules *
tflog.Info(ctx, "End flattenRuleIdInNatRule")
return res
}
// flattenExtNet flattens ExtNet.
// Flatten errors are added to tflog.
func flattenExtNet(ctx context.Context, vins *vins.RecordVINS) types.Object {
tflog.Info(ctx, "Start flattenExtNet")
temp := models.ExtNetModel{
ExtNetID: types.Int64Value(int64(vins.VNFs.GW.Config.ExtNetID)),
ExtNetIP: types.StringValue(vins.VNFs.GW.Config.ExtNetIP),
}
res, err := types.ObjectValueFrom(ctx, models.ItemExtNet, temp)
if err != nil {
tflog.Error(ctx, fmt.Sprint("Error flattenExtNet struct to obj", err))
}
tflog.Info(ctx, "End flattenExtNet")
return res
}