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

@@ -10,8 +10,8 @@ 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/cloudapi/rg"
"repository.basistech.ru/BASIS/terraform-provider-dynamix/internal/client"
"repository.basistech.ru/BASIS/terraform-provider-dynamix/internal/service/cloudapi/rg/models"
"repository.basistech.ru/BASIS/terraform-provider-dynamix/internal/status"
)
@@ -101,7 +101,7 @@ func CreateRequestResourceRG(ctx context.Context, plan *models.ResourceRGModel)
return createReq, nil
}
func RGCheckPresence(ctx context.Context, rgId uint64, c *decort.DecortClient) (*rg.RecordResourceGroup, error) {
func RGCheckPresence(ctx context.Context, rgId uint64, c *client.Client) (*rg.RecordResourceGroup, error) {
tflog.Info(ctx, fmt.Sprintf("Get info about resource group with ID - %v", rgId))
recordRG, err := c.CloudAPI().RG().Get(ctx, rg.GetRequest{RGID: rgId})
@@ -115,7 +115,7 @@ func RGCheckPresence(ctx context.Context, rgId uint64, c *decort.DecortClient) (
}
// RestoreRG performs resource group Restore request. Returns error in case of failures.
func RestoreRG(ctx context.Context, rgId uint64, c *decort.DecortClient) diag.Diagnostics {
func RestoreRG(ctx context.Context, rgId uint64, c *client.Client) diag.Diagnostics {
diags := diag.Diagnostics{}
restoreReq := rg.RestoreRequest{RGID: rgId}
@@ -136,7 +136,7 @@ func RestoreRG(ctx context.Context, rgId uint64, c *decort.DecortClient) diag.Di
}
// EnableRG performs resource group Enable request
func EnableRG(ctx context.Context, rgId uint64, plan *models.ResourceRGModel, c *decort.DecortClient) error {
func EnableRG(ctx context.Context, rgId uint64, plan *models.ResourceRGModel, c *client.Client) error {
enableReq := rg.EnableRequest{RGID: rgId}
tflog.Info(ctx, "utilityEnableRG: before calling CloudAPI().RG().Enable", map[string]any{"rg_id": rgId, "req": enableReq})
@@ -149,7 +149,7 @@ func EnableRG(ctx context.Context, rgId uint64, plan *models.ResourceRGModel, c
}
// DisableRG performs resource group Disable request
func DisableRG(ctx context.Context, rgId uint64, plan *models.ResourceRGModel, c *decort.DecortClient) error {
func DisableRG(ctx context.Context, rgId uint64, plan *models.ResourceRGModel, c *client.Client) error {
disableReq := rg.DisableRequest{RGID: rgId}
tflog.Info(ctx, "utilityDisableRG: before calling CloudAPI().RG().Disable", map[string]any{"rg_id": rgId, "req": disableReq})
@@ -162,7 +162,7 @@ func DisableRG(ctx context.Context, rgId uint64, plan *models.ResourceRGModel, c
// UpdateRG compares plan and state for resource group fields name, description, quota, register_computes.
// If any changes are detected, Update request is performed. If not, no update is performed.
func UpdateRG(ctx context.Context, rgId uint64, plan, state *models.ResourceRGModel, c *decort.DecortClient) diag.Diagnostics {
func UpdateRG(ctx context.Context, rgId uint64, plan, state *models.ResourceRGModel, c *client.Client) diag.Diagnostics {
var updateNeeded bool
var diags diag.Diagnostics
@@ -304,7 +304,7 @@ func UpdateRG(ctx context.Context, rgId uint64, plan, state *models.ResourceRGMo
// EnableDisableCreateRG performs Enable request is enable is true, and Disable request otherwise.
// In case of failure returns warnings.
func EnableDisableCreateRG(ctx context.Context, rgId uint64, plan *models.ResourceRGModel, c *decort.DecortClient) diag.Diagnostics {
func EnableDisableCreateRG(ctx context.Context, rgId uint64, plan *models.ResourceRGModel, c *client.Client) diag.Diagnostics {
diags := diag.Diagnostics{}
var enable bool
@@ -346,7 +346,7 @@ func EnableDisableCreateRG(ctx context.Context, rgId uint64, plan *models.Resour
// EnableDisableUpdateRG performs Enable request is enable is true, and Disable request otherwise.
// In case of failure returns errors.
func EnableDisableUpdateRG(ctx context.Context, rgId uint64, plan *models.ResourceRGModel, c *decort.DecortClient) diag.Diagnostics {
func EnableDisableUpdateRG(ctx context.Context, rgId uint64, plan *models.ResourceRGModel, c *client.Client) diag.Diagnostics {
diags := diag.Diagnostics{}
var enable bool
@@ -390,7 +390,7 @@ func EnableDisableUpdateRG(ctx context.Context, rgId uint64, plan *models.Resour
// If changes are detected, AccessRevoke request is performed for each deleted access user and AccessGrant request is
// performed for each added access user. If no changes are detected, no requests performed.
// Returns errors in case of failures.
func AccessUpdateRG(ctx context.Context, rgId uint64, plan, state *models.ResourceRGModel, c *decort.DecortClient) diag.Diagnostics {
func AccessUpdateRG(ctx context.Context, rgId uint64, plan, state *models.ResourceRGModel, c *client.Client) diag.Diagnostics {
diags := diag.Diagnostics{}
itemsAccessPlan := make([]models.AccessModel, 0, len(plan.Access.Elements()))
@@ -481,7 +481,7 @@ func AccessUpdateRG(ctx context.Context, rgId uint64, plan, state *models.Resour
// AccessCreateRG grants access to users specified in access field for created resource.
// In case of failure returns warnings.
func AccessCreateRG(ctx context.Context, rgId uint64, plan *models.ResourceRGModel, c *decort.DecortClient) diag.Diagnostics {
func AccessCreateRG(ctx context.Context, rgId uint64, plan *models.ResourceRGModel, c *client.Client) diag.Diagnostics {
diags := diag.Diagnostics{}
if len(plan.Access.Elements()) != 0 {
@@ -532,7 +532,7 @@ func AccessCreateRG(ctx context.Context, rgId uint64, plan *models.ResourceRGMod
// SetDefNetUpdateRG compares plan and state for resource group update field def_net.
// If any changes are detected, SetDefNet request is performed. If not, no SetDefNet is performed.
// Returns error in case of failures.
func SetDefNetUpdateRG(ctx context.Context, rgId uint64, plan, state *models.ResourceRGModel, c *decort.DecortClient) diag.Diagnostics {
func SetDefNetUpdateRG(ctx context.Context, rgId uint64, plan, state *models.ResourceRGModel, c *client.Client) diag.Diagnostics {
diags := diag.Diagnostics{}
var setDefNetNeeded bool
@@ -617,7 +617,7 @@ func SetDefNetUpdateRG(ctx context.Context, rgId uint64, plan, state *models.Res
// SetDefNetCreateRG performs SetDefNet request if def_net field is not empty. Otherwise, no SetDefNet request is performed.
// In case of failure returns warnings.
func SetDefNetCreateRG(ctx context.Context, rgId uint64, plan *models.ResourceRGModel, c *decort.DecortClient) diag.Diagnostics {
func SetDefNetCreateRG(ctx context.Context, rgId uint64, plan *models.ResourceRGModel, c *client.Client) diag.Diagnostics {
diags := diag.Diagnostics{}
setDefNetReq := rg.SetDefNetRequest{RGID: rgId}
@@ -669,7 +669,7 @@ func SetDefNetCreateRG(ctx context.Context, rgId uint64, plan *models.ResourceRG
// RGReadStatus loads rg resource by ids id, gets it current status. Performs restore and enable if needed for
// Deleted status.
// In case of failure returns errors.
func RGReadStatus(ctx context.Context, state *models.ResourceRGModel, c *decort.DecortClient) diag.Diagnostics {
func RGReadStatus(ctx context.Context, state *models.ResourceRGModel, c *client.Client) diag.Diagnostics {
tflog.Info(ctx, "RGReadStatus: Read status rg with ID", map[string]any{"rg_id": state.Id.ValueString()})
diags := diag.Diagnostics{}