Как добавить пользовательские свойства в виртуальную машину VMWare с помощью Java API vCloud? - PullRequest
2 голосов
/ 28 марта 2012

Я использую Java API vCloud, предоставляемый VMWare, для автоматизации создания виртуальных машин в их облачном решении для предприятий.Я смог сделать это очень хорошо.Однако я не могу выяснить, как настроить пользовательские свойства на виртуальной машине.Я проверил ссылку на API-интерфейс VMWare и не могу найти ничего, что бы подсказывало, как это сделать.Может быть полезно какое-либо понимание?

Вот код, который я написал до сих пор для настройки виртуальной машины, и я хочу добавить к ней конфигурацию настраиваемого свойства.

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;
}

1 Ответ

1 голос
/ 01 апреля 2012

Изучив документацию по REST API, я понял, что вы добавили пользовательские свойства в ProductSection. К сожалению, я не смог найти способ добавить ProductSection при создании VApp, поэтому добавил ProductSection после создания VApp, получив виртуальную машину и вызвав на ней updateProductSections.

Ответ от форума сообщества VMWare

...