Skip to content

Commit 7024244

Browse files
authored
Merge pull request #14 from clouddrove/CD-330
fixed policy error
2 parents 595bc64 + 90effd7 commit 7024244

File tree

1 file changed

+21
-2
lines changed

1 file changed

+21
-2
lines changed

main.tf

Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -444,7 +444,7 @@ data "aws_iam_policy_document" "default" {
444444

445445
resources = [
446446
var.zone_awareness_enabled ? (var.public_enabled ? join("", aws_elasticsearch_domain.default-public.*.arn) : join("", aws_elasticsearch_domain.default.*.arn)) : (var.public_enabled ? join("", aws_elasticsearch_domain.single-public.*.arn) : join("", aws_elasticsearch_domain.single.*.arn)),
447-
var.zone_awareness_enabled ? (var.public_enabled ? format("%s/*", join("", aws_elasticsearch_domain.default-public.*.arn)) : format("%s/*", join("", aws_elasticsearch_domain.default.*.arn))) : (var.public_enabled ? format("%s/*", join("", aws_elasticsearch_domain.single-public.*.arn)) : format("%s/*", join("", aws_elasticsearch_domain.single.*.arn)))
447+
format("%s/*", (var.zone_awareness_enabled ? (var.public_enabled ? join("", aws_elasticsearch_domain.default-public.*.arn) : join("", aws_elasticsearch_domain.default.*.arn)) : (var.public_enabled ? join("", aws_elasticsearch_domain.single-public.*.arn) : join("", aws_elasticsearch_domain.single.*.arn))))
448448
]
449449

450450
principals {
@@ -462,12 +462,31 @@ data "aws_iam_policy_document" "default" {
462462
}
463463
}
464464

465+
data "aws_iam_policy_document" "vpc" {
466+
count = var.enabled ? 1 : 0
467+
468+
statement {
469+
actions = distinct(compact(var.iam_actions))
470+
effect = "Allow"
471+
472+
resources = [
473+
var.zone_awareness_enabled ? (var.public_enabled ? join("", aws_elasticsearch_domain.default-public.*.arn) : join("", aws_elasticsearch_domain.default.*.arn)) : (var.public_enabled ? join("", aws_elasticsearch_domain.single-public.*.arn) : join("", aws_elasticsearch_domain.single.*.arn)),
474+
format("%s/*", (var.zone_awareness_enabled ? (var.public_enabled ? join("", aws_elasticsearch_domain.default-public.*.arn) : join("", aws_elasticsearch_domain.default.*.arn)) : (var.public_enabled ? join("", aws_elasticsearch_domain.single-public.*.arn) : join("", aws_elasticsearch_domain.single.*.arn))))
475+
]
476+
477+
principals {
478+
type = "AWS"
479+
identifiers = ["*"]
480+
}
481+
}
482+
}
483+
465484
#Module : Elasticsearch Policy
466485
#Description : Terraform module to create Elasticsearch policy resource on AWS.
467486
resource "aws_elasticsearch_domain_policy" "default" {
468487
count = var.enabled ? 1 : 0
469488
domain_name = var.domain_name != "" ? var.domain_name : module.labels.id
470-
access_policies = join("", data.aws_iam_policy_document.default.*.json)
489+
access_policies = var.public_enabled ? join("", data.aws_iam_policy_document.default.*.json) : join("", data.aws_iam_policy_document.vpc.*.json)
471490
}
472491

473492
#Module : ROUTE53

0 commit comments

Comments
 (0)