feat(resourcemanager): graduate folder resource to ga (#1043)
This commit is contained in:
parent
a81b7d49e7
commit
64d6fa9bea
6 changed files with 8 additions and 51 deletions
|
|
@ -4,15 +4,12 @@ page_title: "stackit_resourcemanager_folder Data Source - stackit"
|
||||||
subcategory: ""
|
subcategory: ""
|
||||||
description: |-
|
description: |-
|
||||||
Resource Manager folder data source schema. To identify the folder, you need to provide the container_id.
|
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)
|
# stackit_resourcemanager_folder (Data Source)
|
||||||
|
|
||||||
Resource Manager folder data source schema. To identify the folder, you need to provide the container_id.
|
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
|
## Example Usage
|
||||||
|
|
||||||
```terraform
|
```terraform
|
||||||
|
|
|
||||||
|
|
@ -4,15 +4,12 @@ page_title: "stackit_resourcemanager_folder Resource - stackit"
|
||||||
subcategory: ""
|
subcategory: ""
|
||||||
description: |-
|
description: |-
|
||||||
Resource Manager folder resource schema.
|
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)
|
# stackit_resourcemanager_folder (Resource)
|
||||||
|
|
||||||
Resource Manager folder resource schema.
|
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
|
## Example Usage
|
||||||
|
|
||||||
```terraform
|
```terraform
|
||||||
|
|
|
||||||
|
|
@ -16,7 +16,6 @@ import (
|
||||||
"github.com/stackitcloud/stackit-sdk-go/services/resourcemanager"
|
"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/conversion"
|
||||||
"github.com/stackitcloud/terraform-provider-stackit/stackit/internal/core"
|
"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"
|
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/utils"
|
||||||
"github.com/stackitcloud/terraform-provider-stackit/stackit/internal/validate"
|
"github.com/stackitcloud/terraform-provider-stackit/stackit/internal/validate"
|
||||||
|
|
@ -49,11 +48,6 @@ func (d *folderDataSource) Configure(ctx context.Context, req datasource.Configu
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
features.CheckBetaResourcesEnabled(ctx, &providerData, &resp.Diagnostics, "stackit_resourcemanager_folder", "datasource")
|
|
||||||
if resp.Diagnostics.HasError() {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
apiClient := resourcemanagerUtils.ConfigureClient(ctx, &providerData, &resp.Diagnostics)
|
apiClient := resourcemanagerUtils.ConfigureClient(ctx, &providerData, &resp.Diagnostics)
|
||||||
if resp.Diagnostics.HasError() {
|
if resp.Diagnostics.HasError() {
|
||||||
return
|
return
|
||||||
|
|
@ -78,7 +72,7 @@ func (d *folderDataSource) Schema(_ context.Context, _ datasource.SchemaRequest,
|
||||||
}
|
}
|
||||||
|
|
||||||
resp.Schema = schema.Schema{
|
resp.Schema = schema.Schema{
|
||||||
Description: features.AddBetaDescription(descriptions["main"], core.Datasource),
|
Description: descriptions["main"],
|
||||||
Attributes: map[string]schema.Attribute{
|
Attributes: map[string]schema.Attribute{
|
||||||
"id": schema.StringAttribute{
|
"id": schema.StringAttribute{
|
||||||
Description: descriptions["id"],
|
Description: descriptions["id"],
|
||||||
|
|
|
||||||
|
|
@ -27,7 +27,6 @@ import (
|
||||||
"github.com/stackitcloud/stackit-sdk-go/services/resourcemanager"
|
"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/conversion"
|
||||||
"github.com/stackitcloud/terraform-provider-stackit/stackit/internal/core"
|
"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"
|
resourcemanagerUtils "github.com/stackitcloud/terraform-provider-stackit/stackit/internal/services/resourcemanager/utils"
|
||||||
"github.com/stackitcloud/terraform-provider-stackit/stackit/internal/validate"
|
"github.com/stackitcloud/terraform-provider-stackit/stackit/internal/validate"
|
||||||
)
|
)
|
||||||
|
|
@ -81,11 +80,6 @@ func (r *folderResource) Configure(ctx context.Context, req resource.ConfigureRe
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
features.CheckBetaResourcesEnabled(ctx, &providerData, &resp.Diagnostics, "stackit_resourcemanager_folder", "resource")
|
|
||||||
if resp.Diagnostics.HasError() {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
apiClient := resourcemanagerUtils.ConfigureClient(ctx, &providerData, &resp.Diagnostics)
|
apiClient := resourcemanagerUtils.ConfigureClient(ctx, &providerData, &resp.Diagnostics)
|
||||||
if resp.Diagnostics.HasError() {
|
if resp.Diagnostics.HasError() {
|
||||||
return
|
return
|
||||||
|
|
@ -110,7 +104,7 @@ func (r *folderResource) Schema(_ context.Context, _ resource.SchemaRequest, res
|
||||||
}
|
}
|
||||||
|
|
||||||
resp.Schema = schema.Schema{
|
resp.Schema = schema.Schema{
|
||||||
Description: features.AddBetaDescription(descriptions["main"], core.Resource),
|
Description: descriptions["main"],
|
||||||
Attributes: map[string]schema.Attribute{
|
Attributes: map[string]schema.Attribute{
|
||||||
"id": schema.StringAttribute{
|
"id": schema.StringAttribute{
|
||||||
Description: descriptions["id"],
|
Description: descriptions["id"],
|
||||||
|
|
|
||||||
|
|
@ -273,7 +273,7 @@ func TestAccResourceManagerFolderContainerId(t *testing.T) {
|
||||||
// Create
|
// Create
|
||||||
{
|
{
|
||||||
ConfigVariables: testConfigResourceFolderParentContainerId,
|
ConfigVariables: testConfigResourceFolderParentContainerId,
|
||||||
Config: testutil.ResourceManagerProviderConfigBetaEnabled() + resourceFolder,
|
Config: testutil.ResourceManagerProviderConfig() + resourceFolder,
|
||||||
Check: resource.ComposeAggregateTestCheckFunc(
|
Check: resource.ComposeAggregateTestCheckFunc(
|
||||||
resource.TestCheckResourceAttr("stackit_resourcemanager_folder.example", "name", testutil.ConvertConfigVariable(testConfigResourceFolderParentContainerId["name"])),
|
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"])),
|
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" {
|
data "stackit_resourcemanager_folder" "example" {
|
||||||
container_id = stackit_resourcemanager_folder.example.container_id
|
container_id = stackit_resourcemanager_folder.example.container_id
|
||||||
}
|
}
|
||||||
`, testutil.ResourceManagerProviderConfigBetaEnabled(), resourceFolder),
|
`, testutil.ResourceManagerProviderConfig(), resourceFolder),
|
||||||
Check: resource.ComposeAggregateTestCheckFunc(
|
Check: resource.ComposeAggregateTestCheckFunc(
|
||||||
resource.TestCheckResourceAttr("data.stackit_resourcemanager_folder.example", "name", testutil.ConvertConfigVariable(testConfigResourceFolderParentContainerId["name"])),
|
resource.TestCheckResourceAttr("data.stackit_resourcemanager_folder.example", "name", testutil.ConvertConfigVariable(testConfigResourceFolderParentContainerId["name"])),
|
||||||
resource.TestCheckResourceAttr("data.stackit_resourcemanager_folder.example", "labels.%", "1"),
|
resource.TestCheckResourceAttr("data.stackit_resourcemanager_folder.example", "labels.%", "1"),
|
||||||
|
|
@ -324,7 +324,7 @@ func TestAccResourceManagerFolderContainerId(t *testing.T) {
|
||||||
// Update
|
// Update
|
||||||
{
|
{
|
||||||
ConfigVariables: testConfigFolderNameParentContainerIdUpdated(),
|
ConfigVariables: testConfigFolderNameParentContainerIdUpdated(),
|
||||||
Config: testutil.ResourceManagerProviderConfigBetaEnabled() + resourceFolder,
|
Config: testutil.ResourceManagerProviderConfig() + resourceFolder,
|
||||||
Check: resource.ComposeAggregateTestCheckFunc(
|
Check: resource.ComposeAggregateTestCheckFunc(
|
||||||
resource.TestCheckResourceAttr("stackit_resourcemanager_folder.example", "name", testutil.ConvertConfigVariable(testConfigFolderNameParentContainerIdUpdated()["name"])),
|
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"])),
|
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
|
// Create
|
||||||
{
|
{
|
||||||
ConfigVariables: testConfigResourceFolderParentUUID,
|
ConfigVariables: testConfigResourceFolderParentUUID,
|
||||||
Config: testutil.ResourceManagerProviderConfigBetaEnabled() + resourceFolder,
|
Config: testutil.ResourceManagerProviderConfig() + resourceFolder,
|
||||||
Check: resource.ComposeAggregateTestCheckFunc(
|
Check: resource.ComposeAggregateTestCheckFunc(
|
||||||
resource.TestCheckResourceAttr("stackit_resourcemanager_folder.example", "name", testutil.ConvertConfigVariable(testConfigResourceFolderParentUUID["name"])),
|
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"])),
|
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" {
|
data "stackit_resourcemanager_folder" "example" {
|
||||||
container_id = stackit_resourcemanager_folder.example.container_id
|
container_id = stackit_resourcemanager_folder.example.container_id
|
||||||
}
|
}
|
||||||
`, testutil.ResourceManagerProviderConfigBetaEnabled(), resourceFolder),
|
`, testutil.ResourceManagerProviderConfig(), resourceFolder),
|
||||||
Check: resource.ComposeAggregateTestCheckFunc(
|
Check: resource.ComposeAggregateTestCheckFunc(
|
||||||
resource.TestCheckResourceAttr("data.stackit_resourcemanager_folder.example", "name", testutil.ConvertConfigVariable(testConfigResourceFolderParentUUID["name"])),
|
resource.TestCheckResourceAttr("data.stackit_resourcemanager_folder.example", "name", testutil.ConvertConfigVariable(testConfigResourceFolderParentUUID["name"])),
|
||||||
resource.TestCheckResourceAttr("data.stackit_resourcemanager_folder.example", "labels.%", "1"),
|
resource.TestCheckResourceAttr("data.stackit_resourcemanager_folder.example", "labels.%", "1"),
|
||||||
|
|
@ -403,7 +403,7 @@ func TestAccResourceManagerFolderParentUUID(t *testing.T) {
|
||||||
// Update
|
// Update
|
||||||
{
|
{
|
||||||
ConfigVariables: testConfigFolderNameParentUUIDUpdated(),
|
ConfigVariables: testConfigFolderNameParentUUIDUpdated(),
|
||||||
Config: testutil.ResourceManagerProviderConfigBetaEnabled() + resourceFolder,
|
Config: testutil.ResourceManagerProviderConfig() + resourceFolder,
|
||||||
Check: resource.ComposeAggregateTestCheckFunc(
|
Check: resource.ComposeAggregateTestCheckFunc(
|
||||||
resource.TestCheckResourceAttr("stackit_resourcemanager_folder.example", "name", testutil.ConvertConfigVariable(testConfigFolderNameParentUUIDUpdated()["name"])),
|
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"])),
|
resource.TestCheckResourceAttr("stackit_resourcemanager_folder.example", "parent_container_id", testutil.ConvertConfigVariable(testConfigFolderNameParentUUIDUpdated()["parent_container_id"])),
|
||||||
|
|
|
||||||
|
|
@ -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 {
|
func SecretsManagerProviderConfig() string {
|
||||||
if SecretsManagerCustomEndpoint == "" {
|
if SecretsManagerCustomEndpoint == "" {
|
||||||
return `
|
return `
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue