AWS Notes — Amazon Web Services Educational and Information Channel
Chat: https://t.me/aws_notes_chat
Contacts: @apple_rom, https://www.linkedin.com/in/roman-siewko/
No ads.
Post #3227
3.55K
🆕 Terraform v1.11:
🔸 Write Only атрибуты для ресурсов, которые не записываются в стэйт
🔹 DynamoDB lock теперь deprecated, для лока по дефолту использует чисто S3
🔹 поддержка JUnit XML:
https://github.com/hashicorp/terraform/releases/tag/v1.11.0
Избавление от DynamoDB было ещё в прошлой версии, теперь же это GA и окончательно deprecated для
Главная фича — возможность использования ephemeral ресурсов, которые существуют лишь на этапе
Вот как теперь может выглядеть создание RDS с генерацией случайного пароля с передачей его через секреты:
Сто лет изначально ожидаемая фича. Можно, наконец, забороть сложные compliance требования, где сохранение паролей в state всегда вызывало претензии со стороны безопасников.
Отдельно добавляю, что появление фичи
#Terraform
🔸 Write Only атрибуты для ресурсов, которые не записываются в стэйт
🔹 DynamoDB lock теперь deprecated, для лока по дефолту использует чисто S3
🔹 поддержка JUnit XML:
terraform test -junit-xmlhttps://github.com/hashicorp/terraform/releases/tag/v1.11.0
Избавление от DynamoDB было ещё в прошлой версии, теперь же это GA и окончательно deprecated для
dynamodb_table = "my-tf-state-lock".Главная фича — возможность использования ephemeral ресурсов, которые существуют лишь на этапе
plan + apply первый раз при создании ресурса (то есть временно/однократно). Они не попадают в стэйт, точней имеют там значение null и после никогда там не обновляются.Вот как теперь может выглядеть создание RDS с генерацией случайного пароля с передачей его через секреты:
provider "aws" {
region = "us-east-1"
}
ephemeral "random_password" "db_password" {
length = 16
}
resource "aws_secretsmanager_secret" "db_password" {
name = "db_password"
}
resource "aws_secretsmanager_secret_version" "db_password" {
secret_id = aws_secretsmanager_secret.db_password.id
secret_string_wo = ephemeral.random_password.db_password.result
secret_string_wo_version = 1
}
ephemeral "aws_secretsmanager_secret_version" "db_password" {
secret_id = aws_secretsmanager_secret.db_password.id
}
resource "aws_db_instance" "example" {
instance_class = "db.t4g.small"
allocated_storage = "20"
engine = "postgres"
username = "myuser"
skip_final_snapshot = true
password_wo = ephemeral.aws_secretsmanager_secret_version.db_password.secret_string
password_wo_version = 1
}Отдельно добавляю, что появление фичи
password_wo вполне можно считать результатом конкуренции с OpenTofu. И это очень хорошо.#Terraform
- 👍 38
- ❤ 1
- 😁 1







