我正在使用VMWare提供的vCloud Java API在其企业云解决方案中自动创建VM。我能做到这一点很好。但是,我无法想象在VM上设置自定义属性。我已经检查了VMWare API参考,我找不到任何直观地建议如何执行此操作的内容。任何见解可能都有帮助吗?
以下是我迄今为止编写的用于配置VM的代码,我想向其添加自定义属性配置。
private static SourcedCompositionItemParamType addVAppTemplateItem(String vAppNetwork, MsgType networkInfo, String vmHref, String ipAddress, String vmName) {
SourcedCompositionItemParamType vappTemplateItem = new SourcedCompositionItemParamType();
ReferenceType vappTemplateVMRef = new ReferenceType();
vappTemplateVMRef.setHref(vmHref);
vappTemplateVMRef.setName(vmName);
vappTemplateItem.setSource(vappTemplateVMRef);
NetworkConnectionSectionType networkConnectionSectionType = new NetworkConnectionSectionType();
networkConnectionSectionType.setInfo(networkInfo);
NetworkConnectionType networkConnectionType = new NetworkConnectionType();
networkConnectionType.setNetwork(vAppNetwork);
networkConnectionType.setIpAddressAllocationMode(IpAddressAllocationModeType.MANUAL.value());
networkConnectionType.setIpAddress(ipAddress);
networkConnectionType.setIsConnected(true);
networkConnectionSectionType.getNetworkConnection().add(networkConnectionType);
InstantiationParamsType vmInstantiationParamsType = new InstantiationParamsType();
List<JAXBElement<? extends SectionType>> vmSections = vmInstantiationParamsType.getSection();
vmSections.add(new ObjectFactory().createNetworkConnectionSection(networkConnectionSectionType));
vappTemplateItem.setInstantiationParams(vmInstantiationParamsType);
return vappTemplateItem;
}
答案 0 :(得分:1)
在浏览REST API文档后,我意识到您将Custom Properties放入ProductSection。遗憾的是,在创建VApp时我无法找到添加ProductSection的方法,因此在创建VApp之后通过检索VM并在其上调用updateProductSections来添加ProductSection。
的回复