Как я могу обновить стек 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.

Другие вопросы по тегам