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

AWS::Elasticsearch::Index

Open
#353 0 comments 10 reactions 0 assignees View on GitHub
analytics enhancement
Dominant language
No language data
Stars
1.1k
Forks
62
PR merge metrics
No merged PRs in 30d

Description

## 2. Scope of request

This resource would manage indexes in an AWS Elasticsearch cluster. It would support create, delete, and update-as-replacement.

It is needed for the case where dynamic index creation is unsuitable. Currently, indexes must be created using a separate program or CloudFormation custom resource.

## 3. Expected behavior

The resource would define the elements used for a `PUT index` request. For example, this index request (taken from the [Elasticsearch docs](https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-create-index.html#mappings)):

```
PUT /test
{
"settings" : {
"number_of_shards" : 1
},
"mappings" : {
"properties" : {
"field1" : { "type" : "text" }
}
}
}
```

Would be represented by this resource definition (assuming a separate `AWS::Elasticsearch::Domain` named `Elasticsearch`):

```
TestIndex:
Type: "AWS::Elasticsearch::Index"
DependsOn: [ Elasticsearch ]
Properties:
Domain: !GetAtt Elasticsearch.DomainEndpoint
Index:
Settings:
NumberOfShards: 1
Mappings:
Properties:
field1: { Type: "TEXT" }
```

As noted above, any updates would require deletion and re-creation; updates to a cluster with data must be handled manually (and normally shouldn't happen).

Also note: Elasticsearch index creation is allowed only when the cluster is in "Active" state. This may require that the index creation be managed as a separate stack (iirc, Elasticsearch resource creation is considered "complete" before the cluster is active).

## 4. Suggest specific test cases

Creation / deletion / update.

Validate all supported index properties.

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

The full set of supported `Index` properties is defined by the Elasticsearch documentation: https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-create-index.html

## 6. Category (required)

7. Analytics (Athena, EMR, Glue,...)

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.