#amazon-web-services #terraform #amazon-iam #terraform-provider-aws #terraform0.12
#amazon-web-services #terraform #amazon-iam #terraform-provider-aws #terraform0.12
Вопрос:
Я прикрепляю несколько управляемых политик (существующих) к роли IAM (существующей). Я прикрепляю политики к роли с помощью aws_iam_role_policy_attachment.
resource "aws_iam_role_policy_attachment" "role_logscreate" {
role = data.aws_iam_role.qrm_role_ASM_access.name
policy_arn = "arn:aws:iam::${local.account_id}:policy/pB-CloudWatchLogsCreate"
}
Я хочу добавить «условие защиты», которое привязывает политику, только если она еще не привязана к роли.
Возможно ли это в terraform.12?
Обновление @marcin: мы используем конвейер Teamcity для развертывания ресурсов terraform в 1 клик. большую часть времени мы удаляем «все ресурсы», и в этот раз мы также удаляем эти политики из роли. но иногда используется подход выбора вишни, и IAM не является его частью. таким образом, существует вероятность того, что в роли IAM все еще есть эти политики, и TC сложно обнаружить эти изменения. итак, я хочу добавить условие защиты в свой код Terraform. «Прикреплять только в том случае, если она еще не подключена к IAMRole». надеюсь, есть полный контекст и ясность, почему я хочу добавить эти условия защиты.
Комментарии:
1. Можете ли вы уточнить, чего вы хотите достичь? Если к вашей роли уже подключена данная политика, terraform не добавит ее во второй раз. Поэтому вам не нужно ничего проверять.
2. … и даже если состояние уже показывает политику как прикрепленную, AWS API выдаст ошибку при этом запросе и не попытается ее выполнить.
3. да, API AWS пропустит ошибку, и мой конвейер Teamcity завершится сбоем. Лучше иметь защитную проверку, а не оставлять ее на случай сбоя.