Alibaba Cloud
Account
Provides a ADB account resource and used to manage databases.
NOTE: Available in v1.71.0+.
Example Usage
using Pulumi;
using AliCloud = Pulumi.AliCloud;
class MyStack : Stack
{
public MyStack()
{
var config = new Config();
var creation = config.Get("creation") ?? "ADB";
var name = config.Get("name") ?? "adbaccountmysql";
var defaultZones = Output.Create(AliCloud.GetZones.InvokeAsync(new AliCloud.GetZonesArgs
{
AvailableResourceCreation = creation,
}));
var defaultNetwork = new AliCloud.Vpc.Network("defaultNetwork", new AliCloud.Vpc.NetworkArgs
{
CidrBlock = "172.16.0.0/16",
});
var defaultSwitch = new AliCloud.Vpc.Switch("defaultSwitch", new AliCloud.Vpc.SwitchArgs
{
VpcId = defaultNetwork.Id,
CidrBlock = "172.16.0.0/24",
ZoneId = defaultZones.Apply(defaultZones => defaultZones.Zones?[0]?.Id),
});
var cluster = new AliCloud.Adb.Cluster("cluster", new AliCloud.Adb.ClusterArgs
{
DbClusterVersion = "3.0",
DbClusterCategory = "Cluster",
DbNodeClass = "C8",
DbNodeCount = 2,
DbNodeStorage = 200,
PayType = "PostPaid",
VswitchId = defaultSwitch.Id,
Description = name,
});
var account = new AliCloud.Adb.Account("account", new AliCloud.Adb.AccountArgs
{
DbClusterId = cluster.Id,
AccountName = "tftestnormal",
AccountPassword = "Test12345",
AccountDescription = name,
});
}
}
package main
import (
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud"
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/adb"
"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, "")
creation := "ADB"
if param := cfg.Get("creation"); param != "" {
creation = param
}
name := "adbaccountmysql"
if param := cfg.Get("name"); param != "" {
name = param
}
defaultZones, err := alicloud.GetZones(ctx, &GetZonesArgs{
AvailableResourceCreation: pulumi.StringRef(creation),
}, nil)
if err != nil {
return err
}
defaultNetwork, err := vpc.NewNetwork(ctx, "defaultNetwork", &vpc.NetworkArgs{
CidrBlock: pulumi.String("172.16.0.0/16"),
})
if err != nil {
return err
}
defaultSwitch, err := vpc.NewSwitch(ctx, "defaultSwitch", &vpc.SwitchArgs{
VpcId: defaultNetwork.ID(),
CidrBlock: pulumi.String("172.16.0.0/24"),
ZoneId: pulumi.String(defaultZones.Zones[0].Id),
})
if err != nil {
return err
}
cluster, err := adb.NewCluster(ctx, "cluster", &adb.ClusterArgs{
DbClusterVersion: pulumi.String("3.0"),
DbClusterCategory: pulumi.String("Cluster"),
DbNodeClass: pulumi.String("C8"),
DbNodeCount: pulumi.Int(2),
DbNodeStorage: pulumi.Int(200),
PayType: pulumi.String("PostPaid"),
VswitchId: defaultSwitch.ID(),
Description: pulumi.String(name),
})
if err != nil {
return err
}
_, err = adb.NewAccount(ctx, "account", &adb.AccountArgs{
DbClusterId: cluster.ID(),
AccountName: pulumi.String("tftestnormal"),
AccountPassword: pulumi.String("Test12345"),
AccountDescription: pulumi.String(name),
})
if err != nil {
return err
}
return nil
})
}
Coming soon!
import pulumi
import pulumi_alicloud as alicloud
config = pulumi.Config()
creation = config.get("creation")
if creation is None:
creation = "ADB"
name = config.get("name")
if name is None:
name = "adbaccountmysql"
default_zones = alicloud.get_zones(available_resource_creation=creation)
default_network = alicloud.vpc.Network("defaultNetwork", cidr_block="172.16.0.0/16")
default_switch = alicloud.vpc.Switch("defaultSwitch",
vpc_id=default_network.id,
cidr_block="172.16.0.0/24",
zone_id=default_zones.zones[0].id)
cluster = alicloud.adb.Cluster("cluster",
db_cluster_version="3.0",
db_cluster_category="Cluster",
db_node_class="C8",
db_node_count=2,
db_node_storage=200,
pay_type="PostPaid",
vswitch_id=default_switch.id,
description=name)
account = alicloud.adb.Account("account",
db_cluster_id=cluster.id,
account_name="tftestnormal",
account_password="Test12345",
account_description=name)
import * as pulumi from "@pulumi/pulumi";
import * as alicloud from "@pulumi/alicloud";
const config = new pulumi.Config();
const creation = config.get("creation") || "ADB";
const name = config.get("name") || "adbaccountmysql";
const defaultZones = alicloud.getZones({
availableResourceCreation: creation,
});
const defaultNetwork = new alicloud.vpc.Network("defaultNetwork", {cidrBlock: "172.16.0.0/16"});
const defaultSwitch = new alicloud.vpc.Switch("defaultSwitch", {
vpcId: defaultNetwork.id,
cidrBlock: "172.16.0.0/24",
zoneId: defaultZones.then(defaultZones => defaultZones.zones?[0]?.id),
});
const cluster = new alicloud.adb.Cluster("cluster", {
dbClusterVersion: "3.0",
dbClusterCategory: "Cluster",
dbNodeClass: "C8",
dbNodeCount: 2,
dbNodeStorage: 200,
payType: "PostPaid",
vswitchId: defaultSwitch.id,
description: name,
});
const account = new alicloud.adb.Account("account", {
dbClusterId: cluster.id,
accountName: "tftestnormal",
accountPassword: "Test12345",
accountDescription: name,
});
Coming soon!
Create a Account Resource
new Account(name: string, args: AccountArgs, opts?: CustomResourceOptions);
@overload
def Account(resource_name: str,
opts: Optional[ResourceOptions] = None,
account_description: Optional[str] = None,
account_name: Optional[str] = None,
account_password: Optional[str] = None,
db_cluster_id: Optional[str] = None,
kms_encrypted_password: Optional[str] = None,
kms_encryption_context: Optional[Mapping[str, Any]] = None)
@overload
def Account(resource_name: str,
args: AccountArgs,
opts: Optional[ResourceOptions] = None)
func NewAccount(ctx *Context, name string, args AccountArgs, opts ...ResourceOption) (*Account, error)
public Account(string name, AccountArgs args, CustomResourceOptions? opts = null)
public Account(String name, AccountArgs args)
public Account(String name, AccountArgs args, CustomResourceOptions options)
type: alicloud:adb:Account
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args AccountArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- resource_name str
- The unique name of the resource.
- args AccountArgs
- The arguments to resource properties.
- opts ResourceOptions
- Bag of options to control resource's behavior.
- ctx Context
- Context object for the current deployment.
- name string
- The unique name of the resource.
- args AccountArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args AccountArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args AccountArgs
- The arguments to resource properties.
- options CustomResourceOptions
- Bag of options to control resource's behavior.
Account Resource Properties
To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.
Inputs
The Account resource accepts the following input properties:
- Account
Name string Operation account requiring a uniqueness check. It may consist of lower case letters, numbers, and underlines, and must start with a letter and have no more than 16 characters.
- Db
Cluster stringId The Id of cluster in which account belongs.
- Account
Description string Account description. It cannot begin with https://. It must start with a Chinese character or English letter. It can include Chinese and English characters, underlines (_), hyphens (-), and numbers. The length may be 2-256 characters.
- Account
Password string Operation password. It may consist of letters, digits, or underlines, with a length of 6 to 32 characters. You have to specify one of
account_password
andkms_encrypted_password
fields.- Kms
Encrypted stringPassword An KMS encrypts password used to a db account. If the
account_password
is filled in, this field will be ignored.- Kms
Encryption Dictionary<string, object>Context An KMS encryption context used to decrypt
kms_encrypted_password
before creating or updating a db account withkms_encrypted_password
. See Encryption Context. It is valid whenkms_encrypted_password
is set.
- Account
Name string Operation account requiring a uniqueness check. It may consist of lower case letters, numbers, and underlines, and must start with a letter and have no more than 16 characters.
- Db
Cluster stringId The Id of cluster in which account belongs.
- Account
Description string Account description. It cannot begin with https://. It must start with a Chinese character or English letter. It can include Chinese and English characters, underlines (_), hyphens (-), and numbers. The length may be 2-256 characters.
- Account
Password string Operation password. It may consist of letters, digits, or underlines, with a length of 6 to 32 characters. You have to specify one of
account_password
andkms_encrypted_password
fields.- Kms
Encrypted stringPassword An KMS encrypts password used to a db account. If the
account_password
is filled in, this field will be ignored.- Kms
Encryption map[string]interface{}Context An KMS encryption context used to decrypt
kms_encrypted_password
before creating or updating a db account withkms_encrypted_password
. See Encryption Context. It is valid whenkms_encrypted_password
is set.
- account
Name String Operation account requiring a uniqueness check. It may consist of lower case letters, numbers, and underlines, and must start with a letter and have no more than 16 characters.
- db
Cluster StringId The Id of cluster in which account belongs.
- account
Description String Account description. It cannot begin with https://. It must start with a Chinese character or English letter. It can include Chinese and English characters, underlines (_), hyphens (-), and numbers. The length may be 2-256 characters.
- account
Password String Operation password. It may consist of letters, digits, or underlines, with a length of 6 to 32 characters. You have to specify one of
account_password
andkms_encrypted_password
fields.- kms
Encrypted StringPassword An KMS encrypts password used to a db account. If the
account_password
is filled in, this field will be ignored.- kms
Encryption MapContext An KMS encryption context used to decrypt
kms_encrypted_password
before creating or updating a db account withkms_encrypted_password
. See Encryption Context. It is valid whenkms_encrypted_password
is set.
- account
Name string Operation account requiring a uniqueness check. It may consist of lower case letters, numbers, and underlines, and must start with a letter and have no more than 16 characters.
- db
Cluster stringId The Id of cluster in which account belongs.
- account
Description string Account description. It cannot begin with https://. It must start with a Chinese character or English letter. It can include Chinese and English characters, underlines (_), hyphens (-), and numbers. The length may be 2-256 characters.
- account
Password string Operation password. It may consist of letters, digits, or underlines, with a length of 6 to 32 characters. You have to specify one of
account_password
andkms_encrypted_password
fields.- kms
Encrypted stringPassword An KMS encrypts password used to a db account. If the
account_password
is filled in, this field will be ignored.- kms
Encryption {[key: string]: any}Context An KMS encryption context used to decrypt
kms_encrypted_password
before creating or updating a db account withkms_encrypted_password
. See Encryption Context. It is valid whenkms_encrypted_password
is set.
- account_
name str Operation account requiring a uniqueness check. It may consist of lower case letters, numbers, and underlines, and must start with a letter and have no more than 16 characters.
- db_
cluster_ strid The Id of cluster in which account belongs.
- account_
description str Account description. It cannot begin with https://. It must start with a Chinese character or English letter. It can include Chinese and English characters, underlines (_), hyphens (-), and numbers. The length may be 2-256 characters.
- account_
password str Operation password. It may consist of letters, digits, or underlines, with a length of 6 to 32 characters. You have to specify one of
account_password
andkms_encrypted_password
fields.- kms_
encrypted_ strpassword An KMS encrypts password used to a db account. If the
account_password
is filled in, this field will be ignored.- kms_
encryption_ Mapping[str, Any]context An KMS encryption context used to decrypt
kms_encrypted_password
before creating or updating a db account withkms_encrypted_password
. See Encryption Context. It is valid whenkms_encrypted_password
is set.
- account
Name String Operation account requiring a uniqueness check. It may consist of lower case letters, numbers, and underlines, and must start with a letter and have no more than 16 characters.
- db
Cluster StringId The Id of cluster in which account belongs.
- account
Description String Account description. It cannot begin with https://. It must start with a Chinese character or English letter. It can include Chinese and English characters, underlines (_), hyphens (-), and numbers. The length may be 2-256 characters.
- account
Password String Operation password. It may consist of letters, digits, or underlines, with a length of 6 to 32 characters. You have to specify one of
account_password
andkms_encrypted_password
fields.- kms
Encrypted StringPassword An KMS encrypts password used to a db account. If the
account_password
is filled in, this field will be ignored.- kms
Encryption MapContext An KMS encryption context used to decrypt
kms_encrypted_password
before creating or updating a db account withkms_encrypted_password
. See Encryption Context. It is valid whenkms_encrypted_password
is set.
Outputs
All input properties are implicitly available as output properties. Additionally, the Account resource produces the following output properties:
- Id string
The provider-assigned unique ID for this managed resource.
- Id string
The provider-assigned unique ID for this managed resource.
- id String
The provider-assigned unique ID for this managed resource.
- id string
The provider-assigned unique ID for this managed resource.
- id str
The provider-assigned unique ID for this managed resource.
- id String
The provider-assigned unique ID for this managed resource.
Look up an Existing Account Resource
Get an existing Account resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
public static get(name: string, id: Input<ID>, state?: AccountState, opts?: CustomResourceOptions): Account
@staticmethod
def get(resource_name: str,
id: str,
opts: Optional[ResourceOptions] = None,
account_description: Optional[str] = None,
account_name: Optional[str] = None,
account_password: Optional[str] = None,
db_cluster_id: Optional[str] = None,
kms_encrypted_password: Optional[str] = None,
kms_encryption_context: Optional[Mapping[str, Any]] = None) -> Account
func GetAccount(ctx *Context, name string, id IDInput, state *AccountState, opts ...ResourceOption) (*Account, error)
public static Account Get(string name, Input<string> id, AccountState? state, CustomResourceOptions? opts = null)
public static Account get(String name, Output<String> id, AccountState state, CustomResourceOptions options)
Resource lookup is not supported in YAML
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- resource_name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- Account
Description string Account description. It cannot begin with https://. It must start with a Chinese character or English letter. It can include Chinese and English characters, underlines (_), hyphens (-), and numbers. The length may be 2-256 characters.
- Account
Name string Operation account requiring a uniqueness check. It may consist of lower case letters, numbers, and underlines, and must start with a letter and have no more than 16 characters.
- Account
Password string Operation password. It may consist of letters, digits, or underlines, with a length of 6 to 32 characters. You have to specify one of
account_password
andkms_encrypted_password
fields.- Db
Cluster stringId The Id of cluster in which account belongs.
- Kms
Encrypted stringPassword An KMS encrypts password used to a db account. If the
account_password
is filled in, this field will be ignored.- Kms
Encryption Dictionary<string, object>Context An KMS encryption context used to decrypt
kms_encrypted_password
before creating or updating a db account withkms_encrypted_password
. See Encryption Context. It is valid whenkms_encrypted_password
is set.
- Account
Description string Account description. It cannot begin with https://. It must start with a Chinese character or English letter. It can include Chinese and English characters, underlines (_), hyphens (-), and numbers. The length may be 2-256 characters.
- Account
Name string Operation account requiring a uniqueness check. It may consist of lower case letters, numbers, and underlines, and must start with a letter and have no more than 16 characters.
- Account
Password string Operation password. It may consist of letters, digits, or underlines, with a length of 6 to 32 characters. You have to specify one of
account_password
andkms_encrypted_password
fields.- Db
Cluster stringId The Id of cluster in which account belongs.
- Kms
Encrypted stringPassword An KMS encrypts password used to a db account. If the
account_password
is filled in, this field will be ignored.- Kms
Encryption map[string]interface{}Context An KMS encryption context used to decrypt
kms_encrypted_password
before creating or updating a db account withkms_encrypted_password
. See Encryption Context. It is valid whenkms_encrypted_password
is set.
- account
Description String Account description. It cannot begin with https://. It must start with a Chinese character or English letter. It can include Chinese and English characters, underlines (_), hyphens (-), and numbers. The length may be 2-256 characters.
- account
Name String Operation account requiring a uniqueness check. It may consist of lower case letters, numbers, and underlines, and must start with a letter and have no more than 16 characters.
- account
Password String Operation password. It may consist of letters, digits, or underlines, with a length of 6 to 32 characters. You have to specify one of
account_password
andkms_encrypted_password
fields.- db
Cluster StringId The Id of cluster in which account belongs.
- kms
Encrypted StringPassword An KMS encrypts password used to a db account. If the
account_password
is filled in, this field will be ignored.- kms
Encryption MapContext An KMS encryption context used to decrypt
kms_encrypted_password
before creating or updating a db account withkms_encrypted_password
. See Encryption Context. It is valid whenkms_encrypted_password
is set.
- account
Description string Account description. It cannot begin with https://. It must start with a Chinese character or English letter. It can include Chinese and English characters, underlines (_), hyphens (-), and numbers. The length may be 2-256 characters.
- account
Name string Operation account requiring a uniqueness check. It may consist of lower case letters, numbers, and underlines, and must start with a letter and have no more than 16 characters.
- account
Password string Operation password. It may consist of letters, digits, or underlines, with a length of 6 to 32 characters. You have to specify one of
account_password
andkms_encrypted_password
fields.- db
Cluster stringId The Id of cluster in which account belongs.
- kms
Encrypted stringPassword An KMS encrypts password used to a db account. If the
account_password
is filled in, this field will be ignored.- kms
Encryption {[key: string]: any}Context An KMS encryption context used to decrypt
kms_encrypted_password
before creating or updating a db account withkms_encrypted_password
. See Encryption Context. It is valid whenkms_encrypted_password
is set.
- account_
description str Account description. It cannot begin with https://. It must start with a Chinese character or English letter. It can include Chinese and English characters, underlines (_), hyphens (-), and numbers. The length may be 2-256 characters.
- account_
name str Operation account requiring a uniqueness check. It may consist of lower case letters, numbers, and underlines, and must start with a letter and have no more than 16 characters.
- account_
password str Operation password. It may consist of letters, digits, or underlines, with a length of 6 to 32 characters. You have to specify one of
account_password
andkms_encrypted_password
fields.- db_
cluster_ strid The Id of cluster in which account belongs.
- kms_
encrypted_ strpassword An KMS encrypts password used to a db account. If the
account_password
is filled in, this field will be ignored.- kms_
encryption_ Mapping[str, Any]context An KMS encryption context used to decrypt
kms_encrypted_password
before creating or updating a db account withkms_encrypted_password
. See Encryption Context. It is valid whenkms_encrypted_password
is set.
- account
Description String Account description. It cannot begin with https://. It must start with a Chinese character or English letter. It can include Chinese and English characters, underlines (_), hyphens (-), and numbers. The length may be 2-256 characters.
- account
Name String Operation account requiring a uniqueness check. It may consist of lower case letters, numbers, and underlines, and must start with a letter and have no more than 16 characters.
- account
Password String Operation password. It may consist of letters, digits, or underlines, with a length of 6 to 32 characters. You have to specify one of
account_password
andkms_encrypted_password
fields.- db
Cluster StringId The Id of cluster in which account belongs.
- kms
Encrypted StringPassword An KMS encrypts password used to a db account. If the
account_password
is filled in, this field will be ignored.- kms
Encryption MapContext An KMS encryption context used to decrypt
kms_encrypted_password
before creating or updating a db account withkms_encrypted_password
. See Encryption Context. It is valid whenkms_encrypted_password
is set.
Import
ADB account can be imported using the id, e.g.
$ pulumi import alicloud:adb/account:Account example "am-12345:tf_account"
Package Details
- Repository
- https://github.com/pulumi/pulumi-alicloud
- License
- Apache-2.0
- Notes
This Pulumi package is based on the
alicloud
Terraform Provider.