community.network.ce_config – Управление разделами конфигурации Huawei CloudEngine.
Примечание
Этот плагин входит в коллекцию community.network (версия 2.0.1).
Для его установки используйте: ansible-galaxy collection install community.network.
Для использования в плейбуке укажите: community.network.ce_config.
Обзор
- Конфигурации Huawei CloudEngine используют простой синтаксис с отступами блоков для разделения конфигурации на разделы. Этот модуль предоставляет реализацию для работы с разделами конфигурации CloudEngine детерминированным способом. Этот модуль работает с транспортами CLI.
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии | |
|---|---|---|---|
| after строка | Упорядоченный набор команд, которые добавляются в конец стека команд, если требуется изменение. Так же, как и с параметром before, это позволяет разработчику плейбука добавить набор команд, которые будут выполнены после набора команд. | ||
| backup логическое значение |
| Этот аргумент заставит модуль создать полную резервную копию текущей current-configuration с удалённого устройства перед внесением каких-либо изменений. Если значение backup_options не указано, резервная копия сохраняется в папку backup в корневом каталоге плейбука. Если каталог не существует, он создаётся. | |
| backup_options словарь | Это объект типа dict, содержащий настраиваемые параметры, связанные с путём к резервной копии. Значение этого параметра считывается только при установленном значении backup в да; если backup установлено в нет, этот параметр будет проигнорирован. | ||
| dir_path путь | Этот параметр задаёт путь, заканчивающийся именем каталога, в котором будет храниться резервная копия конфигурационного файла. Если каталог не существует, он будет создан в первую очередь, а имя файла — либо значение filename, либо имя файла по умолчанию, как описано в filename описании параметров. Если значение пути не указано, в этом случае будет создан каталог backup в текущей рабочей директории, и резервная конфигурация будет скопирована в filename в каталоге backup. | ||
| filename строка | Имя файла, используемое для хранения резервной копии конфигурации. Если имя файла не указано, оно генерируется на основе имени хоста, текущей даты и времени в формате <hostname>_config.<current-date>@<current-time> | ||
| before строка | Упорядоченный набор команд, которые добавляются в стек команд, если требуется изменение. Это позволяет разработчику плейбука выполнить команды конфигурации перед добавлением каких-либо изменений, не затрагивая порядок сопоставления команд с системой. | ||
| config строка | По умолчанию модуль подключится к удалённому устройству и получит текущую конфигурацию для сравнения с содержимым источника. В некоторых случаях нежелательно получать текущую конфигурацию для каждой задачи в плейбуке. Аргумент config позволяет разработчику передать конфигурацию, используемую в качестве базовой конфигурации для сравнения. | ||
| defaults логическое значение |
| Аргумент defaults повлияет на то, как собирается текущая конфигурация с устройства. При значении да команда для сбора текущей конфигурации дополняется ключевым словом all. При значении нет команда выполняется без ключевого слова all. | |
| lines строка | Упорядоченный набор команд, которые должны быть настроены в разделе. Команды должны быть идентичны командам в текущей конфигурации устройства. Убедитесь, что вы учли синтаксис команд конфигурации, так как некоторые команды автоматически изменяются анализатором конфигурации устройства. | ||
| match строка |
| Указывает модулю способ сопоставления набора команд с текущей конфигурацией устройства. Если match установлен в строка, команды сопоставляются по строкам. Если match установлен в строгое, строки команд сопоставляются с учётом позиции. Если match установлен в точное, строки команд должны быть точным соответствием. Наконец, если match установлен в нет, модуль не будет пытаться сравнить конфигурацию источника с текущей конфигурацией на удалённом устройстве. | |
| parents строка | Упорядоченный набор родителей, которые однозначно идентифицируют раздел или иерархию, с которыми должны сравниваться команды. Если аргумент parents опущен, команды сравниваются с набором команд верхнего уровня или глобальных команд. | ||
| replace строка |
| Указывает модулю способ выполнения конфигурации на устройстве. Если аргумент replace установлен в строка, изменённые строки передаются устройству в режиме конфигурации. Если аргумент replace установлен в блок, весь блок команд передаётся устройству в режиме конфигурации, если какая-либо строка неверна. | |
| save логическое значение |
| Аргумент save сообщает модулю сохранить текущую конфигурацию в сохранённую конфигурацию. Эта операция выполняется после внесения любых изменений в текущую рабочую конфигурацию. Если изменений нет, конфигурация всё равно сохраняется в стартовую конфигурацию. Этот параметр всегда заставит модуль возвратить значение «изменилось». | |
| src строка | Аргумент src предоставляет путь к файлу конфигурации, который нужно загрузить в удалённую систему. Путь может быть полным системным путём к файлу конфигурации, если значение начинается с /, или относительным к корню реализованного роли или плейбука. Этот аргумент взаимоисключает аргументы lines и parents. | ||
Примечания
Примечание
- Рекомендуемое соединение —
network_cli. - Этот модуль также работает с
localподключениями для устаревших плейбуков.
Примеры
# Note: examples below use the following provider dict to handle
# transport and authentication to the node.
- name: CloudEngine config test
hosts: cloudengine
connection: local
gather_facts: no
vars:
cli:
host: "{{ inventory_hostname }}"
port: "{{ ansible_ssh_port }}"
username: "{{ username }}"
password: "{{ password }}"
transport: cli
tasks:
- name: "Configure top level configuration and save it"
community.network.ce_config:
lines: sysname {{ inventory_hostname }}
save: yes
provider: "{{ cli }}"
- name: "Configure acl configuration and save it"
community.network.ce_config:
lines:
- rule 10 permit source 1.1.1.1 32
- rule 20 permit source 2.2.2.2 32
- rule 30 permit source 3.3.3.3 32
- rule 40 permit source 4.4.4.4 32
- rule 50 permit source 5.5.5.5 32
parents: acl 2000
before: undo acl 2000
match: exact
provider: "{{ cli }}"
- name: "Configure acl configuration and save it"
community.network.ce_config:
lines:
- rule 10 permit source 1.1.1.1 32
- rule 20 permit source 2.2.2.2 32
- rule 30 permit source 3.3.3.3 32
- rule 40 permit source 4.4.4.4 32
parents: acl 2000
before: undo acl 2000
replace: block
provider: "{{ cli }}"
- name: Configurable backup path
community.network.ce_config:
lines: sysname {{ inventory_hostname }}
provider: "{{ cli }}"
backup: yes
backup_options:
filename: backup.cfg
dir_path: /home/user
Возвращаемые значения
Общие возвращаемые значения документированы здесь, следующие поля уникальны для этого модуля:
| Ключ | Возвращённое значение | Описание |
|---|---|---|
| backup_path строка | при backup равно да | Полный путь к резервному файлу Пример: /playbooks/ansible/backup/ce_config.2016-07-16@22:28:34 |
| updates список / элементы=строка | только при указании lines | Набор команд, которые будут переданы на удалённое устройство Пример: ['...', '...'] |
Авторы
- QijunPan (@QijunPan)
© 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/community/network/ce_config_module.html