cisco.asa.asa_config 模块 – 管理 Cisco ASA 设备上的配置段

注意

此模块是 cisco.asa 集合 (版本 6.0.0) 的一部分。

如果您使用的是 ansible 包,则可能已经安装了此集合。它不包含在 ansible-core 中。要检查它是否已安装,请运行 ansible-galaxy collection list

要安装它,请使用:ansible-galaxy collection install cisco.asa

要在 playbook 中使用它,请指定:cisco.asa.asa_config

cisco.asa 1.0.0 中的新增功能

概要

  • Cisco ASA 配置使用简单的块缩进文件语法将配置分割成多个部分。此模块提供了一种以确定性方式处理 ASA 配置段的实现。

参数

参数

注释

after

列表 / 元素=字符串

如果需要进行更改,则要追加到命令堆栈末尾的已排序命令集。与before一样,这允许 playbook 设计者追加一组要在命令集之后执行的命令。

backup

布尔值

此参数将导致模块在进行任何更改之前创建远程设备当前 running-config 的完整备份。如果未给出 backup_options 值,则备份文件将写入 playbook 根目录中的 backup 文件夹。如果目录不存在,则会创建它。

选项

  • false ← (默认)

  • true

backup_options

字典

这是一个包含与备份文件路径相关的可配置选项的 dict 对象。只有当 backup 设置为 true 时才会读取此选项的值,如果 backup 设置为 no,则此选项将被静默忽略。

dir_path

路径

此选项提供以目录名结尾的路径,其中将存储备份配置文件。如果目录不存在,则首先创建它,文件名要么是 filename 的值,要么是 filename 选项描述中所述的默认文件名。如果没有给出路径值,则会在当前工作目录中创建一个名为 backup 的目录,备份配置将复制到 backup 目录中的 filename 中。

filename

字符串

用于存储备份配置的文件名。如果未给出文件名,则它将基于主机名、当前时间和日期以 <hostname>_config.<current-date>@<current-time> 格式生成。

before

列表 / 元素=字符串

如果需要进行更改,则要推送到命令堆栈的已排序命令集。这允许 playbook 设计者有机会在推送任何更改之前执行配置命令,而不会影响命令集与系统匹配的方式。

config

字符串

config 参数允许 playbook 设计者提供要用于验证必要配置更改的基本配置。如果提供了此参数,则模块将不会从远程节点下载 running-config。

context

字符串

如果您在多上下文模式下运行 ASA,则指定要定位的上下文。默认为您登录的当前上下文。

defaults

布尔值

此参数指定在获取远程设备运行配置时是否收集所有默认值。启用后,模块将通过发出命令 show running-config all 获取当前配置。

选项

  • false ← (默认)

  • true

lines

别名:commands

列表 / 元素=字符串

应该在该部分中配置的已排序命令集。命令必须与设备运行配置中找到的命令完全相同。请务必注意配置命令语法,因为某些命令会由设备配置解析器自动修改。

match

字符串

指示模块如何对命令集与当前设备配置进行匹配。如果 match 设置为 line,则逐行匹配命令。如果 match 设置为 strict,则命令行将根据位置进行匹配。如果 match 设置为 exact,则命令行必须完全匹配。最后,如果 match 设置为 none,则模块将不会尝试将源配置与远程设备上的运行配置进行比较。

选项

  • "line" ← (默认)

  • "strict"

  • "exact"

  • "none"

parents

列表 / 元素=字符串

唯一标识应检查命令的部分或层次结构的已排序父级集。如果省略 parents 参数,则会针对顶级或全局命令集检查命令。

passwords

布尔值

此参数指定在从远程设备检索运行配置时是否包含配置中的密码。这包括与 VPN 端点相关的密码。此参数与 defaults 互斥。

选项

  • false

  • true

replace

字符串

指示模块如何对设备执行配置。如果 replace 参数设置为 line,则修改后的行将被推送到配置模式下的设备。如果 replace 参数设置为 block,则如果任何行不正确,则整个命令块将被推送到配置模式下的设备

选项

  • "line" ← (默认)

  • "block"

save

布尔值

save 参数指示模块在模块运行结束时将运行配置保存到启动配置。如果指定了检查模式,则忽略此参数。

选项

  • false ← (默认)

  • true

save_when

字符串

在 cisco.asa 1.1.0 中添加

对运行配置(running-configuration)进行更改时,默认情况下,这些更改不会复制到非易失性存储器。使用此参数可以在更改前进行设置。如果参数设置为always,则运行配置将始终复制到启动配置(startup-config),并且modified标志将始终设置为True。如果参数设置为modified,则只有在自上次保存到启动配置以来运行配置发生更改时,才会将其复制到启动配置。如果参数设置为never,则运行配置将永远不会复制到启动配置。如果参数设置为changed,则只有在任务进行了更改时,才会将运行配置复制到启动配置。changed是在Ansible 2.5中添加的。

选项

  • "always"

  • "never" ← (默认)

  • "modified"

  • "changed"

src

路径

指定包含要加载的配置或配置模板的文件的源路径。源文件的路径可以是Ansible控制主机上的完整路径,也可以是相对于剧本或角色根目录的相对路径。此参数与linesparents互斥。

注释

注意

  • 有关使用Ansible管理网络设备的更多信息,请参见:ref:`Ansible 网络指南 <network_guide>`

示例

- cisco.asa.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]

- cisco.asa.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]
    auth_pass: cisco
    username: admin
    password: cisco
    context: ansible

- cisco.asa.asa_config:
    lines:
      - ikev1 pre-shared-key MyS3cretVPNK3y
    parents: tunnel-group 1.1.1.1 ipsec-attributes
    passwords: true

- name: attach ASA acl on interface vlan13/nameif cloud13
  cisco.asa.asa_config:
    lines:
      - access-group cloud-acl_access_in in interface cloud13

- name: configure ASA (>=9.2) default BGP
  cisco.asa.asa_config:
    lines:
      - bgp log-neighbor-changes
      - bgp bestpath compare-routerid
    parents:
      - router bgp 65002
  register: bgp
  when: bgp_default_config is defined
- name: configure ASA (>=9.2) BGP neighbor in default/single context mode
  cisco.asa.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 }}
    parents:
      - router bgp 65002
      - address-family ipv4 unicast
  register: bgp
  when: bgp_neighbor_as is defined
- name: configure ASA interface with standby
  cisco.asa.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
    parents: [interface Vlan13]
  register: interface
- name: Show changes to interface from task above
  ansible.builtin.debug:
    var: interface

- name: configurable backup path
  cisco.asa.asa_config:
    lines:
      - access-group cloud-acl_access_in in interface cloud13
    backup: true
    backup_options:
      filename: backup.cfg
      dir_path: /home/user

- name: save running to startup when modified
  cisco.asa.asa_config:
    save_when: modified

返回值

常见的返回值已在此处记录,以下是此模块特有的字段

描述

backup_path

字符串

备份文件的完整路径

返回:当backup为true时

示例: "/playbooks/ansible/backup/asa_config.2016-07-16@22:28:34"

updates

列表 / 元素=字符串

将推送到远程设备的命令集

返回:始终

示例: ["...", "..."]

作者

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