Я наткнулся на пример кода terraform относительно шаблона_файла в приведенной ниже ссылке
https://blog.james-carr.org/using-templates-in-terraform-17bb8f4a0aac
policy / s3_bucket_readonly. json .tpl
{
"Version": "2012-10-17",
"Statement": [
{
"Action": [
"s3:GetObject",
"s3:ListBucket"
],
"Resource": [
"arn:aws:s3:::${bucket_name}",
"arn:aws:s3:::${bucket_name}/${key_prefix}"
],
"Effect": "Allow"
}
]
}
Сценарий Terraform
data "template_file" "cloud-trail-logs-s3-readonly" {
template = "${file("policies/s3_bucket_readonly.json.tpl")}"
vars {
bucket_name = "${aws_s3_bucket.cloudtrail-logs.bucket}"
key_prefix = "AWSLogs/*"
}
}
resource "aws_s3_bucket" "cloudtrail-logs" {
bucket = "cloudtrail-logs"
acl = "private"
lifecycle_rule {
enabled = true
noncurrent_version_expiration {
days = 30
}
}
}
resource "aws_iam_policy" "cloudtrail-logs-readonly" {
name = "prod-cloudtrail-logs-s3-readonly"
path = "/production/"
description = "Readonly access to cloudtrail-logs bucket"
policy = "${data.template_file.cloud-trail-logs-s3-readonly.rendered}"
}
Может кто-нибудь объяснить, что на самом деле делает $ {data.template_file.cloud-trail-logs-s3-readonly.rendered} ?? Применяет ли он просто значения переменных шаблона к policy / s3_bucket_readonly. json .tpl и добавляет то же самое, что и политика ?? Если да, то, что означает ".rendered" или означает ??