client/mussel/v12.03.d/volume.sh
# -*-Shell-script-*-
#
# 12.03
#
. ${BASH_SOURCE[0]%/*}/base.sh
task_index() {
# --state=(alive|alive_with_deleted|available|attached|deleted)
if [[ -n "${state}" ]]; then
xquery="state=${state}"
fi
cmd_index $*
}
task_backup() {
local namespace=$1 cmd=$2 uuid=$3
[[ -n "${namespace}" ]] || { echo "[ERROR] 'namespace' is empty (${BASH_SOURCE[0]##*/}:${LINENO})" >&2; return 1; }
[[ -n "${cmd}" ]] || { echo "[ERROR] 'cmd' is empty (${BASH_SOURCE[0]##*/}:${LINENO})" >&2; return 1; }
[[ -n "${uuid}" ]] || { echo "[ERROR] 'uuid' is empty (${BASH_SOURCE[0]##*/}:${LINENO})" >&2; return 1; }
call_api -X PUT $(urlencode_data \
$(add_param description string) \
$(add_param display_name string) \
$(add_param is_cacheable string) \
$(add_param is_public string) \
) \
$(base_uri)/${namespace}s/${uuid}/backup.$(suffix)
}
task_create() {
local namespace=$1 cmd=$2 uuid=$3
[[ -n "${namespace}" ]] || { echo "[ERROR] 'namespace' is empty (${BASH_SOURCE[0]##*/}:${LINENO})" >&2; return 1; }
[[ -n "${cmd}" ]] || { echo "[ERROR] 'cmd' is empty (${BASH_SOURCE[0]##*/}:${LINENO})" >&2; return 1; }
call_api -X POST $(urlencode_data \
$(add_param volume_size string) \
$(add_param storage_node_id string) \
$(add_param backup_object_id string) \
) \
$(add_args_param volumes) \
$(base_uri)/${namespace}s.$(suffix)
}
task_attach() {
local namespace=$1 cmd=$2 uuid=$3
[[ -n "${namespace}" ]] || { echo "[ERROR] 'namespace' is empty (${BASH_SOURCE[0]##*/}:${LINENO})" >&2; return 1; }
[[ -n "${cmd}" ]] || { echo "[ERROR] 'cmd' is empty (${BASH_SOURCE[0]##*/}:${LINENO})" >&2; return 1; }
[[ -n "${uuid}" ]] || { echo "[ERROR] 'uuid' is empty (${BASH_SOURCE[0]##*/}:${LINENO})" >&2; return 1; }
call_api -X PUT $(urlencode_data \
$(add_param instance_id string) \
) \
$(base_uri)/${namespace}s/${uuid}/attach.$(suffix)
}
task_detach() {
local namespace=$1 cmd=$2 uuid=$3
[[ -n "${namespace}" ]] || { echo "[ERROR] 'namespace' is empty (${BASH_SOURCE[0]##*/}:${LINENO})" >&2; return 1; }
[[ -n "${cmd}" ]] || { echo "[ERROR] 'cmd' is empty (${BASH_SOURCE[0]##*/}:${LINENO})" >&2; return 1; }
[[ -n "${uuid}" ]] || { echo "[ERROR] 'uuid' is empty (${BASH_SOURCE[0]##*/}:${LINENO})" >&2; return 1; }
call_api -X PUT $(urlencode_data \
$(add_param instance_id string) \
) \
$(base_uri)/${namespace}s/${uuid}/detach.$(suffix)
}