data "aws_iam_policy_document" "sns_policy" {
statement {
sid = "sub"
effect = "Allow"
resources = [
"${module.sns.topic_arn}/*",
]
actions = [
"sns:Subscribe"
]
principals {
type = "AWS"
identifiers = ["*"]
}
}
}
module "sns" {
source = "terraform-aws-modules/sns/aws"
name = "bug-report-sns-topic"
create_topic_policy = false
topic_policy = data.aws_iam_policy_document.sns_policy.json
}
The validation should pass with no errors.
β·
β Error: Cycle: module.sns.output.topic_arn (expand), data.aws_iam_policy_document.sns_policy, module.sns.var.topic_policy (expand), module.sns.aws_sns_topic.this
β
β
β΅
data "aws_iam_policy_document" "bucket_policy" {
statement {
sid = "AllowReadWriteAccess"
effect = "Allow"
resources = [
module.s3.s3_bucket_arn,
"${module.s3.s3_bucket_arn}/*"
]
principals {
type = "AWS"
identifiers = ["*"]
}
actions = [
"s3:List*",
"s3:Get*",
"s3:DeleteObject"
]
}
}
module "s3" {
source = "terraform-aws-modules/s3-bucket/aws"
bucket = "s3-bucket"
attach_policy = true
policy = data.aws_iam_policy_document.bucket_policy.json
}