ansible.builtin.add_host – Добавление хоста (и, по-альтернативе, группы) в инвентарь ansible-playbook в оперативной памяти
Примечание
Этот модуль является частью ansible-base и включен во все установки Ansible. В большинстве случаев вы можете использовать короткое имя модуля add_host даже без указания ключевого слова collections:. Несмотря на это, мы рекомендуем использовать FQCN для легкой ссылки на документацию по модулю и для предотвращения конфликтов с другими коллекциями, которые могут иметь то же имя модуля.
Новый в версии 0.9: of ansible.builtin
Описание
- Используйте переменные для создания новых хостов и групп в инвентаре для использования в последующих задачах того же плейбука.
- Принимает переменные, чтобы вы могли более полно определить новые хосты.
- Этот модуль также поддерживает целевые системы Windows.
Примечание
У этого модуля есть соответствующий плагин действий.
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| groups список / элементы=строка | Группы, к которым добавляется имя хоста. псевдонимы: group, groupname | |
| name строка / обязательно | Имя хоста/IP адреса хоста, который нужно добавить в инвентарь, может включать двоеточие и номер порта. псевдонимы: host, hostname |
Примечания
Примечание
- Этот модуль обходит цикл хостов плей и выполняется только один раз для всех хостов в плей, если вам нужно выполнить итерацию, используйте конструкцию
loop. Если вам нужно динамически добавлять все хосты, на которые направлен плейбук, для последующего использования, модульgroup_byпотенциально является лучшим выбором. - Псевдоним
hostпараметраnameдоступен только в Ansible 2.4 и более поздних версиях. - Начиная с Ansible 2.4, переменная
inventory_dirтеперь устанавливается в значениеNone, а не в «глобальный источник инвентаря», потому что теперь у вас может быть несколько источников. В примере показано, как частично восстановить предыдущее поведение. - Этот модуль поддерживает целевые системы Windows.
- Хотя этот модуль не изменяет удаленный хост, мы предоставляем статус «изменён», так как это может быть полезно для тех, кто пытается отслеживать изменения инвентаря.
См. также
См. также
- ansible.builtin.group_by
-
Официальная документация по модулю ansible.builtin.group_by.
Примеры
- name: Add host to group 'just_created' with variable foo=42
add_host:
name: '{{ ip_from_ec2 }}'
groups: just_created
foo: 42
- name: Add host to multiple groups
add_host:
hostname: '{{ new_ip }}'
groups:
- group1
- group2
- name: Add a host with a non-standard port local to your machines
add_host:
name: '{{ new_ip }}:{{ new_port }}'
- name: Add a host alias that we reach through a tunnel (Ansible 1.9 and older)
add_host:
hostname: '{{ new_ip }}'
ansible_ssh_host: '{{ inventory_hostname }}'
ansible_ssh_port: '{{ new_port }}'
- name: Add a host alias that we reach through a tunnel (Ansible 2.0 and newer)
add_host:
hostname: '{{ new_ip }}'
ansible_host: '{{ inventory_hostname }}'
ansible_port: '{{ new_port }}'
- name: Ensure inventory vars are set to the same value as the inventory_hostname has (close to pre Ansible 2.4 behaviour)
add_host:
hostname: charlie
inventory_dir: '{{ inventory_dir }}'
- name: Add all hosts running this playbook to the done group
add_host:
name: '{{ item }}'
groups: done
loop: "{{ ansible_play_hosts }}"
Авторы
- Команда Ansible Core
- Сет Видаль (@skvidal)
© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/ansible/builtin/add_host_module.html