Как я могу обновить стек CloudFormation с замаскированными параметрами, используя Ansible? - PullRequest
0 голосов
/ 21 февраля 2019

У меня есть стек CloudFormation, который был создан с использованием модуля Ansible cloudformation , а затем у меня есть некоторые маскированные параметры, которые были обновлены вручную отдельной операционной группой.

Теперь яхотел бы обновить стек для выполнения обновления версии, и хотя это легко сделать в консоли AWS и через интерфейс командной строки AWS, я не могу найти способ сделать это через модуль Ansible.

Основываясь на другом посте здесь , было отмечено, что обновления невозможны, и единственным способом было просто не использовать Ansible.

Я пытался использовать модуль Ansible cloudformation_facts , чтобы попытаться получить параметры безрезультатно.Есть ли другой способ получить эти данные из CloudFormation, или мне придется согласиться с тем, что я не могу использовать Ansible?

Заранее спасибо.

1 Ответ

0 голосов
/ 12 апреля 2019

Вы можете получить все параметры из облачной информации, используя 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.

...