create an ansible module in bash

create an ansible module in bash

create the?library?directory and the ansible?module

mkdir library ; cat > library/get_ip_default_gw.sh <<'EOF'
#!/bin/bash
# get ip connected to default gateway
?
ip=$( ip route | awk '/^default/ { print $5 }' | xargs ip -4 address show | awk '/inet / { print $2 }' | cut -d/ -f1 )
?
test -s $ip && echo "{ \"failed\": true, \"erro\": \"IP not found! }" || echo "{ \"ip\": \"$ip\" }"
EOF        

test module using ansible?ad hoc?command


ANSIBLE_LIBRARY=./library ansible localhost -m get_ip_default_gw        

test module using ansible playbook


ANSIBLE_LIBRARY=./library ansible-playbook -c local /dev/stdin <<EOF
---
- hosts: localhost
??gather_facts: no
?
??tasks:
?
??- name: 'get ip connected to default gateway'
????get_ip_default_gw:
????register: result
?
??- debug: 
??????var: result.ip
EOF        

要查看或添加评论,请登录

Nickollas C.的更多文章

社区洞察

其他会员也浏览了