.completer_flags = VIR_CONNECT_LIST_STORAGE_POOLS_ACTIVE, \
}
-#define VIRSH_COMMON_OPT_VOLUME_VOL \
+#define VIRSH_COMMON_OPT_VOL_NAME(_helpstr) \
{.name = "vol", \
.type = VSH_OT_DATA, \
.flags = VSH_OFLAG_REQ, \
- .help = N_("vol name, key or path"), \
+ .help = _helpstr, \
.completer = virshStorageVolNameCompleter, \
}
+#define VIRSH_COMMON_OPT_VOL_KEY(_helpstr) \
+ {.name = "vol", \
+ .type = VSH_OT_DATA, \
+ .flags = VSH_OFLAG_REQ, \
+ .help = _helpstr, \
+ .completer = virshStorageVolKeyCompleter, \
+ }
+
+#define VIRSH_COMMON_OPT_VOL_FULL \
+ VIRSH_COMMON_OPT_VOL_NAME(N_("vol name, key or path"))
+
+#define VIRSH_COMMON_OPT_VOL_BY_KEY \
+ VIRSH_COMMON_OPT_VOL_KEY(N_("volume key or path"))
+
virStorageVolPtr
virshCommandOptVolBy(vshControl *ctl, const vshCmd *cmd,
const char *optname,
static const vshCmdOptDef opts_vol_create_from[] = {
VIRSH_COMMON_OPT_POOL_FULL,
VIRSH_COMMON_OPT_FILE(N_("file containing an XML vol description")),
- VIRSH_COMMON_OPT_VOLUME_VOL,
+ VIRSH_COMMON_OPT_VOL_FULL,
{.name = "inputpool",
.type = VSH_OT_STRING,
.help = N_("pool name or uuid of the input volume's pool")
};
static const vshCmdOptDef opts_vol_clone[] = {
- VIRSH_COMMON_OPT_VOLUME_VOL,
+ VIRSH_COMMON_OPT_VOL_FULL,
{.name = "newname",
.type = VSH_OT_DATA,
.flags = VSH_OFLAG_REQ,
};
static const vshCmdOptDef opts_vol_upload[] = {
- VIRSH_COMMON_OPT_VOLUME_VOL,
+ VIRSH_COMMON_OPT_VOL_FULL,
VIRSH_COMMON_OPT_FILE(N_("file")),
VIRSH_COMMON_OPT_POOL_OPTIONAL,
{.name = "offset",
};
static const vshCmdOptDef opts_vol_download[] = {
- VIRSH_COMMON_OPT_VOLUME_VOL,
+ VIRSH_COMMON_OPT_VOL_FULL,
VIRSH_COMMON_OPT_FILE(N_("file")),
VIRSH_COMMON_OPT_POOL_OPTIONAL,
{.name = "offset",
};
static const vshCmdOptDef opts_vol_delete[] = {
- VIRSH_COMMON_OPT_VOLUME_VOL,
+ VIRSH_COMMON_OPT_VOL_FULL,
VIRSH_COMMON_OPT_POOL_OPTIONAL,
{.name = "delete-snapshots",
.type = VSH_OT_BOOL,
};
static const vshCmdOptDef opts_vol_wipe[] = {
- VIRSH_COMMON_OPT_VOLUME_VOL,
+ VIRSH_COMMON_OPT_VOL_FULL,
VIRSH_COMMON_OPT_POOL_OPTIONAL,
{.name = "algorithm",
.type = VSH_OT_STRING,
};
static const vshCmdOptDef opts_vol_info[] = {
- VIRSH_COMMON_OPT_VOLUME_VOL,
+ VIRSH_COMMON_OPT_VOL_FULL,
VIRSH_COMMON_OPT_POOL_OPTIONAL,
{.name = "bytes",
.type = VSH_OT_BOOL,
};
static const vshCmdOptDef opts_vol_resize[] = {
- VIRSH_COMMON_OPT_VOLUME_VOL,
+ VIRSH_COMMON_OPT_VOL_FULL,
{.name = "capacity",
.type = VSH_OT_DATA,
.flags = VSH_OFLAG_REQ,
};
static const vshCmdOptDef opts_vol_dumpxml[] = {
- VIRSH_COMMON_OPT_VOLUME_VOL,
+ VIRSH_COMMON_OPT_VOL_FULL,
VIRSH_COMMON_OPT_POOL_OPTIONAL,
{.name = NULL}
};