2012-03-28 3 views
2

VMWare에서 제공하는 vCloud Java API를 사용하여 엔터프라이즈 클라우드 솔루션에서 VM 생성을 자동화합니다. 나는 이것을 잘 할 수 있었다. 그러나 나는 VM에서 사용자 정의 속성을 설정할 수 없습니다. VMWare API 참조를 확인한 결과 직관적으로이를 수행 할 수있는 방법을 찾을 수 없습니다. 어떤 통찰력이 도움이 될 수 있습니까?vCloud Java API를 사용하여 VMWare VM에 사용자 정의 속성을 추가하는 방법은 무엇입니까?

다음은 지금까지 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; 
} 

답변

1

REST API 문서를 살펴본 후 사용자 지정 속성을 ProductSection에 넣었다는 것을 알았습니다. 불행히도 VApp를 만들 때 ProductSection을 추가하는 방법을 알아낼 수 없으므로 VM을 검색하고 updateProductSections를 호출하여 VApp를 만든 후 ProductSection을 추가했습니다.

응답 VMWare community forum

관련 문제