Я использую Ansible для автоматизации управления существующими хостами. Мне бы хотелось, чтобы книга игр была максимально полной, и с этой целью я пытаюсь автоматизировать создание и назначение ролей IAM для экземпляров.
Я видел, что можно назначать роли новым экземплярам. Это не совсем мой вариант использования: https://docs.ansible.com/ansible/latest/modules/ec2_module.html#parameter -instance_profile_name
В этой публикации рекомендуется использовать клиент aws через модуль оболочки для существующих экземпляров: https://www.reddit.com/r/ansible/comments/ah4jcc/how_do_you_attach_an_iam_role_onto_the_ec2/
Но проблема в том, что клиент aws поддерживает две команды:
aws ec2 replace-iam-instance-profile-association
aws ec2 associate-iam-instance-profile
Это означает, что Мне нужно сначала проверить, был ли профиль назначен экземпляру, прежде чем выбрать одну из этих команд. Чтобы выполнить эту проверку, мне нужно использовать третью команду:
aws ec2 describe-iam-instance-profile-associations
Весь этот лог c делает пьесу довольно грязной.
Есть ли более чистый способ достижения sh этого?