ce_config – Управление разделами конфигурации Huawei CloudEngine
Новая версия с 2.4.
Обзор
- Конфигурации Huawei CloudEngine используют простой синтаксис блочного отступа для разделения конфигурации на секции. Этот модуль предоставляет реализацию для работы с разделами конфигурации CloudEngine детерминированным способом. Этот модуль работает с транспортом CLI.
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии | |
|---|---|---|---|
| after - | Упорядоченный набор команд для добавления в конец стека команд, если необходимо внести изменение. Так же, как и с before, это позволяет разработчику playbook добавить набор команд, которые будут выполнены после набора команд. | ||
| backup boolean |
| Этот аргумент заставит модуль создать полную резервную копию текущей current-configuration с удаленного устройства перед внесением каких-либо изменений. Если значение backup_options не указано, файл резервной копии записывается в папку backup в корневом каталоге playbook. Если каталог не существует, он создается. | |
| backup_options словарь добавлено в 2.8 | Это объект словаря, содержащий настраиваемые параметры, связанные с путем к файлу резервной копии. Значение этого параметра считывается только когда backup установлено в yes, если backup установлено в no, этот параметр будет проигнорирован. | ||
| dir_path путь | Этот параметр указывает путь, заканчивающийся именем каталога, в котором будет храниться файл резервной копии конфигурации. Если каталог не существует, он будет создан в первую очередь, а имя файла будет либо значением filename, или именем файла по умолчанию, как описано в описании параметров filename. Если путь не указан, в этом случае будет создан каталог backup в текущем рабочем каталоге, и резервная копия конфигурации будет скопирована в filename внутри каталога backup. | ||
| filename - | Имя файла, которое будет использоваться для хранения резервной копии конфигурации. Если имя файла не указано, оно будет сгенерировано на основе имени хоста, текущей даты и времени в формате <имя_хоста>_config.<дата>@<время>. | ||
| before - | Упорядоченный набор команд, которые будут добавлены в стек команд, если нужно внести изменение. Это позволяет разработчику playbook выполнить команды конфигурации до добавления каких-либо изменений, не влияя на способ сопоставления набора команд с системой. | ||
| config - | Модуль по умолчанию подключается к удаленному устройству и извлекает текущую конфигурацию для использования в качестве базы для сравнения с содержимым исходного файла. Бывают случаи, когда нежелательно, чтобы задача извлекала текущую конфигурацию для каждой задачи в playbook. Аргумент config позволяет разработчику передать конфигурацию для использования в качестве базовой конфигурации для сравнения. | ||
| defaults boolean |
| Аргумент defaults повлияет на то, как собирается текущая конфигурация с устройства. Когда значение установлено в true, к команде, используемой для сбора текущей конфигурации, добавляется ключевое слово all. Когда значение установлено в false, команда выполняется без ключевого слова all. | |
| lines - | Упорядоченный набор команд, которые должны быть настроены в секции. Команды должны быть точно такими же, как в текущей конфигурации устройства. Обратите внимание на синтаксис команд конфигурации, поскольку некоторые команды автоматически изменяются анализатором конфигурации устройства. | ||
| match - |
| Указывает модулю способ сопоставления набора команд с текущей конфигурацией устройства. Если match установлено в line, команды сопоставляются построчно. Если match установлено в strict, строки команд сопоставляются относительно позиции. Если match установлено в exact, строки команд должны быть точным соответствием. Наконец, если match установлено в none, модуль не будет пытаться сравнить исходную конфигурацию с текущей конфигурацией на удаленном устройстве. | |
| parents - | Упорядоченный набор родителей, которые однозначно идентифицируют раздел или иерархию, по которым должны проверяться команды. Если аргумент parents опущен, команды проверяются по отношению к набору команд верхнего уровня или глобальных команд. | ||
| replace - |
| Указывает модулю способ выполнения конфигурации на устройстве. Если аргумент replace установлен в line, измененные строки отправляются на устройство в режиме конфигурации. Если аргумент replace установлен в block, весь блок команды отправляется на устройство в режиме конфигурации, если какая-либо строка неверна. | |
| save boolean |
| Аргумент save указывает модулю сохранить текущую конфигурацию в сохраненную конфигурацию. Эта операция выполняется после внесения любых изменений в текущую рабочую конфигурацию. Если изменений нет, конфигурация все равно сохраняется в стартовой конфигурации. Этот параметр всегда заставит модуль вернуть измененные данные. | |
| src - | Аргумент src предоставляет путь к файлу конфигурации, который необходимо загрузить в удаленную систему. Путь может быть полным системным путем к файлу конфигурации, если значение начинается с /, или относительным к корню реализованного роли или playbook. Этот аргумент является взаимоисключающим с аргументами lines и parents. | ||
Примечания
Примечание
- Рекомендуемое подключение —
network_cli. - Этот модуль также работает с подключениями
localдля устаревших playbooks.
Примеры
# 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"
ce_config:
lines: sysname {{ inventory_hostname }}
save: yes
provider: "{{ cli }}"
- name: "Configure acl configuration and save it"
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"
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
ce_config:
lines: sysname {{ inventory_hostname }}
provider: "{{ cli }}"
backup: yes
backup_options:
filename: backup.cfg
dir_path: /home/user
Возвращаемые значения
Общие возвращаемые значения описаны здесь, следующие поля уникальны для этого модуля:
| Ключ | Возвращаемое значение | Описание |
|---|---|---|
| backup_path строка | при backup=yes | Полный путь к файлу резервной копии Пример: /playbooks/ansible/backup/ce_config.2016-07-16@22:28:34 |
| updates список | Только когда задан lines. | Набор команд, которые будут отправлены на удаленное устройство Пример: ['...', '...'] |
Статус
- Этот модуль не гарантирует обратную совместимость интерфейса. [preview]
- Этот модуль поддерживается сообществом Ansible. [community]
Авторы
- QijunPan (@QijunPan)
Подсказка
Если вы заметите какие-либо проблемы в этой документации, вы можете отредактировать этот документ, чтобы улучшить его.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.8/modules/ce_config_module.html