fix(beta): remove caching of beta checks (#757)

beta checks caused issues when debugging

relates to STACKITTPR-206
This commit is contained in:
Ruben Hönle 2025-04-07 09:17:35 +02:00 committed by GitHub
parent d6749b6ce3
commit 7cc9ca4fd4
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
6 changed files with 18 additions and 66 deletions

View file

@ -30,11 +30,6 @@ import (
"github.com/stackitcloud/stackit-sdk-go/services/serverbackup"
)
// resourceBetaCheckDone is used to prevent multiple checks for beta resources.
// This is a workaround for the lack of a global state in the provider and
// needs to exist because the Configure method is called twice.
var resourceBetaCheckDone bool
// Ensure the implementation satisfies the expected interfaces.
var (
_ resource.Resource = &scheduleResource{}
@ -122,12 +117,9 @@ func (r *scheduleResource) Configure(ctx context.Context, req resource.Configure
return
}
if !resourceBetaCheckDone {
features.CheckBetaResourcesEnabled(ctx, &r.providerData, &resp.Diagnostics, "stackit_server_backup_schedule", "resource")
if resp.Diagnostics.HasError() {
return
}
resourceBetaCheckDone = true
features.CheckBetaResourcesEnabled(ctx, &r.providerData, &resp.Diagnostics, "stackit_server_backup_schedule", "resource")
if resp.Diagnostics.HasError() {
return
}
var (

View file

@ -30,11 +30,6 @@ import (
"github.com/stackitcloud/stackit-sdk-go/services/serverupdate"
)
// resourceBetaCheckDone is used to prevent multiple checks for beta resources.
// This is a workaround for the lack of a global state in the provider and
// needs to exist because the Configure method is called twice.
var resourceBetaCheckDone bool
// Ensure the implementation satisfies the expected interfaces.
var (
_ resource.Resource = &scheduleResource{}
@ -115,12 +110,9 @@ func (r *scheduleResource) Configure(ctx context.Context, req resource.Configure
return
}
if !resourceBetaCheckDone {
features.CheckBetaResourcesEnabled(ctx, &r.providerData, &resp.Diagnostics, "stackit_server_update_schedule", "resource")
if resp.Diagnostics.HasError() {
return
}
resourceBetaCheckDone = true
features.CheckBetaResourcesEnabled(ctx, &r.providerData, &resp.Diagnostics, "stackit_server_update_schedule", "resource")
if resp.Diagnostics.HasError() {
return
}
var apiClient *serverupdate.APIClient

View file

@ -17,11 +17,6 @@ import (
"github.com/stackitcloud/terraform-provider-stackit/stackit/internal/validate"
)
// dataSourceBetaCheckDone is used to prevent multiple checks for beta resources.
// This is a workaround for the lack of a global state in the provider and
// needs to exist because the Configure method is called twice.
var dataSourceBetaCheckDone bool
// Ensure the implementation satisfies the expected interfaces.
var (
_ datasource.DataSource = &serviceAccountDataSource{}
@ -50,12 +45,9 @@ func (r *serviceAccountDataSource) Configure(ctx context.Context, req datasource
return
}
if !dataSourceBetaCheckDone {
features.CheckBetaResourcesEnabled(ctx, &providerData, &resp.Diagnostics, "stackit_service_account", "datasource")
if resp.Diagnostics.HasError() {
return
}
dataSourceBetaCheckDone = true
features.CheckBetaResourcesEnabled(ctx, &providerData, &resp.Diagnostics, "stackit_service_account", "datasource")
if resp.Diagnostics.HasError() {
return
}
var apiClient *serviceaccount.APIClient

View file

@ -24,11 +24,6 @@ import (
"github.com/stackitcloud/terraform-provider-stackit/stackit/internal/validate"
)
// resourceBetaCheckDone is used to prevent multiple checks for beta resources.
// This is a workaround for the lack of a global state in the provider and
// needs to exist because the Configure method is called twice.
var resourceBetaCheckDone bool
// Ensure the implementation satisfies the expected interfaces.
var (
_ resource.Resource = &serviceAccountResource{}
@ -68,12 +63,9 @@ func (r *serviceAccountResource) Configure(ctx context.Context, req resource.Con
return
}
if !resourceBetaCheckDone {
features.CheckBetaResourcesEnabled(ctx, &providerData, &resp.Diagnostics, "stackit_service_account", "resource")
if resp.Diagnostics.HasError() {
return
}
resourceBetaCheckDone = true
features.CheckBetaResourcesEnabled(ctx, &providerData, &resp.Diagnostics, "stackit_service_account", "resource")
if resp.Diagnostics.HasError() {
return
}
// Initialize the API client with the appropriate authentication and endpoint settings.

View file

@ -29,11 +29,6 @@ import (
"github.com/stackitcloud/terraform-provider-stackit/stackit/internal/validate"
)
// resourceBetaCheckDone is used to prevent multiple checks for beta resources.
// This is a workaround for the lack of a global state in the provider and
// needs to exist because the Configure method is called twice.
var resourceBetaCheckDone bool
// Ensure the implementation satisfies the expected interfaces.
var (
_ resource.Resource = &serviceAccountKeyResource{}
@ -76,12 +71,9 @@ func (r *serviceAccountKeyResource) Configure(ctx context.Context, req resource.
return
}
if !resourceBetaCheckDone {
features.CheckBetaResourcesEnabled(ctx, &providerData, &resp.Diagnostics, "stackit_service_account_key", "resource")
if resp.Diagnostics.HasError() {
return
}
resourceBetaCheckDone = true
features.CheckBetaResourcesEnabled(ctx, &providerData, &resp.Diagnostics, "stackit_service_account_key", "resource")
if resp.Diagnostics.HasError() {
return
}
// Initialize the API client with the appropriate authentication and endpoint settings.

View file

@ -29,11 +29,6 @@ import (
"github.com/stackitcloud/terraform-provider-stackit/stackit/internal/validate"
)
// resourceBetaCheckDone is used to prevent multiple checks for beta resources.
// This is a workaround for the lack of a global state in the provider and
// needs to exist because the Configure method is called twice.
var resourceBetaCheckDone bool
// Ensure the implementation satisfies the expected interfaces.
var (
_ resource.Resource = &serviceAccountTokenResource{}
@ -78,12 +73,9 @@ func (r *serviceAccountTokenResource) Configure(ctx context.Context, req resourc
return
}
if !resourceBetaCheckDone {
features.CheckBetaResourcesEnabled(ctx, &providerData, &resp.Diagnostics, "stackit_service_account_access_token", "resource")
if resp.Diagnostics.HasError() {
return
}
resourceBetaCheckDone = true
features.CheckBetaResourcesEnabled(ctx, &providerData, &resp.Diagnostics, "stackit_service_account_access_token", "resource")
if resp.Diagnostics.HasError() {
return
}
// Initialize the API client with the appropriate authentication and endpoint settings.