Module elasticsearch

This page documents the language specification for the alicloud package. If you're looking for help working with the inputs, outputs, or functions of alicloud resources in a Pulumi program, please see the resource documentation for examples and API reference.

This provider is a derived work of the Terraform Provider distributed under MPL 2.0. If you encounter a bug or missing feature, first check the pulumi/pulumi-alicloud repo; however, if that doesn’t turn up anything, please consult the source terraform-providers/terraform-provider-alicloud repo.

Resources

Functions

Others

Resources

Resource Instance

class Instance extends CustomResource

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 dataNodeSpec and dataNodeDiskSize are both changed, system will respond error.

NOTE: At present, version can not be modified once instance has been created.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as alicloud from "@pulumi/alicloud";

const instance = new alicloud.elasticsearch.Instance("instance", {
    instanceChargeType: "PostPaid",
    dataNodeAmount: "2",
    dataNodeSpec: "elasticsearch.sn2ne.large",
    dataNodeDiskSize: "20",
    dataNodeDiskType: "cloudSsd",
    vswitchId: "some vswitch id",
    password: "Your password",
    version: "5.5.3_with_X-Pack",
    description: "description",
    zoneCount: "2",
    tags: {
        key1: "value1",
        key2: "value2",
    },
});

constructor

new Instance(name: string, args: InstanceArgs, opts?: pulumi.CustomResourceOptions)

Create a Instance resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: InstanceState, opts?: pulumi.CustomResourceOptions): Instance

Get an existing Instance resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is Instance

Returns true if the given object is an instance of Instance. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property dataNodeAmount

public dataNodeAmount: pulumi.Output<number>;

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

property dataNodeDiskEncrypted

public dataNodeDiskEncrypted: pulumi.Output<boolean | undefined>;

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

property dataNodeDiskSize

public dataNodeDiskSize: pulumi.Output<number>;

The single data node storage space. - cloudSsd: An SSD disk, supports a maximum of 2048 GiB (2 TB). - cloudEfficiency An ultra disk, supports a maximum of 5120 GiB (5 TB). If the data to be stored is larger than 2048 GiB, an ultra disk can only support the following data sizes (GiB): [2560, 3072, 3584, 4096, 4608, 5120].

property dataNodeDiskType

public dataNodeDiskType: pulumi.Output<string>;

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

property dataNodeSpec

public dataNodeSpec: pulumi.Output<string>;

The data node specifications of the Elasticsearch instance.

property description

public description: pulumi.Output<string | undefined>;

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

property domain

public domain: pulumi.Output<string>;

Instance connection domain (only VPC network access supported).

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property instanceChargeType

public instanceChargeType: pulumi.Output<string | undefined>;

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

property kibanaDomain

public kibanaDomain: pulumi.Output<string>;

Kibana console domain (Internet access supported).

property kibanaPort

public kibanaPort: pulumi.Output<number>;

Kibana console port.

property kibanaWhitelists

public kibanaWhitelists: pulumi.Output<string[]>;

Set the Kibana’s IP whitelist in internet network.

property kmsEncryptedPassword

public kmsEncryptedPassword: pulumi.Output<string | undefined>;

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 kmsEncryptedPassword fields.

property kmsEncryptionContext

public kmsEncryptionContext: pulumi.Output<{[key: string]: any} | undefined>;

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

property masterNodeSpec

public masterNodeSpec: pulumi.Output<string | undefined>;

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

property password

public password: pulumi.Output<string | undefined>;

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 (!@#$%^&*()_+-=).

property period

public period: pulumi.Output<number | undefined>;

The duration that you will buy Elasticsearch instance (in month). It is valid when instanceChargeType 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.

property port

public port: pulumi.Output<number>;

Instance connection port.

property privateWhitelists

public privateWhitelists: pulumi.Output<string[]>;

Set the instance’s IP whitelist in VPC network.

property publicWhitelists

public publicWhitelists: pulumi.Output<string[]>;

property resourceGroupId

public resourceGroupId: pulumi.Output<string>;

The Id of resource group which the Elasticsearch instance belongs.

property status

public status: pulumi.Output<string>;

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

property tags

public tags: pulumi.Output<{[key: string]: any} | undefined>;

A mapping of tags to assign to the resource. - key: It can be up to 128 characters in length. It cannot begin with “aliyun”, “acs:“. It cannot contain “http://” and “https://“. It cannot be a null string. - value: It can be up to 128 characters in length. It cannot contain “http://” and “https://“. It can be a null string.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

property version

public version: pulumi.Output<string>;

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

property vswitchId

public vswitchId: pulumi.Output<string>;

The ID of VSwitch.

property zoneCount

public zoneCount: pulumi.Output<number | undefined>;

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

Functions

Function getInstances

getInstances(args?: GetInstancesArgs, opts?: pulumi.InvokeOptions): Promise<GetInstancesResult>

Function getZones

getZones(args?: GetZonesArgs, opts?: pulumi.InvokeOptions): Promise<GetZonesResult>

This data source provides availability zones for Elasticsearch that can be accessed by an Alibaba Cloud account within the region configured in the provider.

NOTE: Available in v1.73.0+.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as alicloud from "@pulumi/alicloud";

// Declare the data source
const zonesIds = pulumi.output(alicloud.elasticsearch.getZones({ async: true }));

Others

interface GetInstancesArgs

interface GetInstancesArgs

A collection of arguments for invoking getInstances.

property descriptionRegex

descriptionRegex?: undefined | string;

property ids

ids?: string[];

property outputFile

outputFile?: undefined | string;

property tags

tags?: undefined | {[key: string]: any};

property version

version?: undefined | string;

interface GetInstancesResult

interface GetInstancesResult

A collection of values returned by getInstances.

property descriptionRegex

descriptionRegex?: undefined | string;

property descriptions

descriptions: string[];

property id

id: string;

The provider-assigned unique ID for this managed resource.

property ids

ids: string[];

property instances

instances: GetInstancesInstance[];

property outputFile

outputFile?: undefined | string;

property tags

tags?: undefined | {[key: string]: any};

property version

version?: undefined | string;

interface GetZonesArgs

interface GetZonesArgs

A collection of arguments for invoking getZones.

property multi

multi?: undefined | false | true;

Indicate whether the zones can be used in a multi AZ configuration. Default to false. Multi AZ is usually used to launch Elasticsearch instances.

property outputFile

outputFile?: undefined | string;

interface GetZonesResult

interface GetZonesResult

A collection of values returned by getZones.

property id

id: string;

The provider-assigned unique ID for this managed resource.

property ids

ids: string[];

A list of zone IDs.

property multi

multi?: undefined | false | true;

property outputFile

outputFile?: undefined | string;

property zones

zones: GetZonesZone[];

A list of availability zones. Each element contains the following attributes:

interface InstanceArgs

interface InstanceArgs

The set of arguments for constructing a Instance resource.

property dataNodeAmount

dataNodeAmount: pulumi.Input<number>;

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

property dataNodeDiskEncrypted

dataNodeDiskEncrypted?: pulumi.Input<boolean>;

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

property dataNodeDiskSize

dataNodeDiskSize: pulumi.Input<number>;

The single data node storage space. - cloudSsd: An SSD disk, supports a maximum of 2048 GiB (2 TB). - cloudEfficiency An ultra disk, supports a maximum of 5120 GiB (5 TB). If the data to be stored is larger than 2048 GiB, an ultra disk can only support the following data sizes (GiB): [2560, 3072, 3584, 4096, 4608, 5120].

property dataNodeDiskType

dataNodeDiskType: pulumi.Input<string>;

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

property dataNodeSpec

dataNodeSpec: pulumi.Input<string>;

The data node specifications of the Elasticsearch instance.

property description

description?: pulumi.Input<string>;

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

property instanceChargeType

instanceChargeType?: pulumi.Input<string>;

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

property kibanaWhitelists

kibanaWhitelists?: pulumi.Input<pulumi.Input<string>[]>;

Set the Kibana’s IP whitelist in internet network.

property kmsEncryptedPassword

kmsEncryptedPassword?: pulumi.Input<string>;

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 kmsEncryptedPassword fields.

property kmsEncryptionContext

kmsEncryptionContext?: pulumi.Input<{[key: string]: any}>;

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

property masterNodeSpec

masterNodeSpec?: pulumi.Input<string>;

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

property password

password?: pulumi.Input<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 (!@#$%^&*()_+-=).

property period

period?: pulumi.Input<number>;

The duration that you will buy Elasticsearch instance (in month). It is valid when instanceChargeType 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.

property privateWhitelists

privateWhitelists?: pulumi.Input<pulumi.Input<string>[]>;

Set the instance’s IP whitelist in VPC network.

property publicWhitelists

publicWhitelists?: pulumi.Input<pulumi.Input<string>[]>;

property resourceGroupId

resourceGroupId?: pulumi.Input<string>;

The Id of resource group which the Elasticsearch instance belongs.

property tags

tags?: pulumi.Input<{[key: string]: any}>;

A mapping of tags to assign to the resource. - key: It can be up to 128 characters in length. It cannot begin with “aliyun”, “acs:“. It cannot contain “http://” and “https://“. It cannot be a null string. - value: It can be up to 128 characters in length. It cannot contain “http://” and “https://“. It can be a null string.

property version

version: pulumi.Input<string>;

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

property vswitchId

vswitchId: pulumi.Input<string>;

The ID of VSwitch.

property zoneCount

zoneCount?: pulumi.Input<number>;

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

interface InstanceState

interface InstanceState

Input properties used for looking up and filtering Instance resources.

property dataNodeAmount

dataNodeAmount?: pulumi.Input<number>;

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

property dataNodeDiskEncrypted

dataNodeDiskEncrypted?: pulumi.Input<boolean>;

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

property dataNodeDiskSize

dataNodeDiskSize?: pulumi.Input<number>;

The single data node storage space. - cloudSsd: An SSD disk, supports a maximum of 2048 GiB (2 TB). - cloudEfficiency An ultra disk, supports a maximum of 5120 GiB (5 TB). If the data to be stored is larger than 2048 GiB, an ultra disk can only support the following data sizes (GiB): [2560, 3072, 3584, 4096, 4608, 5120].

property dataNodeDiskType

dataNodeDiskType?: pulumi.Input<string>;

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

property dataNodeSpec

dataNodeSpec?: pulumi.Input<string>;

The data node specifications of the Elasticsearch instance.

property description

description?: pulumi.Input<string>;

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

property domain

domain?: pulumi.Input<string>;

Instance connection domain (only VPC network access supported).

property instanceChargeType

instanceChargeType?: pulumi.Input<string>;

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

property kibanaDomain

kibanaDomain?: pulumi.Input<string>;

Kibana console domain (Internet access supported).

property kibanaPort

kibanaPort?: pulumi.Input<number>;

Kibana console port.

property kibanaWhitelists

kibanaWhitelists?: pulumi.Input<pulumi.Input<string>[]>;

Set the Kibana’s IP whitelist in internet network.

property kmsEncryptedPassword

kmsEncryptedPassword?: pulumi.Input<string>;

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 kmsEncryptedPassword fields.

property kmsEncryptionContext

kmsEncryptionContext?: pulumi.Input<{[key: string]: any}>;

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

property masterNodeSpec

masterNodeSpec?: pulumi.Input<string>;

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

property password

password?: pulumi.Input<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 (!@#$%^&*()_+-=).

property period

period?: pulumi.Input<number>;

The duration that you will buy Elasticsearch instance (in month). It is valid when instanceChargeType 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.

property port

port?: pulumi.Input<number>;

Instance connection port.

property privateWhitelists

privateWhitelists?: pulumi.Input<pulumi.Input<string>[]>;

Set the instance’s IP whitelist in VPC network.

property publicWhitelists

publicWhitelists?: pulumi.Input<pulumi.Input<string>[]>;

property resourceGroupId

resourceGroupId?: pulumi.Input<string>;

The Id of resource group which the Elasticsearch instance belongs.

property status

status?: pulumi.Input<string>;

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

property tags

tags?: pulumi.Input<{[key: string]: any}>;

A mapping of tags to assign to the resource. - key: It can be up to 128 characters in length. It cannot begin with “aliyun”, “acs:“. It cannot contain “http://” and “https://“. It cannot be a null string. - value: It can be up to 128 characters in length. It cannot contain “http://” and “https://“. It can be a null string.

property version

version?: pulumi.Input<string>;

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

property vswitchId

vswitchId?: pulumi.Input<string>;

The ID of VSwitch.

property zoneCount

zoneCount?: pulumi.Input<number>;

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