31 lines
962 B
Bash
Executable File
31 lines
962 B
Bash
Executable File
#!/bin/bash
|
|
|
|
juju_status=$(mktemp)
|
|
|
|
juju status --format json > "${juju_status}"
|
|
|
|
for phys_mach in $(jq -rc ".machines | keys[]" "${juju_status}")
|
|
do
|
|
|
|
az=$(jq -rc ".machines.\"${phys_mach}\".hardware" "${juju_status}" | sed 's/.*availability-zone=//g')
|
|
hostname=$(jq -r ".machines.\"${phys_mach}\".hostname" "${juju_status}")
|
|
|
|
landscape-api add-tags-to-computers title:"${hostname}" "${az}"
|
|
|
|
containers=$(jq -rc ".machines.\"${phys_mach}\" | (select(.containers != null ) | .containers | to_entries[] | .value.hostname)" "${juju_status}")
|
|
|
|
for container in ${containers}
|
|
do
|
|
|
|
landscape-api add-tags-to-computers title:"${container}" "${az}"
|
|
if [[ "${container}" == *"lxd"* ]] ; then
|
|
landscape-api add-tags-to-computers title:"${container}" lxd
|
|
fi
|
|
if [[ "${container}" == *"kvm"* ]] ; then
|
|
landscape-api add-tags-to-computers title:"${container}" kvm
|
|
fi
|
|
|
|
done
|
|
|
|
done
|