summaryrefslogtreecommitdiffstats
path: root/cac
diff options
context:
space:
mode:
Diffstat (limited to 'cac')
-rwxr-xr-xcac54
1 files changed, 40 insertions, 14 deletions
diff --git a/cac b/cac
index c8151d4..08cc820 100755
--- a/cac
+++ b/cac
@@ -47,10 +47,13 @@ sed '
}
#
+cac_resources_cache=${cac_resources_cache-$HOME/tmp/cac_resources_cache.json}
cac_servers_cache=${cac_servers_cache-$HOME/tmp/cac_servers_cache.json}
cac_templates_cache=${cac_templates_cache-$HOME/tmp/cac_templates_cache.json}
+
cac_secrets=${cac_secrets-$HOME/.secrets/cac}
+
. "$cac_secrets" >/dev/null 2>&1 || :
@@ -93,15 +96,27 @@ __cac_cli__templates() {
jq -r . $cac_templates_cache
}
+#? cac resources
+#? Print CloudPRO resources JSON.
+#?
+__cac_cli__resources() {
+ jq -r . $cac_resources_cache
+}
+
#? cac update
-#? Fetch and cache servers and templates JSON.
+#? Fetch and cache state JSON.
#?
__cac_cli__update() {(
umask 0077
- for resource in servers templates; do
+ for x in \
+ resources \
+ servers \
+ templates \
+ # This line intentionally left blank.
+ do
{
- json=$(_cac_list$resource)
- eval file=\$cac_${resource}_cache
+ json=$(_cac_fetch_$x)
+ eval file=\$cac_${x}_cache
echo $json | jq . > "$file".tmp
mv "$file".tmp "$file"
} &
@@ -347,30 +362,41 @@ __cac_cli__poll() {
#? See sleep(1) for TIMESPEC.
#?
-_cac_listservers() {(
- servers=$(_cac_get_api_v1 listservers)
- status=$(echo $servers | jq -r .status)
+_cac_fetch_servers() {(
+ res=$(_cac_get_api_v1 listservers)
+ status=$(echo $res | jq -r .status)
if [ "$status" = ok ]; then
- echo "$servers" | jq -r .data
+ echo "$res" | jq -r .data
else
- echo "cac_listservers: bad listservers status: $status" >&2
+ echo "cac_fetch_servers: bad status: $status" >&2
exit 1
fi
)}
-_cac_listtemplates() {(
- templates=$(_cac_get_api_v1 listtemplates)
- status=$(echo $templates | jq -r .status)
+_cac_fetch_templates() {(
+ res=$(_cac_get_api_v1 listtemplates)
+ status=$(echo $res | jq -r .status)
if [ "$status" = ok ]; then
- echo "$templates" | jq -r .data
+ echo "$res" | jq -r .data
else
- echo "cac_listtemplates: bad listtemplates status: $status" >&2
+ echo "cac_fetch_templates: bad status: $status" >&2
exit 1
fi
)}
+_cac_fetch_resources() {(
+ res=$(_cac_get_api_v1 cloudpro/resources)
+ status=$(echo $res | jq -r .status)
+
+ if [ "$status" = ok ]; then
+ echo "$res" | jq -r .data
+ else
+ echo "cac_resources: bad cloudpro/resources status: $status" >&2
+ exit 1
+ fi
+)}
# rsyncfiles : lines filename |> local-dir x rsync-target -> ? |> ?