AccountArgs

data class AccountArgs(val abandonAbleCheckIds: Output<List<String>>? = null, val accountNamePrefix: Output<String>? = null, val displayName: Output<String>? = null, val folderId: Output<String>? = null, val payerAccountId: Output<String>? = null, val tags: Output<Map<String, String>>? = null) : ConvertibleToJava<AccountArgs>

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*****

Constructors

Link copied to clipboard
constructor(abandonAbleCheckIds: Output<List<String>>? = null, accountNamePrefix: Output<String>? = null, displayName: Output<String>? = null, folderId: Output<String>? = null, payerAccountId: Output<String>? = null, tags: Output<Map<String, String>>? = null)

Properties

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

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
val accountNamePrefix: Output<String>? = null

The name prefix of account.

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

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>? = null

The ID of the parent folder.

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

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 tags: Output<Map<String, String>>? = null

A mapping of tags to assign to the resource.

Functions

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