Differences between aws_opensearch_domain and aws_elasticsearch_domain terraform resources

I am planning to use AWS Open Search and some AWS Open Search ingestion (AWS DataPrepper flavour).
So far we have been using aws_elasticsearch_domain terraform resource to create the AWS Open Search cluster and that works well.
However I notice there is also an aws_opensearch_domain terraform resource available. At simple surface way, the differences are mostly the naming of the attributes as the documentation states:

OpenSearch Domain configurations are similar in many ways to Elasticsearch Domain configurations. However, there are important differences including these:

  • OpenSearch has engine_version while Elasticsearch has elasticsearch_version
  • Versions are specified differently - e.g., Elasticsearch_7.10 with OpenSearch vs. 7.10 for Elasticsearch.
  • instance_type argument values end in search for OpenSearch vs. elasticsearch for Elasticsearch (e.g., t2.micro.search vs. t2.micro.elasticsearch).
  • The AWS-managed service-linked role for OpenSearch is called AWSServiceRoleForAmazonOpenSearchService instead of AWSServiceRoleForAmazonElasticsearchService for Elasticsearch.

What is the difference between use one or another when it comes to working with OpenSearch?
The new Open Search provider is created for a reason right?

This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.