- (Модуль пользователя IAM используется повторно + выходные данные потребляются)
- Данный проект отвечает на следующие вопросы:**
- ** Корневой модуль против дочернего модуля Входы и выходы повторное использование модулей Как root обрабатывает вывод дочерних процессов Поведение состояния
1️⃣ Структура проекта (СТИЛЬ СЕРТИФИКАЦИИ)
project-1-iam-reuse/
├── main.tf
└── modules/
└── iam-user/
├── main.tf
├── variables.tf
└── outputs.tf
2️⃣ Дочерний модуль — Пользователь IAM
modules/iam-user/variables.tf
variable "user_name" {
type = string
}
modules/iam-user/main.tf
resource "aws_iam_user" "this" {
name = var.user_name
}
modules/iam-user/outputs.tf
output "user_arn" {
value = aws_iam_user.this.arn
}
3️⃣ Корневой модуль — повторное использование ОДНОГО И ТОГО ЖЕ модуля дважды
main.tf
provider "aws" {
region = "us-west-1"
}
module "dev_user" {
source = "./modules/iam-user"
user_name = "dev-user"
}
module "prod_user" {
source = "./modules/iam-user"
user_name = "prod-user"
}
output "dev_user_arn" {
value = module.dev_user.user_arn
}
output "prod_user_arn" {
value = module.prod_user.user_arn
}
4️⃣ Команды (ОЖИДАЕТСЯ НА ЭКЗАМЕНЕ)
terraform init
terraform plan
terraform apply
5️⃣ Что демонстрирует этот проект (составление карты экзамена)
Тема экзамена Продемонстрировано
Корневой модуль main.tf
Дочерний модуль modules/iam-user
повторное использование модулей Один и тот же модуль дважды
Входные переменные user_name
Выходы user_arn
Выходное потребление module.dev_user.user_arn
Поведение состояния Оба пользователя находятся в одном и том же состоянии.
6️⃣ Ответы на экзаменационные вопросы (ИЗ ЭТОГО ПРОЕКТА)
В: Можно ли использовать один и тот же модуль несколько раз?
✔️ ДА — продемонстрировано на примере
dev_user и prod_user
В: Где хранятся выходные данные модуля?
✔️ Состояние Terraform
В: Удаление корневого модуля приводит к удалению дочерних ресурсов?
✔️ ДА — все ресурсы отслеживаются в состоянии
Top comments (0)