david_igou.routeros_configuration.restore role – Restore a RouterOS device from a backup or config import.

Note

This role is part of the david_igou.routeros_configuration collection (version 0.0.8-alpha).

It is not included in ansible-core. To check whether it is installed, run ansible-galaxy collection list.

To install it use: ansible-galaxy collection install david_igou.routeros_configuration.

To use it in a playbook, specify: david_igou.routeros_configuration.restore.

Entry point main – Restore a RouterOS device from a backup or config import.

Synopsis

  • Loads a binary backup (/system backup load, reboots) and/or imports a config script (/import). The reverse of the backup role.

Parameters

Parameter

Comments

routeros_api_hostname

string

API hostname/IP of the device.

Default: "{{ inventory_hostname }}"

routeros_api_password

string

API password. Secret — supply via vault.

routeros_api_port

any

TCP port; empty lets the module choose from tls.

Default: ""

routeros_api_tls

boolean

Use TLS (api-ssl).

Choices:

  • false

  • true ← (default)

routeros_api_username

string

API username.

Default: "admin"

routeros_api_validate_certs

boolean

Validate the device TLS certificate.

Choices:

  • false

  • true ← (default)

routeros_restore_backup_name

string

On-device binary backup name (without .backup). Empty = skip.

Default: ""

routeros_restore_backup_password

string

Backup decryption password.

Default: ""

routeros_restore_import_file

string

On-device .rsc file to import. Empty = skip.

Default: ""

routeros_restore_reboot_timeout

integer

Seconds to wait for the API after a backup-load reboot.

Default: 300

Examples

# Restore from a binary backup (loads it and reboots, waiting for the API).
- hosts: routers
  gather_facts: false
  roles:
    - role: david_igou.routeros_configuration.restore
      vars:
        routeros_restore_backup_name: nightly
        routeros_restore_backup_password: "{{ vault_routeros_backup_password }}"

# Import a configuration script with /import (no reboot).
- hosts: routers
  gather_facts: false
  roles:
    - role: david_igou.routeros_configuration.restore
      vars:
        routeros_restore_import_file: edge-router.rsc

# Load a backup (reboot), then import a script; raise the reboot timeout for
# a device that is slow to come back.
- hosts: routers
  gather_facts: false
  roles:
    - role: david_igou.routeros_configuration.restore
      vars:
        routeros_restore_backup_name: nightly
        routeros_restore_backup_password: "{{ vault_routeros_backup_password }}"
        routeros_restore_import_file: extra-tweaks.rsc
        routeros_restore_reboot_timeout: 600