cloud - jclouds 支持更新的 vCloud API

标签 cloud jclouds vcloud-director-rest-api

我们的迁移服务必须支持许多不同的目标云(从 AWS 到 Openstack 再到 vCloud 等等),所以我想至少在我们检索帐户属性(例如区域、组织)的部分使用 jclouds 、目录等)

但是,jclouds 对“通用”vCloud API 的支持似乎停留在 1.0 - 当我们在内部运行 1.5(和 5.1)时,这使得 jcloud 非常无用,至少就 vcloud 而言(我认为 1.5去年 9 月被 VMWare“弃用”了?)。

有谁知道我是否遗漏了一些明显的东西,或者是否有升级支持的计划?

很明显,我们将使用 vmware 的 SDK,但如果通过 jclouds 抽象所有的云就更好了。

这是我收到的错误:

version 1.0 not present in: {1.5=https://10.10.122.13/api/sessions, 5.1=https://10.10.122.13/api/sessions}

我使用的代码几乎直接来自(极其稀疏的)“用户指南”:

private VCloudApi getVcloudContext() throws IOException {
    Credentials creds = getVcloudCredentials();
    Properties overrides = new Properties();
    overrides.setProperty(VCLOUD_ENDPOINT, creds.url);
    overrides.setProperty(Constants.PROPERTY_TRUST_ALL_CERTS, "true");

    return ContextBuilder.newBuilder(VCLOUD_PROVIDER)
            .overrides(overrides)
            .credentials(creds.username, creds.username)
            .modules(ImmutableSet.<Module> of(new Log4JLoggingModule(),
                    new SshjSshClientModule()))
            .buildApi(VCloudApi.class);
}

// in my main():
VCloudApi api = app.getVcloudContext();
HttpsURLConnection.setDefaultHostnameVerifier(new HostnameVerifier() {
    public boolean verify(String string, SSLSession ssls) {
        return true;
    }
});
Map<String, ?> orgsList = api.getOrgApi().listOrgs();

任何帮助、建议和指向更好文档的指针都将不胜感激:谢谢!

最佳答案

jclouds 在添加和维护对 vCloud API 的支持方面一直很慢。有一段短暂的时间 VMware 支持该项目,但我怀疑今天使用 jclouds 和 vCloud 的人的交集可能足够小,以至于 vCloud 支持实际上已经失效。由于 vCD 或 vCHS 的固有成本,可能需要企业 vCD/vCHS 客户开发并捐赠更新代码以支持 vCloud API 5.5+。

如果您不是特别喜欢这个答案(我不喜欢),我会向您的 VMware 代表提示 jclouds 或 fog 等第 3 方库的糟糕状态。在这些库中建立 vCloud 支持符合 VMware 的最大利益,因为这可以帮助他们赢得客户并让他们尝试从竞争产品迁移。

关于cloud - jclouds 支持更新的 vCloud API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23587869/

相关文章:

没有 Spring Framework 的 Spring Cloud Contract 测试(启动)

c# - Windows Azure 服务管理 API 交换问题

java - 将安全组添加到 Openstack 中的实例

java - 是否可以将文件从 Java 服务器流式传输到 OpenStack Swift?

云中的 Java 框架

vcloud-director-rest-api - 如何使用 vCloud API 更改磁盘存储配置文件

cloud - 如何运行将数据加载到其他项目 BigQuery 表中的云 Composer 任务

kubernetes - 您可以在kubernetes上运行PaaS吗?

xml - Powershell中的多页XML Rest调用

python libcloud 在 vAPP 中创建虚拟机