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

@@ -8,8 +8,8 @@ import (
"github.com/hashicorp/terraform-plugin-framework/diag"
"github.com/hashicorp/terraform-plugin-framework/types"
"github.com/hashicorp/terraform-plugin-log/tflog"
decort "repository.basistech.ru/BASIS/decort-golang-sdk"
"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/service/cloudapi/vins/models"
"repository.basistech.ru/BASIS/terraform-provider-dynamix/internal/service/cloudapi/vins/utilities"
)
@@ -17,7 +17,7 @@ import (
// VINSDataSource flattens data source for vins.
// Return error in case data source is not found on the platform.
// Flatten errors are added to tflog.
func VINSDataSource(ctx context.Context, state *models.DataSourceVINSModel, c *decort.DecortClient) diag.Diagnostics {
func VINSDataSource(ctx context.Context, state *models.DataSourceVINSModel, c *client.Client) diag.Diagnostics {
tflog.Info(ctx, "Start flattens.VINSDataSource")
diags := diag.Diagnostics{}
@@ -99,6 +99,7 @@ func flattenVNFDev(ctx context.Context, vnfdev *vins.RecordVNFDev) types.Object
Status: types.StringValue(vnfdev.Status),
TechStatus: types.StringValue(vnfdev.TechStatus),
Type: types.StringValue(vnfdev.Type),
VNCPassword: types.StringValue(vnfdev.VNCPassword),
}
temp.Capabilities, diags = types.ListValueFrom(ctx, types.StringType, vnfdev.Capabilities)
@@ -367,14 +368,11 @@ func flattenReservations(ctx context.Context, items *vins.ListReservations) type
tempSlice := make([]types.Object, 0, len(*items))
for _, item := range *items {
temp := models.ReservationModel{
ClientType: types.StringValue(item.ClientType),
Description: types.StringValue(item.Description),
DomainName: types.StringValue(item.DomainName),
Hostname: types.StringValue(item.Hostname),
IP: types.StringValue(item.IP),
MAC: types.StringValue(item.MAC),
Type: types.StringValue(item.Type),
VMID: types.Int64Value(int64(item.VMID)),
AccountID: types.Int64Value(int64(item.AccountID)),
IP: types.StringValue(item.IP),
MAC: types.StringValue(item.MAC),
Type: types.StringValue(item.Type),
VMID: types.Int64Value(int64(item.VMID)),
}
obj, diags := types.ObjectValueFrom(ctx, models.ItemReservations, temp)

View File

@@ -7,7 +7,7 @@ import (
"github.com/hashicorp/terraform-plugin-framework/diag"
"github.com/hashicorp/terraform-plugin-framework/types"
"github.com/hashicorp/terraform-plugin-log/tflog"
decort "repository.basistech.ru/BASIS/decort-golang-sdk"
"repository.basistech.ru/BASIS/terraform-provider-dynamix/internal/client"
"repository.basistech.ru/BASIS/terraform-provider-dynamix/internal/service/cloudapi/vins/models"
"repository.basistech.ru/BASIS/terraform-provider-dynamix/internal/service/cloudapi/vins/utilities"
)
@@ -15,7 +15,7 @@ import (
// VINSAuditsDataSource flattens data source for vins audits.
// Return error in case data source is not found on the platform.
// Flatten errors are added to tflog.
func VINSAuditsDataSource(ctx context.Context, state *models.DataSourceVINSAuditsModel, c *decort.DecortClient) diag.Diagnostics {
func VINSAuditsDataSource(ctx context.Context, state *models.DataSourceVINSAuditsModel, c *client.Client) diag.Diagnostics {
tflog.Info(ctx, "Start flattens.VINSAuditsDataSource")
diags := diag.Diagnostics{}

View File

@@ -7,7 +7,7 @@ import (
"github.com/hashicorp/terraform-plugin-framework/diag"
"github.com/hashicorp/terraform-plugin-framework/types"
"github.com/hashicorp/terraform-plugin-log/tflog"
decort "repository.basistech.ru/BASIS/decort-golang-sdk"
"repository.basistech.ru/BASIS/terraform-provider-dynamix/internal/client"
"repository.basistech.ru/BASIS/terraform-provider-dynamix/internal/service/cloudapi/vins/models"
"repository.basistech.ru/BASIS/terraform-provider-dynamix/internal/service/cloudapi/vins/utilities"
)
@@ -15,7 +15,7 @@ import (
// VINSExtNetListDataSource flattens data source for vins ext net list.
// Return error in case data source is not found on the platform.
// Flatten errors are added to tflog.
func VINSExtNetListDataSource(ctx context.Context, state *models.DataSourceVINSExtNetListModel, c *decort.DecortClient) diag.Diagnostics {
func VINSExtNetListDataSource(ctx context.Context, state *models.DataSourceVINSExtNetListModel, c *client.Client) diag.Diagnostics {
tflog.Info(ctx, "Start flattens.VINSExtNetListDataSource")
diags := diag.Diagnostics{}

View File

@@ -7,7 +7,7 @@ import (
"github.com/hashicorp/terraform-plugin-framework/diag"
"github.com/hashicorp/terraform-plugin-framework/types"
"github.com/hashicorp/terraform-plugin-log/tflog"
decort "repository.basistech.ru/BASIS/decort-golang-sdk"
"repository.basistech.ru/BASIS/terraform-provider-dynamix/internal/client"
"repository.basistech.ru/BASIS/terraform-provider-dynamix/internal/service/cloudapi/vins/models"
"repository.basistech.ru/BASIS/terraform-provider-dynamix/internal/service/cloudapi/vins/utilities"
)
@@ -15,7 +15,7 @@ import (
// VINSIPListDataSource flattens data source for vins ip list.
// Return error in case data source is not found on the platform.
// Flatten errors are added to tflog.
func VINSIPListDataSource(ctx context.Context, state *models.DataSourceVINSIPListModel, c *decort.DecortClient) diag.Diagnostics {
func VINSIPListDataSource(ctx context.Context, state *models.DataSourceVINSIPListModel, c *client.Client) diag.Diagnostics {
tflog.Info(ctx, "Start flattens.VINSIPListDataSource")
diags := diag.Diagnostics{}

View File

@@ -7,7 +7,7 @@ import (
"github.com/hashicorp/terraform-plugin-framework/diag"
"github.com/hashicorp/terraform-plugin-framework/types"
"github.com/hashicorp/terraform-plugin-log/tflog"
decort "repository.basistech.ru/BASIS/decort-golang-sdk"
"repository.basistech.ru/BASIS/terraform-provider-dynamix/internal/client"
"repository.basistech.ru/BASIS/terraform-provider-dynamix/internal/service/cloudapi/vins/models"
"repository.basistech.ru/BASIS/terraform-provider-dynamix/internal/service/cloudapi/vins/utilities"
)
@@ -15,7 +15,7 @@ import (
// VINSListDataSource flattens data source for vins list.
// Return error in case data source is not found on the platform.
// Flatten errors are added to tflog.
func VINSListDataSource(ctx context.Context, state *models.DataSourceVINSListModel, c *decort.DecortClient) diag.Diagnostics {
func VINSListDataSource(ctx context.Context, state *models.DataSourceVINSListModel, c *client.Client) diag.Diagnostics {
tflog.Info(ctx, "Start flattens.VINSListDataSource")
diags := diag.Diagnostics{}

View File

@@ -7,7 +7,7 @@ import (
"github.com/hashicorp/terraform-plugin-framework/diag"
"github.com/hashicorp/terraform-plugin-framework/types"
"github.com/hashicorp/terraform-plugin-log/tflog"
decort "repository.basistech.ru/BASIS/decort-golang-sdk"
"repository.basistech.ru/BASIS/terraform-provider-dynamix/internal/client"
"repository.basistech.ru/BASIS/terraform-provider-dynamix/internal/service/cloudapi/vins/models"
"repository.basistech.ru/BASIS/terraform-provider-dynamix/internal/service/cloudapi/vins/utilities"
)
@@ -15,7 +15,7 @@ import (
// VINSListDeletedDataSource flattens data source for vins list deleted.
// Return error in case data source is not found on the platform.
// Flatten errors are added to tflog.
func VINSListDeletedDataSource(ctx context.Context, state *models.DataSourceVINSListDeletedModel, c *decort.DecortClient) diag.Diagnostics {
func VINSListDeletedDataSource(ctx context.Context, state *models.DataSourceVINSListDeletedModel, c *client.Client) diag.Diagnostics {
tflog.Info(ctx, "Start flattens.VINSListDeletedDataSource")
diags := diag.Diagnostics{}

View File

@@ -7,7 +7,7 @@ import (
"github.com/hashicorp/terraform-plugin-framework/diag"
"github.com/hashicorp/terraform-plugin-framework/types"
"github.com/hashicorp/terraform-plugin-log/tflog"
decort "repository.basistech.ru/BASIS/decort-golang-sdk"
"repository.basistech.ru/BASIS/terraform-provider-dynamix/internal/client"
"repository.basistech.ru/BASIS/terraform-provider-dynamix/internal/service/cloudapi/vins/models"
"repository.basistech.ru/BASIS/terraform-provider-dynamix/internal/service/cloudapi/vins/utilities"
)
@@ -15,7 +15,7 @@ import (
// VINSNATRuleListDataSource flattens data source for vins nat rule list.
// Return error in case data source is not found on the platform.
// Flatten errors are added to tflog.
func VINSNATRuleListDataSource(ctx context.Context, state *models.DataSourceVINSNATRuleListModel, c *decort.DecortClient) diag.Diagnostics {
func VINSNATRuleListDataSource(ctx context.Context, state *models.DataSourceVINSNATRuleListModel, c *client.Client) diag.Diagnostics {
tflog.Info(ctx, "Start flattens.VINSNATRuleListDataSource")
diags := diag.Diagnostics{}

View File

@@ -8,7 +8,7 @@ import (
"github.com/hashicorp/terraform-plugin-framework/diag"
"github.com/hashicorp/terraform-plugin-framework/types"
"github.com/hashicorp/terraform-plugin-log/tflog"
decort "repository.basistech.ru/BASIS/decort-golang-sdk"
"repository.basistech.ru/BASIS/terraform-provider-dynamix/internal/client"
"repository.basistech.ru/BASIS/terraform-provider-dynamix/internal/service/cloudapi/vins/models"
"repository.basistech.ru/BASIS/terraform-provider-dynamix/internal/service/cloudapi/vins/utilities"
)
@@ -16,7 +16,7 @@ import (
// VINSStaticRouteDataSource flattens data source for vins static route.
// Return error in case data source is not found on the platform.
// Flatten errors are added to tflog.
func VINSStaticRouteDataSource(ctx context.Context, state *models.DataSourceVINSStaticRouteModel, c *decort.DecortClient) diag.Diagnostics {
func VINSStaticRouteDataSource(ctx context.Context, state *models.DataSourceVINSStaticRouteModel, c *client.Client) diag.Diagnostics {
tflog.Info(ctx, "Start flattens.VINSStaticRouteDataSource")
diags := diag.Diagnostics{}

View File

@@ -8,7 +8,7 @@ import (
"github.com/hashicorp/terraform-plugin-framework/diag"
"github.com/hashicorp/terraform-plugin-framework/types"
"github.com/hashicorp/terraform-plugin-log/tflog"
decort "repository.basistech.ru/BASIS/decort-golang-sdk"
"repository.basistech.ru/BASIS/terraform-provider-dynamix/internal/client"
"repository.basistech.ru/BASIS/terraform-provider-dynamix/internal/service/cloudapi/vins/models"
"repository.basistech.ru/BASIS/terraform-provider-dynamix/internal/service/cloudapi/vins/utilities"
)
@@ -16,7 +16,7 @@ import (
// VINSStaticRouteListDataSource flattens data source for vins static route list.
// Return error in case data source is not found on the platform.
// Flatten errors are added to tflog.
func VINSStaticRouteListDataSource(ctx context.Context, state *models.DataSourceVINSStaticRouteListModel, c *decort.DecortClient) diag.Diagnostics {
func VINSStaticRouteListDataSource(ctx context.Context, state *models.DataSourceVINSStaticRouteListModel, c *client.Client) diag.Diagnostics {
tflog.Info(ctx, "Start flattens.VINSStaticRouteListDataSource")
diags := diag.Diagnostics{}

View File

@@ -8,8 +8,8 @@ import (
"github.com/hashicorp/terraform-plugin-framework/diag"
"github.com/hashicorp/terraform-plugin-framework/types"
"github.com/hashicorp/terraform-plugin-log/tflog"
decort "repository.basistech.ru/BASIS/decort-golang-sdk"
"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/service/cloudapi/vins/models"
"repository.basistech.ru/BASIS/terraform-provider-dynamix/internal/service/cloudapi/vins/utilities"
)
@@ -17,7 +17,7 @@ import (
// VINSResource flattens resource for vins.
// Return error in case resource is not found on the platform.
// Flatten errors are added to tflog.
func VINSResource(ctx context.Context, plan *models.ResourceVINSModel, c *decort.DecortClient) diag.Diagnostics {
func VINSResource(ctx context.Context, plan *models.ResourceVINSModel, c *client.Client) diag.Diagnostics {
tflog.Info(ctx, "Start flattens.VINSResource")
diags := diag.Diagnostics{}

View File

@@ -8,7 +8,8 @@ import (
"github.com/hashicorp/terraform-plugin-framework/diag"
"github.com/hashicorp/terraform-plugin-framework/types"
"github.com/hashicorp/terraform-plugin-log/tflog"
decort "repository.basistech.ru/BASIS/decort-golang-sdk"
"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"
)
@@ -16,7 +17,7 @@ import (
// VINSStaticRouteResource flattens resource for vins static route.
// Return error in case resource is not found on the platform.
// Flatten errors are added to tflog.
func VINSStaticRouteResource(ctx context.Context, plan *models.ResourceVINSStaticRouteModel, c *decort.DecortClient) diag.Diagnostics {
func VINSStaticRouteResource(ctx context.Context, plan *models.ResourceVINSStaticRouteModel, c *client.Client) diag.Diagnostics {
tflog.Info(ctx, "Start flattens.VINSStaticRouteResource")
vinsId, routeId, diags := utilities.GetVinsIDAndRouteID(ctx, plan)
@@ -39,20 +40,13 @@ func VINSStaticRouteResource(ctx context.Context, plan *models.ResourceVINSStati
Timeouts: plan.Timeouts,
RouteID: types.Int64Value(int64(routeId)),
ComputeIDs: plan.ComputeIDs,
ComputeIDs: flattens.FlattenSimpleTypeToList(ctx, types.Int64Type, recordRoute.ComputeIds),
Id: plan.Id,
LastUpdated: plan.LastUpdated,
GUID: types.StringValue(recordRoute.GUID),
}
if plan.ComputeIDs.IsUnknown() {
plan.ComputeIDs, diags = types.ListValueFrom(ctx, types.Int64Type, recordRoute.ComputeIds)
if diags.HasError() {
tflog.Error(ctx, fmt.Sprint("Error VINSStaticRouteResource: cannot flatten recordRoute.ComputeIds to plan.ComputeIDs", diags))
}
}
if plan.Id.IsUnknown() {
plan.Id = types.StringValue(fmt.Sprintf("%d#%d", vinsId, routeId))
}