2017-12-20 50 views
5

से वीएम को तैनात करते समय प्रॉपर्टी पैराम मैं ओवीएफ लाइब्रेरी आइटम्स से नई वर्चुअल मशीनों को तैनात करने के लिए वीएमवेयर वीसीटर रीस्ट एपीआई का उपयोग कर रहा हूं। एपीआई का हिस्सा additional_paramaters के लिए अनुमति देता है लेकिन मैं इसे ठीक से काम करने में असमर्थ हूं। विशेष रूप से, मैं कस्टम ओवीएफ टेम्पलेट गुणों के लिए PropertyParams सेट करना चाहता हूं।ओवीएफ

जब वी एम की तैनाती OVF से, मैं निम्नलिखित REST API का उपयोग कर रहा हूँ: POST https://{server}/rest/com/vmware/vcenter/ovf/library-item/id:{ovf_library_item_id}?~action=deploy

मैं कई संरचनाओं की कोशिश की है और या तो सफल होने के बाद अंत लेकिन मानकों को पूरी तरह से नजरअंदाज कर दिया है, या एक 500 आंतरिक सर्वर त्रुटि के साथ

क्षेत्र संरचना के 'गुण' नहीं बदला जा सका 'com.vmware.vcenter.ovf.property_params'

: properties संरचना परिवर्तित करने में नाकाम रहने के बारे में एक संदेश के साथ

पेलोड कि (ऊपर लेकिन त्रुटि के साथ विफल) प्रलेखन से सही लगता है:

deployment_spec : { 
    /* ... */ 

    additional_parameters : [ 
    { 
     type : 'PropertyParams', 
     properties : [ 
     { 
      id : 'my_property_name', 
      value : 'foo', 
     } 
     ] 
    } 
    ] 
} 

को देखते हुए एक OVF है जिसमें निम्न शामिल:

<ProductSection> 
    <Info>Information about the installed software</Info> 
    <Product>MyProduct</Product> 
    <Vendor>MyCompany</Vendor> 
    <Version>1.0</Version> 
    <Category>Config</Category> 
    <Property ovf:userConfigurable="true" ovf:type="string" ovf:key="my_property_name" ovf:value=""> 
    <Label>My Property</Label> 
    <Description>A custom property</Description> 
    </Property> 
</ProductSection> 

यह भी इस तरह के रूप में अन्य संपत्ति प्रकार के लिए विफल रहता है boolean

नोट करें कि I have posted on the vCenter forums as well

उत्तर

1

मैं एक ही मुद्दा है, मैं वापी संरचना /com/vmware/vapi/metadata/metamodel/structure/id:<idstructure>

यहाँ ब्राउज़ कर इसे हल करने में सफलता मिली मेरी लग रहा है:

सबसे पहले, फिल्टर एपीआई का उपयोग करके अपने गुण संरचना मिलती है:

https://{{vc}}/rest/com/vmware/vcenter/ovf/library-item/id:300401a5-4561-4c3d-ac67-67bc7a1a6

फिर, तैनाती के लिए, वर्ग com.vmware.vcenter.ovh.property_params वर्ग का उपयोग करें। यह उदाहरण के साथ अधिक स्पष्ट होगा:

{ 
"deployment_spec": { 
    "accept_all_EULA": true, 
    "name": "clientok", 
    "default_datastore_id": "datastore-10", 
    "additional_parameters": [ 
    { 
     "@class": "com.vmware.vcenter.ovf.property_params", 
      "properties": 
      [ 
       { 
        "instance_id": "", 
        "class_id": "", 
        "description": "The gateway IP for this virtual appliance.", 
        "id": "gateway", 
        "label": "Default Gateway Address", 
        "category": "LAN", 
        "type": "ip", 
        "value": "10.1.2.1", 
        "ui_optional": true 
       } 

      ], 
     "type": "PropertyParams" 
     } 
    ] 
}