aws-cloudformation / aws-cloudformation/cloudformation-coverage-roadmap

AWS::Elasticsearch::Domain - persistent cluster settings

Open
#253 1 comment 11 reactions 0 assignees View on GitHub
analytics
Dominant language
No language data
Stars
1.1k
Forks
62
PR merge metrics
No merged PRs in 30d

Description

## 1. Title

#### AWS::Elasticsearch::Domain - persistent cluster settings

## 2. Scope of request

c) new attribute for an existing resource is desired

## 3. Expected behavior

I propose a way to configure Elasticsearch cluster settings by CloudFormation. We must currently configure the cluster via REST API after the cluster becomes ready.

For example, to disable auto index creation by curl:

```sh
$ curl -sSLf -XPUT 'https://my-cluster.us-west-2.es.amazonaws.com/_cluster/settings' \
-H 'content-type: application/json' \
-d '{
"persistent": {
"action.auto_create_index": "false"
}
}'
```

My proposal is a new attribute to configure *persistent* cluster settings by the CloudFormation stack. For example, to disable auto index creation by the attribute:

```yaml
MyElasticsearchDomain:
Type: AWS::Elasticsearch::Domain
Properties:
ElasticsearchClusterConfig: ## <- new!!
PersistentClusterSettings:
action.auto_create_index: "false"
```

## 4. Suggest specific test cases

We can observe current cluster settings via `GET /_cluster/settings` API. By the above settings, we can see via curl as follows:

```console
$ curl https://my-cluster.us-west-2.es.amazonaws.com/_cluster/settings?pretty
{
"persistent" : {
"action" : {
"auto_create_index" : "false"
}
// ...snip...
}
}
```

## 5. Helpful Links to speed up research and evaluation

- Cluster update settings API - Elasticsearch Reference
https://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-update-settings.html

## 6. Category (required) - Will help with tagging and be easier to find by other users to +1

Analytics (Elasticsearch Service)

## 7. Any additional context (optional)

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.