mirror of
https://github.com/OpenNebula/one.git
synced 2025-01-03 01:17:41 +03:00
937 lines
27 KiB
Bash
Executable File
937 lines
27 KiB
Bash
Executable File
# -------------------------------------------------------------------------- #
|
|
# Copyright 2002-2023, OpenNebula Project, OpenNebula Systems #
|
|
# #
|
|
# Licensed under the Apache License, Version 2.0 (the "License"); you may #
|
|
# not use this file except in compliance with the License. You may obtain #
|
|
# a copy of the License at #
|
|
# #
|
|
# http://www.apache.org/licenses/LICENSE-2.0 #
|
|
# #
|
|
# Unless required by applicable law or agreed to in writing, software #
|
|
# distributed under the License is distributed on an "AS IS" BASIS, #
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. #
|
|
# See the License for the specific language governing permissions and #
|
|
# limitations under the License. #
|
|
#--------------------------------------------------------------------------- #
|
|
|
|
# shellcheck disable=SC2148
|
|
# shellcheck disable=SC2207
|
|
|
|
COL_NAME="name"
|
|
|
|
################################################################################
|
|
# Helpers
|
|
################################################################################
|
|
|
|
# 1 -> cmd
|
|
# 2 -> column
|
|
# 3 -> filter
|
|
_complete() {
|
|
mapfile -t patterns < <( _one_list "$1" "$2" "$3" )
|
|
mapfile -t COMPREPLY < <( compgen -W "$( printf '%q ' "${patterns[@]}" )" -- "$cur")
|
|
compopt -o filenames
|
|
}
|
|
|
|
_one_list() {
|
|
if [ -z "$2" ]; then
|
|
col="$COL_NAME"
|
|
else
|
|
col=$2
|
|
fi
|
|
|
|
if [ -n "$3" ]; then
|
|
$1 list --no-header --csv -f "$3" -l "$col"
|
|
else
|
|
$1 list --no-header --csv -l "$col"
|
|
fi
|
|
}
|
|
|
|
_one_simple() {
|
|
COMPREPLY=()
|
|
if [ "$COMP_CWORD" == 1 ]; then
|
|
COMPREPLY=( $(compgen -W "${1}" -- "${cur}") )
|
|
return 0
|
|
fi
|
|
}
|
|
|
|
_one_owner_update() {
|
|
case "$1" in
|
|
chgrp)
|
|
_complete onegroup
|
|
;;
|
|
chown)
|
|
_complete oneuser
|
|
;;
|
|
update)
|
|
COMPREPLY=( $(compgen -A file -- "${cur}") )
|
|
return 0
|
|
;;
|
|
esac
|
|
}
|
|
|
|
_one_template() {
|
|
local cur prev
|
|
COMPREPLY=()
|
|
cur="${COMP_WORDS[COMP_CWORD]}"
|
|
prev="${COMP_WORDS[COMP_CWORD-1]}"
|
|
if [ "${#COMP_WORDS[@]}" -gt "2" ]; then
|
|
pprev="${COMP_WORDS[COMP_CWORD-2]}"
|
|
fi
|
|
if [ "$COMP_CWORD" == 1 ]; then
|
|
COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
|
|
return 0
|
|
elif [ "$COMP_CWORD" == 2 ]; then
|
|
case "$prev" in
|
|
clone|delete|instantiate|chgrp|chown|chmod|update|rename|show|lock|unlock)
|
|
_complete "$cmd"
|
|
;;
|
|
create)
|
|
COMPREPLY=( $(compgen -A file -- "${cur}") )
|
|
return 0
|
|
;;
|
|
esac
|
|
elif [ "$COMP_CWORD" == 3 ]; then
|
|
_one_owner_update "$pprev"
|
|
fi
|
|
}
|
|
|
|
################################################################################
|
|
# Services
|
|
################################################################################
|
|
|
|
_one() {
|
|
_one_simple "start stop restart start-sched stop-sched restart-sched"
|
|
}
|
|
|
|
_oneflow_server() {
|
|
_one_simple "start stop"
|
|
}
|
|
|
|
_onehem_server() {
|
|
_one_simple "start stop"
|
|
}
|
|
|
|
_onegate_server() {
|
|
_one_simple "start stop restart"
|
|
}
|
|
|
|
_sunstone_server() {
|
|
_one_simple "start stop restart start-sunstone stop-sunstone restart-sunstone"
|
|
}
|
|
|
|
complete -F _one one
|
|
complete -F _oneflow_server oneflow-server
|
|
complete -F _onehem_server onehem-server
|
|
complete -F _onegate_server onegate-server
|
|
complete -F _sunstone_server sunstone-server
|
|
|
|
################################################################################
|
|
# Commands
|
|
################################################################################
|
|
|
|
_oneacl() {
|
|
local cur prev opts cmd
|
|
COMPREPLY=()
|
|
cur="${COMP_WORDS[COMP_CWORD]}"
|
|
prev="${COMP_WORDS[COMP_CWORD-1]}"
|
|
opts="create delete list"
|
|
cmd=oneacl
|
|
if [ "$COMP_CWORD" == 1 ]; then
|
|
COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
|
|
return 0
|
|
elif [ "$COMP_CWORD" == 2 ]; then
|
|
case "$prev" in
|
|
delete)
|
|
_complete $cmd
|
|
;;
|
|
esac
|
|
fi
|
|
}
|
|
|
|
_onebackupjob() {
|
|
local cur prev opts cmd
|
|
COMPREPLY=()
|
|
cur="${COMP_WORDS[COMP_CWORD]}"
|
|
prev="${COMP_WORDS[COMP_CWORD-1]}"
|
|
if [ "${#COMP_WORDS[@]}" -gt "2" ]; then
|
|
pprev="${COMP_WORDS[COMP_CWORD-2]}"
|
|
fi
|
|
opts="create delete list show lock unlock chgrp chown chmod rename
|
|
update execute cancel sched-delete sched-update"
|
|
cmd=onebackupjob
|
|
if [ "$COMP_CWORD" == 1 ]; then
|
|
COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
|
|
return 0
|
|
elif [ "$COMP_CWORD" == 2 ]; then
|
|
case "$prev" in
|
|
delete|show|lock|unlock|chgrp|chown|chmod|rename| \
|
|
update|execute|cancel|sched-update|sched-delete)
|
|
_complete $cmd
|
|
;;
|
|
create)
|
|
COMPREPLY=( $(compgen -A file -- "${cur}") )
|
|
return 0
|
|
;;
|
|
esac
|
|
elif [ "$COMP_CWORD" == 3 ]; then
|
|
_one_owner_update "$pprev"
|
|
fi
|
|
}
|
|
|
|
_onecluster() {
|
|
local cur prev opts cmd
|
|
COMPREPLY=()
|
|
cur="${COMP_WORDS[COMP_CWORD]}"
|
|
prev="${COMP_WORDS[COMP_CWORD-1]}"
|
|
if [ "${#COMP_WORDS[@]}" -gt "2" ]; then
|
|
pprev="${COMP_WORDS[COMP_CWORD-2]}"
|
|
fi
|
|
opts="create delete list show addhost delhost adddatastore deldatastore
|
|
addvnet delvnet update rename"
|
|
cmd=onecluster
|
|
if [ "$COMP_CWORD" == 1 ]; then
|
|
COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
|
|
return 0
|
|
elif [ "$COMP_CWORD" == 2 ]; then
|
|
case "$prev" in
|
|
delete|show|addhost|delhost|adddatastore|deldatastore|addvnet| \
|
|
delvnet|update|rename)
|
|
_complete $cmd
|
|
;;
|
|
esac
|
|
elif [ "$COMP_CWORD" == 3 ]; then
|
|
case "$pprev" in
|
|
addhost|delhost)
|
|
_complete onehost
|
|
;;
|
|
adddatastore|deldatastore)
|
|
_complete onedatastore
|
|
;;
|
|
addvnet|delvnet)
|
|
_complete onevnet
|
|
;;
|
|
update)
|
|
COMPREPLY=( $(compgen -A file -- "${cur}") )
|
|
return 0
|
|
;;
|
|
esac
|
|
fi
|
|
}
|
|
|
|
_onedatastore() {
|
|
local cur prev opts cmd
|
|
COMPREPLY=()
|
|
cur="${COMP_WORDS[COMP_CWORD]}"
|
|
prev="${COMP_WORDS[COMP_CWORD-1]}"
|
|
if [ "${#COMP_WORDS[@]}" -gt "2" ]; then
|
|
pprev="${COMP_WORDS[COMP_CWORD-2]}"
|
|
fi
|
|
opts="create delete chgrp chown chmod list show update rename enable disable"
|
|
cmd=onedatastore
|
|
if [ "$COMP_CWORD" == 1 ]; then
|
|
COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
|
|
return 0
|
|
elif [ "$COMP_CWORD" == 2 ]; then
|
|
case "$prev" in
|
|
delete|chgrp|chown|chmod|show|update|rename|enable|disable)
|
|
_complete $cmd
|
|
;;
|
|
create)
|
|
COMPREPLY=( $(compgen -A file -- "${cur}") )
|
|
return 0
|
|
;;
|
|
esac
|
|
elif [ "$COMP_CWORD" == 3 ]; then
|
|
_one_owner_update "$pprev"
|
|
fi
|
|
}
|
|
|
|
_onedb() {
|
|
local cur prev opts cmd
|
|
COMPREPLY=()
|
|
cur="${COMP_WORDS[COMP_CWORD]}"
|
|
prev="${COMP_WORDS[COMP_CWORD-1]}"
|
|
opts="backup version history restore upgrade fsck vcenter-one54 patch
|
|
sqlite2mysql purge-history purge-done change-body change-history
|
|
update-body update-history show-body show-history create-index"
|
|
cmd=onedb
|
|
if [ "$COMP_CWORD" == 1 ]; then
|
|
COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
|
|
return 0
|
|
elif [ "$COMP_CWORD" == 2 ]; then
|
|
case "$prev" in
|
|
restore|patch)
|
|
COMPREPLY=( $(compgen -A file -- "${cur}") )
|
|
return 0
|
|
;;
|
|
esac
|
|
fi
|
|
}
|
|
|
|
_oneflow() {
|
|
local cur prev opts cmd
|
|
COMPREPLY=()
|
|
cur="${COMP_WORDS[COMP_CWORD]}"
|
|
prev="${COMP_WORDS[COMP_CWORD-1]}"
|
|
if [ "${#COMP_WORDS[@]}" -gt "2" ]; then
|
|
pprev="${COMP_WORDS[COMP_CWORD-2]}"
|
|
fi
|
|
opts="list top show delete recover scale chgrp chown chmod rename action"
|
|
cmd=oneflow
|
|
if [ "$COMP_CWORD" == 1 ]; then
|
|
COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
|
|
return 0
|
|
elif [ "$COMP_CWORD" == 2 ]; then
|
|
case "$prev" in
|
|
show|delete|recover|scale|chgrp|chown|chmod|rename|action)
|
|
_complete $cmd
|
|
;;
|
|
esac
|
|
elif [ "$COMP_CWORD" == 3 ]; then
|
|
_one_owner_update "$pprev"
|
|
fi
|
|
}
|
|
|
|
_oneflow_template() {
|
|
local cur prev opts cmd
|
|
COMPREPLY=()
|
|
cur="${COMP_WORDS[COMP_CWORD]}"
|
|
prev="${COMP_WORDS[COMP_CWORD-1]}"
|
|
if [ "${#COMP_WORDS[@]}" -gt "2" ]; then
|
|
pprev="${COMP_WORDS[COMP_CWORD-2]}"
|
|
fi
|
|
opts="list top show create delete instantiate chgrp chown chmod clone rename update"
|
|
cmd=oneflow-template
|
|
if [ "$COMP_CWORD" == 1 ]; then
|
|
COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
|
|
return 0
|
|
elif [ "$COMP_CWORD" == 2 ]; then
|
|
case "$prev" in
|
|
show|delete|instantiate|chgrp|chown|chmod|clone|rename|update)
|
|
_complete $cmd
|
|
;;
|
|
create)
|
|
COMPREPLY=( $(compgen -A file -- "${cur}") )
|
|
return 0
|
|
;;
|
|
esac
|
|
elif [ "$COMP_CWORD" == 3 ]; then
|
|
_one_owner_update "$pprev"
|
|
fi
|
|
}
|
|
|
|
_onegroup() {
|
|
local cur prev opts cmd
|
|
COMPREPLY=()
|
|
cur="${COMP_WORDS[COMP_CWORD]}"
|
|
prev="${COMP_WORDS[COMP_CWORD-1]}"
|
|
if [ "${#COMP_WORDS[@]}" -gt "2" ]; then
|
|
pprev="${COMP_WORDS[COMP_CWORD-2]}"
|
|
fi
|
|
opts="create update delete list show addadmin deladmin quota batchquota defaultquota"
|
|
cmd=onegroup
|
|
if [ "$COMP_CWORD" == 1 ]; then
|
|
COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
|
|
return 0
|
|
elif [ "$COMP_CWORD" == 2 ]; then
|
|
case "$prev" in
|
|
update|delete|show|addadmin|deladmin|quota|batchquota)
|
|
_complete $cmd
|
|
;;
|
|
defaultquota)
|
|
COMPREPLY=( $(compgen -A file -- "${cur}") )
|
|
return 0
|
|
;;
|
|
esac
|
|
elif [ "$COMP_CWORD" == 3 ]; then
|
|
case "$pprev" in
|
|
addadmin|deladmin)
|
|
_complete oneuser
|
|
;;
|
|
update|quota|batchquota)
|
|
COMPREPLY=( $(compgen -A file -- "${cur}") )
|
|
return 0
|
|
;;
|
|
esac
|
|
fi
|
|
}
|
|
|
|
_onehook() {
|
|
local cur prev opts cmd
|
|
COMPREPLY=()
|
|
cur="${COMP_WORDS[COMP_CWORD]}"
|
|
prev="${COMP_WORDS[COMP_CWORD-1]}"
|
|
if [ "${#COMP_WORDS[@]}" -gt "2" ]; then
|
|
pprev="${COMP_WORDS[COMP_CWORD-2]}"
|
|
fi
|
|
opts="create delete update rename list show top lock unlock retry log"
|
|
cmd=onehook
|
|
if [ "$COMP_CWORD" == 1 ]; then
|
|
COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
|
|
return 0
|
|
elif [ "$COMP_CWORD" == 2 ]; then
|
|
case "$prev" in
|
|
delete|update|rename|show|lock|unlock|retry)
|
|
_complete $cmd
|
|
;;
|
|
create)
|
|
COMPREPLY=( $(compgen -A file -- "${cur}") )
|
|
return 0
|
|
;;
|
|
esac
|
|
elif [ "$COMP_CWORD" == 3 ]; then
|
|
case "$pprev" in
|
|
update)
|
|
COMPREPLY=( $(compgen -A file -- "${cur}") )
|
|
return 0
|
|
;;
|
|
esac
|
|
fi
|
|
}
|
|
|
|
_onehost() {
|
|
local cur prev opts cmd
|
|
COMPREPLY=()
|
|
cur="${COMP_WORDS[COMP_CWORD]}"
|
|
prev="${COMP_WORDS[COMP_CWORD-1]}"
|
|
if [ "${#COMP_WORDS[@]}" -gt "2" ]; then
|
|
pprev="${COMP_WORDS[COMP_CWORD-2]}"
|
|
fi
|
|
opts="create delete enable disable offline update sync list show top flush
|
|
rename importvm forceupdate monitoring"
|
|
cmd=onehost
|
|
if [ "$COMP_CWORD" == 1 ]; then
|
|
COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
|
|
return 0
|
|
elif [ "$COMP_CWORD" == 2 ]; then
|
|
case "$prev" in
|
|
delete|disable|offline|update|sync|show|flush|rename|importvm| \
|
|
forceupdate|monitoring)
|
|
_complete $cmd
|
|
;;
|
|
enable)
|
|
mapfile -t patterns < <( onehost list -f "stat=off,stat=dsbl" --operator OR --no-header --csv -l $COL_NAME )
|
|
mapfile -t COMPREPLY < <( compgen -W "$( printf '%q ' "${patterns[@]}" )" -- "$cur")
|
|
compopt -o filenames
|
|
;;
|
|
esac
|
|
elif [ "$COMP_CWORD" == 3 ]; then
|
|
case "$pprev" in
|
|
update)
|
|
COMPREPLY=( $(compgen -A file -- "${cur}") )
|
|
return 0
|
|
;;
|
|
esac
|
|
fi
|
|
}
|
|
|
|
_oneimage() {
|
|
local cur prev opts cmd
|
|
COMPREPLY=()
|
|
cur="${COMP_WORDS[COMP_CWORD]}"
|
|
prev="${COMP_WORDS[COMP_CWORD-1]}"
|
|
if [ "${#COMP_WORDS[@]}" -gt "2" ]; then
|
|
pprev="${COMP_WORDS[COMP_CWORD-2]}"
|
|
fi
|
|
opts="create clone delete persistent nonpersistent update enable chtype
|
|
disable chgrp chown chmod rename snapshot-delete snapshot-revert
|
|
snapshot-flatten list show top lock unlock orphans dockerfile restore"
|
|
cmd=oneimage
|
|
if [ "$COMP_CWORD" == 1 ]; then
|
|
COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
|
|
return 0
|
|
elif [ "$COMP_CWORD" == 2 ]; then
|
|
case "$prev" in
|
|
clone|delete|persistent|nonpersistent|update|chtype|chgrp|chown|chmod| \
|
|
rename|snapshot-delete|snapshot-revert|snapshot-flatten|show|lock|unlock)
|
|
_complete $cmd
|
|
;;
|
|
enable)
|
|
_complete $cmd $COL_NAME "stat=disa"
|
|
;;
|
|
disable)
|
|
_complete $cmd $COL_NAME "stat=rdy"
|
|
;;
|
|
restore)
|
|
_complete $cmd $COL_NAME "type=BK"
|
|
;;
|
|
create)
|
|
COMPREPLY=( $(compgen -A file -- "${cur}") )
|
|
return 0
|
|
;;
|
|
esac
|
|
elif [ "$COMP_CWORD" == 3 ]; then
|
|
_one_owner_update "$pprev"
|
|
fi
|
|
}
|
|
|
|
_onemarket() {
|
|
local cur prev opts cmd
|
|
COMPREPLY=()
|
|
cur="${COMP_WORDS[COMP_CWORD]}"
|
|
prev="${COMP_WORDS[COMP_CWORD-1]}"
|
|
if [ "${#COMP_WORDS[@]}" -gt "2" ]; then
|
|
pprev="${COMP_WORDS[COMP_CWORD-2]}"
|
|
fi
|
|
opts="create delete chgrp chown chmod list show update rename enable disable"
|
|
cmd=onemarket
|
|
if [ "$COMP_CWORD" == 1 ]; then
|
|
COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
|
|
return 0
|
|
elif [ "$COMP_CWORD" == 2 ]; then
|
|
case "$prev" in
|
|
delete|chgrp|chown|chmod|show|update|rename)
|
|
_complete $cmd
|
|
;;
|
|
create)
|
|
COMPREPLY=( $(compgen -A file -- "${cur}") )
|
|
return 0
|
|
;;
|
|
esac
|
|
elif [ "$COMP_CWORD" == 3 ]; then
|
|
_one_owner_update "$pprev"
|
|
fi
|
|
}
|
|
|
|
_onemarketapp() {
|
|
local cur prev opts cmd
|
|
COMPREPLY=()
|
|
cur="${COMP_WORDS[COMP_CWORD]}"
|
|
prev="${COMP_WORDS[COMP_CWORD-1]}"
|
|
if [ "${#COMP_WORDS[@]}" -gt "2" ]; then
|
|
pprev="${COMP_WORDS[COMP_CWORD-2]}"
|
|
fi
|
|
opts="create export download delete update chgrp chown chmod rename list show
|
|
enable disable lock unlock"
|
|
cmd=onemarketapp
|
|
if [ "$COMP_CWORD" == 1 ]; then
|
|
COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
|
|
return 0
|
|
elif [ "$COMP_CWORD" == 2 ]; then
|
|
case "$prev" in
|
|
export|download|delete|update|chgrp|chown|chmod|rename|show|lock|unlock)
|
|
_complete $cmd
|
|
;;
|
|
create)
|
|
COMPREPLY=( $(compgen -A file -- "${cur}") )
|
|
return 0
|
|
;;
|
|
enable)
|
|
_complete $cmd $COL_NAME "stat=dis"
|
|
;;
|
|
disable)
|
|
_complete $cmd $COL_NAME "stat=rdy"
|
|
;;
|
|
esac
|
|
elif [ "$COMP_CWORD" == 3 ]; then
|
|
_one_owner_update "$pprev"
|
|
fi
|
|
}
|
|
|
|
_oneprovision() {
|
|
local cur prev opts cmd
|
|
COMPREPLY=()
|
|
cur="${COMP_WORDS[COMP_CWORD]}"
|
|
prev="${COMP_WORDS[COMP_CWORD-1]}"
|
|
opts="create validate list show configure delete"
|
|
cmd=oneprovision
|
|
if [ "$COMP_CWORD" == 1 ]; then
|
|
COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
|
|
return 0
|
|
elif [ "$COMP_CWORD" == 2 ]; then
|
|
case "$prev" in
|
|
show|configure|delete)
|
|
_complete $cmd ID
|
|
;;
|
|
create|validate)
|
|
COMPREPLY=( $(compgen -A file -- "${cur}") )
|
|
return 0
|
|
;;
|
|
esac
|
|
fi
|
|
}
|
|
|
|
_oneprovider() {
|
|
local cur prev opts cmd
|
|
COMPREPLY=()
|
|
cur="${COMP_WORDS[COMP_CWORD]}"
|
|
prev="${COMP_WORDS[COMP_CWORD-1]}"
|
|
opts="create list show delete update"
|
|
cmd=oneprovider
|
|
if [ "$COMP_CWORD" == 1 ]; then
|
|
COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
|
|
return 0
|
|
elif [ "$COMP_CWORD" == 2 ]; then
|
|
case "$prev" in
|
|
show|delete|update)
|
|
_complete $cmd ID
|
|
;;
|
|
create)
|
|
COMPREPLY=( $(compgen -A file -- "${cur}") )
|
|
return 0
|
|
;;
|
|
esac
|
|
fi
|
|
}
|
|
|
|
_onesecgroup() {
|
|
local cur prev opts cmd
|
|
COMPREPLY=()
|
|
cur="${COMP_WORDS[COMP_CWORD]}"
|
|
prev="${COMP_WORDS[COMP_CWORD-1]}"
|
|
if [ "${#COMP_WORDS[@]}" -gt "2" ]; then
|
|
pprev="${COMP_WORDS[COMP_CWORD-2]}"
|
|
fi
|
|
opts="create clone delete chgrp chown chmod update rename commit list show"
|
|
cmd=onesecgroup
|
|
if [ "$COMP_CWORD" == 1 ]; then
|
|
COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
|
|
return 0
|
|
elif [ "$COMP_CWORD" == 2 ]; then
|
|
case "$prev" in
|
|
clone|delete|chgrp|chown|chmod|update|rename|commit|show)
|
|
_complete $cmd
|
|
;;
|
|
create)
|
|
COMPREPLY=( $(compgen -A file -- "${cur}") )
|
|
return 0
|
|
;;
|
|
esac
|
|
elif [ "$COMP_CWORD" == 3 ]; then
|
|
_one_owner_update "$pprev"
|
|
fi
|
|
}
|
|
|
|
_oneshowback() {
|
|
local opts
|
|
opts="list calculate"
|
|
_one_simple
|
|
}
|
|
|
|
_onetemplate() {
|
|
opts="create clone delete instantiate chgrp chown chmod update rename list show
|
|
top lock unlock"
|
|
cmd=onetemplate
|
|
_one_template
|
|
}
|
|
|
|
_oneuser() {
|
|
local cur prev opts cmd
|
|
COMPREPLY=()
|
|
cur="${COMP_WORDS[COMP_CWORD]}"
|
|
prev="${COMP_WORDS[COMP_CWORD-1]}"
|
|
if [ "${#COMP_WORDS[@]}" -gt "2" ]; then
|
|
pprev="${COMP_WORDS[COMP_CWORD-2]}"
|
|
fi
|
|
opts="create update quota batchquota defaultquota umask login key delete
|
|
passwd chgrp addgroup delgroup chauth list show encode passwdsearch
|
|
token-create token-set token-delete token-delete-all"
|
|
cmd=oneuser
|
|
if [ "$COMP_CWORD" == 1 ]; then
|
|
COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
|
|
return 0
|
|
elif [ "$COMP_CWORD" == 2 ]; then
|
|
case "$prev" in
|
|
update|quota|batchquota|umask|delete|passwd|chgrp|addgroup| \
|
|
delgroup|chauth|show)
|
|
_complete $cmd
|
|
;;
|
|
defaultquota)
|
|
COMPREPLY=( $(compgen -A file -- "${cur}") )
|
|
return 0
|
|
;;
|
|
esac
|
|
elif [ "$COMP_CWORD" == 3 ]; then
|
|
case "$pprev" in
|
|
chgrp|addgroup|delgroup)
|
|
_complete onegroup
|
|
;;
|
|
update|quota|batchquota)
|
|
COMPREPLY=( $(compgen -A file -- "${cur}") )
|
|
return 0
|
|
;;
|
|
esac
|
|
fi
|
|
}
|
|
|
|
_onevcenter() {
|
|
local cur prev opts cmd
|
|
COMPREPLY=()
|
|
cur="${COMP_WORDS[COMP_CWORD]}"
|
|
prev="${COMP_WORDS[COMP_CWORD-1]}"
|
|
opts="list list_all import import_defaults hosts cleartags"
|
|
cmd=onevcenter
|
|
if [ "$COMP_CWORD" == 1 ]; then
|
|
COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
|
|
return 0
|
|
elif [ "$COMP_CWORD" == 2 ]; then
|
|
case "$prev" in
|
|
cleartags)
|
|
_complete onevm
|
|
;;
|
|
esac
|
|
fi
|
|
}
|
|
|
|
_onevdc() {
|
|
local cur prev opts cmd
|
|
COMPREPLY=()
|
|
cur="${COMP_WORDS[COMP_CWORD]}"
|
|
prev="${COMP_WORDS[COMP_CWORD-1]}"
|
|
if [ "${#COMP_WORDS[@]}" -gt "2" ]; then
|
|
pprev="${COMP_WORDS[COMP_CWORD-2]}"
|
|
fi
|
|
opts="create rename update delete addgroup delgroup addcluster delcluster
|
|
addhost delhost adddatastore deldatastore addvnet delvnet list show"
|
|
cmd=onevdc
|
|
if [ "$COMP_CWORD" == 1 ]; then
|
|
COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
|
|
return 0
|
|
elif [ "$COMP_CWORD" == 2 ]; then
|
|
case "$prev" in
|
|
rename|update|delete|addgroup|delgroup|addcluster|delcluster|addhost| \
|
|
delhost|adddatastore|deldatastore|addvnet|delvnet)
|
|
_complete $cmd
|
|
;;
|
|
esac
|
|
elif [ "$COMP_CWORD" == 3 ]; then
|
|
case "$pprev" in
|
|
addgroup|delgroup)
|
|
_complete onegroup
|
|
;;
|
|
addcluster|delcluster)
|
|
_complete onecluster
|
|
;;
|
|
addhost|delhost)
|
|
_complete onehost
|
|
;;
|
|
adddatastore|deldatastore)
|
|
_complete onedatastore
|
|
;;
|
|
addvnet|delvnet)
|
|
_complete onevnet
|
|
;;
|
|
update)
|
|
COMPREPLY=( $(compgen -A file -- "${cur}") )
|
|
return 0
|
|
;;
|
|
esac
|
|
fi
|
|
}
|
|
|
|
_onevm() {
|
|
local cur prev opts cmd
|
|
COMPREPLY=()
|
|
cur="${COMP_WORDS[COMP_CWORD]}"
|
|
prev="${COMP_WORDS[COMP_CWORD-1]}"
|
|
if [ "${#COMP_WORDS[@]}" -gt "2" ]; then
|
|
pprev="${COMP_WORDS[COMP_CWORD-2]}"
|
|
fi
|
|
opts="create update hold release disk-saveas terminate undeploy poweroff
|
|
reboot deploy migrate stop suspend resume recover disk-attach
|
|
disk-detach nic-attach nic-detach chgrp chown chmod resched unresched
|
|
rename snapshot-create snapshot-revert snapshot-delete disk-snapshot-create
|
|
disk-snapshot-revert disk-snapshot-delete disk-snapshot-rename disk-resize
|
|
list show top resize save updateconf lock unlock create-chart
|
|
delete-chart update-chart backup restore ssh port-forward backupmode"
|
|
cmd=onevm
|
|
if [ "$COMP_CWORD" == 1 ]; then
|
|
COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
|
|
return 0
|
|
elif [ "$COMP_CWORD" == 2 ]; then
|
|
case "$prev" in
|
|
update|hold|release|disk-saveas|terminate|show|delete|resume|recover| \
|
|
disk-attach|disk-detach|nic-attach|nic-detach|chgrp|chown|chmod|resched| \
|
|
unresched|rename|snapshot-create|snapshot-revert|snapshot-delete| \
|
|
disk-snapshot-create|disk-snapshot-delete|disk-snapshot-revert| \
|
|
disk-snapshot-rename|disk-resize|save|updateconf|lock|unlock|create-chart| \
|
|
delete-chart|update-chart|backup|restore|ssh|port-forward|backupmode)
|
|
_complete $cmd
|
|
;;
|
|
undeploy|poweroff|reboot|shutdown|suspend|stop|migrate)
|
|
_complete $cmd $COL_NAME "stat=runn"
|
|
;;
|
|
deploy)
|
|
_complete $cmd $COL_NAME "stat=pend"
|
|
;;
|
|
resize)
|
|
_complete $cmd $COL_NAME "stat=poff"
|
|
;;
|
|
create)
|
|
COMPREPLY=( $(compgen -A file -- "${cur}") )
|
|
return 0
|
|
;;
|
|
esac
|
|
elif [ "$COMP_CWORD" == 3 ]; then
|
|
case "$pprev" in
|
|
deploy|migrate)
|
|
_complete onehost $COL_NAME "stat=on"
|
|
;;
|
|
esac
|
|
_one_owner_update "$pprev"
|
|
fi
|
|
}
|
|
|
|
_onevmgroup() {
|
|
local cur prev opts cmd
|
|
COMPREPLY=()
|
|
cur="${COMP_WORDS[COMP_CWORD]}"
|
|
prev="${COMP_WORDS[COMP_CWORD-1]}"
|
|
if [ "${#COMP_WORDS[@]}" -gt "2" ]; then
|
|
pprev="${COMP_WORDS[COMP_CWORD-2]}"
|
|
fi
|
|
opts="create delete list show chgrp chown chmod update rename lock unlock"
|
|
cmd=onevmgroup
|
|
if [ "$COMP_CWORD" == 1 ]; then
|
|
COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
|
|
return 0
|
|
elif [ "$COMP_CWORD" == 2 ]; then
|
|
case "$prev" in
|
|
delete|show|chgrp|chown|chmod|update|rename|lock|unlock)
|
|
_complete $cmd
|
|
;;
|
|
create)
|
|
COMPREPLY=( $(compgen -A file -- "${cur}") )
|
|
return 0
|
|
;;
|
|
esac
|
|
elif [ "$COMP_CWORD" == 3 ]; then
|
|
_one_owner_update "$pprev"
|
|
fi
|
|
}
|
|
|
|
_onevnet() {
|
|
local cur prev opts cmd
|
|
COMPREPLY=()
|
|
cur="${COMP_WORDS[COMP_CWORD]}"
|
|
prev="${COMP_WORDS[COMP_CWORD-1]}"
|
|
if [ "${#COMP_WORDS[@]}" -gt "2" ]; then
|
|
pprev="${COMP_WORDS[COMP_CWORD-2]}"
|
|
fi
|
|
opts="create delete addar addleases rmar rmleases free hold release release
|
|
chgrp chown chmod list show update updatear rename lock unlock orphans"
|
|
cmd=onevnet
|
|
if [ "$COMP_CWORD" == 1 ]; then
|
|
COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
|
|
return 0
|
|
elif [ "$COMP_CWORD" == 2 ]; then
|
|
case "$prev" in
|
|
delete|addar|addleases|rmar|rmleases|free|hold|release|reserve|chgrp| \
|
|
chown|chmod|show|update|updatear|rename|lock|unlock)
|
|
_complete $cmd
|
|
;;
|
|
create)
|
|
COMPREPLY=( $(compgen -A file -- "${cur}") )
|
|
return 0
|
|
;;
|
|
esac
|
|
elif [ "$COMP_CWORD" == 3 ]; then
|
|
case "$pprev" in
|
|
addar|update)
|
|
COMPREPLY=( $(compgen -A file -- "${cur}") )
|
|
return 0
|
|
;;
|
|
esac
|
|
_one_owner_update "$pprev"
|
|
fi
|
|
}
|
|
|
|
_onevntemplate() {
|
|
local opts cmd
|
|
opts="create clone delete instantiate chgrp chown chmod update rename list show
|
|
top lock unlock"
|
|
cmd=onevntemplate
|
|
_one_template
|
|
}
|
|
|
|
_onevrouter() {
|
|
local cur prev opts cmd
|
|
COMPREPLY=()
|
|
cur="${COMP_WORDS[COMP_CWORD]}"
|
|
prev="${COMP_WORDS[COMP_CWORD-1]}"
|
|
if [ "${#COMP_WORDS[@]}" -gt "2" ]; then
|
|
pprev="${COMP_WORDS[COMP_CWORD-2]}"
|
|
fi
|
|
opts="create instantiate delete chgrp chown chmod update rename nic-attach
|
|
nic-detach list show top lock unlock"
|
|
cmd=onevrouter
|
|
if [ "$COMP_CWORD" == 1 ]; then
|
|
COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
|
|
return 0
|
|
elif [ "$COMP_CWORD" == 2 ]; then
|
|
case "$prev" in
|
|
instantiate|delete|chgrp|chown|chmod|update|rename|nic-attach| \
|
|
nic-detach|show|lock|unlock)
|
|
_complete $cmd
|
|
;;
|
|
create)
|
|
COMPREPLY=( $(compgen -A file -- "${cur}") )
|
|
return 0
|
|
;;
|
|
esac
|
|
elif [ "$COMP_CWORD" == 3 ]; then
|
|
_one_owner_update "$pprev"
|
|
fi
|
|
}
|
|
|
|
_onezone() {
|
|
local cur prev opts cmd
|
|
COMPREPLY=()
|
|
cur="${COMP_WORDS[COMP_CWORD]}"
|
|
prev="${COMP_WORDS[COMP_CWORD-1]}"
|
|
if [ "${#COMP_WORDS[@]}" -gt "2" ]; then
|
|
pprev="${COMP_WORDS[COMP_CWORD-2]}"
|
|
fi
|
|
opts="create rename server-add server-del server-reset update delete list show set serversync"
|
|
cmd=onezone
|
|
if [ "$COMP_CWORD" == 1 ]; then
|
|
COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
|
|
return 0
|
|
elif [ "$COMP_CWORD" == 2 ]; then
|
|
case "$prev" in
|
|
rename|server-add|server-del|server-reset|update|delete|show|set)
|
|
_complete $cmd
|
|
;;
|
|
create)
|
|
COMPREPLY=( $(compgen -A file -- "${cur}") )
|
|
return 0
|
|
;;
|
|
esac
|
|
elif [ "$COMP_CWORD" == 3 ]; then
|
|
case "$pprev" in
|
|
update)
|
|
COMPREPLY=( $(compgen -A file -- "${cur}") )
|
|
return 0
|
|
;;
|
|
esac
|
|
fi
|
|
}
|
|
|
|
complete -F _oneacl oneacl
|
|
complete -F _onebackupjob onebackupjob
|
|
complete -F _onecluster onecluster
|
|
complete -F _onedatastore onedatastore
|
|
complete -F _onedb onedb
|
|
complete -F _oneflow oneflow
|
|
complete -F _oneflow_template oneflow-template
|
|
complete -F _onegroup onegroup
|
|
complete -F _onehook onehook
|
|
complete -F _onehost onehost
|
|
complete -F _oneimage oneimage
|
|
complete -F _onemarket onemarket
|
|
complete -F _onemarketapp onemarketapp
|
|
complete -F _oneprovision oneprovision
|
|
complete -F _oneprovider oneprovider
|
|
complete -F _onesecgroup onesecgroup
|
|
complete -F _oneshowback oneshowback
|
|
complete -F _onetemplate onetemplate
|
|
complete -F _oneuser oneuser
|
|
complete -F _onevcenter onevcenter
|
|
complete -F _onevdc onevdc
|
|
complete -F _onevm onevm
|
|
complete -F _onevmgroup onevmgroup
|
|
complete -F _onevnet onevnet
|
|
complete -F _onevntemplate onevntemplate
|
|
complete -F _onevrouter onevrouter
|
|
complete -F _onezone onezone
|