InstanceArgs

data class InstanceArgs(val availabilityZone: Output<String>? = null, val createSampleData: Output<Boolean>? = null, val dbInstanceCategory: Output<String>? = null, val dbInstanceClass: Output<String>? = null, val dbInstanceMode: Output<String>? = null, val description: Output<String>? = null, val encryptionKey: Output<String>? = null, val encryptionType: Output<String>? = null, val engine: Output<String>? = null, val engineVersion: Output<String>? = null, val instanceChargeType: Output<String>? = null, val instanceGroupCount: Output<Int>? = null, val instanceNetworkType: Output<String>? = null, val instanceSpec: Output<String>? = null, val ipWhitelists: Output<List<InstanceIpWhitelistArgs>>? = null, val maintainEndTime: Output<String>? = null, val maintainStartTime: Output<String>? = null, val masterNodeNum: Output<Int>? = null, val paymentType: Output<String>? = null, val period: Output<String>? = null, val privateIpAddress: Output<String>? = null, val resourceGroupId: Output<String>? = null, val securityIpLists: Output<List<String>>? = null, val segNodeNum: Output<Int>? = null, val segStorageType: Output<String>? = null, val sslEnabled: Output<Int>? = null, val storageSize: Output<Int>? = null, val tags: Output<Map<String, Any>>? = null, val usedTime: Output<String>? = null, val vectorConfigurationStatus: Output<String>? = null, val vpcId: Output<String>? = null, val vswitchId: Output<String>? = null, val zoneId: Output<String>? = null) : ConvertibleToJava<InstanceArgs>

Provides a AnalyticDB for PostgreSQL instance resource supports replica set instances only. the AnalyticDB for PostgreSQL provides stable, reliable, and automatic scalable database services. You can see detail product introduction here

NOTE: Available since v1.47.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 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());
}
}

Import

AnalyticDB for PostgreSQL can be imported using the id, e.g.

$ pulumi import alicloud:gpdb/instance:Instance example <id>

Constructors

Link copied to clipboard
fun InstanceArgs(availabilityZone: Output<String>? = null, createSampleData: Output<Boolean>? = null, dbInstanceCategory: Output<String>? = null, dbInstanceClass: Output<String>? = null, dbInstanceMode: Output<String>? = null, description: Output<String>? = null, encryptionKey: Output<String>? = null, encryptionType: Output<String>? = null, engine: Output<String>? = null, engineVersion: Output<String>? = null, instanceChargeType: Output<String>? = null, instanceGroupCount: Output<Int>? = null, instanceNetworkType: Output<String>? = null, instanceSpec: Output<String>? = null, ipWhitelists: Output<List<InstanceIpWhitelistArgs>>? = null, maintainEndTime: Output<String>? = null, maintainStartTime: Output<String>? = null, masterNodeNum: Output<Int>? = null, paymentType: Output<String>? = null, period: Output<String>? = null, privateIpAddress: Output<String>? = null, resourceGroupId: Output<String>? = null, securityIpLists: Output<List<String>>? = null, segNodeNum: Output<Int>? = null, segStorageType: Output<String>? = null, sslEnabled: Output<Int>? = null, storageSize: Output<Int>? = null, tags: Output<Map<String, Any>>? = null, usedTime: Output<String>? = null, vectorConfigurationStatus: Output<String>? = null, vpcId: Output<String>? = null, vswitchId: Output<String>? = null, zoneId: Output<String>? = null)

Functions

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

Properties

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

Field availability_zone has been deprecated from provider version 1.187.0. New field zone_id instead.

Link copied to clipboard
val createSampleData: Output<Boolean>? = null

Whether to load the sample dataset after the instance is created. Valid values: true, false.

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

The db instance category. Valid values: Basic, HighAvailability.

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

The db instance class. see Instance specifications.

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

The db instance mode. Valid values: StorageElastic, Serverless, Classic.

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

The description of the instance.

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

The ID of the encryption key.

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

The encryption type. Valid values: CloudDisk.

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

The database engine used by the instance. Value options can refer to the latest docs CreateDBInstance EngineVersion.

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

The version of the database engine used by the instance.

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

Field instance_charge_type has been deprecated from provider version 1.187.0. New field payment_type instead.

Link copied to clipboard
val instanceGroupCount: Output<Int>? = null

The number of nodes. Valid values: 2, 4, 8, 12, 16, 24, 32, 64, 96, 128.

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

The network type of the instance. Valid values: VPC.

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

The specification of segment nodes.

Link copied to clipboard

The ip whitelist. See ip_whitelist below. Default to creating a whitelist group with the group name "default" and security_ip_list "127.0.0.1".

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

The end time of the maintenance window for the instance. in the format of HH:mmZ (UTC time), for example 03:00Z. start time should be later than end time.

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

The start time of the maintenance window for the instance. in the format of HH:mmZ (UTC time), for example 02:00Z.

Link copied to clipboard
val masterNodeNum: Output<Int>? = null

The number of Master nodes. Default value: 1. Valid values: 1 to 2. if it is not filled in, the default value is 1 Master node.

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

The billing method of the instance. Valid values: Subscription, PayAsYouGo.

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

The duration that you will buy the resource, in month. required when payment_type is Subscription. Valid values: Year, Month.

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

The private ip address.

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

The ID of the enterprise resource group to which the instance belongs.

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

Field security_ip_list has been deprecated from provider version 1.187.0. New field ip_whitelist instead.

Link copied to clipboard
val segNodeNum: Output<Int>? = null

Calculate the number of nodes. Valid values: 2 to 512. The value range of the high-availability version of the storage elastic mode is 4 to 512, and the value must be a multiple of 4. The value range of the basic version of the storage elastic mode is 2 to 512, and the value must be a multiple of 2. The-Serverless version has a value range of 2 to 512. The value must be a multiple of 2.

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

The seg storage type. Valid values: cloud_essd, cloud_efficiency.

Link copied to clipboard
val sslEnabled: Output<Int>? = null

Enable or disable SSL. Valid values: 0 and 1.

Link copied to clipboard
val storageSize: Output<Int>? = null

The storage capacity. Unit: GB. Valid values: 50 to 4000.

Link copied to clipboard
val tags: Output<Map<String, Any>>? = null

A mapping of tags to assign to the resource.

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

The used time. When the parameter period is Year, the used_time value is 1 to 3. When the parameter period is Month, the used_time value is 1 to 9.

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

Specifies whether to enable vector engine optimization. Default value: disabled. Valid values: enabled and disabled.

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

The vpc ID of the resource.

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

The vswitch id.

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

The zone ID of the instance.