ДД
Size: a a a
ДД
AK
AK
AK
AK
AK
ДД
AR
AK
data.aws_caller_identityДД
aws_sqs_queue в аттрибуте policy, т.е полиси сначала добавилась туда нормально, а последующие apply вызывают такую проблемуAR
ДД
AK
AR
AK
ДД
module "sqs" {
source = "terraform-aws-modules/sqs/aws"
version = "~> 2.0"
depends_on = [
module.sqs_dlq
]
for_each = local.queues_sorted
name = "${var.prefix}-${var.environment}-sqs-${var.application}-${each.key}"
policy = data.aws_iam_policy_document.sqs_policy[each.key].json
}
# module.sqs["function-name"].aws_sqs_queue.this[0] has been changed
~ resource "aws_sqs_queue" "this" {
name = "infra-dev-sqs-function-name"
~ policy = jsonencode(
~ {
~ Statement = [
~ {
~ Principal = {
~ AWS = [
- "arn:aws:iam::account-id:role/wr-infra-dev-role",
"arn:aws:iam::account-id:root",
+ "arn:aws:iam::account-id:role/wr-infra-dev-role",
]
}
# (4 unchanged elements hidden)
},
]
# (2 unchanged elements hidden)
}
)
# (12 unchanged attributes hidden)
}
модуль terraform-aws-modules/sqs/aws просто обертка над самим ресурсом очереди, для удобства output, проблема не должна быть в нем насколько понимаю)ДД
ДД
data "aws_iam_policy_document" "sqs_policy" {
for_each = var.queues_list
policy_id = "sqs_${each.key}"
statement {
sid = "AllowSendReceiveFromOwnAccount"
effect = "Allow"
principals {
type = "AWS"
identifiers = [
data.aws_caller_identity.current.account_id,
"arn:aws:iam::${data.aws_caller_identity.current.account_id}:role/${var.prefix}-${var.environment}-role-${var.application}"
]
}
actions = [
"sqs:ChangeMessageVisibility",
"sqs:DeleteMessage",
"sqs:GetQueueUrl",
"sqs:ReceiveMessage",
"sqs:SendMessage"
]
resources = ["arn:aws:sqs:*:${data.aws_caller_identity.current.account_id}:${var.prefix}-${var.environment}-sqs-${var.application}-${each.key}"]
}
dynamic "statement" {
for_each = each.value.sns_topic != null ? [1] : []
content {
sid = "AllowSendFromSnsSubscriptionTopic"
effect = "Allow"
principals {
type = "Service"
identifiers = ["sns.amazonaws.com"]
}
actions = [
"sqs:SendMessage"
]
resources = [
"arn:aws:sqs:*:${data.aws_caller_identity.current.account_id}:${var.prefix}-${var.environment}-${var.application}-${each.key}",
"arn:aws:sqs:*:${data.aws_caller_identity.current.account_id}:${var.prefix}-${var.environment}-sqs-${var.application}-${each.key}",
]
condition {
test = "ArnEquals"
variable = "aws:SourceArn"
values = [each.value.sns_topic]
}
}
}
}AK
AK