Cluster
Provides a PolarDB cluster resource. A PolarDB cluster is an isolated database environment in the cloud. A PolarDB cluster can contain multiple user-created databases.
NOTE: Available in v1.66.0+.
Example Usage
Create a PolarDB MySQL cluster
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.alicloud.AlicloudFunctions;
import com.pulumi.alicloud.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.polardb.Cluster;
import com.pulumi.alicloud.polardb.ClusterArgs;
import com.pulumi.alicloud.polardb.inputs.ClusterDbClusterIpArrayArgs;
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("polardbClusterconfig");
final var creation = config.get("creation").orElse("PolarDB");
final var defaultZones = AlicloudFunctions.getZones(GetZonesArgs.builder()
.availableResourceCreation(creation)
.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(defaultZones.applyValue(getZonesResult -> getZonesResult.zones()[0].id()))
.vswitchName(name)
.build());
var defaultCluster = new Cluster("defaultCluster", ClusterArgs.builder()
.dbType("MySQL")
.dbVersion("5.6")
.dbNodeClass("polar.mysql.x4.medium")
.payType("PostPaid")
.description(name)
.vswitchId(defaultSwitch.id())
.dbClusterIpArrays(
ClusterDbClusterIpArrayArgs.builder()
.dbClusterIpArrayName("default")
.securityIps(
"1.2.3.4",
"1.2.3.5")
.build(),
ClusterDbClusterIpArrayArgs.builder()
.dbClusterIpArrayName("test_ips1")
.securityIps("1.2.3.6")
.build())
.build());
}
}
Import
PolarDB cluster can be imported using the id, e.g.
$ pulumi import alicloud:polardb/cluster:Cluster example pc-abc12345678
Properties
The retention policy for the backup sets when you delete the cluster. Valid values are ALL
, LATEST
, NONE
. Value options can refer to the latest docs DeleteDBCluster
The time point of data to be cloned. Valid values are LATEST
,BackupID
,Timestamp
.Value options can refer to the latest docs CreateDBCluster CloneDataPoint
.
The edition of the PolarDB service. Valid values are Normal
,Basic
,ArchiveNormal
,NormalMultimaster
.Value options can refer to the latest docs CreateDBCluster CreationCategory
.
The method that is used to create a cluster. Valid values are Normal
,CloneFromPolarDB
,CloneFromRDS
,MigrationFromRDS
,CreateGdnStandby
.Value options can refer to the latest docs CreateDBCluster CreationOption
.
Database version. Value options can refer to the latest docs CreateDBCluster DBVersion
.
Set of parameters needs to be set after DB cluster was launched. Available parameters can refer to the latest docs View database parameter templates .
The ID of the source RDS instance or the ID of the source PolarDB cluster. This parameter is required only when CreationOption is set to MigrationFromRDS, CloneFromRDS, or CloneFromPolarDB.Value options can refer to the latest docs CreateDBCluster SourceResourceId
.