]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
virsh: Add a completer for `domifaddr` --source parameter.
authorJulio Faracco <jcfaracco@gmail.com>
Thu, 2 Jan 2020 15:07:06 +0000 (12:07 -0300)
committerErik Skultety <eskultet@redhat.com>
Fri, 3 Jan 2020 12:35:45 +0000 (13:35 +0100)
The command `domifaddr` can use three different sources to grab IP
address of a Virtual Machine: lease, agent and arp. This parameter does
not have a completer function to return source options.

Signed-off-by: Julio Faracco <jcfaracco@gmail.com>
Reviewed-by: Erik Skultety <eskultet@redhat.com>
tools/virsh-completer-domain.c
tools/virsh-completer-domain.h
tools/virsh-domain-monitor.c

index 0311ee50d01518012727c75b55418cfdb77baf86..9423d2efb3589b470235c3974a8d30fbde3c9ee6 100644 (file)
@@ -296,3 +296,20 @@ virshDomainShutdownModeCompleter(vshControl *ctl,
 
     return virshCommaStringListComplete(mode, modes);
 }
+
+
+char **
+virshDomainInterfaceAddrSourceCompleter(vshControl *ctl,
+                                        const vshCmd *cmd,
+                                        unsigned int flags)
+{
+    const char *sources[] = {"lease", "agent", "arp", NULL};
+    const char *source = NULL;
+
+    virCheckFlags(0, NULL);
+
+    if (vshCommandOptStringQuiet(ctl, cmd, "source", &source) < 0)
+        return NULL;
+
+    return virshCommaStringListComplete(source, sources);
+}
index 083ab327cc86cbeae40a2494813c93ff32be888f..79beec2cfec0a7167223841bd21f84bb2b094e2a 100644 (file)
@@ -53,3 +53,8 @@ char ** virshDomainDeviceAliasCompleter(vshControl *ctl,
 char ** virshDomainShutdownModeCompleter(vshControl *ctl,
                                          const vshCmd *cmd,
                                          unsigned int flags);
+
+char **
+virshDomainInterfaceAddrSourceCompleter(vshControl *ctl,
+                                        const vshCmd *cmd,
+                                        unsigned int flags);
index 30b186ffd157d507c50ba94003d67359f61144d5..5639ea56f93f804cd7d6bd3e560d44920a38f53a 100644 (file)
@@ -2346,6 +2346,7 @@ static const vshCmdOptDef opts_domifaddr[] = {
     {.name = "source",
      .type = VSH_OT_STRING,
      .flags = VSH_OFLAG_NONE,
+     .completer = virshDomainInterfaceAddrSourceCompleter,
      .help = N_("address source: 'lease', 'agent', or 'arp'")},
     {.name = NULL}
 };