0

目前,我因需要以编程方式更改实例化参数以有可能运行具有不同 CPU 数量和内存大小的实例的问题而停止。

我发现我需要使用 InstantiateVAppTemplateParamsType(下面的链接) https://code.vmware.com/apis/442/vcloud-director/doc/doc/types/InstantiateVAppTemplateParamsType.html

我通过将参数简化为:

<?xml version="1.0" encoding="UTF-8"?>
<InstantiateVAppTemplateParams
        xmlns="http://www.vmware.com/vcloud/v1.5"
        name="$TEMPLATE_NAME"
        deploy="true"
        powerOn="true"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xmlns:ovf="http://schemas.dmtf.org/ovf/envelope/1">
    <Description>$TEMPLATE_DESCRIPTION</Description>
    <Source
            href="$SOURCE_TEMPLATE" />
</InstantiateVAppTemplateParams>

现在我很沮丧,因为我无法为 API 构建参数来使用它并使用自定义 VM 创建 vApp。

我找到了有关 InstantiationParamsType 的信息(下面的链接) https://code.vmware.com/apis/442/vcloud-director/doc/doc/types/InstantiationParamsType.html

但我无法正确构建它们以检索正常响应而不是 BAD_REQUEST。

提前致谢。

PS 我正在使用 vCloudDirector API 9.5

4

1 回答 1

0

好的,问题是我从 PDF 格式的 VMWare API 指南中复制了 VirtualHardwareSection,这破坏了我的编码。

之后,我找到了服务提供商指南(下面的链接)

https://code.vmware.com/docs/6899/vcloud-api-programming-guide-for-service-providers/doc/GUID-BF9B790D-512E-4EA1-99E8-6826D4B8E6DC.html

从那里获取 xml-snippet 之后,一切都按照文档的预期工作。

于 2020-04-07T10:05:45.087 回答