}
+/*
+ * "pool-capabilities" command
+ */
+static const vshCmdInfo info_pool_capabilities[] = {
+ {.name = "help",
+ .data = N_("storage pool capabilities")
+ },
+ {.name = "desc",
+ .data = N_("Returns capabilities of storage pool support.")
+ },
+ {.name = NULL}
+};
+
+static const vshCmdOptDef opts_pool_capabilities[] = {
+ {.name = NULL}
+};
+
+static bool
+cmdPoolCapabilities(vshControl *ctl,
+ const vshCmd *cmd ATTRIBUTE_UNUSED)
+{
+ const unsigned int flags = 0; /* No flags so far */
+ virshControlPtr priv = ctl->privData;
+ VIR_AUTOFREE(char *) caps = NULL;
+
+ caps = virConnectGetStoragePoolCapabilities(priv->conn, flags);
+ if (!caps) {
+ vshError(ctl, "%s", _("failed to get storage pool capabilities"));
+ return false;
+ }
+
+ vshPrint(ctl, "%s\n", caps);
+ return true;
+}
+
+
const vshCmdDef storagePoolCmds[] = {
{.name = "find-storage-pool-sources-as",
.handler = cmdPoolDiscoverSourcesAs,
.info = info_pool_event,
.flags = 0
},
+ {.name = "pool-capabilities",
+ .handler = cmdPoolCapabilities,
+ .opts = opts_pool_capabilities,
+ .info = info_pool_capabilities,
+ .flags = 0
+ },
{.name = NULL}
};
generate output for the default I<machine>. Supplying a I<machine>
value will generate output for the specific machine.
+=item B<pool-capabilities>
+Print an XML document describing the storage pool capabilities for the
+connected storage driver. This may be useful if you intend to create a
+new storage pool and need to know the available pool types and supported
+storage pool source and target volume formats as well as the required
+source elements to create the pool.
+
=item B<inject-nmi> I<domain>
Inject NMI to the guest.