summaryrefslogtreecommitdiff
path: root/src/VBox/Frontends/VBoxManage/VBoxManageModifyVM.cpp
diff options
context:
space:
mode:
authorvboxsync <vboxsync@cfe28804-0f27-0410-a406-dd0f0b0b656f>2022-03-03 11:54:06 +0000
committervboxsync <vboxsync@cfe28804-0f27-0410-a406-dd0f0b0b656f>2022-03-03 11:54:06 +0000
commitd2f7d1f5fc2ca6ef9281fb3f13c1c9c6c80066c9 (patch)
treec57cd1702d455b1b54ce92a12a564e8c01a265cf /src/VBox/Frontends/VBoxManage/VBoxManageModifyVM.cpp
parent67e741be235a7479635a8b5c9960727da175c5fc (diff)
downloadVirtualBox-svn-d2f7d1f5fc2ca6ef9281fb3f13c1c9c6c80066c9.tar.gz
CloudNet: ​bugref:9469 Dropped local gateway parameters in VBoxManage cloud network setup, added support for cloud network attachment in VBoxManage modifyvm, updated help for both, bug fixes and minor improvements in error reporting.
git-svn-id: https://www.virtualbox.org/svn/vbox/trunk@94070 cfe28804-0f27-0410-a406-dd0f0b0b656f
Diffstat (limited to 'src/VBox/Frontends/VBoxManage/VBoxManageModifyVM.cpp')
-rw-r--r--src/VBox/Frontends/VBoxManage/VBoxManageModifyVM.cpp37
1 files changed, 37 insertions, 0 deletions
diff --git a/src/VBox/Frontends/VBoxManage/VBoxManageModifyVM.cpp b/src/VBox/Frontends/VBoxManage/VBoxManageModifyVM.cpp
index b465287cb45..2670721f9e7 100644
--- a/src/VBox/Frontends/VBoxManage/VBoxManageModifyVM.cpp
+++ b/src/VBox/Frontends/VBoxManage/VBoxManageModifyVM.cpp
@@ -135,6 +135,9 @@ enum
MODIFYVM_NIC,
MODIFYVM_CABLECONNECTED,
MODIFYVM_BRIDGEADAPTER,
+#ifdef VBOX_WITH_CLOUD_NET
+ MODIFYVM_CLOUDNET,
+#endif /* VBOX_WITH_CLOUD_NET */
MODIFYVM_HOSTONLYADAPTER,
#ifdef VBOX_WITH_VMNET
MODIFYVM_HOSTONLYNET,
@@ -340,6 +343,9 @@ static const RTGETOPTDEF g_aModifyVMOptions[] =
OPT1("--nic", MODIFYVM_NIC, RTGETOPT_REQ_STRING | RTGETOPT_FLAG_INDEX),
OPT2("--cable-connected", "--cableconnected", MODIFYVM_CABLECONNECTED, RTGETOPT_REQ_BOOL_ONOFF | RTGETOPT_FLAG_INDEX),
OPT2("--bridge-adapter", "--bridgeadapter", MODIFYVM_BRIDGEADAPTER, RTGETOPT_REQ_STRING | RTGETOPT_FLAG_INDEX),
+#ifdef VBOX_WITH_CLOUD_NET
+ OPT2("--cloud-network", "--cloudnetwork", MODIFYVM_CLOUDNET, RTGETOPT_REQ_STRING | RTGETOPT_FLAG_INDEX),
+#endif /* VBOX_WITH_CLOUD_NET */
OPT2("--host-only-adapter", "--hostonlyadapter", MODIFYVM_HOSTONLYADAPTER, RTGETOPT_REQ_STRING | RTGETOPT_FLAG_INDEX),
#ifdef VBOX_WITH_VMNET
OPT2("--host-only-net", "--hostonlynet", MODIFYVM_HOSTONLYNET, RTGETOPT_REQ_STRING | RTGETOPT_FLAG_INDEX),
@@ -1773,6 +1779,14 @@ RTEXITCODE handleModifyVM(HandlerArg *a)
CHECK_ERROR(nic, COMSETTER(Enabled)(TRUE));
CHECK_ERROR(nic, COMSETTER(AttachmentType)(NetworkAttachmentType_NATNetwork));
}
+#ifdef VBOX_WITH_CLOUD_NET
+ else if (!RTStrICmp(ValueUnion.psz, "cloud"))
+ {
+ if (!fEnabled)
+ CHECK_ERROR(nic, COMSETTER(Enabled)(TRUE));
+ CHECK_ERROR(nic, COMSETTER(AttachmentType)(NetworkAttachmentType_Cloud));
+ }
+#endif /* VBOX_WITH_CLOUD_NET */
else
{
errorArgument(ModifyVM::tr("Invalid type '%s' specfied for NIC %u"), ValueUnion.psz, GetOptState.uIndex);
@@ -1817,6 +1831,29 @@ RTEXITCODE handleModifyVM(HandlerArg *a)
break;
}
+#ifdef VBOX_WITH_CLOUD_NET
+ case MODIFYVM_CLOUDNET:
+ {
+ if (!parseNum(GetOptState.uIndex, NetworkAdapterCount, "NIC"))
+ break;
+
+ ComPtr<INetworkAdapter> nic;
+ CHECK_ERROR_BREAK(sessionMachine, GetNetworkAdapter(GetOptState.uIndex - 1, nic.asOutParam()));
+ ASSERT(nic);
+
+ /* remove it? */
+ if (!RTStrICmp(ValueUnion.psz, "none"))
+ {
+ CHECK_ERROR(nic, COMSETTER(CloudNetwork)(Bstr().raw()));
+ }
+ else
+ {
+ CHECK_ERROR(nic, COMSETTER(CloudNetwork)(Bstr(ValueUnion.psz).raw()));
+ }
+ break;
+ }
+#endif /* VBOX_WITH_CLOUD_NET */
+
case MODIFYVM_HOSTONLYADAPTER:
{
if (!parseNum(GetOptState.uIndex, NetworkAdapterCount, "NIC"))