Spec-Zone.ru › Ansible 2.9

asa_config – Управление секциями конфигурации на устройствах Cisco ASA

  • Обзор
  • Параметры
  • Примечания
  • Примеры
  • Возвращаемые значения
  • Статус

Обзор

  • Конфигурации Cisco ASA используют простой синтаксис с отступами для разделения конфигурации на секции. Этот модуль предоставляет реализацию для работы с секциями конфигурации ASA детерминированным способом.

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
after
-
Упорядоченный набор команд, которые добавляются в конец стека команд, если требуется внести изменения. Так же, как и с параметром before, это позволяет разработчику плейбука добавить набор команд, которые будут выполнены после набора команд.
authorize
boolean
    Варианты:
  • no ←
  • yes
Устарело
Начиная с Ansible 2.5, рекомендуется использовать connection: network_cli и become: yes.
Для получения дополнительной информации, пожалуйста, обратитесь к Руководству по сети.
Указывает модулю войти в привилегированный режим на удалённом устройстве перед отправкой любых команд. Если не указано, устройство попытается выполнить все команды в режиме без привилегий. Если значение не указано в задаче, вместо него будет использовано значение переменной среды ANSIBLE_NET_AUTHORIZE.
backup
boolean
    Варианты:
  • no ←
  • yes
Этот аргумент заставит модуль создать полную резервную копию текущего running-config с удалённого устройства перед внесением каких-либо изменений. Если значение backup_options не указано, резервный файл записывается в папку backup в корневом каталоге плейбука. Если папки не существует, она создаётся.
backup_options
dictionary
добавлено в 2.8
Это объект типа dict, содержащий настраиваемые параметры, связанные с путём к файлу резервной копии. Значение этого параметра читается только тогда, когда backup установлено в yes. Если backup установлено в no, этот параметр будет проигнорирован.
dir_path
path
Этот параметр указывает путь, заканчивающийся именем каталога, в котором будет храниться конфигурационный файл резервной копии. Если каталога не существует, он будет сначала создан, а имя файла будет либо значением filename, либо значением по умолчанию, как описано в описании параметров filename. Если путь не указан, в текущем рабочем каталоге будет создан каталог backup, и конфигурация резервной копии будет скопирована в filename в каталоге backup.
filename
-
Имя файла, используемое для хранения конфигурационного файла резервной копии. Если имя файла не указано, оно будет сгенерировано на основе имени хоста, текущей даты и времени в формате <имя_хоста>_config.<дата>@<время>
before
-
Упорядоченный набор команд, которые добавляются в стек команд, если требуется внести изменения. Это позволяет разработчику плейбука выполнить команды конфигурации перед внесением каких-либо изменений, не влияя на сопоставление набора команд с системой.
config
-
Аргумент config позволяет разработчику плейбука предоставить базовая конфигурацию, которая будет использоваться для проверки изменений конфигурации. Если этот аргумент указан, модуль не загрузит текущую конфигурацию с удалённого узла.
context
string
Указывает контекст, на который нужно ориентироваться, если вы работаете в режиме ASA с несколькими контекстами. По умолчанию используется текущий контекст, к которому вы подключились.
defaults
boolean
    Варианты:
  • no ←
  • yes
Этот аргумент указывает, собирать ли все значения по умолчанию при получении конфигурации удалённого устройства. При включении модуль получит текущую конфигурацию, выполнив команду show running-config all.
lines
-
Упорядоченный набор команд, которые должны быть настроены в данном разделе. Команды должны быть точно такими же, как и в текущей конфигурации устройства. Обратите внимание на синтаксис команд конфигурации, так как некоторые команды автоматически изменяются анализатором конфигурации устройства.

псевдонимы: команды
match
-
    Варианты:
  • line ←
  • strict
  • exact
  • none
Указывает модулю способ сопоставления набора команд с текущей конфигурацией устройства. Если match = line, команды сопоставляются по строкам. Если match = strict, строки команд сопоставляются относительно позиции. Если match = exact, строки команд должны быть идентичными. Наконец, если match = none, модуль не будет пытаться сравнить исходную конфигурацию с текущей конфигурацией удалённого устройства.
parents
-
Упорядоченный набор родительских элементов, которые однозначно идентифицируют раздел или иерархию, с которой должны сравниваться команды. Если параметр parents опущен, команды сравниваются с набором команд верхнего уровня или глобальными командами.
passwords
boolean
    Варианты:
  • no ←
  • yes
Этот параметр указывает на включение паролей в конфигурацию при получении текущей конфигурации с удалённого устройства. Это включает пароли, связанные с VPN-узлами. Этот аргумент несовместим с defaults.
provider
-
Устарело
Начиная с Ansible 2.5, рекомендуется использовать connection: network_cli.
Для получения дополнительной информации, пожалуйста, обратитесь к Руководству по сети.
Объект типа dict, содержащий детали подключения.
auth_pass
string
Указывает пароль, используемый для входа в привилегированный режим на удалённом устройстве, если это требуется. Если authorize = false, этот аргумент ничего не делает. Если значение не указано в задаче, вместо него используется значение переменной среды ANSIBLE_NET_AUTH_PASS.
authorize
boolean
    Варианты:
  • no ←
  • yes
Указывает модулю войти в привилегированный режим на удалённом устройстве перед отправкой любых команд. Если не указано, устройство попытается выполнить все команды в режиме без привилегий. Если значение не указано в задаче, вместо него используется значение переменной среды ANSIBLE_NET_AUTHORIZE.
host
string
Указывает имя хоста DNS или адрес для подключения к удалённому устройству через указанный транспорт. Значение host используется в качестве адреса назначения для транспорта.
password
string
Указывает пароль для аутентификации подключения к удалённому устройству. Это значение используется для аутентификации сессии SSH. Если значение не указано в задаче, вместо него используется значение переменной среды ANSIBLE_NET_PASSWORD.
port
integer
По умолчанию:
22
Указывает порт, используемый при установлении подключения к удалённому устройству.
ssh_keyfile
path
Указывает SSH-ключ для аутентификации подключения к удалённому устройству. Это значение — путь к ключу, используемому для аутентификации сессии SSH. Если значение не указано в задаче, вместо него используется значение переменной среды ANSIBLE_NET_SSH_KEYFILE.
timeout
integer
По умолчанию:
10
Указывает время ожидания бездействия соединения в секундах. Полезно, если консоль зависает перед продолжением, например, при сохранении конфигурации.
username
string
Устанавливает имя пользователя для аутентификации подключения к удалённому устройству. Это значение используется для аутентификации сессии SSH. Если значение не указано в задаче, вместо него используется значение переменной среды ANSIBLE_NET_USERNAME.
заменить
-
    Варианты:
  • строка ←
  • блок
Инструктирует модуль о способе выполнения конфигурации на устройстве. Если аргумент replace установлен в строка, изменённые строки отправляются на устройство в режиме конфигурации. Если аргумент replace установлен в блок, весь блок команд отправляется на устройство в режиме конфигурации, если какая-либо строка неверна
сохранить
boolean
    Варианты:
  • нет ←
  • да
Аргумент save инструктирует модуль сохранить текущую конфигурацию (running-config) в стартовую конфигурацию (startup-config) по завершении работы модуля. Если задан режим проверки, этот аргумент игнорируется.
src
-
Указывает путь к файлу, содержащему конфигурацию или шаблон конфигурации для загрузки. Путь к исходному файлу может быть полным путём на хосте Ansible или относительным путём от корневого каталога playbook или роли. Этот аргумент взаимоисключает с lines, parents.

Примечания

Примечание

  • Дополнительную информацию об использовании Ansible для управления сетевыми устройствами см. в Руководстве по Ansible для сети

Примеры

# Note: examples below use the following provider dict to handle
#       transport and authentication to the node.
---
vars:
  cli:
    host: "{{ inventory_hostname }}"
    username: cisco
    password: cisco
    authorize: yes
    auth_pass: cisco

---
- asa_config:
    lines:
      - network-object host 10.80.30.18
      - network-object host 10.80.30.19
      - network-object host 10.80.30.20
    parents: ['object-group network OG-MONITORED-SERVERS']
    provider: "{{ cli }}"

- asa_config:
    host: "{{ inventory_hostname }}"
    lines:
      - message-length maximum client auto
      - message-length maximum 512
    match: line
    parents: ['policy-map type inspect dns PM-DNS', 'parameters']
    authorize: yes
    auth_pass: cisco
    username: admin
    password: cisco
    context: ansible

- asa_config:
    lines:
      - ikev1 pre-shared-key MyS3cretVPNK3y
    parents: tunnel-group 1.1.1.1 ipsec-attributes
    passwords: yes
    provider: "{{ cli }}"

- name: attach ASA acl on interface vlan13/nameif cloud13
  asa_config:
    lines:
      - access-group cloud-acl_access_in in interface cloud13
    provider: "{{ cli }}"

- name: configure ASA (>=9.2) default BGP
  asa_config:
    lines:
      - bgp log-neighbor-changes
      - bgp bestpath compare-routerid
    provider: "{{ cli }}"
    parents:
      - router bgp 65002
  register: bgp
  when: bgp_default_config is defined

- name: configure ASA (>=9.2) BGP neighbor in default/single context mode
  asa_config:
    lines:
      - "bgp router-id {{ bgp_router_id }}"
      - "neighbor {{ bgp_neighbor_ip }} remote-as {{ bgp_neighbor_as }}"
      - "neighbor {{ bgp_neighbor_ip }} description {{ bgp_neighbor_name }}"
    provider: "{{ cli }}"
    parents:
      - router bgp 65002
      - address-family ipv4 unicast
  register: bgp
  when: bgp_neighbor_as is defined

- name: configure ASA interface with standby
  asa_config:
    lines:
      - description my cloud interface
      - nameif cloud13
      - security-level 50
      - ip address 192.168.13.1 255.255.255.0 standby 192.168.13.2
    provider: "{{ cli }}"
    parents: ["interface Vlan13"]
  register: interface

- name: Show changes to interface from task above
  debug:
    var: interface

- name: configurable backup path
  asa_config:
    lines:
      - access-group cloud-acl_access_in in interface cloud13
    provider: "{{ cli }}"
    backup: yes
    backup_options:
      filename: backup.cfg
      dir_path: /home/user

Значения возврата

Общие значения возврата документированы здесь, следующие — уникальные для этого модуля поля:

Ключ Возвращаемое значение Описание
backup_path
строка
при backup равно да
Полный путь к резервной копии файла

Пример:
/playbooks/ansible/backup/asa_config.2016-07-16@22:28:34
updates
список
всегда
Набор команд, которые будут отправлены на удалённое устройство

Пример:
['...', '...']


Статус

  • Этот модуль не гарантирует обратную совместимость интерфейса. [превью]
  • Этот модуль поддерживается сообществом Ansible. [community]

Авторы

  • Peter Sprygada (@privateip), Patrick Ogenstad (@ogenstad)

Подсказка

Если вы заметите какие-либо проблемы в этом документе, вы можете отредактировать этот документ, чтобы улучшить его.

© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.9/modules/asa_config_module.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API