Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adding support for opensearch domains #144

Merged
merged 34 commits into from
Feb 13, 2024
Merged
Changes from 2 commits
Commits
Show all changes
34 commits
Select commit Hold shift + click to select a range
be01e9e
adding initial support for opensearch domains
Oct 14, 2022
1e9c385
Auto Format
cloudpossebot Oct 14, 2022
5b3b835
Fix var validation
Oct 14, 2022
922c5f0
Merge branch 'add-opensearch' of github.com:cloudposse/terraform-aws-…
Oct 14, 2022
5926636
Updating outputs
Oct 14, 2022
b732798
Auto Format
cloudpossebot Oct 14, 2022
e025ec3
Convert log options to dynamic blocks
Oct 14, 2022
c236629
Removing restricition that prevents dev single instance instances
Oct 14, 2022
80d0ccd
Adding anonymous_iam_actions var/support
Oct 17, 2022
a74671f
Auto Format
cloudpossebot Oct 17, 2022
3acf280
Adding support for additional policies
Oct 18, 2022
28e0753
Merge branch 'add-opensearch' of github.com:cloudposse/terraform-aws-…
Oct 18, 2022
9c26327
Fixing additional_policy_documents var type
Oct 18, 2022
461951b
Auto Format
cloudpossebot Oct 18, 2022
4ca0cb5
Ading policy sid
Oct 18, 2022
abb90e5
Auto Format
cloudpossebot Oct 18, 2022
5898808
source_policy_documents
Oct 18, 2022
14fc08b
Merge branch 'add-opensearch' of github.com:cloudposse/terraform-aws-…
Oct 18, 2022
6e392ea
Adding overrides for policy statements
Oct 18, 2022
70cbd6d
Auto Format
cloudpossebot Oct 18, 2022
e57142c
Removing additional policy statements
Oct 19, 2022
949c2f8
Merge branch 'add-opensearch' of github.com:cloudposse/terraform-aws-…
Oct 19, 2022
29c1c32
Auto Format
cloudpossebot Oct 19, 2022
78a927f
Merge branch 'main' into add-opensearch
Benbentwo Feb 12, 2024
54a7973
update readme
Benbentwo Feb 12, 2024
83bf182
deduplicate domain
Benbentwo Feb 12, 2024
43cbd9c
terraform fmt
Benbentwo Feb 12, 2024
72e3385
update tflint
Benbentwo Feb 12, 2024
d81ae34
Update elasticsearch_domain.tf
Benbentwo Feb 12, 2024
d3868b6
add new example, revert to join("" to avoid type changes during this …
Benbentwo Feb 12, 2024
c06c310
Update elasticsearch_domain.tf
Benbentwo Feb 12, 2024
f862976
cleanup unused provider
Benbentwo Feb 12, 2024
1bcd7b3
update readme and docs
Benbentwo Feb 12, 2024
f469cc4
update readme
Benbentwo Feb 13, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -207,7 +207,7 @@ Available targets:

| Name | Description | Type | Default | Required |
|------|-------------|------|---------|:--------:|
| <a name="input_additional_policy_documents"></a> [additional\_policy\_documents](#input\_additional\_policy\_documents) | List of json policy docs in string format to be added in addition to default generated policy. | `list(any)` | `[]` | no |
| <a name="input_additional_policy_documents"></a> [additional\_policy\_documents](#input\_additional\_policy\_documents) | List of json policy docs in string format to be added in addition to the default generated policy statements. | `list(string)` | `[]` | no |
| <a name="input_additional_tag_map"></a> [additional\_tag\_map](#input\_additional\_tag\_map) | Additional key-value pairs to add to each map in `tags_as_list_of_maps`. Not added to `tags` or `id`.<br>This is for some rare cases where resources want additional configuration of tags<br>and therefore take a list of maps with tag key, value, and additional configuration. | `map(string)` | `{}` | no |
| <a name="input_advanced_options"></a> [advanced\_options](#input\_advanced\_options) | Key-value string pairs to specify advanced configuration options | `map(string)` | `{}` | no |
| <a name="input_advanced_security_options_enabled"></a> [advanced\_security\_options\_enabled](#input\_advanced\_security\_options\_enabled) | AWS Elasticsearch Kibana enchanced security plugin enabling (forces new resource) | `bool` | `false` | no |
@@ -276,6 +276,7 @@ Available targets:
| <a name="input_name"></a> [name](#input\_name) | ID element. Usually the component or solution name, e.g. 'app' or 'jenkins'.<br>This is the only ID element not also included as a `tag`.<br>The "name" tag is set to the full `id` string. There is no tag with the value of the `name` input. | `string` | `null` | no |
| <a name="input_namespace"></a> [namespace](#input\_namespace) | ID element. Usually an abbreviation of your organization name, e.g. 'eg' or 'cp', to help ensure generated IDs are globally unique | `string` | `null` | no |
| <a name="input_node_to_node_encryption_enabled"></a> [node\_to\_node\_encryption\_enabled](#input\_node\_to\_node\_encryption\_enabled) | Whether to enable node-to-node encryption | `bool` | `false` | no |
| <a name="input_override_policy_documents"></a> [override\_policy\_documents](#input\_override\_policy\_documents) | List of json policy docs in string format to be used as overrides to the default generated policy statements. | `list(string)` | `[]` | no |
| <a name="input_regex_replace_chars"></a> [regex\_replace\_chars](#input\_regex\_replace\_chars) | Terraform regular expression (regex) string.<br>Characters matching the regex will be removed from the ID elements.<br>If not set, `"/[^a-zA-Z0-9-]/"` is used to remove all characters other than hyphens, letters and digits. | `string` | `null` | no |
| <a name="input_security_groups"></a> [security\_groups](#input\_security\_groups) | List of security group IDs to be allowed to connect to the cluster | `list(string)` | `[]` | no |
| <a name="input_stage"></a> [stage](#input\_stage) | ID element. Usually used to indicate role, e.g. 'prod', 'staging', 'source', 'build', 'test', 'deploy', 'release' | `string` | `null` | no |
3 changes: 2 additions & 1 deletion docs/terraform.md
Original file line number Diff line number Diff line change
@@ -44,7 +44,7 @@

| Name | Description | Type | Default | Required |
|------|-------------|------|---------|:--------:|
| <a name="input_additional_policy_documents"></a> [additional\_policy\_documents](#input\_additional\_policy\_documents) | List of json policy docs in string format to be added in addition to default generated policy. | `list(any)` | `[]` | no |
| <a name="input_additional_policy_documents"></a> [additional\_policy\_documents](#input\_additional\_policy\_documents) | List of json policy docs in string format to be added in addition to the default generated policy statements. | `list(string)` | `[]` | no |
| <a name="input_additional_tag_map"></a> [additional\_tag\_map](#input\_additional\_tag\_map) | Additional key-value pairs to add to each map in `tags_as_list_of_maps`. Not added to `tags` or `id`.<br>This is for some rare cases where resources want additional configuration of tags<br>and therefore take a list of maps with tag key, value, and additional configuration. | `map(string)` | `{}` | no |
| <a name="input_advanced_options"></a> [advanced\_options](#input\_advanced\_options) | Key-value string pairs to specify advanced configuration options | `map(string)` | `{}` | no |
| <a name="input_advanced_security_options_enabled"></a> [advanced\_security\_options\_enabled](#input\_advanced\_security\_options\_enabled) | AWS Elasticsearch Kibana enchanced security plugin enabling (forces new resource) | `bool` | `false` | no |
@@ -113,6 +113,7 @@
| <a name="input_name"></a> [name](#input\_name) | ID element. Usually the component or solution name, e.g. 'app' or 'jenkins'.<br>This is the only ID element not also included as a `tag`.<br>The "name" tag is set to the full `id` string. There is no tag with the value of the `name` input. | `string` | `null` | no |
| <a name="input_namespace"></a> [namespace](#input\_namespace) | ID element. Usually an abbreviation of your organization name, e.g. 'eg' or 'cp', to help ensure generated IDs are globally unique | `string` | `null` | no |
| <a name="input_node_to_node_encryption_enabled"></a> [node\_to\_node\_encryption\_enabled](#input\_node\_to\_node\_encryption\_enabled) | Whether to enable node-to-node encryption | `bool` | `false` | no |
| <a name="input_override_policy_documents"></a> [override\_policy\_documents](#input\_override\_policy\_documents) | List of json policy docs in string format to be used as overrides to the default generated policy statements. | `list(string)` | `[]` | no |
| <a name="input_regex_replace_chars"></a> [regex\_replace\_chars](#input\_regex\_replace\_chars) | Terraform regular expression (regex) string.<br>Characters matching the regex will be removed from the ID elements.<br>If not set, `"/[^a-zA-Z0-9-]/"` is used to remove all characters other than hyphens, letters and digits. | `string` | `null` | no |
| <a name="input_security_groups"></a> [security\_groups](#input\_security\_groups) | List of security group IDs to be allowed to connect to the cluster | `list(string)` | `[]` | no |
| <a name="input_stage"></a> [stage](#input\_stage) | ID element. Usually used to indicate role, e.g. 'prod', 'staging', 'source', 'build', 'test', 'deploy', 'release' | `string` | `null` | no |
2 changes: 1 addition & 1 deletion main.tf
Original file line number Diff line number Diff line change
@@ -141,7 +141,7 @@ data "aws_iam_policy_document" "default" {
# https://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-ac.html#es-ac-types-ip
# https://aws.amazon.com/premiumsupport/knowledge-center/anonymous-not-authorized-elasticsearch/
dynamic "statement" {
for_each = length(var.allowed_cidr_blocks) > 0 && !var.vpc_enabled ? [true] : []
for_each = length(var.allowed_cidr_blocks) > 0 && ! var.vpc_enabled ? [true] : []
content {
sid = "Anonymous"