InstanceArgs

data class InstanceArgs(val arbiterVswitchId: Output<String>? = null, val arbiterZoneId: Output<String>? = null, val archVersion: Output<String>? = null, val autoRenew: Output<String>? = null, val autoRenewPeriod: Output<String>? = null, val coldStorage: Output<Int>? = null, val coreSingleStorage: Output<Int>? = null, val coreSpec: Output<String>? = null, val deletionProection: Output<Boolean>? = null, val diskCategory: Output<String>? = null, val duration: Output<String>? = null, val fileEngineNodeCount: Output<Int>? = null, val fileEngineSpecification: Output<String>? = null, val instanceName: Output<String>? = null, val instanceStorage: Output<String>? = null, val ipWhiteLists: Output<List<String>>? = null, val logDiskCategory: Output<String>? = null, val logNum: Output<Int>? = null, val logSingleStorage: Output<Int>? = null, val logSpec: Output<String>? = null, val ltsNodeCount: Output<Int>? = null, val ltsNodeSpecification: Output<String>? = null, val multiZoneCombination: Output<String>? = null, val paymentType: Output<String>? = null, val pricingCycle: Output<String>? = null, val primaryVswitchId: Output<String>? = null, val primaryZoneId: Output<String>? = null, val resourceGroupId: Output<String>? = null, val searchEngineNodeCount: Output<Int>? = null, val searchEngineSpecification: Output<String>? = null, val standbyVswitchId: Output<String>? = null, val standbyZoneId: Output<String>? = null, val streamEngineNodeCount: Output<Int>? = null, val streamEngineSpecification: Output<String>? = null, val tableEngineNodeCount: Output<Int>? = null, val tableEngineSpecification: Output<String>? = null, val tags: Output<Map<String, String>>? = null, val timeSeriesEngineNodeCount: Output<Int>? = null, val timeSeriesEngineSpecification: Output<String>? = null, val timeSeriresEngineSpecification: Output<String>? = null, val vpcId: Output<String>? = null, val vswitchId: Output<String>? = null, val zoneId: Output<String>? = null) : ConvertibleToJava<InstanceArgs>

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

NOTE: Available since v1.132.0. NOTE: The Lindorm Instance does not support updating the specifications of multiple different engines, or the number of nodes at the same time.

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 region = "cn-hangzhou";
const zoneId = "cn-hangzhou-h";
const _default = alicloud.getZones({
availableResourceCreation: "VSwitch",
});
const defaultGetNetworks = alicloud.vpc.getNetworks({
nameRegex: "^default-NODELETING$",
});
const defaultGetSwitches = defaultGetNetworks.then(defaultGetNetworks => alicloud.vpc.getSwitches({
vpcId: defaultGetNetworks.ids?.[0],
zoneId: zoneId,
}));
const defaultInstance = new alicloud.lindorm.Instance("default", {
diskCategory: "cloud_efficiency",
paymentType: "PayAsYouGo",
zoneId: zoneId,
vswitchId: defaultGetSwitches.then(defaultGetSwitches => defaultGetSwitches.ids?.[0]),
vpcId: defaultGetNetworks.then(defaultGetNetworks => defaultGetNetworks.ids?.[0]),
instanceName: name,
tableEngineSpecification: "lindorm.g.4xlarge",
tableEngineNodeCount: 2,
instanceStorage: "1920",
});
import pulumi
import pulumi_alicloud as alicloud
config = pulumi.Config()
name = config.get("name")
if name is None:
name = "tf-example"
region = "cn-hangzhou"
zone_id = "cn-hangzhou-h"
default = alicloud.get_zones(available_resource_creation="VSwitch")
default_get_networks = alicloud.vpc.get_networks(name_regex="^default-NODELETING$")
default_get_switches = alicloud.vpc.get_switches(vpc_id=default_get_networks.ids[0],
zone_id=zone_id)
default_instance = alicloud.lindorm.Instance("default",
disk_category="cloud_efficiency",
payment_type="PayAsYouGo",
zone_id=zone_id,
vswitch_id=default_get_switches.ids[0],
vpc_id=default_get_networks.ids[0],
instance_name=name,
table_engine_specification="lindorm.g.4xlarge",
table_engine_node_count=2,
instance_storage="1920")
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 region = "cn-hangzhou";
var zoneId = "cn-hangzhou-h";
var @default = AliCloud.GetZones.Invoke(new()
{
AvailableResourceCreation = "VSwitch",
});
var defaultGetNetworks = AliCloud.Vpc.GetNetworks.Invoke(new()
{
NameRegex = "^default-NODELETING$",
});
var defaultGetSwitches = AliCloud.Vpc.GetSwitches.Invoke(new()
{
VpcId = defaultGetNetworks.Apply(getNetworksResult => getNetworksResult.Ids[0]),
ZoneId = zoneId,
});
var defaultInstance = new AliCloud.Lindorm.Instance("default", new()
{
DiskCategory = "cloud_efficiency",
PaymentType = "PayAsYouGo",
ZoneId = zoneId,
VswitchId = defaultGetSwitches.Apply(getSwitchesResult => getSwitchesResult.Ids[0]),
VpcId = defaultGetNetworks.Apply(getNetworksResult => getNetworksResult.Ids[0]),
InstanceName = name,
TableEngineSpecification = "lindorm.g.4xlarge",
TableEngineNodeCount = 2,
InstanceStorage = "1920",
});
});
package main
import (
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud"
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/lindorm"
"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
}
_ := "cn-hangzhou"
zoneId := "cn-hangzhou-h"
_, err := alicloud.GetZones(ctx, &alicloud.GetZonesArgs{
AvailableResourceCreation: pulumi.StringRef("VSwitch"),
}, nil)
if err != nil {
return err
}
defaultGetNetworks, err := vpc.GetNetworks(ctx, &vpc.GetNetworksArgs{
NameRegex: pulumi.StringRef("^default-NODELETING$"),
}, nil)
if err != nil {
return err
}
defaultGetSwitches, err := vpc.GetSwitches(ctx, &vpc.GetSwitchesArgs{
VpcId: pulumi.StringRef(defaultGetNetworks.Ids[0]),
ZoneId: pulumi.StringRef(zoneId),
}, nil)
if err != nil {
return err
}
_, err = lindorm.NewInstance(ctx, "default", &lindorm.InstanceArgs{
DiskCategory: pulumi.String("cloud_efficiency"),
PaymentType: pulumi.String("PayAsYouGo"),
ZoneId: pulumi.String(zoneId),
VswitchId: pulumi.String(defaultGetSwitches.Ids[0]),
VpcId: pulumi.String(defaultGetNetworks.Ids[0]),
InstanceName: pulumi.String(name),
TableEngineSpecification: pulumi.String("lindorm.g.4xlarge"),
TableEngineNodeCount: pulumi.Int(2),
InstanceStorage: pulumi.String("1920"),
})
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.AlicloudFunctions;
import com.pulumi.alicloud.inputs.GetZonesArgs;
import com.pulumi.alicloud.vpc.VpcFunctions;
import com.pulumi.alicloud.vpc.inputs.GetNetworksArgs;
import com.pulumi.alicloud.vpc.inputs.GetSwitchesArgs;
import com.pulumi.alicloud.lindorm.Instance;
import com.pulumi.alicloud.lindorm.InstanceArgs;
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 region = "cn-hangzhou";
final var zoneId = "cn-hangzhou-h";
final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()
.availableResourceCreation("VSwitch")
.build());
final var defaultGetNetworks = VpcFunctions.getNetworks(GetNetworksArgs.builder()
.nameRegex("^default-NODELETING$")
.build());
final var defaultGetSwitches = VpcFunctions.getSwitches(GetSwitchesArgs.builder()
.vpcId(defaultGetNetworks.ids()[0])
.zoneId(zoneId)
.build());
var defaultInstance = new Instance("defaultInstance", InstanceArgs.builder()
.diskCategory("cloud_efficiency")
.paymentType("PayAsYouGo")
.zoneId(zoneId)
.vswitchId(defaultGetSwitches.ids()[0])
.vpcId(defaultGetNetworks.ids()[0])
.instanceName(name)
.tableEngineSpecification("lindorm.g.4xlarge")
.tableEngineNodeCount(2)
.instanceStorage("1920")
.build());
}
}
configuration:
name:
type: string
default: tf-example
resources:
defaultInstance:
type: alicloud:lindorm:Instance
name: default
properties:
diskCategory: cloud_efficiency
paymentType: PayAsYouGo
zoneId: ${zoneId}
vswitchId: ${defaultGetSwitches.ids[0]}
vpcId: ${defaultGetNetworks.ids[0]}
instanceName: ${name}
tableEngineSpecification: lindorm.g.4xlarge
tableEngineNodeCount: '2'
instanceStorage: '1920'
variables:
region: cn-hangzhou
zoneId: cn-hangzhou-h
default:
fn::invoke:
function: alicloud:getZones
arguments:
availableResourceCreation: VSwitch
defaultGetNetworks:
fn::invoke:
function: alicloud:vpc:getNetworks
arguments:
nameRegex: ^default-NODELETING$
defaultGetSwitches:
fn::invoke:
function: alicloud:vpc:getSwitches
arguments:
vpcId: ${defaultGetNetworks.ids[0]}
zoneId: ${zoneId}

Import

Lindorm Instance can be imported using the id, e.g.

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

Constructors

Link copied to clipboard
constructor(arbiterVswitchId: Output<String>? = null, arbiterZoneId: Output<String>? = null, archVersion: Output<String>? = null, autoRenew: Output<String>? = null, autoRenewPeriod: Output<String>? = null, coldStorage: Output<Int>? = null, coreSingleStorage: Output<Int>? = null, coreSpec: Output<String>? = null, deletionProection: Output<Boolean>? = null, diskCategory: Output<String>? = null, duration: Output<String>? = null, fileEngineNodeCount: Output<Int>? = null, fileEngineSpecification: Output<String>? = null, instanceName: Output<String>? = null, instanceStorage: Output<String>? = null, ipWhiteLists: Output<List<String>>? = null, logDiskCategory: Output<String>? = null, logNum: Output<Int>? = null, logSingleStorage: Output<Int>? = null, logSpec: Output<String>? = null, ltsNodeCount: Output<Int>? = null, ltsNodeSpecification: Output<String>? = null, multiZoneCombination: Output<String>? = null, paymentType: Output<String>? = null, pricingCycle: Output<String>? = null, primaryVswitchId: Output<String>? = null, primaryZoneId: Output<String>? = null, resourceGroupId: Output<String>? = null, searchEngineNodeCount: Output<Int>? = null, searchEngineSpecification: Output<String>? = null, standbyVswitchId: Output<String>? = null, standbyZoneId: Output<String>? = null, streamEngineNodeCount: Output<Int>? = null, streamEngineSpecification: Output<String>? = null, tableEngineNodeCount: Output<Int>? = null, tableEngineSpecification: Output<String>? = null, tags: Output<Map<String, String>>? = null, timeSeriesEngineNodeCount: Output<Int>? = null, timeSeriesEngineSpecification: Output<String>? = null, timeSeriresEngineSpecification: Output<String>? = null, vpcId: Output<String>? = null, vswitchId: Output<String>? = null, zoneId: Output<String>? = null)

Properties

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

The multi-availability zone instance, coordinating the virtual switch ID of the availability zone, the switch must be located under the availability zone corresponding to the ArbiterZoneId. This parameter is required if you need to create multiple availability zone instances.

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

The multiple Availability Zone Instance, the availability zone ID of the coordinating availability zone. required if you need to create multiple availability zone instances.

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

The deployment architecture. If you do not fill in this parameter, the default is 1.0. to create multiple availability instances, fill in 2.0. if you need to create multiple availability instances, this parameter is required. Valid values: 1.0 to 2.0.

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

Specifies whether to enable auto-renewal for the instance. Valid when the payment_type is Subscription. Default value: false. Valid values: true(enables auto-renewal), false(disables auto-renewal).

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

The subscription duration that is supported by auto-renewal. Unit: months. Valid values: 1 to 12. This parameter is required only if the AutoRenew parameter is set to true.

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

The cold storage capacity of the instance. Unit: GB. Valid values: 800, 1000000.

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

The multiple availability zone instances, CORE single node capacity. required if you want to create multiple availability zone instances. Valid values: 400 to 64000.

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

The core spec. When disk_category is local_ssd_pro or local_hdd_pro, this filed is valid.

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

The deletion protection of instance.

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

The disk type of instance. Valid values: cloud_efficiency, cloud_ssd, cloud_essd, cloud_essd_pl0, capacity_cloud_storage, local_ssd_pro, local_hdd_pro. NOTE: From version 1.207.0, disk_category can be set to cloud_essd_pl0.

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

The duration of paid. Valid when the payment_type is Subscription. When pricing_cycle set to Month, the valid value id 1 to 9. When pricing_cycle set to Year, the valid value id 1 to 3.

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

The count of file engine.

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

The specification of file engine. Valid values: lindorm.c.xlarge.

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

The name of the instance.

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

The storage capacity of the instance. Unit: GB. Valid values: 80, 10485760, and the value must be divisible by 80.

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

The ip white list of instance.

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

The multi-available zone instance, log node disk type. required if you need to create multiple availability zone instances. Valid values: cloud_efficiency, cloud_ssd.

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

The multiple Availability Zone Instance, number of log nodes. this parameter is required if you want to create multiple availability zone instances. Valid values: 4 to 400.

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

The multi-availability instance, log single-node disk capacity. This parameter is required if you want to create multiple availability zone instances. Valid values: 400 to 64000.

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

The multiple availability zone instances, log node specification. required if you need to create multiple availability zone instances. Valid values: lindorm.sn1.large, lindorm.sn1.2xlarge.

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

The count of lindorm tunnel service.

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

The specification of lindorm tunnel service. Valid values: lindorm.g.2xlarge, lindorm.g.xlarge.

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

The multi-zone combinations. Availability zone combinations are supported on the sale page. required if you need to create multiple availability zone instances. Valid values: ap-southeast-5abc-aliyun, cn-hangzhou-ehi-aliyun, cn-beijing-acd-aliyun, ap-southeast-1-abc-aliyun, cn-zhangjiakou-abc-aliyun, cn-shanghai-efg-aliyun, cn-shanghai-abd-aliyun, cn-hangzhou-bef-aliyun, cn-hangzhou-bce-aliyun, cn-beijing-fgh-aliyun, cn-shenzhen-abc-aliyun.

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

The billing method. Valid values: PayAsYouGo and Subscription.

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

The pricing cycle. Valid when the payment_type is Subscription. Valid values: Month and Year.

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

Multi-available zone instances, the virtual switch ID of the primary available zone, must be under the available zone corresponding to the PrimaryZoneId. required if you need to create multiple availability zone instances.

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

Multi-availability zone instance with the availability zone ID of the main availability zone. required if you need to create multiple availability zone instances.

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

The ID of the resource group.

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

The count of search engine.

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

The specification of search engine. Valid values: lindorm.g.2xlarge, lindorm.g.4xlarge, lindorm.g.8xlarge, lindorm.g.xlarge.

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

The multiple availability zone instances, the virtual switch ID of the ready availability zone must be under the availability zone corresponding to the StandbyZoneId. required if you need to create multiple availability zone instances.

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

The multiple availability zone instances with availability zone IDs for the prepared availability zones. required if you need to create multiple availability zone instances.

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

The number of LindormStream nodes in the instance.

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

The specification of the LindormStream nodes in the instance. Valid values: lindorm.g.xlarge, lindorm.g.2xlarge, lindorm.g.4xlarge, lindorm.g.8xlarge.

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

The count of table engine.

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

The specification of table engine. Valid values: lindorm.c.2xlarge, lindorm.c.4xlarge, lindorm.c.8xlarge, lindorm.g.xlarge, lindorm.g.2xlarge, lindorm.g.4xlarge, lindorm.g.8xlarge.

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

A mapping of tags to assign to the resource.

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

The count of time series engine.

Link copied to clipboard

The specification of time series engine. Valid values: lindorm.g.xlarge, lindorm.g.2xlarge, lindorm.g.4xlarge, lindorm.g.8xlarge, lindorm.r.8xlarge.

Link copied to clipboard

Field time_serires_engine_specification has been deprecated from provider version 1.182.0. New field time_series_engine_specification instead.

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

The VPC ID of the instance.

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.

Functions

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