local args="${words[@]:1}"
case "${cmd}" in
config)
- # TODO
+ _network_zone_subcommand_config "${zone}" ${args}
;;
port)
_network_zone_subcommand_port "${zone}" ${args}
esac
}
+_network_zone_subcommand_config() {
+ local zone="${1}"
+ shift
+
+ local words=( $@ )
+
+ local commands="new destroy"
+ local cmd="$(_network_find_on_cmdline "${commands}")"
+ if [[ -z "${cmd}" ]]; then
+ COMPREPLY=( $(compgen -W "${commands}" -- "${cur}") )
+ return 0
+ fi
+
+ case "${cmd}" in
+ new)
+ _network_complete_hooks "config"
+ ;;
+ esac
+}
+
_network_zone_subcommand_port() {
local zone="${1}"
shift
local cmd="${1}"
case "${cmd}" in
- create|remove|edit|up|down|status)
+ new|destroy|edit|up|down|status)
return ${EXIT_TRUE}
;;
esac
return ${EXIT_TRUE}
;;
- config_create|config_edit|config_remove|config_show)
+ config_new|config_destroy|config_edit|config_show)
return ${EXIT_TRUE}
;;
assert zone_exists "${zone}"
case "${cmd}" in
- create)
- zone_config_create "${zone}" "$@"
+ new)
+ zone_config_new "${zone}" "$@"
+ ;;
+ destroy)
+ zone_config_destroy "${zone}" "$@"
;;
edit)
zone_config_edit "${zone}" "$@"
;;
- remove)
- zone_config_remove "${zone}" "$@"
- ;;
*)
error "Unrecognized argument: ${cmd}"
cli_usage root-zone-config-subcommands
hook_zone_exec "${hook}" "config_${cmd}" "${zone}" "$@"
}
-zone_config_create() {
- zone_config_cmd "create" "$@"
+zone_config_new() {
+ zone_config_cmd "new" "$@"
}
-zone_config_edit() {
- zone_config_cmd "edit" "$@"
+zone_config_destroy() {
+ zone_config_cmd "destroy" "$@"
}
-zone_config_remove() {
- zone_config_cmd "remove" "$@"
+zone_config_edit() {
+ zone_config_cmd "edit" "$@"
}
zone_config_show() {
# along with this program. If not, see <http://www.gnu.org/licenses/>. #
# #
###############################################################################
+
+hook_new() {
+ cmd_not_implemented
+}
local ret
case "${action}" in
- create|edit|rem|show)
+ new|destroy|edit|show)
hook_config_${action} "${zone}" "$@"
exit $?
;;
hook_config_exec "${hook_config}" "${cmd}" "${zone}" "$@"
}
-hook_config_create() {
+hook_config_new() {
assert [ $# -ge 2 ]
- hook_config_cmd "create" "$@"
+ hook_config_cmd "new" "$@"
}
-hook_config_edit() {
- hook_config_cmd "edit" "$@"
+hook_config_destroy() {
+ hook_config_cmd "destroy" "$@"
}
-hook_config_remove() {
- hook_config_cmd "remove" "$@"
+hook_config_edit() {
+ hook_config_cmd "edit" "$@"
}
hook_config_show() {