【VMware Cloud Director】HWバージョンを指定したデプロイ

VCDのGUIからは、VMのHWバージョンを指定したデプロイができない。

しかし、APIを利用することで可能となる。

利用するAPI

POST /vdc/{id}/action/createVm

手順例

1.VCDへアクセス

2.ブラウザの開発ツールを起動

3.VMをデプロイ

4.開発ツールからデプロイのために発行されたAPIを確認

5.デプロイしたVMを削除

6.4にて確認したAPIにおけるHWバージョン箇所のみを変更し、APIにてデプロイ

実行例

curl -k --header "Accept: application/*;version=37.2" --header "Authorization: Bearer xxx" --header "Content-Type: application/*+xml;charset=UTF-8" --request POST https://172.16.23.20/api/vdc/efb8dc82-d242-4607-835b-398aec50b929/action/createVm -d '<root:CreateVmParams xmlns:root="http://www.vmware.com/vcloud/v1.5" xmlns:ns24="http://schemas.dmtf.org/ovf/envelope/1" powerOn="false">
  <root:Description />
  <root:CreateVm name="vm01">
    <root:GuestCustomizationSection>
      <ns24:Info>Specifies Guest OS Customization Settings</ns24:Info>
      <root:ComputerName>vm01</root:ComputerName>
    </root:GuestCustomizationSection>
    <root:NetworkConnectionSection>
      <ns24:Info>Network Configuration for VM</ns24:Info>
      <root:PrimaryNetworkConnectionIndex>0</root:PrimaryNetworkConnectionIndex>
      <root:NetworkConnection network="none">
        <root:NetworkConnectionIndex>0</root:NetworkConnectionIndex>
        <root:IpAddress>any</root:IpAddress>
        <root:IsConnected>true</root:IsConnected>
        <root:IpAddressAllocationMode>NONE</root:IpAddressAllocationMode>
        <root:NetworkAdapterType>VMXNET3</root:NetworkAdapterType>
      </root:NetworkConnection>
    </root:NetworkConnectionSection>
    <root:VmSpecSection Modified="true">
      <ns24:Info>Virtual Machine specification</ns24:Info>
      <root:OsType>centos8_64Guest</root:OsType>
      <root:Firmware>bios</root:Firmware>
      <root:NumCpus>1</root:NumCpus>
      <root:NumCoresPerSocket>1</root:NumCoresPerSocket>
      <root:CpuResourceMhz>
        <root:Configured>0</root:Configured>
      </root:CpuResourceMhz>
      <root:MemoryResourceMb>
        <root:Configured>1024</root:Configured>
      </root:MemoryResourceMb>
      <root:DiskSection>
        <root:DiskSettings>
          <root:SizeMb>16384</root:SizeMb>
          <root:UnitNumber>0</root:UnitNumber>
          <root:BusNumber>0</root:BusNumber>
          <root:AdapterType>5</root:AdapterType>
          <root:ThinProvisioned>true</root:ThinProvisioned>
          <root:overrideVmDefault>false</root:overrideVmDefault>
        </root:DiskSettings>
      </root:DiskSection>
      <root:HardwareVersion>vmx-17</root:HardwareVersion>  ←vmx-19からvmx-17へ変更
      <root:VirtualCpuType>VM64</root:VirtualCpuType>
    </root:VmSpecSection>
    <root:ComputePolicy>
      <root:VmSizingPolicy href="urn:vcloud:vdcComputePolicy:2b8af3fc-a561-4b53-8ed9-227b97621d14" />
    </root:ComputePolicy>
    <root:BootOptions>
      <root:EnterBIOSSetup>false</root:EnterBIOSSetup>
    </root:BootOptions>
    <root:TrustedPlatformModule>
      <root:TpmPresent>false</root:TpmPresent>
    </root:TrustedPlatformModule>
  </root:CreateVm>
</root:CreateVmParams>'

7.HWバージョン17にて作成されていることを確認

※HWバージョンをアップグレードする場合

最新バージョンへアップグレードされる

POST /vApp/{id}/action/upgradeHardwareVersion