feat(resourcemanager): graduate folder resource to ga (#1043)

This commit is contained in:
Mauritz Uphoff 2025-11-06 18:10:11 +01:00 committed by GitHub
parent a81b7d49e7
commit 64d6fa9bea
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
6 changed files with 8 additions and 51 deletions

View file

@ -4,15 +4,12 @@ page_title: "stackit_resourcemanager_folder Data Source - stackit"
subcategory: ""
description: |-
Resource Manager folder data source schema. To identify the folder, you need to provide the container_id.
~> This datasource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide https://registry.terraform.io/providers/stackitcloud/stackit/latest/docs/guides/opting_into_beta_resources for how to opt-in to use beta resources.
---
# stackit_resourcemanager_folder (Data Source)
Resource Manager folder data source schema. To identify the folder, you need to provide the container_id.
~> This datasource is in beta and may be subject to breaking changes in the future. Use with caution. See our [guide](https://registry.terraform.io/providers/stackitcloud/stackit/latest/docs/guides/opting_into_beta_resources) for how to opt-in to use beta resources.
## Example Usage
```terraform

View file

@ -4,15 +4,12 @@ page_title: "stackit_resourcemanager_folder Resource - stackit"
subcategory: ""
description: |-
Resource Manager folder resource schema.
~> This resource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide https://registry.terraform.io/providers/stackitcloud/stackit/latest/docs/guides/opting_into_beta_resources for how to opt-in to use beta resources.
---
# stackit_resourcemanager_folder (Resource)
Resource Manager folder resource schema.
~> This resource is in beta and may be subject to breaking changes in the future. Use with caution. See our [guide](https://registry.terraform.io/providers/stackitcloud/stackit/latest/docs/guides/opting_into_beta_resources) for how to opt-in to use beta resources.
## Example Usage
```terraform

View file

@ -16,7 +16,6 @@ import (
"github.com/stackitcloud/stackit-sdk-go/services/resourcemanager"
"github.com/stackitcloud/terraform-provider-stackit/stackit/internal/conversion"
"github.com/stackitcloud/terraform-provider-stackit/stackit/internal/core"
"github.com/stackitcloud/terraform-provider-stackit/stackit/internal/features"
resourcemanagerUtils "github.com/stackitcloud/terraform-provider-stackit/stackit/internal/services/resourcemanager/utils"
"github.com/stackitcloud/terraform-provider-stackit/stackit/internal/utils"
"github.com/stackitcloud/terraform-provider-stackit/stackit/internal/validate"
@ -49,11 +48,6 @@ func (d *folderDataSource) Configure(ctx context.Context, req datasource.Configu
return
}
features.CheckBetaResourcesEnabled(ctx, &providerData, &resp.Diagnostics, "stackit_resourcemanager_folder", "datasource")
if resp.Diagnostics.HasError() {
return
}
apiClient := resourcemanagerUtils.ConfigureClient(ctx, &providerData, &resp.Diagnostics)
if resp.Diagnostics.HasError() {
return
@ -78,7 +72,7 @@ func (d *folderDataSource) Schema(_ context.Context, _ datasource.SchemaRequest,
}
resp.Schema = schema.Schema{
Description: features.AddBetaDescription(descriptions["main"], core.Datasource),
Description: descriptions["main"],
Attributes: map[string]schema.Attribute{
"id": schema.StringAttribute{
Description: descriptions["id"],

View file

@ -27,7 +27,6 @@ import (
"github.com/stackitcloud/stackit-sdk-go/services/resourcemanager"
"github.com/stackitcloud/terraform-provider-stackit/stackit/internal/conversion"
"github.com/stackitcloud/terraform-provider-stackit/stackit/internal/core"
"github.com/stackitcloud/terraform-provider-stackit/stackit/internal/features"
resourcemanagerUtils "github.com/stackitcloud/terraform-provider-stackit/stackit/internal/services/resourcemanager/utils"
"github.com/stackitcloud/terraform-provider-stackit/stackit/internal/validate"
)
@ -81,11 +80,6 @@ func (r *folderResource) Configure(ctx context.Context, req resource.ConfigureRe
return
}
features.CheckBetaResourcesEnabled(ctx, &providerData, &resp.Diagnostics, "stackit_resourcemanager_folder", "resource")
if resp.Diagnostics.HasError() {
return
}
apiClient := resourcemanagerUtils.ConfigureClient(ctx, &providerData, &resp.Diagnostics)
if resp.Diagnostics.HasError() {
return
@ -110,7 +104,7 @@ func (r *folderResource) Schema(_ context.Context, _ resource.SchemaRequest, res
}
resp.Schema = schema.Schema{
Description: features.AddBetaDescription(descriptions["main"], core.Resource),
Description: descriptions["main"],
Attributes: map[string]schema.Attribute{
"id": schema.StringAttribute{
Description: descriptions["id"],

View file

@ -273,7 +273,7 @@ func TestAccResourceManagerFolderContainerId(t *testing.T) {
// Create
{
ConfigVariables: testConfigResourceFolderParentContainerId,
Config: testutil.ResourceManagerProviderConfigBetaEnabled() + resourceFolder,
Config: testutil.ResourceManagerProviderConfig() + resourceFolder,
Check: resource.ComposeAggregateTestCheckFunc(
resource.TestCheckResourceAttr("stackit_resourcemanager_folder.example", "name", testutil.ConvertConfigVariable(testConfigResourceFolderParentContainerId["name"])),
resource.TestCheckResourceAttr("stackit_resourcemanager_folder.example", "parent_container_id", testutil.ConvertConfigVariable(testConfigResourceFolderParentContainerId["parent_container_id"])),
@ -297,7 +297,7 @@ func TestAccResourceManagerFolderContainerId(t *testing.T) {
data "stackit_resourcemanager_folder" "example" {
container_id = stackit_resourcemanager_folder.example.container_id
}
`, testutil.ResourceManagerProviderConfigBetaEnabled(), resourceFolder),
`, testutil.ResourceManagerProviderConfig(), resourceFolder),
Check: resource.ComposeAggregateTestCheckFunc(
resource.TestCheckResourceAttr("data.stackit_resourcemanager_folder.example", "name", testutil.ConvertConfigVariable(testConfigResourceFolderParentContainerId["name"])),
resource.TestCheckResourceAttr("data.stackit_resourcemanager_folder.example", "labels.%", "1"),
@ -324,7 +324,7 @@ func TestAccResourceManagerFolderContainerId(t *testing.T) {
// Update
{
ConfigVariables: testConfigFolderNameParentContainerIdUpdated(),
Config: testutil.ResourceManagerProviderConfigBetaEnabled() + resourceFolder,
Config: testutil.ResourceManagerProviderConfig() + resourceFolder,
Check: resource.ComposeAggregateTestCheckFunc(
resource.TestCheckResourceAttr("stackit_resourcemanager_folder.example", "name", testutil.ConvertConfigVariable(testConfigFolderNameParentContainerIdUpdated()["name"])),
resource.TestCheckResourceAttr("stackit_resourcemanager_folder.example", "parent_container_id", testutil.ConvertConfigVariable(testConfigFolderNameParentContainerIdUpdated()["parent_container_id"])),
@ -352,7 +352,7 @@ func TestAccResourceManagerFolderParentUUID(t *testing.T) {
// Create
{
ConfigVariables: testConfigResourceFolderParentUUID,
Config: testutil.ResourceManagerProviderConfigBetaEnabled() + resourceFolder,
Config: testutil.ResourceManagerProviderConfig() + resourceFolder,
Check: resource.ComposeAggregateTestCheckFunc(
resource.TestCheckResourceAttr("stackit_resourcemanager_folder.example", "name", testutil.ConvertConfigVariable(testConfigResourceFolderParentUUID["name"])),
resource.TestCheckResourceAttr("stackit_resourcemanager_folder.example", "parent_container_id", testutil.ConvertConfigVariable(testConfigResourceFolderParentUUID["parent_container_id"])),
@ -376,7 +376,7 @@ func TestAccResourceManagerFolderParentUUID(t *testing.T) {
data "stackit_resourcemanager_folder" "example" {
container_id = stackit_resourcemanager_folder.example.container_id
}
`, testutil.ResourceManagerProviderConfigBetaEnabled(), resourceFolder),
`, testutil.ResourceManagerProviderConfig(), resourceFolder),
Check: resource.ComposeAggregateTestCheckFunc(
resource.TestCheckResourceAttr("data.stackit_resourcemanager_folder.example", "name", testutil.ConvertConfigVariable(testConfigResourceFolderParentUUID["name"])),
resource.TestCheckResourceAttr("data.stackit_resourcemanager_folder.example", "labels.%", "1"),
@ -403,7 +403,7 @@ func TestAccResourceManagerFolderParentUUID(t *testing.T) {
// Update
{
ConfigVariables: testConfigFolderNameParentUUIDUpdated(),
Config: testutil.ResourceManagerProviderConfigBetaEnabled() + resourceFolder,
Config: testutil.ResourceManagerProviderConfig() + resourceFolder,
Check: resource.ComposeAggregateTestCheckFunc(
resource.TestCheckResourceAttr("stackit_resourcemanager_folder.example", "name", testutil.ConvertConfigVariable(testConfigFolderNameParentUUIDUpdated()["name"])),
resource.TestCheckResourceAttr("stackit_resourcemanager_folder.example", "parent_container_id", testutil.ConvertConfigVariable(testConfigFolderNameParentUUIDUpdated()["parent_container_id"])),

View file

@ -342,31 +342,6 @@ func ResourceManagerProviderConfig() string {
)
}
func ResourceManagerProviderConfigBetaEnabled() string {
token := GetTestProjectServiceAccountToken("")
if ResourceManagerCustomEndpoint == "" || AuthorizationCustomEndpoint == "" {
return fmt.Sprintf(`
provider "stackit" {
service_account_token = "%s"
enable_beta_resources = true
}`,
token,
)
}
return fmt.Sprintf(`
provider "stackit" {
resourcemanager_custom_endpoint = "%s"
authorization_custom_endpoint = "%s"
service_account_token = "%s"
enable_beta_resources = true
}`,
ResourceManagerCustomEndpoint,
AuthorizationCustomEndpoint,
token,
)
}
func SecretsManagerProviderConfig() string {
if SecretsManagerCustomEndpoint == "" {
return `