get chassis hardware


https://junos-ansible-modules.readthedocs.io/en/2.3.0/juniper_junos_rpc.html


Authentification:

https://www.juniper.net/documentation/en_US/junos-ansible/topics/task/configuration/junos-ansible-authenticating-users.html




rpc command
rpc command
root@SRX300-1-RL102> show chassis hardware detail | display xml rpc
<rpc-reply xmlns:junos="http://xml.juniper.net/junos/19.4R0/junos">
    <rpc>
        <get-chassis-inventory>
                <detail/>
        </get-chassis-inventory>
    </rpc>
    <cli>
        <banner></banner>
    </cli>
</rpc-reply>



ssh root@172.30.95.174 -p 830 -s netconf 
ansible.cfg file
ansible.cfg
labuser@saltsackmaster:~/project/ansible/gethw$ more ansible.cfg
[defaults]
ansible_python_interpreter=/usr/bin/python3
deprecation_warnings=False

Ansible hosts file
hosts
labuser@saltsackmaster:~/project/ansible/gethw$ more hosts
[All_95_netw:vars]
ansible_python_interpreter=/usr/bin/python3

[All_95_netw]
172.30.95.170
172.30.95.171
172.30.95.172
172.30.95.174
172.30.95.176
172.30.95.177
172.30.95.197
172.30.95.207
172.30.95.210
172.30.95.212


Ansible playbook
playbook
labuser@saltsackmaster:~/project/ansible/gethw$ more rpc_chassishw.yml
---
- name: Get facts
  hosts: All_95_netw
  gather_facts: no
  connection: local
  roles:
    - Juniper.junos
 
  tasks:
    - name: Get Chassis Hardware information
      juniper_junos_rpc:
        host: "{{ inventory_hostname }}" 
        user: "Netbox"
        passwd: "Netbox"
        dest_dir: "{{playbook_dir}}/inventory"
        rpcs:
          - "get-chassis-inventory"
        kwargs:
          detail: true
        formats: "xml"
      register: junos
      #    - name: Print facts
      #debug:
      #  var: junos.stdout