Difference between revisions of "ansible notes"
From thelinuxwiki
(→loops) |
(→parsing json) |
||
Line 76: | Line 76: | ||
==output== | ==output== | ||
===parsing json=== | ===parsing json=== | ||
+ | use community.general.json_query which uses | ||
+ | [https://jmespath.org/proposals/functions.html#join jmespath] | ||
+ | |||
[https://docs.ansible.com/ansible/latest/collections/community/general/docsite/filter_guide_selecting_json_data.html Selecting JSON data: JSON queries] | [https://docs.ansible.com/ansible/latest/collections/community/general/docsite/filter_guide_selecting_json_data.html Selecting JSON data: JSON queries] | ||
[[category:ansible]] | [[category:ansible]] |
Revision as of 16:06, 7 May 2024
Contents |
installation
pip install ansible
Adding variables to inventory
Connecting to hosts
Ansible Vault
Find out how to encrypt sensitive content in your inventory such as passwords and keys.
variable ansible_connection
listing connection types/plugins
$ ansible-doc -t connection -l kubectl Execute tasks in pods running on Kubernetes libvirt_lxc Run tasks in lxc containers via libvirt chroot Interact with local chroot psrp Run tasks over Microsoft PowerShell Remoting Protocol network_cli Use network_cli to run command on network appliances vmware_tools Execute tasks inside a VM via VMware Tools ssh connect via ssh client binary httpapi Use httpapi to run command on network appliances docker Run tasks in docker containers ...
playbooks
examples
- name: My first play hosts: myhosts tasks: - name: Print wall message ansible.builtin.command: /usr/bin/wall hello
- name: output test hosts: myhosts tasks: - name: run uname thru awk ansible.builtin.shell: /usr/bin/uname -a | awk '{print $NF}' register: results - debug: var: results.stdout
$ ansible-playbook -i inventory.ini shelltest.yaml PLAY [output test] ********************************************************************************************************************************
TASK [run uname thru awk] ************************************************************************************************************************* changed: [10.0.0.15]
TASK [debug] ************************************************************************************************************************************** ok: [10.0.0.15] => { "results.stdout": "GNU/Linux" }
PLAY RECAP **************************************************************************************************************************************** 10.0.0.15 : ok=2 changed=1 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
network automation
platform modules
platform modules (Maintained by Ansible Network Team)
checkpoint modules (gaia / mgmt)
programming
conditionals
loops
output
parsing json
use community.general.json_query which uses jmespath