Instance

Provides a Elasticsearch instance resource. It contains data nodes, dedicated master node(optional) and etc. It can be associated with private IP whitelists and kibana IP whitelist.

NOTE: Only one operation is supported in a request. So if data_node_spec and data_node_disk_size are both changed, system will respond error. NOTE: At present, version can not be modified once instance has been created.

Example Usage

Basic Usage

package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.alicloud.elasticsearch.Instance;
import com.pulumi.alicloud.elasticsearch.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) {
var instance = new Instance("instance", InstanceArgs.builder()
.clientNodeAmount("2")
.clientNodeSpec("elasticsearch.sn2ne.large")
.dataNodeAmount("2")
.dataNodeDiskSize("20")
.dataNodeDiskType("cloud_ssd")
.dataNodeSpec("elasticsearch.sn2ne.large")
.description("description")
.instanceChargeType("PostPaid")
.password("Your password")
.protocol("HTTPS")
.tags(Map.ofEntries(
Map.entry("key1", "value1"),
Map.entry("key2", "value2")
))
.version("5.5.3_with_X-Pack")
.vswitchId("some vswitch id")
.zoneCount("2")
.build());
}
}

Import

Elasticsearch can be imported using the id, e.g.

$ pulumi import alicloud:elasticsearch/instance:Instance example es-cn-abcde123456

Properties

Link copied to clipboard
val clientNodeAmount: Output<Int>?

The Elasticsearch cluster's client node quantity, between 2 and 25.

Link copied to clipboard
val clientNodeSpec: Output<String>?

The client node spec. If specified, client node will be created.

Link copied to clipboard
val dataNodeAmount: Output<Int>

The Elasticsearch cluster's data node quantity, between 2 and 50.

Link copied to clipboard

If encrypt the data node disk. Valid values are true, false. Default to false.

Link copied to clipboard
val dataNodeDiskSize: Output<Int>

The single data node storage space.

Link copied to clipboard

The data node disk type. Supported values: cloud_ssd, cloud_efficiency.

Link copied to clipboard
val dataNodeSpec: Output<String>

The data node specifications of the Elasticsearch instance.

Link copied to clipboard
val description: Output<String>

The description of instance. It a string of 0 to 30 characters.

Link copied to clipboard
val domain: Output<String>

Instance connection domain (only VPC network access supported).

Link copied to clipboard

Bool, default to false. When it set to true, the instance can close kibana private network access。

Link copied to clipboard

Bool, default to true. When it set to false, the instance can enable kibana public network access。

Link copied to clipboard
val enablePublic: Output<Boolean>?

Bool, default to false. When it set to true, the instance can enable public network access。

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

Valid values are PrePaid, PostPaid. Default to PostPaid. From version 1.69.0, the Elasticsearch cluster allows you to update your instance_charge_ype from PostPaid to PrePaid, the following attributes are required: period. But, updating from PostPaid to PrePaid is not supported.

Link copied to clipboard
val kibanaDomain: Output<String>

Kibana console domain (Internet access supported).

Link copied to clipboard
val kibanaNodeSpec: Output<String>

The kibana node specifications of the Elasticsearch instance. Default is elasticsearch.n4.small.

Link copied to clipboard
val kibanaPort: Output<Int>

Kibana console port.

Link copied to clipboard

Set the Kibana's IP whitelist in private network.

Link copied to clipboard

Set the Kibana's IP whitelist in internet network.

Link copied to clipboard

An KMS encrypts password used to a instance. If the password is filled in, this field will be ignored, but you have to specify one of password and kms_encrypted_password fields.

Link copied to clipboard

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

Link copied to clipboard
val masterNodeSpec: Output<String>?

The dedicated master node spec. If specified, dedicated master node will be created.

Link copied to clipboard
val password: Output<String>?

The password of the instance. The password can be 8 to 30 characters in length and must contain three of the following conditions: uppercase letters, lowercase letters, numbers, and special characters (!@#$%^&*()_+-=).

Link copied to clipboard
val period: Output<Int>?

The duration that you will buy Elasticsearch instance (in month). It is valid when instance_charge_type is PrePaid. Valid values: 1~9, 12, 24, 36. Default to 1. From version 1.69.2, when to modify this value, the resource can renewal a PrePaid instance.

Link copied to clipboard
val port: Output<Int>

Instance connection port.

Link copied to clipboard

Set the instance's IP whitelist in VPC network.

Link copied to clipboard
val protocol: Output<String>?

Elasticsearch protocol. Supported values: HTTP, HTTPS.default is HTTP.

Link copied to clipboard
val publicDomain: Output<String>

(Available in 1.197.0+) Instance connection public domain.

Link copied to clipboard
val publicPort: Output<Int>

(Available in 1.197.0+) Instance connection public port.

Link copied to clipboard

Set the instance's IP whitelist in internet network.

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
val resourceGroupId: Output<String>

The Id of resource group which the Elasticsearch instance belongs.

Link copied to clipboard
val settingConfig: Output<Map<String, Any>>

The YML configuration of the instance.Detailed introduction.

Link copied to clipboard
val status: Output<String>

The Elasticsearch instance status. Includes active, activating, inactive. Some operations are denied when status is not active.

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

A mapping of tags to assign to the resource.

Link copied to clipboard
val urn: Output<String>
Link copied to clipboard
val version: Output<String>

Elasticsearch version. Supported values: 5.5.3_with_X-Pack, 6.3_with_X-Pack, 6.7_with_X-Pack, 6.8_with_X-Pack, 7.4_with_X-Pack and 7.7_with_X-Pack.

Link copied to clipboard
val vswitchId: Output<String>

The ID of VSwitch.

Link copied to clipboard
val zoneCount: Output<Int>?

The Multi-AZ supported for Elasticsearch, between 1 and 3. The data_node_amount value must be an integral multiple of the zone_count value.