elasticsearch

package
v0.0.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 21, 2022 License: Apache-2.0 Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func PkgVersion added in v0.0.1

func PkgVersion() (semver.Version, error)

PkgVersion uses reflection to determine the version of the current package. If a version cannot be determined, v1 will be assumed. The second return value is always nil.

Types

type GetInstancesArgs

type GetInstancesArgs struct {
	DescriptionRegex *string                `pulumi:"descriptionRegex"`
	Ids              []string               `pulumi:"ids"`
	OutputFile       *string                `pulumi:"outputFile"`
	Tags             map[string]interface{} `pulumi:"tags"`
	Version          *string                `pulumi:"version"`
}

A collection of arguments for invoking getInstances.

type GetInstancesInstance

type GetInstancesInstance struct {
	CreatedAt          string                 `pulumi:"createdAt"`
	DataNodeAmount     int                    `pulumi:"dataNodeAmount"`
	DataNodeDiskSize   int                    `pulumi:"dataNodeDiskSize"`
	DataNodeDiskType   string                 `pulumi:"dataNodeDiskType"`
	DataNodeSpec       string                 `pulumi:"dataNodeSpec"`
	Description        string                 `pulumi:"description"`
	Id                 string                 `pulumi:"id"`
	InstanceChargeType string                 `pulumi:"instanceChargeType"`
	Status             string                 `pulumi:"status"`
	Tags               map[string]interface{} `pulumi:"tags"`
	UpdatedAt          string                 `pulumi:"updatedAt"`
	Version            string                 `pulumi:"version"`
	VswitchId          string                 `pulumi:"vswitchId"`
}

type GetInstancesInstanceArgs

type GetInstancesInstanceArgs struct {
	CreatedAt          pulumi.StringInput `pulumi:"createdAt"`
	DataNodeAmount     pulumi.IntInput    `pulumi:"dataNodeAmount"`
	DataNodeDiskSize   pulumi.IntInput    `pulumi:"dataNodeDiskSize"`
	DataNodeDiskType   pulumi.StringInput `pulumi:"dataNodeDiskType"`
	DataNodeSpec       pulumi.StringInput `pulumi:"dataNodeSpec"`
	Description        pulumi.StringInput `pulumi:"description"`
	Id                 pulumi.StringInput `pulumi:"id"`
	InstanceChargeType pulumi.StringInput `pulumi:"instanceChargeType"`
	Status             pulumi.StringInput `pulumi:"status"`
	Tags               pulumi.MapInput    `pulumi:"tags"`
	UpdatedAt          pulumi.StringInput `pulumi:"updatedAt"`
	Version            pulumi.StringInput `pulumi:"version"`
	VswitchId          pulumi.StringInput `pulumi:"vswitchId"`
}

func (GetInstancesInstanceArgs) ElementType

func (GetInstancesInstanceArgs) ElementType() reflect.Type

func (GetInstancesInstanceArgs) ToGetInstancesInstanceOutput

func (i GetInstancesInstanceArgs) ToGetInstancesInstanceOutput() GetInstancesInstanceOutput

func (GetInstancesInstanceArgs) ToGetInstancesInstanceOutputWithContext

func (i GetInstancesInstanceArgs) ToGetInstancesInstanceOutputWithContext(ctx context.Context) GetInstancesInstanceOutput

type GetInstancesInstanceArray

type GetInstancesInstanceArray []GetInstancesInstanceInput

func (GetInstancesInstanceArray) ElementType

func (GetInstancesInstanceArray) ElementType() reflect.Type

func (GetInstancesInstanceArray) ToGetInstancesInstanceArrayOutput

func (i GetInstancesInstanceArray) ToGetInstancesInstanceArrayOutput() GetInstancesInstanceArrayOutput

func (GetInstancesInstanceArray) ToGetInstancesInstanceArrayOutputWithContext

func (i GetInstancesInstanceArray) ToGetInstancesInstanceArrayOutputWithContext(ctx context.Context) GetInstancesInstanceArrayOutput

type GetInstancesInstanceArrayInput

type GetInstancesInstanceArrayInput interface {
	pulumi.Input

	ToGetInstancesInstanceArrayOutput() GetInstancesInstanceArrayOutput
	ToGetInstancesInstanceArrayOutputWithContext(context.Context) GetInstancesInstanceArrayOutput
}

GetInstancesInstanceArrayInput is an input type that accepts GetInstancesInstanceArray and GetInstancesInstanceArrayOutput values. You can construct a concrete instance of `GetInstancesInstanceArrayInput` via:

GetInstancesInstanceArray{ GetInstancesInstanceArgs{...} }

type GetInstancesInstanceArrayOutput

type GetInstancesInstanceArrayOutput struct{ *pulumi.OutputState }

func (GetInstancesInstanceArrayOutput) ElementType

func (GetInstancesInstanceArrayOutput) Index

func (GetInstancesInstanceArrayOutput) ToGetInstancesInstanceArrayOutput

func (o GetInstancesInstanceArrayOutput) ToGetInstancesInstanceArrayOutput() GetInstancesInstanceArrayOutput

func (GetInstancesInstanceArrayOutput) ToGetInstancesInstanceArrayOutputWithContext

func (o GetInstancesInstanceArrayOutput) ToGetInstancesInstanceArrayOutputWithContext(ctx context.Context) GetInstancesInstanceArrayOutput

type GetInstancesInstanceInput

type GetInstancesInstanceInput interface {
	pulumi.Input

	ToGetInstancesInstanceOutput() GetInstancesInstanceOutput
	ToGetInstancesInstanceOutputWithContext(context.Context) GetInstancesInstanceOutput
}

GetInstancesInstanceInput is an input type that accepts GetInstancesInstanceArgs and GetInstancesInstanceOutput values. You can construct a concrete instance of `GetInstancesInstanceInput` via:

GetInstancesInstanceArgs{...}

type GetInstancesInstanceOutput

type GetInstancesInstanceOutput struct{ *pulumi.OutputState }

func (GetInstancesInstanceOutput) CreatedAt

func (GetInstancesInstanceOutput) DataNodeAmount

func (o GetInstancesInstanceOutput) DataNodeAmount() pulumi.IntOutput

func (GetInstancesInstanceOutput) DataNodeDiskSize

func (o GetInstancesInstanceOutput) DataNodeDiskSize() pulumi.IntOutput

func (GetInstancesInstanceOutput) DataNodeDiskType

func (o GetInstancesInstanceOutput) DataNodeDiskType() pulumi.StringOutput

func (GetInstancesInstanceOutput) DataNodeSpec

func (GetInstancesInstanceOutput) Description

func (GetInstancesInstanceOutput) ElementType

func (GetInstancesInstanceOutput) ElementType() reflect.Type

func (GetInstancesInstanceOutput) Id

func (GetInstancesInstanceOutput) InstanceChargeType

func (o GetInstancesInstanceOutput) InstanceChargeType() pulumi.StringOutput

func (GetInstancesInstanceOutput) Status

func (GetInstancesInstanceOutput) Tags

func (GetInstancesInstanceOutput) ToGetInstancesInstanceOutput

func (o GetInstancesInstanceOutput) ToGetInstancesInstanceOutput() GetInstancesInstanceOutput

func (GetInstancesInstanceOutput) ToGetInstancesInstanceOutputWithContext

func (o GetInstancesInstanceOutput) ToGetInstancesInstanceOutputWithContext(ctx context.Context) GetInstancesInstanceOutput

func (GetInstancesInstanceOutput) UpdatedAt

func (GetInstancesInstanceOutput) Version

func (GetInstancesInstanceOutput) VswitchId

type GetInstancesOutputArgs

type GetInstancesOutputArgs struct {
	DescriptionRegex pulumi.StringPtrInput   `pulumi:"descriptionRegex"`
	Ids              pulumi.StringArrayInput `pulumi:"ids"`
	OutputFile       pulumi.StringPtrInput   `pulumi:"outputFile"`
	Tags             pulumi.MapInput         `pulumi:"tags"`
	Version          pulumi.StringPtrInput   `pulumi:"version"`
}

A collection of arguments for invoking getInstances.

func (GetInstancesOutputArgs) ElementType

func (GetInstancesOutputArgs) ElementType() reflect.Type

type GetInstancesResult

type GetInstancesResult struct {
	DescriptionRegex *string  `pulumi:"descriptionRegex"`
	Descriptions     []string `pulumi:"descriptions"`
	// The provider-assigned unique ID for this managed resource.
	Id         string                 `pulumi:"id"`
	Ids        []string               `pulumi:"ids"`
	Instances  []GetInstancesInstance `pulumi:"instances"`
	OutputFile *string                `pulumi:"outputFile"`
	Tags       map[string]interface{} `pulumi:"tags"`
	Version    *string                `pulumi:"version"`
}

A collection of values returned by getInstances.

func GetInstances

func GetInstances(ctx *pulumi.Context, args *GetInstancesArgs, opts ...pulumi.InvokeOption) (*GetInstancesResult, error)

type GetInstancesResultOutput

type GetInstancesResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getInstances.

func (GetInstancesResultOutput) DescriptionRegex

func (o GetInstancesResultOutput) DescriptionRegex() pulumi.StringPtrOutput

func (GetInstancesResultOutput) Descriptions

func (GetInstancesResultOutput) ElementType

func (GetInstancesResultOutput) ElementType() reflect.Type

func (GetInstancesResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (GetInstancesResultOutput) Ids

func (GetInstancesResultOutput) Instances

func (GetInstancesResultOutput) OutputFile

func (GetInstancesResultOutput) Tags

func (GetInstancesResultOutput) ToGetInstancesResultOutput

func (o GetInstancesResultOutput) ToGetInstancesResultOutput() GetInstancesResultOutput

func (GetInstancesResultOutput) ToGetInstancesResultOutputWithContext

func (o GetInstancesResultOutput) ToGetInstancesResultOutputWithContext(ctx context.Context) GetInstancesResultOutput

func (GetInstancesResultOutput) Version

type GetZonesArgs

type GetZonesArgs struct {
	// Indicate whether the zones can be used in a multi AZ configuration. Default to `false`. Multi AZ is usually used to launch Elasticsearch instances.
	Multi      *bool   `pulumi:"multi"`
	OutputFile *string `pulumi:"outputFile"`
}

A collection of arguments for invoking getZones.

type GetZonesOutputArgs

type GetZonesOutputArgs struct {
	// Indicate whether the zones can be used in a multi AZ configuration. Default to `false`. Multi AZ is usually used to launch Elasticsearch instances.
	Multi      pulumi.BoolPtrInput   `pulumi:"multi"`
	OutputFile pulumi.StringPtrInput `pulumi:"outputFile"`
}

A collection of arguments for invoking getZones.

func (GetZonesOutputArgs) ElementType

func (GetZonesOutputArgs) ElementType() reflect.Type

type GetZonesResult

type GetZonesResult struct {
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// A list of zone IDs.
	Ids        []string `pulumi:"ids"`
	Multi      *bool    `pulumi:"multi"`
	OutputFile *string  `pulumi:"outputFile"`
	// A list of availability zones. Each element contains the following attributes:
	Zones []GetZonesZone `pulumi:"zones"`
}

A collection of values returned by getZones.

func GetZones

func GetZones(ctx *pulumi.Context, args *GetZonesArgs, opts ...pulumi.InvokeOption) (*GetZonesResult, error)

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

```go package main

import (

"github.com/pulumi/pulumi-alicloud/sdk/go/alicloud/elasticsearch"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/rhysmdnz/pulumi-alicloud/sdk/go/alicloud/elasticsearch"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := elasticsearch.GetZones(ctx, nil, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type GetZonesResultOutput

type GetZonesResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getZones.

func (GetZonesResultOutput) ElementType

func (GetZonesResultOutput) ElementType() reflect.Type

func (GetZonesResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (GetZonesResultOutput) Ids

A list of zone IDs.

func (GetZonesResultOutput) Multi

func (GetZonesResultOutput) OutputFile

func (GetZonesResultOutput) ToGetZonesResultOutput

func (o GetZonesResultOutput) ToGetZonesResultOutput() GetZonesResultOutput

func (GetZonesResultOutput) ToGetZonesResultOutputWithContext

func (o GetZonesResultOutput) ToGetZonesResultOutputWithContext(ctx context.Context) GetZonesResultOutput

func (GetZonesResultOutput) Zones

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

type GetZonesZone

type GetZonesZone struct {
	// ID of the zone.
	Id string `pulumi:"id"`
	// A list of zone ids in which the multi zone.
	MultiZoneIds []string `pulumi:"multiZoneIds"`
}

type GetZonesZoneArgs

type GetZonesZoneArgs struct {
	// ID of the zone.
	Id pulumi.StringInput `pulumi:"id"`
	// A list of zone ids in which the multi zone.
	MultiZoneIds pulumi.StringArrayInput `pulumi:"multiZoneIds"`
}

func (GetZonesZoneArgs) ElementType

func (GetZonesZoneArgs) ElementType() reflect.Type

func (GetZonesZoneArgs) ToGetZonesZoneOutput

func (i GetZonesZoneArgs) ToGetZonesZoneOutput() GetZonesZoneOutput

func (GetZonesZoneArgs) ToGetZonesZoneOutputWithContext

func (i GetZonesZoneArgs) ToGetZonesZoneOutputWithContext(ctx context.Context) GetZonesZoneOutput

type GetZonesZoneArray

type GetZonesZoneArray []GetZonesZoneInput

func (GetZonesZoneArray) ElementType

func (GetZonesZoneArray) ElementType() reflect.Type

func (GetZonesZoneArray) ToGetZonesZoneArrayOutput

func (i GetZonesZoneArray) ToGetZonesZoneArrayOutput() GetZonesZoneArrayOutput

func (GetZonesZoneArray) ToGetZonesZoneArrayOutputWithContext

func (i GetZonesZoneArray) ToGetZonesZoneArrayOutputWithContext(ctx context.Context) GetZonesZoneArrayOutput

type GetZonesZoneArrayInput

type GetZonesZoneArrayInput interface {
	pulumi.Input

	ToGetZonesZoneArrayOutput() GetZonesZoneArrayOutput
	ToGetZonesZoneArrayOutputWithContext(context.Context) GetZonesZoneArrayOutput
}

GetZonesZoneArrayInput is an input type that accepts GetZonesZoneArray and GetZonesZoneArrayOutput values. You can construct a concrete instance of `GetZonesZoneArrayInput` via:

GetZonesZoneArray{ GetZonesZoneArgs{...} }

type GetZonesZoneArrayOutput

type GetZonesZoneArrayOutput struct{ *pulumi.OutputState }

func (GetZonesZoneArrayOutput) ElementType

func (GetZonesZoneArrayOutput) ElementType() reflect.Type

func (GetZonesZoneArrayOutput) Index

func (GetZonesZoneArrayOutput) ToGetZonesZoneArrayOutput

func (o GetZonesZoneArrayOutput) ToGetZonesZoneArrayOutput() GetZonesZoneArrayOutput

func (GetZonesZoneArrayOutput) ToGetZonesZoneArrayOutputWithContext

func (o GetZonesZoneArrayOutput) ToGetZonesZoneArrayOutputWithContext(ctx context.Context) GetZonesZoneArrayOutput

type GetZonesZoneInput

type GetZonesZoneInput interface {
	pulumi.Input

	ToGetZonesZoneOutput() GetZonesZoneOutput
	ToGetZonesZoneOutputWithContext(context.Context) GetZonesZoneOutput
}

GetZonesZoneInput is an input type that accepts GetZonesZoneArgs and GetZonesZoneOutput values. You can construct a concrete instance of `GetZonesZoneInput` via:

GetZonesZoneArgs{...}

type GetZonesZoneOutput

type GetZonesZoneOutput struct{ *pulumi.OutputState }

func (GetZonesZoneOutput) ElementType

func (GetZonesZoneOutput) ElementType() reflect.Type

func (GetZonesZoneOutput) Id

ID of the zone.

func (GetZonesZoneOutput) MultiZoneIds

func (o GetZonesZoneOutput) MultiZoneIds() pulumi.StringArrayOutput

A list of zone ids in which the multi zone.

func (GetZonesZoneOutput) ToGetZonesZoneOutput

func (o GetZonesZoneOutput) ToGetZonesZoneOutput() GetZonesZoneOutput

func (GetZonesZoneOutput) ToGetZonesZoneOutputWithContext

func (o GetZonesZoneOutput) ToGetZonesZoneOutputWithContext(ctx context.Context) GetZonesZoneOutput

type Instance

type Instance struct {
	pulumi.CustomResourceState

	// The Elasticsearch cluster's client node quantity, between 2 and 25.
	ClientNodeAmount pulumi.IntPtrOutput `pulumi:"clientNodeAmount"`
	// The client node spec. If specified, client node will be created.
	ClientNodeSpec pulumi.StringPtrOutput `pulumi:"clientNodeSpec"`
	// The Elasticsearch cluster's data node quantity, between 2 and 50.
	DataNodeAmount pulumi.IntOutput `pulumi:"dataNodeAmount"`
	// If encrypt the data node disk. Valid values are `true`, `false`. Default to `false`.
	DataNodeDiskEncrypted pulumi.BoolPtrOutput `pulumi:"dataNodeDiskEncrypted"`
	// The single data node storage space.
	// - `cloudSsd`: An SSD disk, supports a maximum of 2048 GiB (2 TB).
	DataNodeDiskSize pulumi.IntOutput `pulumi:"dataNodeDiskSize"`
	// The data node disk type. Supported values: cloud_ssd, cloud_efficiency.
	DataNodeDiskType pulumi.StringOutput `pulumi:"dataNodeDiskType"`
	// The data node specifications of the Elasticsearch instance.
	DataNodeSpec pulumi.StringOutput `pulumi:"dataNodeSpec"`
	// The description of instance. It a string of 0 to 30 characters.
	Description pulumi.StringOutput `pulumi:"description"`
	// Instance connection domain (only VPC network access supported).
	Domain pulumi.StringOutput `pulumi:"domain"`
	// Bool, default to false. When it set to true, the instance can close kibana private network access。
	EnableKibanaPrivateNetwork pulumi.BoolPtrOutput `pulumi:"enableKibanaPrivateNetwork"`
	// Bool, default to true. When it set to false, the instance can enable kibana public network access。
	EnableKibanaPublicNetwork pulumi.BoolPtrOutput `pulumi:"enableKibanaPublicNetwork"`
	// Bool, default to false. When it set to true, the instance can enable public network access。
	EnablePublic pulumi.BoolPtrOutput `pulumi:"enablePublic"`
	// 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.
	InstanceChargeType pulumi.StringPtrOutput `pulumi:"instanceChargeType"`
	// Kibana console domain (Internet access supported).
	KibanaDomain pulumi.StringOutput `pulumi:"kibanaDomain"`
	// The kibana node specifications of the Elasticsearch instance. Default is `elasticsearch.n4.small`.
	KibanaNodeSpec pulumi.StringOutput `pulumi:"kibanaNodeSpec"`
	// Kibana console port.
	KibanaPort pulumi.IntOutput `pulumi:"kibanaPort"`
	// Set the Kibana's IP whitelist in private network.
	KibanaPrivateWhitelists pulumi.StringArrayOutput `pulumi:"kibanaPrivateWhitelists"`
	// Set the Kibana's IP whitelist in internet network.
	KibanaWhitelists pulumi.StringArrayOutput `pulumi:"kibanaWhitelists"`
	// 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.
	KmsEncryptedPassword pulumi.StringPtrOutput `pulumi:"kmsEncryptedPassword"`
	// An KMS encryption context used to decrypt `kmsEncryptedPassword` before creating or updating instance with `kmsEncryptedPassword`. See [Encryption Context](https://www.alibabacloud.com/help/doc-detail/42975.htm). It is valid when `kmsEncryptedPassword` is set.
	KmsEncryptionContext pulumi.MapOutput `pulumi:"kmsEncryptionContext"`
	// The dedicated master node spec. If specified, dedicated master node will be created.
	MasterNodeSpec pulumi.StringPtrOutput `pulumi:"masterNodeSpec"`
	// 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 (`!@#$%^&*()_+-=`).
	Password pulumi.StringPtrOutput `pulumi:"password"`
	// 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.
	Period pulumi.IntPtrOutput `pulumi:"period"`
	// Instance connection port.
	Port pulumi.IntOutput `pulumi:"port"`
	// Set the instance's IP whitelist in VPC network.
	PrivateWhitelists pulumi.StringArrayOutput `pulumi:"privateWhitelists"`
	// Elasticsearch protocol. Supported values: `HTTP`, `HTTPS`.default is `HTTP`.
	Protocol pulumi.StringPtrOutput `pulumi:"protocol"`
	// Set the instance's IP whitelist in internet network.
	PublicWhitelists pulumi.StringArrayOutput `pulumi:"publicWhitelists"`
	// The Id of resource group which the Elasticsearch instance belongs.
	ResourceGroupId pulumi.StringOutput `pulumi:"resourceGroupId"`
	// The YML configuration of the instance.[Detailed introduction](https://www.alibabacloud.com/help/doc-detail/61336.html).
	SettingConfig pulumi.MapOutput `pulumi:"settingConfig"`
	// The Elasticsearch instance status. Includes `active`, `activating`, `inactive`. Some operations are denied when status is not `active`.
	Status pulumi.StringOutput `pulumi:"status"`
	// 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.
	Tags pulumi.MapOutput `pulumi:"tags"`
	// 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`.
	Version pulumi.StringOutput `pulumi:"version"`
	// The ID of VSwitch.
	VswitchId pulumi.StringOutput `pulumi:"vswitchId"`
	// The Multi-AZ supported for Elasticsearch, between 1 and 3. The `dataNodeAmount` value must be an integral multiple of the `zoneCount` value.
	ZoneCount pulumi.IntPtrOutput `pulumi:"zoneCount"`
}

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

Basic Usage

```go package main

import (

"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/rhysmdnz/pulumi-alicloud/sdk/go/alicloud/elasticsearch"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := elasticsearch.NewInstance(ctx, "instance", &elasticsearch.InstanceArgs{
			ClientNodeAmount:   pulumi.Int(2),
			ClientNodeSpec:     pulumi.String("elasticsearch.sn2ne.large"),
			DataNodeAmount:     pulumi.Int(2),
			DataNodeDiskSize:   pulumi.Int(20),
			DataNodeDiskType:   pulumi.String("cloud_ssd"),
			DataNodeSpec:       pulumi.String("elasticsearch.sn2ne.large"),
			Description:        pulumi.String("description"),
			InstanceChargeType: pulumi.String("PostPaid"),
			Password:           pulumi.String("Your password"),
			Protocol:           pulumi.String("HTTPS"),
			Tags: pulumi.AnyMap{
				"key1": pulumi.Any("value1"),
				"key2": pulumi.Any("value2"),
			},
			Version:   pulumi.String("5.5.3_with_X-Pack"),
			VswitchId: pulumi.String("some vswitch id"),
			ZoneCount: pulumi.Int(2),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

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

```sh

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

```

func GetInstance

func GetInstance(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *InstanceState, opts ...pulumi.ResourceOption) (*Instance, error)

GetInstance gets an existing Instance resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewInstance

func NewInstance(ctx *pulumi.Context,
	name string, args *InstanceArgs, opts ...pulumi.ResourceOption) (*Instance, error)

NewInstance registers a new resource with the given unique name, arguments, and options.

func (*Instance) ElementType

func (*Instance) ElementType() reflect.Type

func (*Instance) ToInstanceOutput

func (i *Instance) ToInstanceOutput() InstanceOutput

func (*Instance) ToInstanceOutputWithContext

func (i *Instance) ToInstanceOutputWithContext(ctx context.Context) InstanceOutput

type InstanceArgs

type InstanceArgs struct {
	// The Elasticsearch cluster's client node quantity, between 2 and 25.
	ClientNodeAmount pulumi.IntPtrInput
	// The client node spec. If specified, client node will be created.
	ClientNodeSpec pulumi.StringPtrInput
	// The Elasticsearch cluster's data node quantity, between 2 and 50.
	DataNodeAmount pulumi.IntInput
	// If encrypt the data node disk. Valid values are `true`, `false`. Default to `false`.
	DataNodeDiskEncrypted pulumi.BoolPtrInput
	// The single data node storage space.
	// - `cloudSsd`: An SSD disk, supports a maximum of 2048 GiB (2 TB).
	DataNodeDiskSize pulumi.IntInput
	// The data node disk type. Supported values: cloud_ssd, cloud_efficiency.
	DataNodeDiskType pulumi.StringInput
	// The data node specifications of the Elasticsearch instance.
	DataNodeSpec pulumi.StringInput
	// The description of instance. It a string of 0 to 30 characters.
	Description pulumi.StringPtrInput
	// Bool, default to false. When it set to true, the instance can close kibana private network access。
	EnableKibanaPrivateNetwork pulumi.BoolPtrInput
	// Bool, default to true. When it set to false, the instance can enable kibana public network access。
	EnableKibanaPublicNetwork pulumi.BoolPtrInput
	// Bool, default to false. When it set to true, the instance can enable public network access。
	EnablePublic pulumi.BoolPtrInput
	// 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.
	InstanceChargeType pulumi.StringPtrInput
	// The kibana node specifications of the Elasticsearch instance. Default is `elasticsearch.n4.small`.
	KibanaNodeSpec pulumi.StringPtrInput
	// Set the Kibana's IP whitelist in private network.
	KibanaPrivateWhitelists pulumi.StringArrayInput
	// Set the Kibana's IP whitelist in internet network.
	KibanaWhitelists pulumi.StringArrayInput
	// 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.
	KmsEncryptedPassword pulumi.StringPtrInput
	// An KMS encryption context used to decrypt `kmsEncryptedPassword` before creating or updating instance with `kmsEncryptedPassword`. See [Encryption Context](https://www.alibabacloud.com/help/doc-detail/42975.htm). It is valid when `kmsEncryptedPassword` is set.
	KmsEncryptionContext pulumi.MapInput
	// The dedicated master node spec. If specified, dedicated master node will be created.
	MasterNodeSpec pulumi.StringPtrInput
	// 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 (`!@#$%^&*()_+-=`).
	Password pulumi.StringPtrInput
	// 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.
	Period pulumi.IntPtrInput
	// Set the instance's IP whitelist in VPC network.
	PrivateWhitelists pulumi.StringArrayInput
	// Elasticsearch protocol. Supported values: `HTTP`, `HTTPS`.default is `HTTP`.
	Protocol pulumi.StringPtrInput
	// Set the instance's IP whitelist in internet network.
	PublicWhitelists pulumi.StringArrayInput
	// The Id of resource group which the Elasticsearch instance belongs.
	ResourceGroupId pulumi.StringPtrInput
	// The YML configuration of the instance.[Detailed introduction](https://www.alibabacloud.com/help/doc-detail/61336.html).
	SettingConfig pulumi.MapInput
	// 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.
	Tags pulumi.MapInput
	// 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`.
	Version pulumi.StringInput
	// The ID of VSwitch.
	VswitchId pulumi.StringInput
	// The Multi-AZ supported for Elasticsearch, between 1 and 3. The `dataNodeAmount` value must be an integral multiple of the `zoneCount` value.
	ZoneCount pulumi.IntPtrInput
}

The set of arguments for constructing a Instance resource.

func (InstanceArgs) ElementType

func (InstanceArgs) ElementType() reflect.Type

type InstanceArray

type InstanceArray []InstanceInput

func (InstanceArray) ElementType

func (InstanceArray) ElementType() reflect.Type

func (InstanceArray) ToInstanceArrayOutput

func (i InstanceArray) ToInstanceArrayOutput() InstanceArrayOutput

func (InstanceArray) ToInstanceArrayOutputWithContext

func (i InstanceArray) ToInstanceArrayOutputWithContext(ctx context.Context) InstanceArrayOutput

type InstanceArrayInput

type InstanceArrayInput interface {
	pulumi.Input

	ToInstanceArrayOutput() InstanceArrayOutput
	ToInstanceArrayOutputWithContext(context.Context) InstanceArrayOutput
}

InstanceArrayInput is an input type that accepts InstanceArray and InstanceArrayOutput values. You can construct a concrete instance of `InstanceArrayInput` via:

InstanceArray{ InstanceArgs{...} }

type InstanceArrayOutput

type InstanceArrayOutput struct{ *pulumi.OutputState }

func (InstanceArrayOutput) ElementType

func (InstanceArrayOutput) ElementType() reflect.Type

func (InstanceArrayOutput) Index

func (InstanceArrayOutput) ToInstanceArrayOutput

func (o InstanceArrayOutput) ToInstanceArrayOutput() InstanceArrayOutput

func (InstanceArrayOutput) ToInstanceArrayOutputWithContext

func (o InstanceArrayOutput) ToInstanceArrayOutputWithContext(ctx context.Context) InstanceArrayOutput

type InstanceInput

type InstanceInput interface {
	pulumi.Input

	ToInstanceOutput() InstanceOutput
	ToInstanceOutputWithContext(ctx context.Context) InstanceOutput
}

type InstanceMap

type InstanceMap map[string]InstanceInput

func (InstanceMap) ElementType

func (InstanceMap) ElementType() reflect.Type

func (InstanceMap) ToInstanceMapOutput

func (i InstanceMap) ToInstanceMapOutput() InstanceMapOutput

func (InstanceMap) ToInstanceMapOutputWithContext

func (i InstanceMap) ToInstanceMapOutputWithContext(ctx context.Context) InstanceMapOutput

type InstanceMapInput

type InstanceMapInput interface {
	pulumi.Input

	ToInstanceMapOutput() InstanceMapOutput
	ToInstanceMapOutputWithContext(context.Context) InstanceMapOutput
}

InstanceMapInput is an input type that accepts InstanceMap and InstanceMapOutput values. You can construct a concrete instance of `InstanceMapInput` via:

InstanceMap{ "key": InstanceArgs{...} }

type InstanceMapOutput

type InstanceMapOutput struct{ *pulumi.OutputState }

func (InstanceMapOutput) ElementType

func (InstanceMapOutput) ElementType() reflect.Type

func (InstanceMapOutput) MapIndex

func (InstanceMapOutput) ToInstanceMapOutput

func (o InstanceMapOutput) ToInstanceMapOutput() InstanceMapOutput

func (InstanceMapOutput) ToInstanceMapOutputWithContext

func (o InstanceMapOutput) ToInstanceMapOutputWithContext(ctx context.Context) InstanceMapOutput

type InstanceOutput

type InstanceOutput struct{ *pulumi.OutputState }

func (InstanceOutput) ClientNodeAmount

func (o InstanceOutput) ClientNodeAmount() pulumi.IntPtrOutput

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

func (InstanceOutput) ClientNodeSpec

func (o InstanceOutput) ClientNodeSpec() pulumi.StringPtrOutput

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

func (InstanceOutput) DataNodeAmount

func (o InstanceOutput) DataNodeAmount() pulumi.IntOutput

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

func (InstanceOutput) DataNodeDiskEncrypted

func (o InstanceOutput) DataNodeDiskEncrypted() pulumi.BoolPtrOutput

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

func (InstanceOutput) DataNodeDiskSize

func (o InstanceOutput) DataNodeDiskSize() pulumi.IntOutput

The single data node storage space. - `cloudSsd`: An SSD disk, supports a maximum of 2048 GiB (2 TB).

func (InstanceOutput) DataNodeDiskType

func (o InstanceOutput) DataNodeDiskType() pulumi.StringOutput

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

func (InstanceOutput) DataNodeSpec

func (o InstanceOutput) DataNodeSpec() pulumi.StringOutput

The data node specifications of the Elasticsearch instance.

func (InstanceOutput) Description

func (o InstanceOutput) Description() pulumi.StringOutput

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

func (InstanceOutput) Domain

func (o InstanceOutput) Domain() pulumi.StringOutput

Instance connection domain (only VPC network access supported).

func (InstanceOutput) ElementType

func (InstanceOutput) ElementType() reflect.Type

func (InstanceOutput) EnableKibanaPrivateNetwork

func (o InstanceOutput) EnableKibanaPrivateNetwork() pulumi.BoolPtrOutput

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

func (InstanceOutput) EnableKibanaPublicNetwork

func (o InstanceOutput) EnableKibanaPublicNetwork() pulumi.BoolPtrOutput

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

func (InstanceOutput) EnablePublic

func (o InstanceOutput) EnablePublic() pulumi.BoolPtrOutput

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

func (InstanceOutput) InstanceChargeType

func (o InstanceOutput) InstanceChargeType() pulumi.StringPtrOutput

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.

func (InstanceOutput) KibanaDomain

func (o InstanceOutput) KibanaDomain() pulumi.StringOutput

Kibana console domain (Internet access supported).

func (InstanceOutput) KibanaNodeSpec

func (o InstanceOutput) KibanaNodeSpec() pulumi.StringOutput

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

func (InstanceOutput) KibanaPort

func (o InstanceOutput) KibanaPort() pulumi.IntOutput

Kibana console port.

func (InstanceOutput) KibanaPrivateWhitelists

func (o InstanceOutput) KibanaPrivateWhitelists() pulumi.StringArrayOutput

Set the Kibana's IP whitelist in private network.

func (InstanceOutput) KibanaWhitelists

func (o InstanceOutput) KibanaWhitelists() pulumi.StringArrayOutput

Set the Kibana's IP whitelist in internet network.

func (InstanceOutput) KmsEncryptedPassword

func (o InstanceOutput) KmsEncryptedPassword() pulumi.StringPtrOutput

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.

func (InstanceOutput) KmsEncryptionContext

func (o InstanceOutput) KmsEncryptionContext() pulumi.MapOutput

An KMS encryption context used to decrypt `kmsEncryptedPassword` before creating or updating instance with `kmsEncryptedPassword`. See [Encryption Context](https://www.alibabacloud.com/help/doc-detail/42975.htm). It is valid when `kmsEncryptedPassword` is set.

func (InstanceOutput) MasterNodeSpec

func (o InstanceOutput) MasterNodeSpec() pulumi.StringPtrOutput

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

func (InstanceOutput) Password

func (o InstanceOutput) Password() pulumi.StringPtrOutput

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

func (InstanceOutput) Period

func (o InstanceOutput) Period() pulumi.IntPtrOutput

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.

func (InstanceOutput) Port

func (o InstanceOutput) Port() pulumi.IntOutput

Instance connection port.

func (InstanceOutput) PrivateWhitelists

func (o InstanceOutput) PrivateWhitelists() pulumi.StringArrayOutput

Set the instance's IP whitelist in VPC network.

func (InstanceOutput) Protocol

func (o InstanceOutput) Protocol() pulumi.StringPtrOutput

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

func (InstanceOutput) PublicWhitelists

func (o InstanceOutput) PublicWhitelists() pulumi.StringArrayOutput

Set the instance's IP whitelist in internet network.

func (InstanceOutput) ResourceGroupId

func (o InstanceOutput) ResourceGroupId() pulumi.StringOutput

The Id of resource group which the Elasticsearch instance belongs.

func (InstanceOutput) SettingConfig

func (o InstanceOutput) SettingConfig() pulumi.MapOutput

The YML configuration of the instance.[Detailed introduction](https://www.alibabacloud.com/help/doc-detail/61336.html).

func (InstanceOutput) Status

func (o InstanceOutput) Status() pulumi.StringOutput

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

func (InstanceOutput) Tags

func (o InstanceOutput) Tags() pulumi.MapOutput

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.

func (InstanceOutput) ToInstanceOutput

func (o InstanceOutput) ToInstanceOutput() InstanceOutput

func (InstanceOutput) ToInstanceOutputWithContext

func (o InstanceOutput) ToInstanceOutputWithContext(ctx context.Context) InstanceOutput

func (InstanceOutput) Version

func (o InstanceOutput) Version() pulumi.StringOutput

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`.

func (InstanceOutput) VswitchId

func (o InstanceOutput) VswitchId() pulumi.StringOutput

The ID of VSwitch.

func (InstanceOutput) ZoneCount

func (o InstanceOutput) ZoneCount() pulumi.IntPtrOutput

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

type InstanceState

type InstanceState struct {
	// The Elasticsearch cluster's client node quantity, between 2 and 25.
	ClientNodeAmount pulumi.IntPtrInput
	// The client node spec. If specified, client node will be created.
	ClientNodeSpec pulumi.StringPtrInput
	// The Elasticsearch cluster's data node quantity, between 2 and 50.
	DataNodeAmount pulumi.IntPtrInput
	// If encrypt the data node disk. Valid values are `true`, `false`. Default to `false`.
	DataNodeDiskEncrypted pulumi.BoolPtrInput
	// The single data node storage space.
	// - `cloudSsd`: An SSD disk, supports a maximum of 2048 GiB (2 TB).
	DataNodeDiskSize pulumi.IntPtrInput
	// The data node disk type. Supported values: cloud_ssd, cloud_efficiency.
	DataNodeDiskType pulumi.StringPtrInput
	// The data node specifications of the Elasticsearch instance.
	DataNodeSpec pulumi.StringPtrInput
	// The description of instance. It a string of 0 to 30 characters.
	Description pulumi.StringPtrInput
	// Instance connection domain (only VPC network access supported).
	Domain pulumi.StringPtrInput
	// Bool, default to false. When it set to true, the instance can close kibana private network access。
	EnableKibanaPrivateNetwork pulumi.BoolPtrInput
	// Bool, default to true. When it set to false, the instance can enable kibana public network access。
	EnableKibanaPublicNetwork pulumi.BoolPtrInput
	// Bool, default to false. When it set to true, the instance can enable public network access。
	EnablePublic pulumi.BoolPtrInput
	// 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.
	InstanceChargeType pulumi.StringPtrInput
	// Kibana console domain (Internet access supported).
	KibanaDomain pulumi.StringPtrInput
	// The kibana node specifications of the Elasticsearch instance. Default is `elasticsearch.n4.small`.
	KibanaNodeSpec pulumi.StringPtrInput
	// Kibana console port.
	KibanaPort pulumi.IntPtrInput
	// Set the Kibana's IP whitelist in private network.
	KibanaPrivateWhitelists pulumi.StringArrayInput
	// Set the Kibana's IP whitelist in internet network.
	KibanaWhitelists pulumi.StringArrayInput
	// 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.
	KmsEncryptedPassword pulumi.StringPtrInput
	// An KMS encryption context used to decrypt `kmsEncryptedPassword` before creating or updating instance with `kmsEncryptedPassword`. See [Encryption Context](https://www.alibabacloud.com/help/doc-detail/42975.htm). It is valid when `kmsEncryptedPassword` is set.
	KmsEncryptionContext pulumi.MapInput
	// The dedicated master node spec. If specified, dedicated master node will be created.
	MasterNodeSpec pulumi.StringPtrInput
	// 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 (`!@#$%^&*()_+-=`).
	Password pulumi.StringPtrInput
	// 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.
	Period pulumi.IntPtrInput
	// Instance connection port.
	Port pulumi.IntPtrInput
	// Set the instance's IP whitelist in VPC network.
	PrivateWhitelists pulumi.StringArrayInput
	// Elasticsearch protocol. Supported values: `HTTP`, `HTTPS`.default is `HTTP`.
	Protocol pulumi.StringPtrInput
	// Set the instance's IP whitelist in internet network.
	PublicWhitelists pulumi.StringArrayInput
	// The Id of resource group which the Elasticsearch instance belongs.
	ResourceGroupId pulumi.StringPtrInput
	// The YML configuration of the instance.[Detailed introduction](https://www.alibabacloud.com/help/doc-detail/61336.html).
	SettingConfig pulumi.MapInput
	// The Elasticsearch instance status. Includes `active`, `activating`, `inactive`. Some operations are denied when status is not `active`.
	Status pulumi.StringPtrInput
	// 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.
	Tags pulumi.MapInput
	// 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`.
	Version pulumi.StringPtrInput
	// The ID of VSwitch.
	VswitchId pulumi.StringPtrInput
	// The Multi-AZ supported for Elasticsearch, between 1 and 3. The `dataNodeAmount` value must be an integral multiple of the `zoneCount` value.
	ZoneCount pulumi.IntPtrInput
}

func (InstanceState) ElementType

func (InstanceState) ElementType() reflect.Type

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL