Nota

Este complemento es parte del colección cisco.asa (versión 1.0.4).

Para instalarlo use: ansible-galaxy collection install cisco.asa.

Para usarlo en un libro de jugadas, especifique: cisco.asa.asa_config.

Nuevo en la versión 1.0.0: de cisco.asa

  • Sinopsis
  • Parámetros
  • Notas
  • Ejemplos de
  • Valores devueltos

Sinopsis

  • Las configuraciones de Cisco ASA utilizan una sintaxis de archivo de sangría de bloque simple para segmentar la configuración en secciones. Este módulo proporciona una implementación para trabajar con secciones de configuración ASA de una manera determinista.

Nota

Este módulo tiene un correspondiente complemento de acción.

Parámetros

Parámetro Opciones / Valores predeterminados Comentarios
después lista / elementos = cadena El conjunto ordenado de comandos que se agregará al final de la pila de comandos si es necesario realizar un cambio. Como con antes de esto permite que el diseñador del libro de jugadas agregue un conjunto de comandos que se ejecutarán después del conjunto de comandos.
autorizar booleano
    Opciones:

  • no
Obsoleto A partir de Ansible 2.5, recomendamos usar connection: network_cli y become: yes. Para obtener más información, consulte la Guía de red. Indica al módulo que ingrese al modo privilegiado en el dispositivo remoto antes de enviar cualquier comando. Si no se especifica, el dispositivo intentará ejecutar todos los comandos en modo sin privilegios. Si el valor no se especifica en la tarea, el valor de la variable de entorno ANSIBLE_NET_AUTHORIZE se utilizará en su lugar.
respaldo booleano
    Opciones:

  • no
Este argumento hará que el módulo cree una copia de seguridad completa de la running-config desde el dispositivo remoto antes de realizar cualquier cambio. Si el backup_options no se da el valor, el archivo de copia de seguridad se escribe en el backup carpeta en el directorio raíz del libro de jugadas. Si el directorio no existe, se crea.
Backup_options diccionario Este es un objeto dict que contiene opciones configurables relacionadas con la ruta del archivo de respaldo. El valor de esta opción se lee solo cuando backup se establece en , si backup se establece en no esta opción se ignorará en silencio.
dir_path sendero Esta opción proporciona la ruta que termina con el nombre del directorio en el que se almacenará el archivo de configuración de respaldo. Si el directorio no existe, se creará primero y el nombre del archivo es el valor de filename o nombre de archivo predeterminado como se describe en filename descripción de las opciones. Si el valor de la ruta no se da en ese caso, un respaldo El directorio se creará en el directorio de trabajo actual y la configuración de respaldo se copiará en filename dentro de respaldo directorio.
nombre del archivo cuerda El nombre de archivo que se utilizará para almacenar la configuración de la copia de seguridad. Si no se proporciona el nombre del archivo, se generará en función del nombre de host, la hora y la fecha actuales en el formato definido por _config. @
antes de lista / elementos = cadena El conjunto ordenado de comandos para pasar a la pila de comandos si es necesario realizar un cambio. Esto permite al diseñador del libro de jugadas la oportunidad de ejecutar comandos de configuración antes de impulsar cualquier cambio sin afectar la forma en que el conjunto de comandos se compara con el sistema.
config cuerda los config El argumento permite al diseñador del libro de jugadas proporcionar la configuración base que se utilizará para validar los cambios de configuración necesarios. Si se proporciona este argumento, el módulo no descargará la configuración en ejecución desde el nodo remoto.
contexto cuerda Especifica a qué contexto apuntar si se está ejecutando en el ASA en modo de contexto múltiple. Predeterminado al contexto actual al que inicias sesión.
valores predeterminados booleano
    Opciones:

  • no
Este argumento especifica si se deben recopilar o no todos los valores predeterminados cuando el dispositivo remoto ejecuta config. Cuando está habilitado, el módulo obtendrá la configuración actual emitiendo el comando show running-config all.
líneas lista / elementos = cadena El conjunto ordenado de comandos que se deben configurar en la sección. Los comandos deben ser exactamente los mismos comandos que se encuentran en el dispositivo running-config. Asegúrese de tener en cuenta la sintaxis del comando de configuración, ya que el analizador de configuración del dispositivo modifica automáticamente algunos comandos.

alias: comandos
fósforo cuerda
    Opciones:

  • línea
  • estricto
  • exacto
  • ninguno
Instruye al módulo sobre el camino para realizar la coincidencia del conjunto de comandos con la configuración actual del dispositivo. Si la coincidencia se establece en línea, los comandos se hacen coincidir línea por línea. Si la coincidencia se establece en estricto, las líneas de comando se hacen coincidir con respecto a la posición. Si la coincidencia se establece en exacto, las líneas de comando deben ser iguales. Finalmente, si la coincidencia se establece en ninguno, el módulo no intentará comparar la configuración de origen con la configuración en ejecución en el dispositivo remoto.
padres lista / elementos = cadena El conjunto ordenado de padres que identifican de forma única la sección o jerarquía con la que se deben verificar los comandos. Si se omite el argumento principal, los comandos se cotejan con el conjunto de comandos globales o de nivel superior.
contraseñas booleano
    Opciones:

  • no
Este argumento especifica incluir contraseñas en la configuración al recuperar la configuración en ejecución del dispositivo remoto. Esto incluye contraseñas relacionadas con puntos finales de VPN. Este argumento es mutuamente excluyente con valores predeterminados.
proveedor diccionario Obsoleto A partir de Ansible 2.5, recomendamos usar connection: network_cli. Para obtener más información, consulte la Guía de red. Objeto dict que contiene detalles de conexión.
auth_pass cuerda Especifica la contraseña que se utilizará si es necesario para ingresar al modo privilegiado en el dispositivo remoto. Si autorizar es falso, entonces este argumento no hace nada. Si el valor no se especifica en la tarea, el valor de la variable de entorno ANSIBLE_NET_AUTH_PASS se utilizará en su lugar.
autorizar booleano
    Opciones:

  • no
Indica al módulo que ingrese al modo privilegiado en el dispositivo remoto antes de enviar cualquier comando. Si no se especifica, el dispositivo intentará ejecutar todos los comandos en modo sin privilegios. Si el valor no se especifica en la tarea, el valor de la variable de entorno ANSIBLE_NET_AUTHORIZE se utilizará en su lugar.
anfitrión cuerda Especifica el nombre de host DNS o la dirección para conectarse al dispositivo remoto a través del transporte especificado. El valor de host se utiliza como dirección de destino para el transporte.
contraseña cuerda Especifica la contraseña que se utilizará para autenticar la conexión al dispositivo remoto. Este valor se utiliza para autenticar la sesión SSH. Si el valor no se especifica en la tarea, el valor de la variable de entorno ANSIBLE_NET_PASSWORD se utilizará en su lugar.
Puerto entero Especifica el puerto que se utilizará al establecer la conexión con el dispositivo remoto.
ssh_keyfile sendero Especifica la clave SSH que se utilizará para autenticar la conexión al dispositivo remoto. Este valor es la ruta a la clave utilizada para autenticar la sesión SSH. Si el valor no se especifica en la tarea, el valor de la variable de entorno ANSIBLE_NET_SSH_KEYFILE se utilizará en su lugar.
se acabó el tiempo entero Especifica el tiempo de espera inactivo en segundos para la conexión, en segundos. Útil si la consola se congela antes de continuar. Por ejemplo, al guardar configuraciones.
nombre de usuario cuerda Configura el nombre de usuario que se utilizará para autenticar la conexión al dispositivo remoto. Este valor se utiliza para autenticar la sesión SSH. Si el valor no se especifica en la tarea, el valor de la variable de entorno ANSIBLE_NET_USERNAME se utilizará en su lugar.
reemplazar cuerda
    Opciones:

  • línea
  • cuadra
Instruye al módulo sobre el camino para realizar la configuración en el dispositivo. Si el argumento de reemplazo se establece en línea luego, las líneas modificadas se envían al dispositivo en modo de configuración. Si el argumento de reemplazo se establece en cuadra luego, todo el bloque de comandos se envía al dispositivo en el modo de configuración si alguna línea no es correcta
ahorrar booleano
    Opciones:

  • no
los save El argumento indica al módulo que guarde la configuración en ejecución en la configuración de inicio al finalizar la ejecución del módulo. Si se especifica el modo de verificación, este argumento se ignora.
src sendero Especifica la ruta de origen al archivo que contiene la configuración o la plantilla de configuración para cargar. La ruta al archivo de origen puede ser la ruta completa en el host de control de Ansible o una ruta relativa desde el libro de jugadas o el directorio raíz de la función. Este argumento es mutuamente excluyente con líneas, padres.

Notas

Nota

  • Para obtener más información sobre el uso de Ansible para administrar dispositivos de red, consulte la Guía de red Ansible

Ejemplos de

- 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]
    provider: '{{ cli }}'

- 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]
    authorize: yes
    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: yes
    provider: '{{ cli }}'

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

- name: configure ASA (>=9.2) default BGP
  cisco.asa.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
  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 }}
    provider: '{{ cli }}'
    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
    provider: '{{ cli }}'
    parents: [interface Vlan13]
  register: interface
- name: Show changes to interface from task above
  debug:
    var: interface

- name: configurable backup path
  cisco.asa.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

Valores devueltos

Los valores de retorno comunes están documentados aquí, los siguientes son los campos exclusivos de este módulo:

Llave Devuelto Descripción
ruta_de_seguridad cuerda cuando la copia de seguridad es sí La ruta completa al archivo de respaldo
Muestra: / playbooks / ansible / backup /[email protected]: 28: 34
actualizaciones lista / elementos = cadena siempre El conjunto de comandos que se enviarán al dispositivo remoto.
Muestra: [‘…’, ‘…’]

Autores

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