ALIYUN::ElasticSearch::Instance is used to create an Elasticsearch cluster.
Syntax
{
"Type": "ALIYUN::ElasticSearch::Instance",
"Properties": {
"KibanaWhitelist": List,
"PublicWhitelist": List,
"VSwitchId": String,
"InstanceChargeType": String,
"Period": Integer,
"Version": String,
"DataNode": Map,
"PrivateWhitelist": List,
"ResourceGroupId": String,
"EnablePublic": Boolean,
"Password": String,
"MasterNode": Map,
"Tags": List,
"Description": String,
"EnableKibanaPublic": Boolean,
"YMLConfig": Map,
"EnableKibanaPrivate": Boolean,
"ZoneCount": Integer,
"KibanaNode": Map,
"ZoneId": String,
"PeriodUnit": String
}
}
Properties
Property | Type | Required | Editable | Description | Constraint |
KibanaWhitelist | List | No | Yes | The IP address whitelist of Kibana. | None |
PublicWhitelist | List | No | Yes | The public IP address whitelist of the Elasticsearch cluster. | None |
| String | Yes | No | The ID of the vSwitch to which you want to connect the Elasticsearch cluster. | None |
InstanceChargeType | String | No | No | The billing method of the Elasticsearch cluster. | Valid values:
|
Period | Integer | No | No | The subscription duration of the Elasticsearch cluster. | Valid values:
Unit: month. |
Version | String | Yes | No | The version of the Elasticsearch cluster. | Valid values:
|
ResourceGroupId | String | No | Yes | The ID of the resource group. | None |
EnablePublic | Boolean | No | Yes | Specifies whether to enable Internet access for the Elasticsearch cluster. | Valid values:
|
DataNode | Map | Yes | Yes | The data node configurations of the Elasticsearch cluster. | For more information, see DataNode properties. |
PrivateWhitelist | List | No | Yes | The whitelist of IP addresses that can access the Elasticsearch cluster in a virtual private cloud (VPC). | None |
Password | String | Yes | Yes | The password of the Elasticsearch cluster. | The password must be 8 to 32 characters in length and contain at least three of the following character types: uppercase letters, lowercase letters, digits, and special characters. The following special characters are supported: |
MasterNode | Map | No | Yes | The primary node configurations of the Elasticsearch cluster. | If you specify this property, one or more dedicated primary nodes are created. For more information, see MasterNode properties. |
Tags | List | No | Yes | The tags of the cluster. | You can add up to 20 tags to an Elasticsearch cluster. For more information, see Tags properties. |
Description | String | No | Yes | The description of the Elasticsearch cluster. | The description must be 0 to 30 characters in length and can contain letters, digits, underscores (_), and hyphens (-). The description must start with a digit or a letter. |
EnableKibanaPublic | Boolean | No | No | Specifies whether to enable Internet access for Kibana. | Valid values:
|
YMLConfig | Map | No | No | The configurations in the YAML file. | For more information, see YMLConfig properties. |
EnableKibanaPrivate | Boolean | No | No | Specifies whether to enable internal network access for Kibana. | Valid values:
|
ZoneCount | Integer | No | No | The number of zones in which you want to deploy the Elasticsearch cluster. | Valid values:
|
KibanaNode | Map | No | No | The configurations of dedicated Kibana nodes. | None |
ZoneId | String | No | No | The zone ID of the Elasticsearch cluster. | None |
PeriodUnit | String | No | No | The unit of the subscription duration. | Valid values:
|
DataNode syntax
"DataNode": {
"Amount": Integer,
"DiskSize": Integer,
"Spec": String,
"DiskType": String,
"DiskEncryption": Boolean,
"PerformanceLevel": String
}
DataNode properties
Property | Type | Required | Editable | Description | Constraint |
Amount | Integer | Yes | Yes | The number of data nodes in the Elasticsearch cluster. | Valid values: 2 to 50. |
DiskSize | Integer | Yes | Yes | The storage space of a single data node. | Valid values:
If you want to store more than 2,048 GB of data, only the following valid values are supported:
Note If you want to store more than 5,120 GB of data, the Elasticsearch version must be V6.7 or V7.X, or the Elasticsearch edition must be Advanced Edition.
Unit: GB. |
Spec | String | Yes | Yes | The specifications of each data node. | None |
DiskType | String | Yes | Yes | The disk type of each data node. | Valid values:
|
DiskEncryption | Boolean | No | No | Specifies whether to enable disk encryption. | Valid values:
|
PerformanceLevel | String | No | No | The performance level (PL) of the enhanced SSD. | This property is required if you set the DiskType property to cloud_essd. Valid values:
|
MasterNode syntax
"MasterNode": {
"Amount": Integer,
"DiskSize": Integer,
"Spec": String,
"DiskType": String
}
MasterNode properties
Property | Type | Required | Editable | Description | Constraint |
Amount | Integer | No | Yes | The number of primary nodes. | Default value: 3. |
DiskSize | Integer | No | No | The storage space of each primary node. | Default value: 20. |
Spec | String | Yes | No | The specifications of each primary node. | None |
DiskType | String | No | No | The disk type of each primary node. | None |
Tags syntax
"Tags": [
{
"Key": String,
"Value": String
}
]
Tags properties
Property | Type | Required | Editable | Description | Constraint |
Key | String | Yes | No | The key of the tag. | The tag key must be 1 to 128 characters in length and cannot contain |
Value | String | No | No | The value of the tag. | The tag value can be up to 128 characters in length and cannot contain |
YMLConfig syntax
"YMLConfig": {
"CreateIndex": String,
"Watcher": String,
"DestructiveRequiresName": Boolean,
"AuditLog": Boolean,
"OtherConfigs": Map
}
YMLConfig properties
Property | Type | Required | Editable | Description | Constraint |
CreateIndex | String | No | No | Specifies whether to automatically create an index for a new document uploaded to the Elasticsearch cluster if no index exists. | The corresponding field in the YAML file is action.auto_create_index. Valid values:
|
Watcher | Boolean | No | No | Specifies whether to enable Watcher. | The corresponding field in the YAML file is xpack.watcher.enabled. Valid values:
|
DestructiveRequiresName | Boolean | No | No | Specifies whether the index name is required when you delete an index. | The corresponding field in the YAML file is action.destructive_requires_name. Valid values:
Note If you set this property to false, you can use wildcards to delete multiple indexes at a time. Deleted indexes cannot be recovered. Exercise caution when you specify this property. |
AuditLog | Boolean | No | No | Specifies whether to enable audit log indexing. | Valid values:
Note This property is unavailable for Elasticsearch clusters of V7.0 or later. |
OtherConfigs | Map | No | No | Other configurations. | The following list provides some of the supported fields. Unless otherwise specified, these fields are available for Elasticsearch clusters of V5.X, V6.X, and V7.X.
|
KibanaNode syntax
"KibanaNode": {
"Spec": String
}
KibanaNode properties
Property | Type | Required | Editable | Description | Constraint |
Spec | String | Yes | No | The specifications of the dedicated Kibana node. | None |
Return values
Fn::GetAtt
Status: the status of the Elasticsearch cluster.
KibanaDomain: the Kibana endpoint of the Elasticsearch cluster.
PublicDomain: the public endpoint of the Elasticsearch cluster.
Domain: the internal endpoint of the Elasticsearch cluster.
InstanceId: the ID of the Elasticsearch cluster.
KibanaPort: the port number that is used to connect to the Kibana console.
Port: the port number that is used to connect to the Elasticsearch cluster.
VSwitchId: the ID of the vSwitch.
Version: the version of the Elasticsearch cluster.
InstanceChargeType: the billing method of the Elasticsearch cluster.