Php 配置网络并为添加的VM供电以重新组合vApp

Php 配置网络并为添加的VM供电以重新组合vApp,php,vmware,vcloud-director-rest-api,Php,Vmware,Vcloud Director Rest Api,我想重新组合vApp并向其中添加新的VM。我使用SDK示例中稍微修改的recoposevapp.php 我正在使用以下代码: //创建网络连接部分 $info=新的VMware_VCloud_API_OVF_Msg_Type(); $info->set_valueOf(“我的源的网络参数”); $n分区=新的VMware\u VCloud\u API\u NetworkConnections分区类型(); $n节->设置信息($info); $N分区->设置主网络连接索引(0); //创建网络连

我想重新组合vApp并向其中添加新的VM。我使用SDK示例中稍微修改的
recoposevapp.php

我正在使用以下代码:

//创建网络连接部分
$info=新的VMware_VCloud_API_OVF_Msg_Type();
$info->set_valueOf(“我的源的网络参数”);
$n分区=新的VMware\u VCloud\u API\u NetworkConnections分区类型();
$n节->设置信息($info);
$N分区->设置主网络连接索引(0);
//创建网络连接
$netconf=新的VMware\u VCloud\u API\u NetworkConnectionType();
$netconf->set_网络($orgNetName);
$netconf->set_needsCustomization(false);
$netconf->setNetworkConnectionIndex(0);
$netconf->setIpAddress(空);
$netconf->setExternalIpAddress(空);
$netconf->setIsConnected(true);
$netconf->setMACAddress(空);
$netconf->setIpAddressAllocationMode(“DHCP”);
//将网络连接添加到网络连接部分
$n分区->添加网络连接($netconf);
$iparams=新的VMware_VCloud_API_实例化ParamStype();
$iParms->setSection(数组($nsSection));
$params=新的VMware\u VCloud\u API\u重新定位AppParamStype();
...
$params->setInstanceParams($iparms);
...
$task=$sdkVApp->重新组合($params);
但我得到了以下错误:



附加问题:如何打开实例化的VM?

我有一个解决方案!您必须获取刚刚添加的VM的引用,然后配置网络。在那之后,图灵就很容易了

$vmRefs=$sdkVApp->getContainedVmRefs($newVmName);
$sdkVm=$service->createSDKObj($vmRefs[0]);
$service->waitForTask($sdkVm->modifyNetworkConnectionSettings($nsection));
$service->waitForTask($sdkVm->powerOn());