From 5ca17fe6b275689820365d7ed2213ef31b0426fe Mon Sep 17 00:00:00 2001 From: disaster37 Date: Mon, 17 Jan 2022 11:26:51 +0100 Subject: [PATCH] feat: Add suport for new composable template (#9) * feat: rename index_template to index_template_legacy. Add index_component_template resource Signed-off-by: disaster37 * feat: Add support for new index template API Signed-off-by: disaster37 --- Makefile | 2 +- docs/index.md | 2 + .../elasticsearch_index_component_template.md | 50 +++++ .../resources/elasticsearch_index_template.md | 21 +-- .../elasticsearch_index_template_legacy.md | 41 ++++ es/diff_suppress_funcs.go | 164 ++++++++++++++-- es/provider.go | 2 + ..._elasticsearch_index_component_template.go | 177 ++++++++++++++++++ ...ticsearch_index_component_template_test.go | 161 ++++++++++++++++ es/resource_elasticsearch_index_template.go | 37 ++-- ...rce_elasticsearch_index_template_legacy.go | 173 +++++++++++++++++ ...lasticsearch_index_template_legacy_test.go | 141 ++++++++++++++ ...ource_elasticsearch_index_template_test.go | 58 +++--- go.mod | 13 +- go.sum | 44 ++++- 15 files changed, 1000 insertions(+), 86 deletions(-) create mode 100644 docs/resources/elasticsearch_index_component_template.md create mode 100644 docs/resources/elasticsearch_index_template_legacy.md create mode 100644 es/resource_elasticsearch_index_component_template.go create mode 100644 es/resource_elasticsearch_index_component_template_test.go create mode 100644 es/resource_elasticsearch_index_template_legacy.go create mode 100644 es/resource_elasticsearch_index_template_legacy_test.go diff --git a/Makefile b/Makefile index 674f5525..83dd75ec 100644 --- a/Makefile +++ b/Makefile @@ -93,7 +93,7 @@ trial-license: curl -XPOST -u ${ELASTICSEARCH_USERNAME}:${ELASTICSEARCH_PASSWORD} ${ELASTICSEARCH_URLS}/_license/start_trial?acknowledge=true start-pods: clean-pods - kubectl run elasticsearch --image docker.elastic.co/elasticsearch/elasticsearch:7.5.1 --port "9200" --expose --env "cluster.name=test" --env "discovery.type=single-node" --env "ELASTIC_PASSWORD=changeme" --env "xpack.security.enabled=true" --env "ES_JAVA_OPTS=-Xms512m -Xmx512m" --env "path.repo=/tmp" --limits "cpu=500m,memory=1024Mi" + kubectl run elasticsearch --image docker.elastic.co/elasticsearch/elasticsearch:7.16.2 --port "9200" --expose --env "cluster.name=test" --env "discovery.type=single-node" --env "ELASTIC_PASSWORD=changeme" --env "xpack.security.enabled=true" --env "ES_JAVA_OPTS=-Xms512m -Xmx512m" --env "path.repo=/tmp" --limits "cpu=500m,memory=1024Mi" clean-pods: kubectl delete --ignore-not-found pod/elasticsearch diff --git a/docs/index.md b/docs/index.md index b6738462..8f433628 100644 --- a/docs/index.md +++ b/docs/index.md @@ -41,6 +41,8 @@ provider "elasticsearch" { - [elasticsearch_index_lifecycle_policy](resources/elasticsearch_index_lifecycle_policy.md) - [elasticsearch_index_template](resources/elasticsearch_index_template.md) +- [elasticsearch_index_component_template](resources/elasticsearch_index_component_template.md) +- [elasticsearch_index_template_legacy](resources/elasticsearch_index_template_legacy.md) - [elasticsearch_role](resources/elasticsearch_role.md) - [elasticsearch_role_mapping](resources/elasticsearch_role_mapping.md) - [elasticsearch_user](resources/elasticsearch_user.md) diff --git a/docs/resources/elasticsearch_index_component_template.md b/docs/resources/elasticsearch_index_component_template.md new file mode 100644 index 00000000..cb2dfef2 --- /dev/null +++ b/docs/resources/elasticsearch_index_component_template.md @@ -0,0 +1,50 @@ +# elasticsearch_index_component_template Resource Source + +This resource permit to manage the index component template in Elasticsearch. +You can see the API documentation: https://www.elastic.co/guide/en/elasticsearch/reference/master/indices-component-template.html + +***Supported Elasticsearch version:*** + - v7 + +## Example Usage + +It will create index template. + +```tf +resource elasticsearch_index_component_template "test" { + name = "terraform-test" + template = <