【VMware Cloud Director】APIによるvApp操作(新規作成、VMコピーなど)

テンプレートからvApp作成

POST /vdc/{id}/action/instantiateVAppTemplate

VMware Cloud Director API - POST-InstantiateVAppTemplate

例:vApp名を指名するのみで、構成をそのまま作成する場合

 curl -k --header "Content-Type: application/vnd.vmware.vcloud.instantiateVAppTemplateParams+xml;charset=UTF-8" --header "Accept: application/*;version=37.0" --header "Authorization: Bearer xxx" --request POST https://172.16.23.20/api/vdc/efb8dc82-d242-4607-835b-398aec50b929/action/instantiateVAppTemplate -d '<root:InstantiateVAppTemplateParams xmlns:root="http://www.vmware.com/vcloud/v1.5" name="vApp10" xmlns:ns11="http://schemas.dmtf.org/ovf/envelope/1" xmlns:ns12="http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_ResourceAllocationSettingData" xmlns:ns13="http://www.vmware.com/schema/ovf">
   <root:Source href="https://172.16.23.20/api/vAppTemplate/vappTemplate-53ab1483-189b-4738-b2bc-9c2e96f4c4ed"/>
 </root:InstantiateVAppTemplateParams>'

※データ部

<root:InstantiateVAppTemplateParams xmlns:root="http://www.vmware.com/vcloud/v1.5" name="vApp10" xmlns:ns11="http://schemas.dmtf.org/ovf/envelope/1" xmlns:ns12="http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_ResourceAllocationSettingData" xmlns:ns13="http://www.vmware.com/schema/ovf"> ←nameにて作成するvApp名を指定
   <root:Source href="https://172.16.23.20/api/vAppTemplate/vappTemplate-53ab1483-189b-4738-b2bc-9c2e96f4c4ed"/> ←コピー元のテンプレートを指定
 </root:InstantiateVAppTemplateParams>

vApp内でVM複製

POST /vApp/{id}/action/recomposeVApp

VMware Cloud Director API - POST-RecomposeVApp

curl -k --header "Content-Type: vnd.vmware.vcloud.recomposeVAppParams+xml" --header "Accept: application/*;version=37.0" --header "Authorization: Bearer xxx" --request POST https://172.16.23.20/api/vApp/vapp-7ea18240-58af-4b57-88e3-32aae13a230b/action/recomposeVApp -d '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<RecomposeVAppParams xmlns="http://www.vmware.com/vcloud/v1.5"
 xmlns:ns2="http://schemas.dmtf.org/ovf/envelope/1"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xmlns:ovf="http://schemas.dmtf.org/ovf/envelope/1"
 xmlns:environment_1="http://schemas.dmtf.org/ovf/environment/1">
  <SourcedItem sourceDelete="false">
    <Source href="https://172.16.23.20/api/vApp/vm-ade1a033-ea15-4dee-bac8-ee28eac34336"/>
    <VmGeneralParams>
       <Name>vm02</Name>
    </VmGeneralParams>
  </SourcedItem>
</RecomposeVAppParams>'

※データ部

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<RecomposeVAppParams xmlns="http://www.vmware.com/vcloud/v1.5"
 xmlns:ns2="http://schemas.dmtf.org/ovf/envelope/1"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xmlns:ovf="http://schemas.dmtf.org/ovf/envelope/1"
 xmlns:environment_1="http://schemas.dmtf.org/ovf/environment/1">
  <SourcedItem sourceDelete="false">
    <Source href="https://172.16.23.20/api/vApp/vm-ade1a033-ea15-4dee-bac8-ee28eac34336"/> ←コピー元のVMを指定
    <VmGeneralParams>
       <Name>vm02</Name> ←作成VM名を指定
    </VmGeneralParams>
  </SourcedItem>
</RecomposeVAppParams>

vApp 電源操作

・パワーオン

POST /vApp/{id}/action/deploy

https://developer.vmware.com/apis/1260/doc/operations/POST-DeployVApp.html

・パワーオフ

POST /vApp/{id}/action/undeploy

https://developer.vmware.com/apis/1260/doc/operations/POST-UndeployVApp.html