WeOS 4 Platform Options
Westermo WeOS 4 is part of the community.network collection and only supports CLI connections.
This page offers details on how to use ansible.netcommon.network_cli on WeOS 4 in Ansible.
Connections available
| CLI | |
|---|---|
| Protocol | SSH | 
| Credentials | uses SSH keys / SSH-agent if present accepts  | 
| Indirect Access | by a bastion (jump host) | 
| Connection Settings | 
 | 
| Enable Mode  | not supported by WeOS 4 | 
| Returned Data Format | 
 | 
WeOS 4 does not support ansible_connection: local. You must use ansible_connection: ansible.netcommon.network_cli.
Using CLI in Ansible
Example CLI group_vars/weos4.yml
ansible_connection: ansible.netcommon.network_cli
ansible_network_os: community.network.weos4
ansible_user: myuser
ansible_password: !vault...
ansible_paramiko_proxy_command: '-o ProxyCommand="ssh -W %h:%p -q bastion01"'
- If you are using SSH keys (including an ssh-agent) you can remove the - ansible_passwordconfiguration.
- If you are accessing your host directly (not through a bastion/jump host) you can remove the - ansible_paramiko_proxy_commandconfiguration.
- If you are accessing your host through a bastion/jump host, you cannot include your SSH password in the - ProxyCommanddirective. To prevent secrets from leaking out (for example in- psoutput), SSH does not support providing passwords through environment variables.
Example CLI task
- name: Get version information (WeOS 4)
  ansible.netcommon.cli_command:
    commands: "show version"
  register: show_ver
  when: ansible_network_os == 'community.network.weos4'
Example Configuration task
- name: Replace configuration with file on ansible host (WeOS 4)
  ansible.netcommon.cli_config:
    config: "{{ lookup('file', 'westermo.conf') }}"
    replace: "yes"
    diff_match: exact
    diff_replace: config
  when: ansible_network_os == 'community.network.weos4'
Warning
Never store passwords in plain text. We recommend using SSH keys to authenticate SSH connections. Ansible supports ssh-agent to manage your SSH keys. If you must use passwords to authenticate SSH connections, we recommend encrypting them with Ansible Vault.
See also
