mirror of
https://github.com/ohmyzsh/ohmyzsh.git
synced 2024-11-14 01:40:09 +00:00
feat(juju): add functions to get current controller and model (#11572)
This commit is contained in:
parent
f9f01e48a8
commit
5efcfc3973
2 changed files with 33 additions and 1 deletions
|
@ -126,5 +126,7 @@ Naming convention:
|
||||||
- `jaddr <app_name> [unit_num]`: display app or unit IP address.
|
- `jaddr <app_name> [unit_num]`: display app or unit IP address.
|
||||||
- `jreld <relation_name> <app_name> <unit_num>`: display app and unit relation data.
|
- `jreld <relation_name> <app_name> <unit_num>`: display app and unit relation data.
|
||||||
- `jclean`: destroy all controllers
|
- `jclean`: destroy all controllers
|
||||||
|
- `jcontroller`: display the controller your are connected to.
|
||||||
|
- `jmodel`: display the model your are connected to.
|
||||||
- `wjst [interval_secs] [args_for_watch]`: watch juju status, with optional interval
|
- `wjst [interval_secs] [args_for_watch]`: watch juju status, with optional interval
|
||||||
(default: 5s); you may pass additional arguments to `watch`.
|
(default: 5s); you may pass additional arguments to `watch`.
|
||||||
|
|
|
@ -163,10 +163,40 @@ jreld() {
|
||||||
juju run "relation-get -r $relid - $2" --unit $2/$3
|
juju run "relation-get -r $relid - $2" --unit $2/$3
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Return Juju current controller
|
||||||
|
jcontroller() {
|
||||||
|
local controller="$(awk '/current-controller/ {print $2}' ~/.local/share/juju/controllers.yaml)"
|
||||||
|
if [[ -z "$controller" ]]; then
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo $controller
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
# Return Juju current model
|
||||||
|
jmodel() {
|
||||||
|
local yqbin="$(whereis yq | awk '{print $2}')"
|
||||||
|
|
||||||
|
if [[ -z "$yqbin" ]]; then
|
||||||
|
echo "--"
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
local model="$(yq e ".controllers.$(jcontroller).current-model" < ~/.local/share/juju/models.yaml | cut -d/ -f2)"
|
||||||
|
|
||||||
|
if [[ -z "$model" ]]; then
|
||||||
|
echo "--"
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo $model
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
# Watch juju status, with optional interval (default: 5 sec)
|
# Watch juju status, with optional interval (default: 5 sec)
|
||||||
wjst() {
|
wjst() {
|
||||||
local interval="${1:-5}"
|
local interval="${1:-5}"
|
||||||
shift $(( $# > 0 ))
|
shift $(( $# > 0 ))
|
||||||
watch -n "$interval" --color juju status --relations --color "$@"
|
watch -n "$interval" --color juju status --relations --color "$@"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue