RdsAccount

class RdsAccount : KotlinCustomResource

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

NOTE: Available since v1.120.0.

Example Usage

Basic Usage

import * as pulumi from "@pulumi/pulumi";
import * as alicloud from "@pulumi/alicloud";
const config = new pulumi.Config();
const name = config.get("name") || "tf_example";
const _default = alicloud.rds.getZones({
engine: "MySQL",
engineVersion: "5.6",
});
const defaultGetInstanceClasses = _default.then(_default => alicloud.rds.getInstanceClasses({
zoneId: _default.ids?.[0],
engine: "MySQL",
engineVersion: "5.6",
}));
const defaultNetwork = new alicloud.vpc.Network("default", {
vpcName: name,
cidrBlock: "172.16.0.0/16",
});
const defaultSwitch = new alicloud.vpc.Switch("default", {
vpcId: defaultNetwork.id,
cidrBlock: "172.16.0.0/24",
zoneId: _default.then(_default => _default.ids?.[0]),
vswitchName: name,
});
const defaultInstance = new alicloud.rds.Instance("default", {
engine: "MySQL",
engineVersion: "5.6",
instanceType: defaultGetInstanceClasses.then(defaultGetInstanceClasses => defaultGetInstanceClasses.instanceClasses?.[1]?.instanceClass),
instanceStorage: 10,
vswitchId: defaultSwitch.id,
instanceName: name,
});
const defaultRdsAccount = new alicloud.rds.RdsAccount("default", {
dbInstanceId: defaultInstance.id,
accountName: name,
accountPassword: "Example1234",
});
import pulumi
import pulumi_alicloud as alicloud
config = pulumi.Config()
name = config.get("name")
if name is None:
name = "tf_example"
default = alicloud.rds.get_zones(engine="MySQL",
engine_version="5.6")
default_get_instance_classes = alicloud.rds.get_instance_classes(zone_id=default.ids[0],
engine="MySQL",
engine_version="5.6")
default_network = alicloud.vpc.Network("default",
vpc_name=name,
cidr_block="172.16.0.0/16")
default_switch = alicloud.vpc.Switch("default",
vpc_id=default_network.id,
cidr_block="172.16.0.0/24",
zone_id=default.ids[0],
vswitch_name=name)
default_instance = alicloud.rds.Instance("default",
engine="MySQL",
engine_version="5.6",
instance_type=default_get_instance_classes.instance_classes[1].instance_class,
instance_storage=10,
vswitch_id=default_switch.id,
instance_name=name)
default_rds_account = alicloud.rds.RdsAccount("default",
db_instance_id=default_instance.id,
account_name=name,
account_password="Example1234")
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AliCloud = Pulumi.AliCloud;
return await Deployment.RunAsync(() =>
{
var config = new Config();
var name = config.Get("name") ?? "tf_example";
var @default = AliCloud.Rds.GetZones.Invoke(new()
{
Engine = "MySQL",
EngineVersion = "5.6",
});
var defaultGetInstanceClasses = AliCloud.Rds.GetInstanceClasses.Invoke(new()
{
ZoneId = @default.Apply(getZonesResult => getZonesResult.Ids[0]),
Engine = "MySQL",
EngineVersion = "5.6",
});
var defaultNetwork = new AliCloud.Vpc.Network("default", new()
{
VpcName = name,
CidrBlock = "172.16.0.0/16",
});
var defaultSwitch = new AliCloud.Vpc.Switch("default", new()
{
VpcId = defaultNetwork.Id,
CidrBlock = "172.16.0.0/24",
ZoneId = @default.Apply(@default => @default.Apply(getZonesResult => getZonesResult.Ids[0])),
VswitchName = name,
});
var defaultInstance = new AliCloud.Rds.Instance("default", new()
{
Engine = "MySQL",
EngineVersion = "5.6",
InstanceType = defaultGetInstanceClasses.Apply(getInstanceClassesResult => getInstanceClassesResult.InstanceClasses[1]?.InstanceClass),
InstanceStorage = 10,
VswitchId = defaultSwitch.Id,
InstanceName = name,
});
var defaultRdsAccount = new AliCloud.Rds.RdsAccount("default", new()
{
DbInstanceId = defaultInstance.Id,
AccountName = name,
AccountPassword = "Example1234",
});
});
package main
import (
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/rds"
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc"
"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
}
_default, err := rds.GetZones(ctx, &rds.GetZonesArgs{
Engine: pulumi.StringRef("MySQL"),
EngineVersion: pulumi.StringRef("5.6"),
}, nil)
if err != nil {
return err
}
defaultGetInstanceClasses, err := rds.GetInstanceClasses(ctx, &rds.GetInstanceClassesArgs{
ZoneId: pulumi.StringRef(_default.Ids[0]),
Engine: pulumi.StringRef("MySQL"),
EngineVersion: pulumi.StringRef("5.6"),
}, nil)
if err != nil {
return err
}
defaultNetwork, err := vpc.NewNetwork(ctx, "default", &vpc.NetworkArgs{
VpcName: pulumi.String(name),
CidrBlock: pulumi.String("172.16.0.0/16"),
})
if err != nil {
return err
}
defaultSwitch, err := vpc.NewSwitch(ctx, "default", &vpc.SwitchArgs{
VpcId: defaultNetwork.ID(),
CidrBlock: pulumi.String("172.16.0.0/24"),
ZoneId: pulumi.String(_default.Ids[0]),
VswitchName: pulumi.String(name),
})
if err != nil {
return err
}
defaultInstance, err := rds.NewInstance(ctx, "default", &rds.InstanceArgs{
Engine: pulumi.String("MySQL"),
EngineVersion: pulumi.String("5.6"),
InstanceType: pulumi.String(defaultGetInstanceClasses.InstanceClasses[1].InstanceClass),
InstanceStorage: pulumi.Int(10),
VswitchId: defaultSwitch.ID(),
InstanceName: pulumi.String(name),
})
if err != nil {
return err
}
_, err = rds.NewRdsAccount(ctx, "default", &rds.RdsAccountArgs{
DbInstanceId: defaultInstance.ID(),
AccountName: pulumi.String(name),
AccountPassword: pulumi.String("Example1234"),
})
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.alicloud.rds.RdsFunctions;
import com.pulumi.alicloud.rds.inputs.GetZonesArgs;
import com.pulumi.alicloud.rds.inputs.GetInstanceClassesArgs;
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.rds.Instance;
import com.pulumi.alicloud.rds.InstanceArgs;
import com.pulumi.alicloud.rds.RdsAccount;
import com.pulumi.alicloud.rds.RdsAccountArgs;
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 default = RdsFunctions.getZones(GetZonesArgs.builder()
.engine("MySQL")
.engineVersion("5.6")
.build());
final var defaultGetInstanceClasses = RdsFunctions.getInstanceClasses(GetInstanceClassesArgs.builder()
.zoneId(default_.ids()[0])
.engine("MySQL")
.engineVersion("5.6")
.build());
var defaultNetwork = new Network("defaultNetwork", NetworkArgs.builder()
.vpcName(name)
.cidrBlock("172.16.0.0/16")
.build());
var defaultSwitch = new Switch("defaultSwitch", SwitchArgs.builder()
.vpcId(defaultNetwork.id())
.cidrBlock("172.16.0.0/24")
.zoneId(default_.ids()[0])
.vswitchName(name)
.build());
var defaultInstance = new Instance("defaultInstance", InstanceArgs.builder()
.engine("MySQL")
.engineVersion("5.6")
.instanceType(defaultGetInstanceClasses.applyValue(getInstanceClassesResult -> getInstanceClassesResult.instanceClasses()[1].instanceClass()))
.instanceStorage("10")
.vswitchId(defaultSwitch.id())
.instanceName(name)
.build());
var defaultRdsAccount = new RdsAccount("defaultRdsAccount", RdsAccountArgs.builder()
.dbInstanceId(defaultInstance.id())
.accountName(name)
.accountPassword("Example1234")
.build());
}
}
configuration:
name:
type: string
default: tf_example
resources:
defaultNetwork:
type: alicloud:vpc:Network
name: default
properties:
vpcName: ${name}
cidrBlock: 172.16.0.0/16
defaultSwitch:
type: alicloud:vpc:Switch
name: default
properties:
vpcId: ${defaultNetwork.id}
cidrBlock: 172.16.0.0/24
zoneId: ${default.ids[0]}
vswitchName: ${name}
defaultInstance:
type: alicloud:rds:Instance
name: default
properties:
engine: MySQL
engineVersion: '5.6'
instanceType: ${defaultGetInstanceClasses.instanceClasses[1].instanceClass}
instanceStorage: '10'
vswitchId: ${defaultSwitch.id}
instanceName: ${name}
defaultRdsAccount:
type: alicloud:rds:RdsAccount
name: default
properties:
dbInstanceId: ${defaultInstance.id}
accountName: ${name}
accountPassword: Example1234
variables:
default:
fn::invoke:
function: alicloud:rds:getZones
arguments:
engine: MySQL
engineVersion: '5.6'
defaultGetInstanceClasses:
fn::invoke:
function: alicloud:rds:getInstanceClasses
arguments:
zoneId: ${default.ids[0]}
engine: MySQL
engineVersion: '5.6'

Import

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

$ pulumi import alicloud:rds/rdsAccount:RdsAccount example <db_instance_id>:<account_name>

Properties

Link copied to clipboard

The description of the account. The value must be 2 to 256 characters in length. The value can contain letters, digits, underscores (_), and hyphens (-), and must start with a letter.

Link copied to clipboard
val accountName: Output<String>

The name of the database account.

Link copied to clipboard
val accountPassword: Output<String>

The password of the account.

Link copied to clipboard
val accountType: Output<String>

The account type. Valid values:

Link copied to clipboard
val dbInstanceId: Output<String>

The ID of the instance.

Link copied to clipboard
val description: Output<String>

The attribute has been deprecated from 1.120.0 and using account_description instead.

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

The attribute has been deprecated from 1.120.0 and using db_instance_id instead.

Link copied to clipboard

An KMS encrypts password used to a db account. If the account_password is filled in, this field will be ignored.

Link copied to clipboard

An KMS encryption context used to decrypt kms_encrypted_password before creating or updating a db account with kms_encrypted_password. See Encryption Context. It is valid when kms_encrypted_password is set.

Link copied to clipboard
val name: Output<String>

The attribute has been deprecated from 1.120.0 and using account_name instead.

Link copied to clipboard
val password: Output<String>

The attribute has been deprecated from 1.120.0 and using account_password instead.

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

Resets permissions flag of the privileged account. Default to false. Set it to true can resets permissions of the privileged account.

Link copied to clipboard
val status: Output<String>

The status of the resource. Valid values: Available, Unavailable.

Link copied to clipboard
val type: Output<String>

The attribute has been deprecated from 1.120.0 and using account_type instead.

Link copied to clipboard
val urn: Output<String>