DedicatedHostAccount

class DedicatedHostAccount : KotlinCustomResource

Provides a ApsaraDB for MyBase Dedicated Host Account resource. For information about ApsaraDB for MyBase Dedicated Host Account and how to use it, see What is Dedicated Host Account.

NOTE: Available since v1.148.0. NOTE: Each Dedicated host can have only one account. Before you create an account for a host, make sure that the existing account is deleted.

Example Usage

Basic Usage

package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.alicloud.cddc.CddcFunctions;
import com.pulumi.alicloud.cddc.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.cddc.DedicatedHostGroup;
import com.pulumi.alicloud.cddc.DedicatedHostGroupArgs;
import com.pulumi.alicloud.cddc.inputs.GetHostEcsLevelInfosArgs;
import com.pulumi.alicloud.cddc.DedicatedHost;
import com.pulumi.alicloud.cddc.DedicatedHostArgs;
import com.pulumi.alicloud.cddc.DedicatedHostAccount;
import com.pulumi.alicloud.cddc.DedicatedHostAccountArgs;
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 defaultZones = CddcFunctions.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 defaultDedicatedHostGroup = new DedicatedHostGroup("defaultDedicatedHostGroup", DedicatedHostGroupArgs.builder()
.engine("MySQL")
.vpcId(defaultNetwork.id())
.cpuAllocationRatio(101)
.memAllocationRatio(50)
.diskAllocationRatio(200)
.allocationPolicy("Evenly")
.hostReplacePolicy("Manual")
.dedicatedHostGroupDesc(name)
.openPermission(true)
.build());
final var defaultHostEcsLevelInfos = CddcFunctions.getHostEcsLevelInfos(GetHostEcsLevelInfosArgs.builder()
.dbType("mysql")
.zoneId(defaultZones.applyValue(getZonesResult -> getZonesResult.ids()[0]))
.storageType("cloud_essd")
.build());
var defaultDedicatedHost = new DedicatedHost("defaultDedicatedHost", DedicatedHostArgs.builder()
.hostName(name)
.dedicatedHostGroupId(defaultDedicatedHostGroup.id())
.hostClass(defaultHostEcsLevelInfos.applyValue(getHostEcsLevelInfosResult -> getHostEcsLevelInfosResult.infos()[0].resClassCode()))
.zoneId(defaultZones.applyValue(getZonesResult -> getZonesResult.ids()[0]))
.vswitchId(defaultSwitch.id())
.paymentType("Subscription")
.tags(Map.ofEntries(
Map.entry("Created", "TF"),
Map.entry("For", "CDDC_DEDICATED")
))
.build());
var defaultDedicatedHostAccount = new DedicatedHostAccount("defaultDedicatedHostAccount", DedicatedHostAccountArgs.builder()
.accountName(name)
.accountPassword("Password1234")
.dedicatedHostId(defaultDedicatedHost.dedicatedHostId())
.accountType("Normal")
.build());
}
}

Import

ApsaraDB for MyBase Dedicated Host Account can be imported using the id, e.g.

$ pulumi import alicloud:cddc/dedicatedHostAccount:DedicatedHostAccount example <dedicated_host_id>:<account_name>

Properties

Link copied to clipboard
val accountName: Output<String>

The name of the Dedicated host account. The account name must be 2 to 16 characters in length, contain lower case letters, digits, and underscore(_). At the same time, the name must start with a letter and end with a letter or number.

Link copied to clipboard
val accountPassword: Output<String>

The password of the Dedicated host account. The account password must be 6 to 32 characters in length, and can contain letters, digits, and special characters !@#$%^&*()_+-=.

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

The type of the Dedicated host account. Valid values: Admin, Normal.

Link copied to clipboard
val dedicatedHostId: Output<String>

The ID of Dedicated the host.

Link copied to clipboard
val id: Output<String>
Link copied to clipboard
val pulumiChildResources: Set<KotlinResource>
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
val urn: Output<String>