Skip to content

Commit 43a6720

Browse files
committed
* Remove blank space in key
* Update advaced security options example * Add READMEs to each example folder * Move advaced security options examples to its own folders
1 parent ebd81d9 commit 43a6720

File tree

21 files changed

+512
-4
lines changed

21 files changed

+512
-4
lines changed
Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
# AWS Elasticsearch domain with Advanced Security Options using master user ARN example
2+
3+
```
4+
module "aws_es" {
5+
6+
source = "lgallard/elasticsearch/aws"
7+
8+
domain_name = var.es_domain_name
9+
elasticsearch_version = var.es_version
10+
11+
cluster_config = {
12+
dedicated_master_enabled = "true"
13+
instance_count = "3"
14+
instance_type = "r5.large.elasticsearch"
15+
zone_awareness_enabled = "true"
16+
availability_zone_count = "3"
17+
}
18+
19+
advanced_security_options = {
20+
enabled = true
21+
internal_user_database_enabled = true
22+
master_user_options = {
23+
master_user_arn = "arn:aws:iam::123456789101:user/lgallard"
24+
}
25+
}
26+
27+
domain_endpoint_options_enforce_https = true
28+
29+
ebs_options = {
30+
ebs_enabled = "true"
31+
volume_size = "25"
32+
}
33+
34+
encrypt_at_rest = {
35+
enabled = "true"
36+
kms_key_id = "arn:aws:kms:us-east-1:123456789101:key/cccc103b-4ba3-5993-6fc7-b7e538b25fd8"
37+
}
38+
39+
40+
log_publishing_options = {
41+
enabled = "true"
42+
}
43+
44+
advanced_options = {
45+
"rest.action.multi.allow_explicit_index" = "true"
46+
}
47+
48+
access_policies = templatefile("${path.module}/whitelits.tpl", {
49+
region = data.aws_region.current.name,
50+
account = data.aws_caller_identity.current.account_id,
51+
domain_name = var.es_domain_name,
52+
whitelist = "${jsonencode(var.whitelist)}"
53+
})
54+
55+
node_to_node_encryption_enabled = "true"
56+
snapshot_options_automated_snapshot_start_hour = "23"
57+
58+
#timeouts_update = "90m"
59+
60+
tags = {
61+
Owner = "sysops"
62+
env = "dev"
63+
}
64+
}
65+
```

examples/advanced_security_options/master_user_arn/main.tf renamed to examples/advanced_security_options_master_user_arn/main.tf

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,14 +21,16 @@ module "aws_es" {
2121
}
2222
}
2323

24+
domain_endpoint_options_enforce_https = true
25+
2426
ebs_options = {
2527
ebs_enabled = "true"
2628
volume_size = "25"
2729
}
2830

2931
encrypt_at_rest = {
3032
enabled = "true"
31-
kms_key_id = "alias/aws/es"
33+
kms_key_id = "arn:aws:kms:us-east-1:123456789101:key/cccc103b-4ba3-5993-6fc7-b7e538b25fd8"
3234
}
3335

3436

Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
# AWS Elasticsearch domain with Advanced Security Options using name and password example
2+
3+
```
4+
module "aws_es" {
5+
6+
source = "lgallard/elasticsearch/aws"
7+
8+
domain_name = var.es_domain_name
9+
elasticsearch_version = var.es_version
10+
11+
cluster_config = {
12+
dedicated_master_enabled = "true"
13+
instance_count = "3"
14+
instance_type = "r5.large.elasticsearch"
15+
zone_awareness_enabled = "true"
16+
availability_zone_count = "3"
17+
}
18+
19+
advanced_security_options = {
20+
enabled = true
21+
internal_user_database_enabled = true
22+
master_user_options = {
23+
master_user_name = "username"
24+
master_user_password = "T0p$ecret"
25+
}
26+
}
27+
28+
domain_endpoint_options = {
29+
enforce_https = true
30+
}
31+
32+
ebs_options = {
33+
ebs_enabled = "true"
34+
volume_size = "25"
35+
}
36+
37+
encrypt_at_rest = {
38+
enabled = "true"
39+
kms_key_id = "arn:aws:kms:us-east-1:123456789101:key/cccc103b-4ba3-5993-6fc7-b7e538b25fd8"
40+
}
41+
42+
43+
log_publishing_options = {
44+
enabled = "true"
45+
}
46+
47+
advanced_options = {
48+
"rest.action.multi.allow_explicit_index" = "true"
49+
}
50+
51+
access_policies = templatefile("${path.module}/whitelits.tpl", {
52+
region = data.aws_region.current.name,
53+
account = data.aws_caller_identity.current.account_id,
54+
domain_name = var.es_domain_name,
55+
whitelist = "${jsonencode(var.whitelist)}"
56+
})
57+
58+
node_to_node_encryption_enabled = "true"
59+
snapshot_options_automated_snapshot_start_hour = "23"
60+
61+
#timeouts_update = "90m"
62+
63+
tags = {
64+
Owner = "sysops"
65+
env = "dev"
66+
}
67+
}
68+
```

0 commit comments

Comments
 (0)