ResourceDirectoryArgs

data class ResourceDirectoryArgs(val memberDeletionStatus: Output<String>? = null, val status: Output<String>? = null) : ConvertibleToJava<ResourceDirectoryArgs>

Provides a Resource Manager Resource Directory resource. Resource Directory enables you to establish an organizational structure for the resources used by applications of your enterprise. You can plan, build, and manage the resources in a centralized manner by using only one resource directory. For information about Resource Manager Resource Directory and how to use it, see What is Resource Manager Resource Directory.

NOTE: Available since v1.84.0. NOTE: An account can only be used to enable a resource directory after it passes enterprise real-name verification. An account that only passed individual real-name verification cannot be used to enable a resource directory. NOTE: Before you destroy the resource, make sure that the following requirements are met:

  • All member accounts must be removed from the resource directory.

  • All folders except the root folder must be deleted from the resource directory.

Example Usage

Basic Usage

import * as pulumi from "@pulumi/pulumi";
import * as alicloud from "@pulumi/alicloud";
const _default = alicloud.resourcemanager.getResourceDirectories({});
const defaultResourceDirectory: alicloud.resourcemanager.ResourceDirectory[] = [];
_default.then(_default => _default.directories).length.apply(length => {
for (const range = {value: 0}; range.value < (length 0 ? 0 : 1); range.value++) {
defaultResourceDirectory.push(new alicloud.resourcemanager.ResourceDirectory(`default-${range.value}`, {status: "Enabled"}));
}
});
import pulumi
import pulumi_alicloud as alicloud
default = alicloud.resourcemanager.get_resource_directories()
default_resource_directory = []
def create_default(range_body):
for range in [{"value": i} for i in range(0, range_body)]:
default_resource_directory.append(alicloud.resourcemanager.ResourceDirectory(f"default-{range['value']}", status="Enabled"))
len(default.directories).apply(lambda resolved_outputs: create_default(0 if resolved_outputs['length'] 0 else 1))
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AliCloud = Pulumi.AliCloud;
return await Deployment.RunAsync(() =>
{
var @default = AliCloud.ResourceManager.GetResourceDirectories.Invoke();
var defaultResourceDirectory = new List<AliCloud.ResourceManager.ResourceDirectory>();
for (var rangeIndex = 0; rangeIndex < @default.Apply(@default => @default.Apply(getResourceDirectoriesResult => getResourceDirectoriesResult.Directories)).Length.Apply(length => length 0 ? 0 : 1); rangeIndex++)
{
var range = new { Value = rangeIndex };
defaultResourceDirectory.Add(new AliCloud.ResourceManager.ResourceDirectory($"default-{range.Value}", new()
{
Status = "Enabled",
}));
}
});
package main
import (
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_default, err := resourcemanager.GetResourceDirectories(ctx, &resourcemanager.GetResourceDirectoriesArgs{}, nil)
if err != nil {
return err
}
var tmp0 float64
if length 0 {
tmp0 = 0
} else {
tmp0 = 1
}
var defaultResourceDirectory []*resourcemanager.ResourceDirectory
for index := 0; index < float64(len(_default.Directories).ApplyT(func(length int) (float64, error) {
return tmp0, nil
}).(pulumi.Float64Output)); index++ {
key0 := index
_ := index
__res, err := resourcemanager.NewResourceDirectory(ctx, fmt.Sprintf("default-%v", key0), &resourcemanager.ResourceDirectoryArgs{
Status: pulumi.String("Enabled"),
})
if err != nil {
return err
}
defaultResourceDirectory = append(defaultResourceDirectory, __res)
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.alicloud.resourcemanager.ResourcemanagerFunctions;
import com.pulumi.alicloud.resourcemanager.inputs.GetResourceDirectoriesArgs;
import com.pulumi.alicloud.resourcemanager.ResourceDirectory;
import com.pulumi.alicloud.resourcemanager.ResourceDirectoryArgs;
import com.pulumi.codegen.internal.KeyedValue;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
final var default = ResourcemanagerFunctions.getResourceDirectories(GetResourceDirectoriesArgs.builder()
.build());
for (var i = 0; i < default_.directories().length().applyValue(_length -> _length 0 ? 0 : 1); i++) {
new ResourceDirectory("defaultResourceDirectory-" + i, ResourceDirectoryArgs.builder()
.status("Enabled")
.build());
}
}
}
resources:
defaultResourceDirectory:
type: alicloud:resourcemanager:ResourceDirectory
name: default
properties:
status: Enabled
options: {}
variables:
default:
fn::invoke:
function: alicloud:resourcemanager:getResourceDirectories
arguments: {}

Import

Resource Manager Resource Directory can be imported using the id, e.g.

$ pulumi import alicloud:resourcemanager/resourceDirectory:ResourceDirectory example rd-s3****

Constructors

Link copied to clipboard
constructor(memberDeletionStatus: Output<String>? = null, status: Output<String>? = null)

Properties

Link copied to clipboard
val memberDeletionStatus: Output<String>? = null

Specifies whether to enable the member deletion feature. Valid values:Enabled and Disabled.

Link copied to clipboard
val status: Output<String>? = null

The status of control policy. Valid values:Enabled and Disabled.

Functions

Link copied to clipboard
open override fun toJava(): ResourceDirectoryArgs