Account

class Account : KotlinCustomResource

Provides a Resource Manager Account resource. Member accounts are containers for resources in a resource directory. These accounts isolate resources and serve as organizational units in the resource directory. You can create member accounts in a folder and then manage them in a unified manner. For information about Resource Manager Account and how to use it, see What is Resource Manager Account.

NOTE: Available since v1.83.0. NOTE: From version 1.188.0, the resource can be destroyed. The member deletion feature is in invitational preview. You can contact the service manager of Alibaba Cloud to apply for a trial. see how to destroy it.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as alicloud from "@pulumi/alicloud";
import * as random from "@pulumi/random";
const config = new pulumi.Config();
const name = config.get("name") || "tf-example";
const displayName = config.get("displayName") || "EAccount";
const _default = new random.index.Integer("default", {
min: 10000,
max: 99999,
});
const example = alicloud.resourcemanager.getFolders({});
const exampleAccount = new alicloud.resourcemanager.Account("example", {
displayName: `${displayName}-${_default.result}`,
folderId: example.then(example => example.ids?.[0]),
});
import pulumi
import pulumi_alicloud as alicloud
import pulumi_random as random
config = pulumi.Config()
name = config.get("name")
if name is None:
name = "tf-example"
display_name = config.get("displayName")
if display_name is None:
display_name = "EAccount"
default = random.index.Integer("default",
min=10000,
max=99999)
example = alicloud.resourcemanager.get_folders()
example_account = alicloud.resourcemanager.Account("example",
display_name=f"{display_name}-{default['result']}",
folder_id=example.ids[0])
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AliCloud = Pulumi.AliCloud;
using Random = Pulumi.Random;
return await Deployment.RunAsync(() =>
{
var config = new Config();
var name = config.Get("name") ?? "tf-example";
var displayName = config.Get("displayName") ?? "EAccount";
var @default = new Random.Index.Integer("default", new()
{
Min = 10000,
Max = 99999,
});
var example = AliCloud.ResourceManager.GetFolders.Invoke();
var exampleAccount = new AliCloud.ResourceManager.Account("example", new()
{
DisplayName = $"{displayName}-{@default.Result}",
FolderId = example.Apply(getFoldersResult => getFoldersResult.Ids[0]),
});
});
package main
import (
"fmt"
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager"
"github.com/pulumi/pulumi-random/sdk/v4/go/random"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
cfg := config.New(ctx, "")
name := "tf-example"
if param := cfg.Get("name"); param != "" {
name = param
}
displayName := "EAccount"
if param := cfg.Get("displayName"); param != "" {
displayName = param
}
_default, err := random.NewInteger(ctx, "default", &random.IntegerArgs{
Min: 10000,
Max: 99999,
})
if err != nil {
return err
}
example, err := resourcemanager.GetFolders(ctx, &resourcemanager.GetFoldersArgs{}, nil)
if err != nil {
return err
}
_, err = resourcemanager.NewAccount(ctx, "example", &resourcemanager.AccountArgs{
DisplayName: pulumi.Sprintf("%v-%v", displayName, _default.Result),
FolderId: pulumi.String(example.Ids[0]),
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.random.integer;
import com.pulumi.random.IntegerArgs;
import com.pulumi.alicloud.resourcemanager.ResourcemanagerFunctions;
import com.pulumi.alicloud.resourcemanager.inputs.GetFoldersArgs;
import com.pulumi.alicloud.resourcemanager.Account;
import com.pulumi.alicloud.resourcemanager.AccountArgs;
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 config = ctx.config();
final var name = config.get("name").orElse("tf-example");
final var displayName = config.get("displayName").orElse("EAccount");
var default_ = new Integer("default", IntegerArgs.builder()
.min(10000)
.max(99999)
.build());
final var example = ResourcemanagerFunctions.getFolders();
var exampleAccount = new Account("exampleAccount", AccountArgs.builder()
.displayName(String.format("%s-%s", displayName,default_.result()))
.folderId(example.applyValue(getFoldersResult -> getFoldersResult.ids()[0]))
.build());
}
}
configuration:
name:
type: string
default: tf-example
displayName:
type: string
default: EAccount
resources:
default:
type: random:integer
properties:
min: 10000
max: 99999
exampleAccount:
type: alicloud:resourcemanager:Account
name: example
properties:
displayName: ${displayName}-${default.result}
folderId: ${example.ids[0]}
variables:
example:
fn::invoke:
function: alicloud:resourcemanager:getFolders
arguments: {}

Deleting alicloud.resourcemanager.Account or removing it from your configuration

Deleting the resource manager account or removing it from your configuration will remove it from your state file and management, but may not destroy the account. If there are some dependent resource in the account, the deleting account will enter a silence period of 45 days. After the silence period ends, the system automatically starts to delete the member. See More Details.

Import

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

$ pulumi import alicloud:resourcemanager/account:Account example 13148890145*****

Properties

Link copied to clipboard

The IDs of the check items that you can choose to ignore for the member deletion. If you want to delete the account, please use datasource alicloud.resourcemanager.getAccountDeletionCheckTask to get check ids and set them.

Link copied to clipboard

The name prefix of account.

Link copied to clipboard
val displayName: Output<String>

Member name. The length is 2 ~ 50 characters or Chinese characters, which can include Chinese characters, English letters, numbers, underscores (_), dots (.) And dashes (-).

Link copied to clipboard
val folderId: Output<String>

The ID of the parent folder.

Link copied to clipboard
val id: Output<String>
Link copied to clipboard
val joinMethod: Output<String>

Ways for members to join the resource directory. Valid values: invited, created.

Link copied to clipboard
val joinTime: Output<String>

The time when the member joined the resource directory.

Link copied to clipboard
val modifyTime: Output<String>

The modification time of the invitation.

Link copied to clipboard
val payerAccountId: Output<String>?

The ID of the billing account. If you leave this parameter empty, the current account is used as the billing account.

Link copied to clipboard
val pulumiChildResources: Set<KotlinResource>
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard

Resource directory ID.

Link copied to clipboard
val status: Output<String>

Member joining status. Valid values: CreateSuccess,CreateVerifying,CreateFailed,CreateExpired,CreateCancelled,PromoteVerifying,PromoteFailed,PromoteExpired,PromoteCancelled,PromoteSuccess,InviteSuccess,Removed.

Link copied to clipboard
val tags: Output<Map<String, String>>?

A mapping of tags to assign to the resource.

Link copied to clipboard
val type: Output<String>

Member type. The value of ResourceAccount indicates the resource account.

Link copied to clipboard
val urn: Output<String>