Guidelines for playbook: Input macros

Headers

Every playbook needs to start with the following header:

- name: Get Uptime Low Reason hosts: - "localhost" gather_facts: False
  • name: The playbook friendly name that will be shown in the UI

  • hosts: Should always set to localhost

  • gather_facts: Should always set to False

Credentials

Indeni platform will provide the device Credentials. In order to do so, need to use the proper macros:

panos_op: ip_address: '{{ ip_address }}' username: '{{ username }}' password: '{{ password }}' cmd: 'show interface all'
  • {{ip_address}}: The device IP

  • {{username}}: The ssh user name

  • {{password}}: The ssh user password

 

Device Tags

Indeni platform pass the playbook all of the tags collected for the device during the interrogation process. The playbook can use it under the field device_tags

  • {{device_tags}}: The dictionary which contains all device tags

- name: Found vendor!!! debug: msg: "{{ device_tags.vendor }}" when: device_tags.vendor is defined - name: Found version!!! debug: msg: {{ device_tags['os.version'] }}" when: device_tags['os.version'] is defined

 

Tasks

Each task should have a proper name, in order to visualize the results in a clear way

Adding the name for each task should be enforced as part of the code reviews.