Как я могу обновить стек CloudFormation с замаскированными параметрами, используя Ansible?
У меня есть стек CloudFormation, который был создан с использованием Ansible cloudformation
модуль, а затем у меня есть некоторые замаскированные параметры, которые были обновлены вручную отдельной операционной группой.
Теперь я хотел бы обновить стек, чтобы выполнить обновление версии, и хотя это легко сделать в консоли AWS и через интерфейс командной строки AWS, я не могу найти способ сделать это через модуль Ansible.
Основываясь на другом посте здесь, было отмечено, что обновления невозможны, и единственным способом было просто не использовать Ansible.
Я пытался использовать Ansible cloudformation_facts
модуль, чтобы попытаться получить параметры безрезультатно. Есть ли какой-либо другой способ получить эти данные из CloudFormation, или мне придется согласиться с тем, что я не могу использовать Ansible?
Заранее спасибо.
0 ответов
Вы можете получить все параметры из облачной информации, используя Ansbile с чем-то вроде следующего:
---
- name: Get CloudFormation stats
cloudformation_facts:
stack_name: "{{ stack_name }}"
region: "{{ region }}"
register: my_stack
Если бы у вас был параметр с именем "subnet-id", вы могли бы посмотреть, как будет выглядеть возвращаемый результат:
---
- name: Get CloudFormation stats
cloudformation_facts:
stack_name: "{{ stack_name }}"
region: "{{ region }}"
register: my_stack
- debug: msg="{{ my_stack.ansible_facts.cloudformation[stack_name].stack_parameters.subnet-id }}"
Возвращение будет выглядеть так:
ok: [localhost] => {
"msg": "subnet12345"
}
Однако, если значения хэшируются, вы не сможете увидеть их значение, поэтому ответ таков: в этом случае вам не следует обновлять информацию о облаке напрямую, если вы пытаетесь перейти на Ansbile. Вместо этого обновите значения в зашифрованном файле на вашем контроле исходного кода и постройте их с помощью Ansible.