AccountArgs

data class AccountArgs(val accountDescription: Output<String>? = null, val accountName: Output<String>? = null, val accountPassword: Output<String>? = null, val dbInstanceId: Output<String>? = null) : ConvertibleToJava<AccountArgs>

Provides a GPDB Account resource. For information about GPDB Account and how to use it, see What is Account.

NOTE: Available since v1.142.0.

Example Usage

Basic Usage

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.GetResourceGroupsArgs;
import com.pulumi.alicloud.gpdb.GpdbFunctions;
import com.pulumi.alicloud.gpdb.inputs.GetZonesArgs;
import com.pulumi.alicloud.vpc.Network;
import com.pulumi.alicloud.vpc.NetworkArgs;
import com.pulumi.alicloud.vpc.Switch;
import com.pulumi.alicloud.vpc.SwitchArgs;
import com.pulumi.alicloud.gpdb.Instance;
import com.pulumi.alicloud.gpdb.InstanceArgs;
import com.pulumi.alicloud.gpdb.inputs.InstanceIpWhitelistArgs;
import com.pulumi.alicloud.gpdb.Account;
import com.pulumi.alicloud.gpdb.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 defaultResourceGroups = ResourcemanagerFunctions.getResourceGroups();
final var defaultZones = GpdbFunctions.getZones();
var defaultNetwork = new Network("defaultNetwork", NetworkArgs.builder()
.vpcName(name)
.cidrBlock("10.4.0.0/16")
.build());
var defaultSwitch = new Switch("defaultSwitch", SwitchArgs.builder()
.vswitchName(name)
.cidrBlock("10.4.0.0/24")
.vpcId(defaultNetwork.id())
.zoneId(defaultZones.applyValue(getZonesResult -> getZonesResult.ids()[0]))
.build());
var defaultInstance = new Instance("defaultInstance", InstanceArgs.builder()
.dbInstanceCategory("HighAvailability")
.dbInstanceClass("gpdb.group.segsdx1")
.dbInstanceMode("StorageElastic")
.description(name)
.engine("gpdb")
.engineVersion("6.0")
.zoneId(defaultZones.applyValue(getZonesResult -> getZonesResult.ids()[0]))
.instanceNetworkType("VPC")
.instanceSpec("2C16G")
.masterNodeNum(1)
.paymentType("PayAsYouGo")
.privateIpAddress("1.1.1.1")
.segStorageType("cloud_essd")
.segNodeNum(4)
.storageSize(50)
.vpcId(defaultNetwork.id())
.vswitchId(defaultSwitch.id())
.ipWhitelists(InstanceIpWhitelistArgs.builder()
.securityIpList("127.0.0.1")
.build())
.build());
var defaultAccount = new Account("defaultAccount", AccountArgs.builder()
.accountName("tf_example")
.dbInstanceId(defaultInstance.id())
.accountPassword("Example1234")
.accountDescription("tf_example")
.build());
}
}

Import

GPDB Account can be imported using the id, e.g.

$ pulumi import alicloud:gpdb/account:Account example <db_instance_id>:<account_name>

Constructors

Link copied to clipboard
fun AccountArgs(accountDescription: Output<String>? = null, accountName: Output<String>? = null, accountPassword: Output<String>? = null, dbInstanceId: Output<String>? = null)

Functions

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

Properties

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

The description of the account.

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

The name of the account. The account name must be unique and meet the following requirements:

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

The password of the account. The password must be 8 to 32 characters in length and contain at least three of the following character types: uppercase letters, lowercase letters, digits, and special characters. Special characters include ! @ # $ % ^ & * ( ) _ + - =.

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

The ID of the instance.