1.2.0
This commit is contained in:
@@ -6,11 +6,11 @@ import (
|
||||
|
||||
"github.com/hashicorp/terraform-plugin-framework/diag"
|
||||
"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"
|
||||
)
|
||||
|
||||
func VINSDataSourceCheckPresence(ctx context.Context, vinsId uint64, c *decort.DecortClient) (*vins.RecordVINS, diag.Diagnostics) {
|
||||
func VINSDataSourceCheckPresence(ctx context.Context, vinsId uint64, c *client.Client) (*vins.RecordVINS, diag.Diagnostics) {
|
||||
tflog.Info(ctx, fmt.Sprintf("VINSDataSourceCheckPresence: Get info about vins with ID - %v", vinsId))
|
||||
|
||||
diags := diag.Diagnostics{}
|
||||
|
||||
@@ -6,11 +6,11 @@ import (
|
||||
|
||||
"github.com/hashicorp/terraform-plugin-framework/diag"
|
||||
"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"
|
||||
)
|
||||
|
||||
func VINSAuditsDataSourceCheckPresence(ctx context.Context, vinsId uint64, c *decort.DecortClient) (*vins.ListAudits, diag.Diagnostics) {
|
||||
func VINSAuditsDataSourceCheckPresence(ctx context.Context, vinsId uint64, c *client.Client) (*vins.ListAudits, diag.Diagnostics) {
|
||||
tflog.Info(ctx, fmt.Sprintf("VINSAuditsDataSourceCheckPresence: Get info about vins audit with vins ID - %v", vinsId))
|
||||
|
||||
diags := diag.Diagnostics{}
|
||||
|
||||
@@ -6,11 +6,11 @@ import (
|
||||
|
||||
"github.com/hashicorp/terraform-plugin-framework/diag"
|
||||
"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"
|
||||
)
|
||||
|
||||
func VINSExtNetListDataSourceCheckPresence(ctx context.Context, vinsId uint64, c *decort.DecortClient) (*vins.ListExtNets, diag.Diagnostics) {
|
||||
func VINSExtNetListDataSourceCheckPresence(ctx context.Context, vinsId uint64, c *client.Client) (*vins.ListExtNets, diag.Diagnostics) {
|
||||
tflog.Info(ctx, fmt.Sprintf("VINSExtNetListDataSourceCheckPresence: Get info about vins audit with vins ID - %v", vinsId))
|
||||
|
||||
diags := diag.Diagnostics{}
|
||||
|
||||
@@ -6,11 +6,11 @@ import (
|
||||
|
||||
"github.com/hashicorp/terraform-plugin-framework/diag"
|
||||
"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"
|
||||
)
|
||||
|
||||
func VINSIPListDataSourceCheckPresence(ctx context.Context, vinsId uint64, c *decort.DecortClient) (*vins.ListIPs, diag.Diagnostics) {
|
||||
func VINSIPListDataSourceCheckPresence(ctx context.Context, vinsId uint64, c *client.Client) (*vins.ListIPs, diag.Diagnostics) {
|
||||
tflog.Info(ctx, fmt.Sprintf("VINSIPListDataSourceCheckPresence: Get info about vins audit with vins ID - %v", vinsId))
|
||||
|
||||
diags := diag.Diagnostics{}
|
||||
|
||||
@@ -5,12 +5,12 @@ import (
|
||||
|
||||
"github.com/hashicorp/terraform-plugin-framework/diag"
|
||||
"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"
|
||||
)
|
||||
|
||||
func VINSListDataSourceCheckPresence(ctx context.Context, plan *models.DataSourceVINSListModel, c *decort.DecortClient) (*vins.ListVINS, diag.Diagnostics) {
|
||||
func VINSListDataSourceCheckPresence(ctx context.Context, plan *models.DataSourceVINSListModel, c *client.Client) (*vins.ListVINS, diag.Diagnostics) {
|
||||
tflog.Info(ctx, "VINSListDataSourceCheckPresence: Get info about vins list")
|
||||
|
||||
diags := diag.Diagnostics{}
|
||||
|
||||
@@ -5,12 +5,12 @@ import (
|
||||
|
||||
"github.com/hashicorp/terraform-plugin-framework/diag"
|
||||
"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"
|
||||
)
|
||||
|
||||
func VINSListDeletedDataSourceCheckPresence(ctx context.Context, plan *models.DataSourceVINSListDeletedModel, c *decort.DecortClient) (*vins.ListVINS, diag.Diagnostics) {
|
||||
func VINSListDeletedDataSourceCheckPresence(ctx context.Context, plan *models.DataSourceVINSListDeletedModel, c *client.Client) (*vins.ListVINS, diag.Diagnostics) {
|
||||
tflog.Info(ctx, "VINSListDeletedDataSourceCheckPresence: Get info about vins list")
|
||||
|
||||
diags := diag.Diagnostics{}
|
||||
|
||||
@@ -5,12 +5,12 @@ import (
|
||||
|
||||
"github.com/hashicorp/terraform-plugin-framework/diag"
|
||||
"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"
|
||||
)
|
||||
|
||||
func VINSNATRuleListDataSourceCheckPresence(ctx context.Context, state *models.DataSourceVINSNATRuleListModel, c *decort.DecortClient) (*vins.ListNATRules, diag.Diagnostics) {
|
||||
func VINSNATRuleListDataSourceCheckPresence(ctx context.Context, state *models.DataSourceVINSNATRuleListModel, c *client.Client) (*vins.ListNATRules, diag.Diagnostics) {
|
||||
tflog.Info(ctx, "VINSNATRuleListDataSourceCheckPresence: Get info about vins nat rule list")
|
||||
|
||||
diags := diag.Diagnostics{}
|
||||
|
||||
@@ -6,11 +6,11 @@ import (
|
||||
|
||||
"github.com/hashicorp/terraform-plugin-framework/diag"
|
||||
"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"
|
||||
)
|
||||
|
||||
func VINSStaticRouteDataSourceCheckPresence(ctx context.Context, vinsId, routeId uint64, c *decort.DecortClient) (*vins.ItemRoutes, diag.Diagnostics) {
|
||||
func VINSStaticRouteDataSourceCheckPresence(ctx context.Context, vinsId, routeId uint64, c *client.Client) (*vins.ItemRoutes, diag.Diagnostics) {
|
||||
tflog.Info(ctx, "VINSStaticRouteDataSourceCheckPresence: Get info about vins static route", map[string]any{
|
||||
"vins_id": vinsId,
|
||||
"route_id": routeId,
|
||||
|
||||
@@ -5,11 +5,11 @@ import (
|
||||
|
||||
"github.com/hashicorp/terraform-plugin-framework/diag"
|
||||
"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"
|
||||
)
|
||||
|
||||
func VINSStaticRouteListDataSourceCheckPresence(ctx context.Context, vinsId uint64, c *decort.DecortClient) (*vins.ListStaticRoutes, diag.Diagnostics) {
|
||||
func VINSStaticRouteListDataSourceCheckPresence(ctx context.Context, vinsId uint64, c *client.Client) (*vins.ListStaticRoutes, diag.Diagnostics) {
|
||||
tflog.Info(ctx, "VINSStaticRouteListDataSourceCheckPresence: Get info about vins static route list")
|
||||
|
||||
diags := diag.Diagnostics{}
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -8,12 +8,12 @@ import (
|
||||
|
||||
"github.com/hashicorp/terraform-plugin-framework/diag"
|
||||
"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"
|
||||
)
|
||||
|
||||
func VINSStaticRouteResourceCheckPresence(ctx context.Context, vinsId, routeId uint64, c *decort.DecortClient) (*vins.ItemRoutes, diag.Diagnostics) {
|
||||
func VINSStaticRouteResourceCheckPresence(ctx context.Context, vinsId, routeId uint64, c *client.Client) (*vins.ItemRoutes, diag.Diagnostics) {
|
||||
tflog.Info(ctx, "VINSStaticRouteResourceCheckPresence: Get info about vins static route")
|
||||
|
||||
diags := diag.Diagnostics{}
|
||||
@@ -79,7 +79,7 @@ func GetVinsIDAndRouteID(ctx context.Context, plan *models.ResourceVINSStaticRou
|
||||
return vinsId, routeId, nil
|
||||
}
|
||||
|
||||
func GetStaticRouteID(ctx context.Context, plan *models.ResourceVINSStaticRouteModel, c *decort.DecortClient) (uint64, diag.Diagnostics) {
|
||||
func GetStaticRouteID(ctx context.Context, plan *models.ResourceVINSStaticRouteModel, c *client.Client) (uint64, diag.Diagnostics) {
|
||||
tflog.Info(ctx, "Start GetStaticRouteID")
|
||||
|
||||
diags := diag.Diagnostics{}
|
||||
@@ -115,75 +115,6 @@ func GetStaticRouteID(ctx context.Context, plan *models.ResourceVINSStaticRouteM
|
||||
return 0, diags
|
||||
}
|
||||
|
||||
func UpdateComputeIDsVINSStaticRoute(ctx context.Context, plan, state *models.ResourceVINSStaticRouteModel, c *decort.DecortClient) diag.Diagnostics {
|
||||
tflog.Info(ctx, "Start UpdateComputeIDsVINSStaticRoute", map[string]any{"id": plan.Id.ValueString()})
|
||||
|
||||
vinsId, routeId, diags := GetVinsIDAndRouteID(ctx, plan)
|
||||
if diags.HasError() {
|
||||
return diags
|
||||
}
|
||||
|
||||
computesPlan := make([]uint64, 0, len(plan.ComputeIDs.Elements()))
|
||||
diags = plan.ComputeIDs.ElementsAs(ctx, &computesPlan, false)
|
||||
if diags.HasError() {
|
||||
tflog.Error(ctx, "UpdateComputeIDsVINSStaticRoute: cannot populate computes with plan.ComputeIDs List elements")
|
||||
return diags
|
||||
}
|
||||
|
||||
computesState := make([]uint64, 0, len(state.ComputeIDs.Elements()))
|
||||
diags = state.ComputeIDs.ElementsAs(ctx, &computesState, false)
|
||||
if diags.HasError() {
|
||||
tflog.Error(ctx, "UpdateComputeIDsVINSStaticRoute: cannot populate computes with state.ComputeIDs List elements")
|
||||
return diags
|
||||
}
|
||||
|
||||
var deletedComputes []uint64
|
||||
for _, comp := range computesState {
|
||||
if !contains(comp, computesPlan) {
|
||||
deletedComputes = append(deletedComputes, comp)
|
||||
}
|
||||
}
|
||||
if len(deletedComputes) != 0 {
|
||||
revokeReq := vins.StaticRouteAccessRevokeRequest{
|
||||
VINSID: vinsId,
|
||||
RouteId: routeId,
|
||||
ComputeIds: deletedComputes,
|
||||
}
|
||||
|
||||
tflog.Info(ctx, "UpdateComputeIDsVINSStaticRoute: before call to CloudBroker().VINS().StaticRouteAccessRevoke", map[string]any{"revokeReq": revokeReq})
|
||||
_, err := c.CloudBroker().VINS().StaticRouteAccessRevoke(ctx, revokeReq)
|
||||
if err != nil {
|
||||
diags.AddError(
|
||||
fmt.Sprintf("UpdateComputeIDsVINSStaticRoute: Cannot revoke static routes for vins with id %v", vinsId),
|
||||
err.Error())
|
||||
}
|
||||
}
|
||||
|
||||
var addedComputes []uint64
|
||||
for _, comp := range computesPlan {
|
||||
if !contains(comp, computesState) {
|
||||
addedComputes = append(addedComputes, comp)
|
||||
}
|
||||
}
|
||||
if len(addedComputes) != 0 {
|
||||
grantReq := vins.StaticRouteAccessGrantRequest{
|
||||
VINSID: vinsId,
|
||||
RouteId: routeId,
|
||||
ComputeIds: addedComputes,
|
||||
}
|
||||
|
||||
tflog.Info(ctx, "UpdateComputeIDsVINSStaticRoute: before call to CloudBroker().VINS().StaticRouteAccessGrant", map[string]any{"grantReq": grantReq})
|
||||
_, err := c.CloudBroker().VINS().StaticRouteAccessGrant(ctx, grantReq)
|
||||
if err != nil {
|
||||
diags.AddError(
|
||||
fmt.Sprintf("UpdateComputeIDsVINSStaticRoute: Cannot grant static routes for vins with id %v", vinsId),
|
||||
err.Error())
|
||||
}
|
||||
}
|
||||
|
||||
return diags
|
||||
}
|
||||
|
||||
// contains returns true if slice contains element. Otherwise it returns false.
|
||||
func contains(element uint64, slice []uint64) bool {
|
||||
for _, s := range slice {
|
||||
|
||||
Reference in New Issue
Block a user