hjson and jq in bash

This commit is contained in:
Oleg Sheynin 2024-08-05 17:38:12 -04:00
parent 87250d5c77
commit c3ed03e865
2 changed files with 18 additions and 7 deletions

View File

@ -5,6 +5,20 @@ usage() {
exit 1 exit 1
} }
get_hosts_json() {
curl -s http://cloud23.cvtt.vpn:6789/admin/cvtt_hosts | ${HOME}/bin/hjson -j
}
get_user_hosts() {
User=${1}
Domain=${2}
get_hosts_json | jq -r \
--arg domain "${Domain}" \
--arg usr "${User}" \
'.[$domain] | to_entries[] | select(.value.users[] | contains($usr)) | .key'
}
echo "Started ${0} ${*} ..." echo "Started ${0} ${*} ..."
Domain=cvtt.vpn Domain=cvtt.vpn
@ -21,13 +35,10 @@ echo ${Cmd} && eval ${Cmd}
for User in cvtt oleg for User in cvtt oleg
do do
echo "User=$User" echo "User=$User"
hosts=$( hosts=$(get_user_hosts ${User} ${Domain})
curl -s http://cloud23.cvtt.vpn:6789/admin/cvtt_hosts | jq -r \
--arg domain "${Domain}" \
--arg usr "${User}" \
'.[$domain] | to_entries[] | select(.value.users[] | contains($usr)) | .key'
)
mkdir -p ${RootDir}/${User} mkdir -p ${RootDir}/${User}
print ${hosts}
exit
for host in ${hosts} for host in ${hosts}
do do
echo "====================" echo "===================="

View File

@ -1 +1 @@
1.3.1 1.3.2