Skip to content

Commit 613c63e

Browse files
committed
feat(provider): migrate to dedicated OpenSearch provider
BREAKING CHANGE: All `elasticsearch_*` resources have been renamed to `opensearch_*`.
1 parent 16dc531 commit 613c63e

14 files changed

+51
-50
lines changed

Diff for: README.md

+10-10
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ Here is a working example of using this Terraform module:
7676
|------|---------|
7777
| <a name="requirement_terraform"></a> [terraform](#requirement\_terraform) | >= 1.0.0 |
7878
| <a name="requirement_aws"></a> [aws](#requirement\_aws) | >= 4.12.0 |
79-
| <a name="requirement_elasticsearch"></a> [elasticsearch](#requirement\_elasticsearch) | >= 2.0.0 |
79+
| <a name="requirement_opensearch"></a> [opensearch](#requirement\_opensearch) | >= 2.0.0 |
8080

8181
## Modules
8282

@@ -94,14 +94,14 @@ Here is a working example of using this Terraform module:
9494
| [aws_elasticsearch_domain_saml_options.opensearch](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/elasticsearch_domain_saml_options) | resource |
9595
| [aws_iam_service_linked_role.es](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_service_linked_role) | resource |
9696
| [aws_route53_record.opensearch](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/route53_record) | resource |
97-
| [elasticsearch_composable_index_template.composable_index_template](https://registry.terraform.io/providers/phillbaker/elasticsearch/latest/docs/resources/composable_index_template) | resource |
98-
| [elasticsearch_index.index](https://registry.terraform.io/providers/phillbaker/elasticsearch/latest/docs/resources/index) | resource |
99-
| [elasticsearch_index_template.index_template](https://registry.terraform.io/providers/phillbaker/elasticsearch/latest/docs/resources/index_template) | resource |
100-
| [elasticsearch_opensearch_ism_policy.ism_policy](https://registry.terraform.io/providers/phillbaker/elasticsearch/latest/docs/resources/opensearch_ism_policy) | resource |
101-
| [elasticsearch_opensearch_role.role](https://registry.terraform.io/providers/phillbaker/elasticsearch/latest/docs/resources/opensearch_role) | resource |
102-
| [elasticsearch_opensearch_roles_mapping.master_user_arn](https://registry.terraform.io/providers/phillbaker/elasticsearch/latest/docs/resources/opensearch_roles_mapping) | resource |
103-
| [elasticsearch_opensearch_roles_mapping.master_user_name](https://registry.terraform.io/providers/phillbaker/elasticsearch/latest/docs/resources/opensearch_roles_mapping) | resource |
104-
| [elasticsearch_opensearch_roles_mapping.role_mapping](https://registry.terraform.io/providers/phillbaker/elasticsearch/latest/docs/resources/opensearch_roles_mapping) | resource |
97+
| [opensearch_composable_index_template.composable_index_template](https://registry.terraform.io/providers/opensearch-project/opensearch/latest/docs/resources/composable_index_template) | resource |
98+
| [opensearch_index.index](https://registry.terraform.io/providers/opensearch-project/opensearch/latest/docs/resources/index) | resource |
99+
| [opensearch_index_template.index_template](https://registry.terraform.io/providers/opensearch-project/opensearch/latest/docs/resources/index_template) | resource |
100+
| [opensearch_ism_policy.ism_policy](https://registry.terraform.io/providers/opensearch-project/opensearch/latest/docs/resources/ism_policy) | resource |
101+
| [opensearch_role.role](https://registry.terraform.io/providers/opensearch-project/opensearch/latest/docs/resources/role) | resource |
102+
| [opensearch_roles_mapping.master_user_arn](https://registry.terraform.io/providers/opensearch-project/opensearch/latest/docs/resources/roles_mapping) | resource |
103+
| [opensearch_roles_mapping.master_user_name](https://registry.terraform.io/providers/opensearch-project/opensearch/latest/docs/resources/roles_mapping) | resource |
104+
| [opensearch_roles_mapping.role_mapping](https://registry.terraform.io/providers/opensearch-project/opensearch/latest/docs/resources/roles_mapping) | resource |
105105
| [aws_caller_identity.current](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/caller_identity) | data source |
106106
| [aws_iam_policy_document.access_policy](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/iam_policy_document) | data source |
107107
| [aws_iam_policy_document.allow_logging](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/iam_policy_document) | data source |
@@ -124,7 +124,7 @@ Here is a working example of using this Terraform module:
124124
| <a name="input_cluster_domain"></a> [cluster\_domain](#input\_cluster\_domain) | The hosted zone name of the OpenSearch cluster. | `string` | n/a | yes |
125125
| <a name="input_cluster_domain_private"></a> [cluster\_domain\_private](#input\_cluster\_domain\_private) | Indicates whether to create records in a private (true) or public (false) zone | `bool` | `false` | no |
126126
| <a name="input_cluster_name"></a> [cluster\_name](#input\_cluster\_name) | The name of the OpenSearch cluster. | `string` | `"opensearch"` | no |
127-
| <a name="input_cluster_version"></a> [cluster\_version](#input\_cluster\_version) | The version of OpenSearch to deploy. | `string` | `"1.0"` | no |
127+
| <a name="input_cluster_version"></a> [cluster\_version](#input\_cluster\_version) | The version of OpenSearch to deploy. | `string` | `"2.11"` | no |
128128
| <a name="input_cognito_options"></a> [cognito\_options](#input\_cognito\_options) | Configuration block for authenticating Kibana with Cognito. | `map(string)` | `{}` | no |
129129
| <a name="input_cognito_options_enabled"></a> [cognito\_options\_enabled](#input\_cognito\_options\_enabled) | Whether Amazon Cognito authentication with Kibana is enabled or not. | `bool` | `false` | no |
130130
| <a name="input_composable_index_template_files"></a> [composable\_index\_template\_files](#input\_composable\_index\_template\_files) | A set of all composable index template files to create. | `set(string)` | `[]` | no |

Diff for: composable_index_template.tf

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
1-
resource "elasticsearch_composable_index_template" "composable_index_template" {
1+
resource "opensearch_composable_index_template" "composable_index_template" {
22
for_each = local.composable_index_templates
33

44
name = each.key
55
body = jsonencode(each.value)
66

77
depends_on = [
8-
elasticsearch_opensearch_roles_mapping.master_user_arn,
8+
opensearch_roles_mapping.master_user_arn,
99
aws_route53_record.opensearch
1010
]
1111
}
+15-14
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,18 @@
11
---
22
index_patterns:
33
- example-*
4-
settings:
5-
index:
6-
number_of_shards: "2"
7-
number_of_replicas: "1"
8-
refresh_interval: 30s
9-
mappings:
10-
_source:
11-
enabled: false
12-
properties:
13-
created_at:
14-
format: EEE MMM dd HH:mm:ss Z YYYY
15-
type: date
16-
host_name:
17-
type: keyword
4+
template:
5+
settings:
6+
index:
7+
number_of_shards: "2"
8+
number_of_replicas: "1"
9+
refresh_interval: 30s
10+
mappings:
11+
_source:
12+
enabled: false
13+
properties:
14+
created_at:
15+
format: EEE MMM dd HH:mm:ss Z YYYY
16+
type: date
17+
host_name:
18+
type: keyword

Diff for: examples/complete/main.tf

+2-2
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ data "http" "saml_metadata" {
1212
url = var.saml_metadata_url
1313
}
1414

15-
provider "elasticsearch" {
15+
provider "opensearch" {
1616
url = module.opensearch.cluster_endpoint
1717
aws_region = data.aws_region.current.name
1818
healthcheck = false
@@ -23,7 +23,7 @@ module "opensearch" {
2323

2424
cluster_name = var.cluster_name
2525
cluster_domain = var.cluster_domain
26-
cluster_version = "1.3"
26+
cluster_version = "2.11"
2727

2828
saml_entity_id = var.saml_entity_id
2929
saml_metadata_content = data.http.saml_metadata.body

Diff for: examples/complete/versions.tf

+2-2
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@ terraform {
66
source = "hashicorp/aws"
77
version = ">= 4.0"
88
}
9-
elasticsearch = {
10-
source = "phillbaker/elasticsearch"
9+
opensearch = {
10+
source = "opensearch-project/opensearch"
1111
version = ">= 2.0"
1212
}
1313
http = {

Diff for: examples/minimal/main.tf

+2-2
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ provider "aws" {
88

99
data "aws_region" "current" {}
1010

11-
provider "elasticsearch" {
11+
provider "opensearch" {
1212
url = module.opensearch.cluster_endpoint
1313
aws_region = data.aws_region.current.name
1414
healthcheck = false
@@ -19,7 +19,7 @@ module "opensearch" {
1919

2020
cluster_name = var.cluster_name
2121
cluster_domain = var.cluster_domain
22-
cluster_version = "1.3"
22+
cluster_version = "2.11"
2323

2424
saml_enabled = false
2525
}

Diff for: examples/minimal/versions.tf

+2-2
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@ terraform {
66
source = "hashicorp/aws"
77
version = ">= 4.0"
88
}
9-
elasticsearch = {
10-
source = "phillbaker/elasticsearch"
9+
opensearch = {
10+
source = "opensearch-project/opensearch"
1111
version = ">= 2.0"
1212
}
1313
http = {

Diff for: index.tf

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
resource "elasticsearch_index" "index" {
1+
resource "opensearch_index" "index" {
22
for_each = local.indices
33

44
name = each.key
@@ -10,8 +10,8 @@ resource "elasticsearch_index" "index" {
1010
force_destroy = true
1111

1212
depends_on = [
13-
elasticsearch_index_template.index_template,
14-
elasticsearch_opensearch_ism_policy.ism_policy,
13+
opensearch_index_template.index_template,
14+
opensearch_ism_policy.ism_policy,
1515
aws_route53_record.opensearch
1616
]
1717

Diff for: index_template.tf

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
1-
resource "elasticsearch_index_template" "index_template" {
1+
resource "opensearch_index_template" "index_template" {
22
for_each = local.index_templates
33

44
name = each.key
55
body = jsonencode(each.value)
66

77
depends_on = [
8-
elasticsearch_opensearch_roles_mapping.master_user_arn,
8+
opensearch_roles_mapping.master_user_arn,
99
aws_route53_record.opensearch
1010
]
1111
}

Diff for: ism_policy.tf

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
1-
resource "elasticsearch_opensearch_ism_policy" "ism_policy" {
1+
resource "opensearch_ism_policy" "ism_policy" {
22
for_each = local.ism_policies
33

44
policy_id = each.key
55
body = jsonencode({ "policy" = each.value })
66

77
depends_on = [
8-
elasticsearch_opensearch_roles_mapping.master_user_arn,
8+
opensearch_roles_mapping.master_user_arn,
99
aws_route53_record.opensearch
1010
]
1111
}

Diff for: role_mapping.tf

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
resource "elasticsearch_opensearch_roles_mapping" "role_mapping" {
1+
resource "opensearch_roles_mapping" "role_mapping" {
22
for_each = {
33
for key, value in local.role_mappings :
44
key => value if !contains(["all_access", "security_manager"], key)
@@ -11,12 +11,12 @@ resource "elasticsearch_opensearch_roles_mapping" "role_mapping" {
1111
users = try(each.value.users, [])
1212

1313
depends_on = [
14-
elasticsearch_opensearch_role.role,
14+
opensearch_role.role,
1515
aws_route53_record.opensearch
1616
]
1717
}
1818

19-
resource "elasticsearch_opensearch_roles_mapping" "master_user_arn" {
19+
resource "opensearch_roles_mapping" "master_user_arn" {
2020
for_each = var.advanced_security_options_internal_user_database_enabled ? {} : {
2121
for key in ["all_access", "security_manager"] :
2222
key => try(local.role_mappings[key], {})
@@ -31,7 +31,7 @@ resource "elasticsearch_opensearch_roles_mapping" "master_user_arn" {
3131
depends_on = [aws_route53_record.opensearch]
3232
}
3333

34-
resource "elasticsearch_opensearch_roles_mapping" "master_user_name" {
34+
resource "opensearch_roles_mapping" "master_user_name" {
3535
for_each = var.advanced_security_options_internal_user_database_enabled ? {
3636
for key in ["all_access", "security_manager"] :
3737
key => try(local.role_mappings[key], {})

Diff for: roles.tf

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
resource "elasticsearch_opensearch_role" "role" {
1+
resource "opensearch_role" "role" {
22
for_each = local.roles
33

44
role_name = each.key
@@ -23,7 +23,7 @@ resource "elasticsearch_opensearch_role" "role" {
2323
}
2424

2525
depends_on = [
26-
elasticsearch_opensearch_roles_mapping.master_user_arn,
26+
opensearch_roles_mapping.master_user_arn,
2727
aws_route53_record.opensearch
2828
]
2929
}

Diff for: variables.tf

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ variable "cluster_name" {
77
variable "cluster_version" {
88
description = "The version of OpenSearch to deploy."
99
type = string
10-
default = "1.0"
10+
default = "2.11"
1111
}
1212

1313
variable "cluster_domain" {

Diff for: versions.tf

+2-2
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@ terraform {
66
source = "hashicorp/aws"
77
version = ">= 4.12.0"
88
}
9-
elasticsearch = {
10-
source = "phillbaker/elasticsearch"
9+
opensearch = {
10+
source = "opensearch-project/opensearch"
1111
version = ">= 2.0.0"
1212
}
1313
}

0 commit comments

Comments
 (0)