static const vshCmdOptDef opts_domif_getlink[] = {
VIRSH_COMMON_OPT_DOMAIN_FULL(0),
{.name = "interface",
- .type = VSH_OT_DATA,
+ .type = VSH_OT_STRING,
.positional = true,
.required = true,
.flags = VSH_OFLAG_REQ,
static const vshCmdOptDef opts_domifstat[] = {
VIRSH_COMMON_OPT_DOMAIN_FULL(VIR_CONNECT_LIST_DOMAINS_ACTIVE),
{.name = "interface",
- .type = VSH_OT_DATA,
+ .type = VSH_OT_STRING,
.positional = true,
.required = true,
.flags = VSH_OFLAG_REQ,
static const vshCmdOptDef opts_attach_disk[] = {
VIRSH_COMMON_OPT_DOMAIN_FULL(0),
{.name = "source",
- .type = VSH_OT_DATA,
+ .type = VSH_OT_STRING,
.positional = true,
.required = true,
.flags = VSH_OFLAG_REQ | VSH_OFLAG_EMPTY_OK,
.help = N_("source of disk device or name of network disk")
},
{.name = "target",
- .type = VSH_OT_DATA,
+ .type = VSH_OT_STRING,
.positional = true,
.required = true,
.flags = VSH_OFLAG_REQ,
static const vshCmdOptDef opts_attach_interface[] = {
VIRSH_COMMON_OPT_DOMAIN_FULL(0),
{.name = "type",
- .type = VSH_OT_DATA,
+ .type = VSH_OT_STRING,
.positional = true,
.required = true,
.flags = VSH_OFLAG_REQ,
.help = N_("network interface type")
},
{.name = "source",
- .type = VSH_OT_DATA,
+ .type = VSH_OT_STRING,
.positional = true,
.required = true,
.flags = VSH_OFLAG_REQ,
static const vshCmdOptDef opts_blkdeviotune[] = {
VIRSH_COMMON_OPT_DOMAIN_FULL(0),
{.name = "device",
- .type = VSH_OT_DATA,
+ .type = VSH_OT_STRING,
.positional = true,
.required = true,
.flags = VSH_OFLAG_REQ,
static const vshCmdOptDef opts_blockcommit[] = {
VIRSH_COMMON_OPT_DOMAIN_FULL(VIR_CONNECT_LIST_DOMAINS_ACTIVE),
{.name = "path",
- .type = VSH_OT_DATA,
+ .type = VSH_OT_STRING,
.positional = true,
.required = true,
.flags = VSH_OFLAG_REQ,
static const vshCmdOptDef opts_blockcopy[] = {
VIRSH_COMMON_OPT_DOMAIN_FULL(VIR_CONNECT_LIST_DOMAINS_ACTIVE),
{.name = "path",
- .type = VSH_OT_DATA,
+ .type = VSH_OT_STRING,
.positional = true,
.required = true,
.flags = VSH_OFLAG_REQ,
static const vshCmdOptDef opts_blockjob[] = {
VIRSH_COMMON_OPT_DOMAIN_FULL(VIR_CONNECT_LIST_DOMAINS_ACTIVE),
{.name = "path",
- .type = VSH_OT_DATA,
+ .type = VSH_OT_STRING,
.positional = true,
.required = true,
.flags = VSH_OFLAG_REQ,
static const vshCmdOptDef opts_blockpull[] = {
VIRSH_COMMON_OPT_DOMAIN_FULL(VIR_CONNECT_LIST_DOMAINS_ACTIVE),
{.name = "path",
- .type = VSH_OT_DATA,
+ .type = VSH_OT_STRING,
.positional = true,
.required = true,
.flags = VSH_OFLAG_REQ,
static const vshCmdOptDef opts_blockresize[] = {
VIRSH_COMMON_OPT_DOMAIN_FULL(VIR_CONNECT_LIST_DOMAINS_ACTIVE),
{.name = "path",
- .type = VSH_OT_DATA,
+ .type = VSH_OT_STRING,
.positional = true,
.required = true,
.flags = VSH_OFLAG_REQ,
static const vshCmdOptDef opts_domif_setlink[] = {
VIRSH_COMMON_OPT_DOMAIN_FULL(0),
{.name = "interface",
- .type = VSH_OT_DATA,
+ .type = VSH_OT_STRING,
.positional = true,
.required = true,
.flags = VSH_OFLAG_REQ,
.help = N_("interface device (MAC Address)")
},
{.name = "state",
- .type = VSH_OT_DATA,
+ .type = VSH_OT_STRING,
.positional = true,
.required = true,
.flags = VSH_OFLAG_REQ,
static const vshCmdOptDef opts_domiftune[] = {
VIRSH_COMMON_OPT_DOMAIN_FULL(0),
{.name = "interface",
- .type = VSH_OT_DATA,
+ .type = VSH_OT_STRING,
.positional = true,
.required = true,
.flags = VSH_OFLAG_REQ,
static const vshCmdOptDef opts_dom_pm_suspend[] = {
VIRSH_COMMON_OPT_DOMAIN_FULL(VIR_CONNECT_LIST_DOMAINS_RUNNING),
{.name = "target",
- .type = VSH_OT_DATA,
+ .type = VSH_OT_STRING,
.positional = true,
.required = true,
.flags = VSH_OFLAG_REQ,
static const vshCmdOptDef opts_save[] = {
VIRSH_COMMON_OPT_DOMAIN_FULL(VIR_CONNECT_LIST_DOMAINS_ACTIVE),
{.name = "file",
- .type = VSH_OT_DATA,
+ .type = VSH_OT_STRING,
.positional = true,
.required = true,
.flags = VSH_OFLAG_REQ,
static const vshCmdOptDef opts_save_image_dumpxml[] = {
{.name = "file",
- .type = VSH_OT_DATA,
+ .type = VSH_OT_STRING,
.positional = true,
.required = true,
.flags = VSH_OFLAG_REQ,
static const vshCmdOptDef opts_save_image_define[] = {
{.name = "file",
- .type = VSH_OT_DATA,
+ .type = VSH_OT_STRING,
.positional = true,
.required = true,
.flags = VSH_OFLAG_REQ,
.help = N_("saved state file to modify")
},
{.name = "xml",
- .type = VSH_OT_DATA,
+ .type = VSH_OT_STRING,
.positional = true,
.required = true,
.flags = VSH_OFLAG_REQ,
static const vshCmdOptDef opts_save_image_edit[] = {
{.name = "file",
- .type = VSH_OT_DATA,
+ .type = VSH_OT_STRING,
.positional = true,
.required = true,
.flags = VSH_OFLAG_REQ,
static const vshCmdOptDef opts_managed_save_define[] = {
VIRSH_COMMON_OPT_DOMAIN_FULL(VIR_CONNECT_LIST_DOMAINS_MANAGEDSAVE),
{.name = "xml",
- .type = VSH_OT_DATA,
+ .type = VSH_OT_STRING,
.positional = true,
.required = true,
.flags = VSH_OFLAG_REQ,
static const vshCmdOptDef opts_restore[] = {
{.name = "file",
- .type = VSH_OT_DATA,
+ .type = VSH_OT_STRING,
.positional = true,
.required = true,
.flags = VSH_OFLAG_REQ,
static const vshCmdOptDef opts_dump[] = {
VIRSH_COMMON_OPT_DOMAIN_FULL(VIR_CONNECT_LIST_DOMAINS_ACTIVE),
{.name = "file",
- .type = VSH_OT_DATA,
+ .type = VSH_OT_STRING,
.positional = true,
.required = true,
.flags = VSH_OFLAG_REQ,
static const vshCmdOptDef opts_setLifecycleAction[] = {
VIRSH_COMMON_OPT_DOMAIN_FULL(0),
{.name = "type",
- .type = VSH_OT_DATA,
+ .type = VSH_OT_STRING,
.positional = true,
.required = true,
.flags = VSH_OFLAG_REQ,
.help = N_("lifecycle type to modify")
},
{.name = "action",
- .type = VSH_OT_DATA,
+ .type = VSH_OT_STRING,
.positional = true,
.required = true,
.flags = VSH_OFLAG_REQ,
static const vshCmdOptDef opts_set_user_password[] = {
VIRSH_COMMON_OPT_DOMAIN_FULL(VIR_CONNECT_LIST_DOMAINS_ACTIVE),
{.name = "user",
- .type = VSH_OT_DATA,
+ .type = VSH_OT_STRING,
.positional = true,
.required = true,
.flags = VSH_OFLAG_REQ,
.help = N_("the username")
},
{.name = "password",
- .type = VSH_OT_DATA,
+ .type = VSH_OT_STRING,
.positional = true,
.required = true,
.flags = VSH_OFLAG_REQ,
static const vshCmdOptDef opts_setvcpu[] = {
VIRSH_COMMON_OPT_DOMAIN_FULL(0),
{.name = "vcpulist",
- .type = VSH_OT_DATA,
+ .type = VSH_OT_STRING,
.positional = true,
.required = true,
.flags = VSH_OFLAG_REQ,
static const vshCmdOptDef opts_domblkthreshold[] = {
VIRSH_COMMON_OPT_DOMAIN_FULL(VIR_CONNECT_LIST_DOMAINS_ACTIVE),
{.name = "dev",
- .type = VSH_OT_DATA,
+ .type = VSH_OT_STRING,
.positional = true,
.required = true,
.flags = VSH_OFLAG_REQ,
.help = N_("IOThread ID number")
},
{.name = "cpulist",
- .type = VSH_OT_DATA,
+ .type = VSH_OT_STRING,
.positional = true,
.required = true,
.flags = VSH_OFLAG_REQ,
static const vshCmdOptDef opts_metadata[] = {
VIRSH_COMMON_OPT_DOMAIN_FULL(0),
{.name = "uri",
- .type = VSH_OT_DATA,
+ .type = VSH_OT_STRING,
.positional = true,
.required = true,
.flags = VSH_OFLAG_REQ,
static const vshCmdOptDef opts_send_process_signal[] = {
VIRSH_COMMON_OPT_DOMAIN_FULL(VIR_CONNECT_LIST_DOMAINS_ACTIVE),
{.name = "pid",
- .type = VSH_OT_DATA,
+ .type = VSH_OT_STRING,
.positional = true,
.required = true,
.flags = VSH_OFLAG_REQ,
.help = N_("the process ID")
},
{.name = "signame",
- .type = VSH_OT_DATA,
+ .type = VSH_OT_STRING,
.positional = true,
.required = true,
.flags = VSH_OFLAG_REQ,
static const vshCmdOptDef opts_dom_fd_associate[] = {
VIRSH_COMMON_OPT_DOMAIN_FULL(0),
{.name = "name",
- .type = VSH_OT_DATA,
+ .type = VSH_OT_STRING,
.positional = true,
.required = true,
.flags = VSH_OFLAG_REQ,
.help = N_("name of the FD group")
},
{.name = "pass-fds",
- .type = VSH_OT_DATA,
+ .type = VSH_OT_STRING,
.positional = true,
.required = true,
.flags = VSH_OFLAG_REQ,
static const vshCmdOptDef opts_qemu_attach[] = {
{.name = "pid",
- .type = VSH_OT_DATA,
+ .type = VSH_OT_STRING,
.positional = true,
.required = true,
.flags = VSH_OFLAG_REQ,
static const vshCmdOptDef opts_domxmlfromnative[] = {
{.name = "format",
- .type = VSH_OT_DATA,
+ .type = VSH_OT_STRING,
.positional = true,
.required = true,
.flags = VSH_OFLAG_REQ,
.help = N_("source config data format")
},
{.name = "config",
- .type = VSH_OT_DATA,
+ .type = VSH_OT_STRING,
.positional = true,
.required = true,
.flags = VSH_OFLAG_REQ,
static const vshCmdOptDef opts_domxmltonative[] = {
{.name = "format",
- .type = VSH_OT_DATA,
+ .type = VSH_OT_STRING,
.positional = true,
.required = true,
.flags = VSH_OFLAG_REQ,
static const vshCmdOptDef opts_domname[] = {
{.name = "domain",
- .type = VSH_OT_DATA,
+ .type = VSH_OT_STRING,
.positional = true,
.required = true,
.flags = VSH_OFLAG_REQ,
VIRSH_COMMON_OPT_DOMAIN(N_("domain name or uuid"),
VIR_CONNECT_LIST_DOMAINS_INACTIVE),
{.name = "new-name",
- .type = VSH_OT_DATA,
+ .type = VSH_OT_STRING,
.positional = true,
.required = true,
.flags = VSH_OFLAG_REQ,
static const vshCmdOptDef opts_migrate[] = {
VIRSH_COMMON_OPT_DOMAIN_FULL(0),
{.name = "desturi",
- .type = VSH_OT_DATA,
+ .type = VSH_OT_STRING,
.positional = true,
.required = true,
.flags = VSH_OFLAG_REQ,
static const vshCmdOptDef opts_detach_device_alias[] = {
VIRSH_COMMON_OPT_DOMAIN_FULL(0),
{.name = "alias",
- .type = VSH_OT_DATA,
+ .type = VSH_OT_STRING,
.positional = true,
.required = true,
.flags = VSH_OFLAG_REQ,
static const vshCmdOptDef opts_detach_interface[] = {
VIRSH_COMMON_OPT_DOMAIN_FULL(0),
{.name = "type",
- .type = VSH_OT_DATA,
+ .type = VSH_OT_STRING,
.positional = true,
.required = true,
.flags = VSH_OFLAG_REQ,
static const vshCmdOptDef opts_detach_disk[] = {
VIRSH_COMMON_OPT_DOMAIN_FULL(0),
{.name = "target",
- .type = VSH_OT_DATA,
+ .type = VSH_OT_STRING,
.positional = true,
.required = true,
.flags = VSH_OFLAG_REQ,
static const vshCmdOptDef opts_change_media[] = {
VIRSH_COMMON_OPT_DOMAIN_FULL(0),
{.name = "path",
- .type = VSH_OT_DATA,
+ .type = VSH_OT_STRING,
.positional = true,
.required = true,
.flags = VSH_OFLAG_REQ,
static const vshCmdOptDef opts_get_user_sshkeys[] = {
VIRSH_COMMON_OPT_DOMAIN_FULL(VIR_CONNECT_LIST_DOMAINS_ACTIVE),
{.name = "user",
- .type = VSH_OT_DATA,
+ .type = VSH_OT_STRING,
.positional = true,
.required = true,
.flags = VSH_OFLAG_REQ,
static const vshCmdOptDef opts_set_user_sshkeys[] = {
VIRSH_COMMON_OPT_DOMAIN_FULL(VIR_CONNECT_LIST_DOMAINS_ACTIVE),
{.name = "user",
- .type = VSH_OT_DATA,
+ .type = VSH_OT_STRING,
.positional = true,
.required = true,
.flags = VSH_OFLAG_REQ,
static const vshCmdOptDef opts_node_suspend[] = {
{.name = "target",
- .type = VSH_OT_DATA,
+ .type = VSH_OT_STRING,
.positional = true,
.required = true,
.flags = VSH_OFLAG_REQ,
static const vshCmdOptDef opts_cpu_models[] = {
{.name = "arch",
- .type = VSH_OT_DATA,
+ .type = VSH_OT_STRING,
.positional = true,
.required = true,
.completer = virshArchCompleter,
#define VIRSH_COMMON_OPT_INTERFACE(cflags) \
{.name = "interface", \
- .type = VSH_OT_DATA, \
+ .type = VSH_OT_STRING, \
.positional = true, \
.required = true, \
.flags = VSH_OFLAG_REQ, \
static const vshCmdOptDef opts_interface_name[] = {
{.name = "interface",
- .type = VSH_OT_DATA,
+ .type = VSH_OT_STRING,
.positional = true,
.required = true,
.flags = VSH_OFLAG_REQ,
static const vshCmdOptDef opts_interface_mac[] = {
{.name = "interface",
- .type = VSH_OT_DATA,
+ .type = VSH_OT_STRING,
.positional = true,
.required = true,
.flags = VSH_OFLAG_REQ,
static const vshCmdOptDef opts_interface_bridge[] = {
{.name = "interface",
- .type = VSH_OT_DATA,
+ .type = VSH_OT_STRING,
.positional = true,
.required = true,
.flags = VSH_OFLAG_REQ,
.help = N_("existing interface name")
},
{.name = "bridge",
- .type = VSH_OT_DATA,
+ .type = VSH_OT_STRING,
.positional = true,
.required = true,
.flags = VSH_OFLAG_REQ,
static const vshCmdOptDef opts_interface_unbridge[] = {
{.name = "bridge",
- .type = VSH_OT_DATA,
+ .type = VSH_OT_STRING,
.positional = true,
.required = true,
.flags = VSH_OFLAG_REQ,
#define VIRSH_COMMON_OPT_NETWORK(_helpstr, cflags) \
{.name = "network", \
- .type = VSH_OT_DATA, \
+ .type = VSH_OT_STRING, \
.positional = true, \
.required = true, \
.flags = VSH_OFLAG_REQ, \
#define VIRSH_COMMON_OPT_NETWORK_PORT(cflags) \
{.name = "port", \
- .type = VSH_OT_DATA, \
+ .type = VSH_OT_STRING, \
.positional = true, \
.required = true, \
.flags = VSH_OFLAG_REQ, \
static const vshCmdOptDef opts_network_metadata[] = {
VIRSH_COMMON_OPT_NETWORK_FULL(0),
{.name = "uri",
- .type = VSH_OT_DATA,
+ .type = VSH_OT_STRING,
.positional = true,
.required = true,
.flags = VSH_OFLAG_REQ,
static const vshCmdOptDef opts_network_name[] = {
{.name = "network",
- .type = VSH_OT_DATA,
+ .type = VSH_OT_STRING,
.positional = true,
.required = true,
.flags = VSH_OFLAG_REQ,
static const vshCmdOptDef opts_network_update[] = {
VIRSH_COMMON_OPT_NETWORK_FULL(0),
{.name = "command",
- .type = VSH_OT_DATA,
+ .type = VSH_OT_STRING,
.positional = true,
.required = true,
.flags = VSH_OFLAG_REQ,
.help = N_("type of update (add-first, add-last (add), delete, or modify)")
},
{.name = "section",
- .type = VSH_OT_DATA,
+ .type = VSH_OT_STRING,
.positional = true,
.required = true,
.flags = VSH_OFLAG_REQ,
.help = N_("which section of network configuration to update")
},
{.name = "xml",
- .type = VSH_OT_DATA,
+ .type = VSH_OT_STRING,
.positional = true,
.required = true,
.flags = VSH_OFLAG_REQ,
.help = "device"
},
{.name = "device",
- .type = VSH_OT_DATA,
+ .type = VSH_OT_STRING,
.positional = true,
.required = true,
.flags = VSH_OFLAG_REQ,
static const vshCmdOptDef opts_node_device_dumpxml[] = {
{.name = "device",
- .type = VSH_OT_DATA,
+ .type = VSH_OT_STRING,
.positional = true,
.required = true,
.flags = VSH_OFLAG_REQ,
static const vshCmdOptDef opts_node_device_detach[] = {
{.name = "device",
- .type = VSH_OT_DATA,
+ .type = VSH_OT_STRING,
.positional = true,
.required = true,
.flags = VSH_OFLAG_REQ,
static const vshCmdOptDef opts_node_device_reattach[] = {
{.name = "device",
- .type = VSH_OT_DATA,
+ .type = VSH_OT_STRING,
.positional = true,
.required = true,
.flags = VSH_OFLAG_REQ,
static const vshCmdOptDef opts_node_device_reset[] = {
{.name = "device",
- .type = VSH_OT_DATA,
+ .type = VSH_OT_STRING,
.positional = true,
.required = true,
.flags = VSH_OFLAG_REQ,
static const vshCmdOptDef opts_node_device_undefine[] = {
{.name = "device",
- .type = VSH_OT_DATA,
+ .type = VSH_OT_STRING,
.positional = true,
.required = true,
.flags = VSH_OFLAG_REQ,
static const vshCmdOptDef opts_node_device_start[] = {
{.name = "device",
- .type = VSH_OT_DATA,
+ .type = VSH_OT_STRING,
.positional = true,
.required = true,
.flags = VSH_OFLAG_REQ,
static const vshCmdOptDef opts_node_device_autostart[] = {
{.name = "device",
- .type = VSH_OT_DATA,
+ .type = VSH_OT_STRING,
.positional = true,
.required = true,
.flags = VSH_OFLAG_REQ,
static const vshCmdOptDef opts_node_device_info[] = {
{.name = "device",
- .type = VSH_OT_DATA,
+ .type = VSH_OT_STRING,
.positional = true,
.required = true,
.flags = VSH_OFLAG_REQ,
static const vshCmdOptDef opts_node_device_update[] = {
{.name = "device",
- .type = VSH_OT_DATA,
+ .type = VSH_OT_STRING,
.positional = true,
.required = true,
.flags = VSH_OFLAG_REQ,
static const vshCmdOptDef opts_nwfilter_undefine[] = {
{.name = "nwfilter",
- .type = VSH_OT_DATA,
+ .type = VSH_OT_STRING,
.positional = true,
.required = true,
.flags = VSH_OFLAG_REQ,
static const vshCmdOptDef opts_nwfilter_dumpxml[] = {
{.name = "nwfilter",
- .type = VSH_OT_DATA,
+ .type = VSH_OT_STRING,
.positional = true,
.required = true,
.flags = VSH_OFLAG_REQ,
static const vshCmdOptDef opts_nwfilter_edit[] = {
{.name = "nwfilter",
- .type = VSH_OT_DATA,
+ .type = VSH_OT_STRING,
.positional = true,
.required = true,
.flags = VSH_OFLAG_REQ,
static const vshCmdOptDef opts_nwfilter_binding_delete[] = {
{.name = "binding",
- .type = VSH_OT_DATA,
+ .type = VSH_OT_STRING,
.positional = true,
.required = true,
.flags = VSH_OFLAG_REQ,
static const vshCmdOptDef opts_nwfilter_binding_dumpxml[] = {
{.name = "binding",
- .type = VSH_OT_DATA,
+ .type = VSH_OT_STRING,
.positional = true,
.required = true,
.flags = VSH_OFLAG_REQ,
#define VIRSH_COMMON_OPT_POOL_X_AS \
{.name = "name", \
- .type = VSH_OT_DATA, \
+ .type = VSH_OT_STRING, \
.positional = true, \
.required = true, \
.flags = VSH_OFLAG_REQ, \
.help = N_("name of the pool") \
}, \
{.name = "type", \
- .type = VSH_OT_DATA, \
+ .type = VSH_OT_STRING, \
.positional = true, \
.required = true, \
.flags = VSH_OFLAG_REQ, \
static const vshCmdOptDef opts_find_storage_pool_sources_as[] = {
{.name = "type",
- .type = VSH_OT_DATA,
+ .type = VSH_OT_STRING,
.positional = true,
.required = true,
.flags = VSH_OFLAG_REQ,
static const vshCmdOptDef opts_find_storage_pool_sources[] = {
{.name = "type",
- .type = VSH_OT_DATA,
+ .type = VSH_OT_STRING,
.positional = true,
.required = true,
.flags = VSH_OFLAG_REQ,
static const vshCmdOptDef opts_secret_dumpxml[] = {
{.name = "secret",
- .type = VSH_OT_DATA,
+ .type = VSH_OT_STRING,
.positional = true,
.required = true,
.flags = VSH_OFLAG_REQ,
static const vshCmdOptDef opts_secret_set_value[] = {
{.name = "secret",
- .type = VSH_OT_DATA,
+ .type = VSH_OT_STRING,
.positional = true,
.required = true,
.flags = VSH_OFLAG_REQ,
static const vshCmdOptDef opts_secret_get_value[] = {
{.name = "secret",
- .type = VSH_OT_DATA,
+ .type = VSH_OT_STRING,
.positional = true,
.required = true,
.flags = VSH_OFLAG_REQ,
static const vshCmdOptDef opts_secret_undefine[] = {
{.name = "secret",
- .type = VSH_OT_DATA,
+ .type = VSH_OT_STRING,
.positional = true,
.required = true,
.flags = VSH_OFLAG_REQ,
static const vshCmdOptDef opts_snapshot_dumpxml[] = {
VIRSH_COMMON_OPT_DOMAIN_FULL(VIR_CONNECT_LIST_DOMAINS_HAS_SNAPSHOT),
{.name = "snapshotname",
- .type = VSH_OT_DATA,
+ .type = VSH_OT_STRING,
.positional = true,
.required = true,
.flags = VSH_OFLAG_REQ,
#define VIRSH_COMMON_OPT_VOL_NAME(_helpstr) \
{.name = "vol", \
- .type = VSH_OT_DATA, \
+ .type = VSH_OT_STRING, \
.positional = true, \
.required = true, \
.flags = VSH_OFLAG_REQ, \
#define VIRSH_COMMON_OPT_VOL_KEY(_helpstr) \
{.name = "vol", \
- .type = VSH_OT_DATA, \
+ .type = VSH_OT_STRING, \
.positional = true, \
.required = true, \
.flags = VSH_OFLAG_REQ, \
static const vshCmdOptDef opts_vol_create_as[] = {
VIRSH_COMMON_OPT_POOL_NAME,
{.name = "name",
- .type = VSH_OT_DATA,
+ .type = VSH_OT_STRING,
.positional = true,
.required = true,
.flags = VSH_OFLAG_REQ,
.help = N_("name of the volume")
},
{.name = "capacity",
- .type = VSH_OT_DATA,
+ .type = VSH_OT_STRING,
.positional = true,
.required = true,
.flags = VSH_OFLAG_REQ,
static const vshCmdOptDef opts_vol_clone[] = {
VIRSH_COMMON_OPT_VOL_FULL,
{.name = "newname",
- .type = VSH_OT_DATA,
+ .type = VSH_OT_STRING,
.positional = true,
.required = true,
.flags = VSH_OFLAG_REQ,
static const vshCmdOptDef opts_vol_resize[] = {
VIRSH_COMMON_OPT_VOL_FULL,
{.name = "capacity",
- .type = VSH_OT_DATA,
+ .type = VSH_OT_STRING,
.positional = true,
.required = true,
.flags = VSH_OFLAG_REQ,
*/
#define VIRSH_COMMON_OPT_POOL(_helpstr, cflags) \
{.name = "pool", \
- .type = VSH_OT_DATA, \
+ .type = VSH_OT_STRING, \
.positional = true, \
.required = true, \
.flags = VSH_OFLAG_REQ, \
#define VIRSH_COMMON_OPT_DOMAIN(_helpstr, cflags) \
{.name = "domain", \
- .type = VSH_OT_DATA, \
+ .type = VSH_OT_STRING, \
.positional = true, \
.required = true, \
.flags = VSH_OFLAG_REQ, \
#define VIRSH_COMMON_OPT_FILE_FULL(_helpstr, required_) \
{.name = "file", \
- .type = required_ ? VSH_OT_DATA : VSH_OT_STRING, \
+ .type = VSH_OT_STRING, \
.required = required_, \
.positional = required_, \
.flags = required_ ? VSH_OFLAG_REQ : VSH_OFLAG_NONE, \
static const vshCmdOptDef opts_srv_threadpool_info[] = {
{.name = "server",
- .type = VSH_OT_DATA,
+ .type = VSH_OT_STRING,
.positional = true,
.required = true,
.flags = VSH_OFLAG_REQ,
static const vshCmdOptDef opts_srv_threadpool_set[] = {
{.name = "server",
- .type = VSH_OT_DATA,
+ .type = VSH_OT_STRING,
.positional = true,
.required = true,
.flags = VSH_OFLAG_REQ,
static const vshCmdOptDef opts_srv_clients_list[] = {
{.name = "server",
- .type = VSH_OT_DATA,
+ .type = VSH_OT_STRING,
.positional = true,
.required = true,
.flags = VSH_OFLAG_REQ,
static const vshCmdOptDef opts_client_info[] = {
{.name = "server",
- .type = VSH_OT_DATA,
+ .type = VSH_OT_STRING,
.positional = true,
.required = true,
.flags = VSH_OFLAG_REQ,
.help = N_("server to which <client> is connected to"),
},
{.name = "client",
- .type = VSH_OT_DATA,
+ .type = VSH_OT_STRING,
.positional = true,
.required = true,
.flags = VSH_OFLAG_REQ,
static const vshCmdOptDef opts_client_disconnect[] = {
{.name = "server",
- .type = VSH_OT_DATA,
+ .type = VSH_OT_STRING,
.positional = true,
.required = true,
.flags = VSH_OFLAG_REQ,
static const vshCmdOptDef opts_srv_clients_info[] = {
{.name = "server",
- .type = VSH_OT_DATA,
+ .type = VSH_OT_STRING,
.positional = true,
.required = true,
.flags = VSH_OFLAG_REQ,
static const vshCmdOptDef opts_srv_clients_set[] = {
{.name = "server",
- .type = VSH_OT_DATA,
+ .type = VSH_OT_STRING,
.positional = true,
.required = true,
.flags = VSH_OFLAG_REQ,
static const vshCmdOptDef opts_srv_update_tls_file[] = {
{.name = "server",
- .type = VSH_OT_DATA,
+ .type = VSH_OT_STRING,
.positional = true,
.required = true,
.flags = VSH_OFLAG_REQ,
if (missingCompleters && !opt->completer) {
switch (opt->type) {
case VSH_OT_STRING:
- case VSH_OT_DATA:
case VSH_OT_ARGV:
virBufferStrcat(&complbuf, opt->name, ", ", NULL);
break;
return -1;
}
- G_GNUC_FALLTHROUGH;
-
- case VSH_OT_STRING:
if (opt->flags & VSH_OFLAG_REQ) {
vshError(ctl, "parameter '%s' of command '%s' misused VSH_OFLAG_REQ",
opt->name, cmd->name);
- return -1; /* neither bool nor string options can be mandatory */
+ return -1; /* bool can't be mandatory */
}
- seenOptionalOption = true;
break;
case VSH_OT_ALIAS: {
}
break;
- case VSH_OT_DATA:
- if (!(opt->flags & VSH_OFLAG_REQ)) {
- vshError(ctl, "parameter '%s' of command '%s' must use VSH_OFLAG_REQ flag",
- opt->name, cmd->name);
- return -1;
- }
-
- if (seenOptionalOption) {
+ case VSH_OT_INT:
+ case VSH_OT_STRING:
+ if (opt->positional && seenOptionalOption) {
vshError(ctl, "parameter '%s' of command '%s' must be listed before optional parameters",
opt->name, cmd->name);
return -1;
}
- break;
-
- case VSH_OT_INT:
- if (opt->flags & VSH_OFLAG_REQ) {
- if (seenOptionalOption) {
- vshError(ctl, "parameter '%s' of command '%s' must be listed before optional parameters",
- opt->name, cmd->name);
- return -1;
- }
- }
+ seenOptionalOption = !opt->required;
break;
}
}
const vshCmdOptDef *opt = &def->opts[i];
vshError(ctl,
- opt->type == VSH_OT_DATA || opt->type == VSH_OT_ARGV ?
+ opt->positional ?
_("command '%1$s' requires <%2$s> option") :
_("command '%1$s' requires --%2$s option"),
def->name, opt->name);
break;
case VSH_OT_STRING:
- case VSH_OT_DATA:
case VSH_OT_INT:
if (opt->required) {
fprintf(stdout, " ");
break;
case VSH_OT_STRING:
- case VSH_OT_DATA:
if (opt->positional) {
optstr = g_strdup_printf(_("[--%1$s] <string>"), opt->name);
} else {
VSH_OT_BOOL, /* optional boolean option */
VSH_OT_STRING, /* optional string option */
VSH_OT_INT, /* optional or mandatory int option */
- VSH_OT_DATA, /* string data (as non-option) */
VSH_OT_ARGV, /* remaining arguments */
VSH_OT_ALIAS, /* alternate spelling for a later argument */
} vshCmdOptType;