DEVOPSTRAINER
Вопросы / IaC (Ansible/Terraform)

Чем отличается `count` от `for_each`?

Краткий ответ

count — это итерация по списку, который содержит целочисленные элементы, for_each — это итерация по корневым ключам словаря, которые могут содержать данные любого типа.

resource "aws_instance" "web" {
count = 3

instance_type = "t2.micro"
ami = data.aws_ami.debian_buster.id
tags = {
Name = "WebServer-${count.index + 1}"
}
}


Описание ресурса выше создаст 3 одинаковых EC2 инстанса, изменив имя с указанием номера текущего состояния счётчика. count начинает отсчет с 0, поэтому чтобы 1 EC2 инстанс был с индексом 1 в имени ему прибавили 1.

```
resource "aws_instance" "server" {
for_each = {
web = { type = "t2.micro", public_ip = true },
db = { type = "m5.large",

Ещё вопросы по теме «IaC (Ansible/Terraform)»

Готовишься к DevOps-собеседованию?
Полные разборы вопросов, карточки с интервальным повторением, квизы и песочница с реальными сломанными Linux-серверами — бесплатно после входа.
Открыть тренажёр →