return true;
}
+/*
+ * "domrename" command
+ */
+static const vshCmdInfo info_domrename[] = {
+ {.name = "help",
+ .data = N_("rename a domain")
+ },
+ {.name = "desc",
+ .data = "Rename an inactive domain."
+ },
+ {.name = NULL}
+};
+
+static const vshCmdOptDef opts_domrename[] = {
+ {.name = "domain",
+ .type = VSH_OT_DATA,
+ .flags = VSH_OFLAG_REQ,
+ .help = N_("domain name, id or uuid")
+ },
+ {.name = "new-name",
+ .type = VSH_OT_DATA,
+ .flags = VSH_OFLAG_REQ,
+ .help = N_("new domain name")
+ },
+ {.name = NULL}
+};
+
+static bool
+cmdDomrename(vshControl *ctl, const vshCmd *cmd)
+{
+ virDomainPtr dom;
+ const char *new_name = NULL;
+ bool ret = false;
+
+ if (!(dom = vshCommandOptDomain(ctl, cmd, NULL)))
+ return ret;
+
+ if (vshCommandOptStringReq(ctl, cmd, "new-name", &new_name) < 0)
+ goto cleanup;
+
+ if (virDomainRename(dom, new_name, 0) < 0)
+ goto cleanup;
+
+ vshPrint(ctl, "Domain successfully renamed\n");
+ ret = true;
+
+ cleanup:
+ virDomainFree(dom);
+ return false;
+}
+
/*
* "domid" command
*/
.info = info_domname,
.flags = 0
},
+ {.name = "domrename",
+ .handler = cmdDomrename,
+ .opts = opts_domrename,
+ .info = info_domrename,
+ .flags = 0
+ },
{.name = "dompmsuspend",
.handler = cmdDomPMSuspend,
.opts = opts_dom_pm_suspend,
Convert a domain Id (or UUID) to domain name
+=item B<domrename> I<domain> I<new-name>
+
+Rename a domain. This command changes current domain name to the new name
+specified in the second argument.
+
+B<Note>: Domain must be inactive and without snapshots.
+
=item B<domstate> I<domain> [I<--reason>]
Returns state about a domain. I<--reason> tells virsh to also print