This commit is contained in:
asteam
2025-01-21 12:16:49 +03:00
parent 76ea459b3d
commit 60e23338ad
751 changed files with 17877 additions and 1908 deletions

View File

@@ -11,13 +11,13 @@ import (
"github.com/hashicorp/terraform-plugin-framework/types"
"github.com/hashicorp/terraform-plugin-framework/types/basetypes"
"github.com/hashicorp/terraform-plugin-log/tflog"
decort "repository.basistech.ru/BASIS/decort-golang-sdk"
"repository.basistech.ru/BASIS/decort-golang-sdk/pkg/cloudbroker/vins"
"repository.basistech.ru/BASIS/terraform-provider-dynamix/internal/client"
"repository.basistech.ru/BASIS/terraform-provider-dynamix/internal/service/cloudbroker/vins/models"
"repository.basistech.ru/BASIS/terraform-provider-dynamix/internal/status"
)
func VINSResourceCheckPresence(ctx context.Context, vinsId uint64, c *decort.DecortClient) (*vins.RecordVINS, diag.Diagnostics) {
func VINSResourceCheckPresence(ctx context.Context, vinsId uint64, c *client.Client) (*vins.RecordVINS, diag.Diagnostics) {
tflog.Info(ctx, fmt.Sprintf("VINSResourceCheckPresence: Get info about vins with ID - %v", vinsId))
diags := diag.Diagnostics{}
@@ -35,7 +35,7 @@ func VINSResourceCheckPresence(ctx context.Context, vinsId uint64, c *decort.Dec
// CreateInRGResourceVINS creates vins in resource group based on plan.
// Returns vins_id for created vins and errors in case of failures.
func CreateInRGResourceVINS(ctx context.Context, plan *models.ResourceVINSModel, c *decort.DecortClient) (uint64, diag.Diagnostics) {
func CreateInRGResourceVINS(ctx context.Context, plan *models.ResourceVINSModel, c *client.Client) (uint64, diag.Diagnostics) {
tflog.Info(ctx, fmt.Sprintf("Start CreateInRGResourceVINS: vins_name %s", plan.Name.ValueString()))
diags := diag.Diagnostics{}
@@ -105,7 +105,7 @@ func CreateInRGResourceVINS(ctx context.Context, plan *models.ResourceVINSModel,
// CreateInAccountResourceVINS creates vins in account based on plan.
// Returns vins_id for created vins and errors in case of failures.
func CreateInAccountResourceVINS(ctx context.Context, plan *models.ResourceVINSModel, c *decort.DecortClient) (uint64, diag.Diagnostics) {
func CreateInAccountResourceVINS(ctx context.Context, plan *models.ResourceVINSModel, c *client.Client) (uint64, diag.Diagnostics) {
tflog.Info(ctx, fmt.Sprintf("Start CreateInAccountResourceVINS: vins_name %s", plan.Name.ValueString()))
diags := diag.Diagnostics{}
@@ -158,7 +158,7 @@ func CreateInAccountResourceVINS(ctx context.Context, plan *models.ResourceVINSM
// IPCreateVINS reserves ips that user specified in ip field for created resource.
// In case of failure returns warnings.
func IPCreateVINS(ctx context.Context, vinsId uint64, plan *models.ResourceVINSModel, c *decort.DecortClient) diag.Diagnostics {
func IPCreateVINS(ctx context.Context, vinsId uint64, plan *models.ResourceVINSModel, c *client.Client) diag.Diagnostics {
diags := diag.Diagnostics{}
// plan.IP is not null as it was checked before call
@@ -206,7 +206,7 @@ func IPCreateVINS(ctx context.Context, vinsId uint64, plan *models.ResourceVINSM
// IPUpdateVINS reserves/releases ips that user specified in ip field for updated resource.
// In case of failure returns errors.
func IPUpdateVINS(ctx context.Context, vinsId uint64, plan, state *models.ResourceVINSModel, c *decort.DecortClient) diag.Diagnostics {
func IPUpdateVINS(ctx context.Context, vinsId uint64, plan, state *models.ResourceVINSModel, c *client.Client) diag.Diagnostics {
tflog.Info(ctx, "Start IPUpdateVINS: new ip specified", map[string]any{"vins_id": vinsId})
diags := diag.Diagnostics{}
@@ -310,7 +310,7 @@ func IPUpdateVINS(ctx context.Context, vinsId uint64, plan, state *models.Resour
// ExtNetUpdateVINS updates ext_net_id and/or ext_net_ip that user specified in ext_net block for updated resource.
// In case of failure returns errors.
func ExtNetUpdateVINS(ctx context.Context, vinsId uint64, plan, state *models.ResourceVINSModel, c *decort.DecortClient) diag.Diagnostics {
func ExtNetUpdateVINS(ctx context.Context, vinsId uint64, plan, state *models.ResourceVINSModel, c *client.Client) diag.Diagnostics {
tflog.Info(ctx, "Start ExtNetUpdateVINS: new ext_net specified", map[string]any{
"vins_id": vinsId,
})
@@ -364,7 +364,7 @@ func ExtNetUpdateVINS(ctx context.Context, vinsId uint64, plan, state *models.Re
// NATRuleCreateVINS adds nat rules that user specified in nat_rule field for created resource.
// In case of failure returns warnings.
func NATRuleCreateVINS(ctx context.Context, vinsId uint64, plan *models.ResourceVINSModel, c *decort.DecortClient) diag.Diagnostics {
func NATRuleCreateVINS(ctx context.Context, vinsId uint64, plan *models.ResourceVINSModel, c *client.Client) diag.Diagnostics {
diags := diag.Diagnostics{}
// plan.NatRule is not null as it was checked before call
@@ -411,7 +411,7 @@ func NATRuleCreateVINS(ctx context.Context, vinsId uint64, plan *models.Resource
// DefaultQosCreateVINS update qos that user specified in defaultQos field for created resource.
// In case of failure returns warnings.
func DefaultQosCreateVINS(ctx context.Context, vinsId uint64, plan *models.ResourceVINSModel, c *decort.DecortClient) diag.Diagnostics {
func DefaultQosCreateVINS(ctx context.Context, vinsId uint64, plan *models.ResourceVINSModel, c *client.Client) diag.Diagnostics {
diags := diag.Diagnostics{}
// plan.DefaultQOS is not null as it was checked before call
@@ -456,7 +456,7 @@ func DefaultQosCreateVINS(ctx context.Context, vinsId uint64, plan *models.Resou
// NATRuleUpdateVINS adds/deleted nat rules that user specified in nat_rule field for updated resource.
// In case of failure returns errors.
func NATRuleUpdateVINS(ctx context.Context, vinsId uint64, plan, state *models.ResourceVINSModel, c *decort.DecortClient) diag.Diagnostics {
func NATRuleUpdateVINS(ctx context.Context, vinsId uint64, plan, state *models.ResourceVINSModel, c *client.Client) diag.Diagnostics {
tflog.Info(ctx, "Start NATRuleUpdateVINS: new natRule specified", map[string]any{"vins_id": vinsId})
diags := diag.Diagnostics{}
@@ -557,7 +557,7 @@ func NATRuleUpdateVINS(ctx context.Context, vinsId uint64, plan, state *models.R
// VINSReadStatus loads vins resource by ids id, gets it current status. Performs restore and enable if needed for
// Deleted status.
// In case of failure returns errors.
func VINSReadStatus(ctx context.Context, state *models.ResourceVINSModel, c *decort.DecortClient) diag.Diagnostics {
func VINSReadStatus(ctx context.Context, state *models.ResourceVINSModel, c *client.Client) diag.Diagnostics {
tflog.Info(ctx, "VINSReadStatus: Read status vins with ID", map[string]any{"vins_id": state.Id.ValueString()})
diags := diag.Diagnostics{}
@@ -645,7 +645,7 @@ func VINSReadStatus(ctx context.Context, state *models.ResourceVINSModel, c *dec
// RestoreVINS performs vins Restore request.
// Returns error in case of failures.
func RestoreVINS(ctx context.Context, vinsId uint64, c *decort.DecortClient) diag.Diagnostics {
func RestoreVINS(ctx context.Context, vinsId uint64, c *client.Client) diag.Diagnostics {
diags := diag.Diagnostics{}
tflog.Info(ctx, "RestoreVINS: before calling CloudBroker().VINS().Restore", map[string]any{"vinsId": vinsId, "req": vins.RestoreRequest{VINSID: vinsId}})
@@ -665,7 +665,7 @@ func RestoreVINS(ctx context.Context, vinsId uint64, c *decort.DecortClient) dia
// DisableVINS performs vins Disable request.
// Returns error in case of failures.
func DisableVINS(ctx context.Context, vinsId uint64, c *decort.DecortClient) diag.Diagnostics {
func DisableVINS(ctx context.Context, vinsId uint64, c *client.Client) diag.Diagnostics {
diags := diag.Diagnostics{}
tflog.Info(ctx, "DisableVINS: before calling CloudBroker().VINS().Disable", map[string]any{"vinsId": vinsId})
@@ -685,7 +685,7 @@ func DisableVINS(ctx context.Context, vinsId uint64, c *decort.DecortClient) dia
// EnableVINS performs vins Enable request.
// Returns error in case of failures.
func EnableVINS(ctx context.Context, vinsId uint64, c *decort.DecortClient) diag.Diagnostics {
func EnableVINS(ctx context.Context, vinsId uint64, c *client.Client) diag.Diagnostics {
diags := diag.Diagnostics{}
tflog.Info(ctx, "EnableVINS: before calling CloudBroker().VINS().Enable", map[string]any{"vinsId": vinsId})
@@ -705,7 +705,7 @@ func EnableVINS(ctx context.Context, vinsId uint64, c *decort.DecortClient) diag
// EnableDisableUpdateVINS performs vins Enable/disable request.
// Returns errors in case of failures.
func EnableDisableUpdateVINS(ctx context.Context, vinsId uint64, plan *models.ResourceVINSModel, c *decort.DecortClient) diag.Diagnostics {
func EnableDisableUpdateVINS(ctx context.Context, vinsId uint64, plan *models.ResourceVINSModel, c *client.Client) diag.Diagnostics {
diags := diag.Diagnostics{}
enable := plan.Enable.ValueBool()
tflog.Info(ctx, "Start EnableDisableUpdateVINS", map[string]any{"vinsId": vinsId, "enable": enable})
@@ -725,7 +725,7 @@ func EnableDisableUpdateVINS(ctx context.Context, vinsId uint64, plan *models.Re
// VnfdevRestartUpdateVINS restarts vnf_dev for vins.
// Returns error in case of failures.
func VnfdevRestartUpdateVINS(ctx context.Context, vinsId uint64, plan *models.ResourceVINSModel, c *decort.DecortClient) diag.Diagnostics {
func VnfdevRestartUpdateVINS(ctx context.Context, vinsId uint64, plan *models.ResourceVINSModel, c *client.Client) diag.Diagnostics {
diags := diag.Diagnostics{}
tflog.Info(ctx, "VnfdevRestartUpdateVINS: before calling CloudBroker().VINS().VNFDevRestart", map[string]any{"vinsId": vinsId})
@@ -749,7 +749,7 @@ func VnfdevRestartUpdateVINS(ctx context.Context, vinsId uint64, plan *models.Re
// VnfdevRedeployUpdateVINS redeploys vnf_dev for vins.
// Returns error in case of failures.
func VnfdevRedeployUpdateVINS(ctx context.Context, vinsId uint64, plan *models.ResourceVINSModel, c *decort.DecortClient) diag.Diagnostics {
func VnfdevRedeployUpdateVINS(ctx context.Context, vinsId uint64, plan *models.ResourceVINSModel, c *client.Client) diag.Diagnostics {
diags := diag.Diagnostics{}
tflog.Info(ctx, "VnfdevRedeployUpdateVINS: before calling CloudBroker().VINS().VNFDevRedeploy", map[string]any{"vinsId": vinsId})
@@ -773,7 +773,7 @@ func VnfdevRedeployUpdateVINS(ctx context.Context, vinsId uint64, plan *models.R
// VnfdevResetUpdateVINS reset vnf_dev for vins.
// Returns error in case of failures.
func VnfdevResetUpdateVINS(ctx context.Context, vinsId uint64, plan *models.ResourceVINSModel, c *decort.DecortClient) diag.Diagnostics {
func VnfdevResetUpdateVINS(ctx context.Context, vinsId uint64, plan *models.ResourceVINSModel, c *client.Client) diag.Diagnostics {
diags := diag.Diagnostics{}
tflog.Info(ctx, "VnfdevResetUpdateVINS: before calling CloudBroker().VINS().VNFDevReset", map[string]any{"vinsId": vinsId})
@@ -797,7 +797,7 @@ func VnfdevResetUpdateVINS(ctx context.Context, vinsId uint64, plan *models.Reso
// VnfdevStartStopUpdateVINS start/stop vnf_dev for vins.
// Returns error in case of failures.
func VnfdevStartStopUpdateVINS(ctx context.Context, vinsId uint64, plan *models.ResourceVINSModel, c *decort.DecortClient) diag.Diagnostics {
func VnfdevStartStopUpdateVINS(ctx context.Context, vinsId uint64, plan *models.ResourceVINSModel, c *client.Client) diag.Diagnostics {
diags := diag.Diagnostics{}
if plan.VnfdevStart.ValueBool() {
@@ -838,7 +838,7 @@ func VnfdevStartStopUpdateVINS(ctx context.Context, vinsId uint64, plan *models.
// UpdateDNSlistVINS apply new DNS list in VINS
// Returns error in case of failures.
func UpdateDNSlistVINS(ctx context.Context, vinsId uint64, plan *models.ResourceVINSModel, c *decort.DecortClient) diag.Diagnostics {
func UpdateDNSlistVINS(ctx context.Context, vinsId uint64, plan *models.ResourceVINSModel, c *client.Client) diag.Diagnostics {
diags := diag.Diagnostics{}
req := vins.DNSApplyRequest{
@@ -868,7 +868,7 @@ func UpdateDNSlistVINS(ctx context.Context, vinsId uint64, plan *models.Resource
// UpdateDefaultQosVINS update qos that user specified in defaultQos field for update resource.
// In case of failure returns error.
func UpdateDefaultQosVINS(ctx context.Context, vinsId uint64, plan *models.ResourceVINSModel, c *decort.DecortClient) diag.Diagnostics {
func UpdateDefaultQosVINS(ctx context.Context, vinsId uint64, plan *models.ResourceVINSModel, c *client.Client) diag.Diagnostics {
diags := diag.Diagnostics{}
// plan.DefaultQOS is not null as it was checked before call