我正在使用 Java 和 Jclouds SDK 与 OpenStack Nova 交互,我尝试获取 nova 实例的“标签列表”,我使用了以下代码
String region = novaApi.getConfiguredRegions().iterator().next();
ServerApi serverApi = novaApi.getServerApi(region);
Server novaInstance = serverApi.get(TEMP_SERVERNAME);
tags = novaInstance.getMetadata();
变量标签是Map<String, String>
但正如我在 OpenStack 文档中看到的,有一个 API ( /servers/{server_id}/tags
) 返回列表标签,这里是 API link这比 Map<String, String>
更符合我的需要。
问题是,jclouds SDK 中的哪个函数返回该类型? 我在 Server 类中找不到任何返回该类型的函数
谢谢
最佳答案
当前版本的jclouds不直接支持List Tags根据ServerApi实现,因此您不能直接使用 NovaApi 检索标签。
使用 jclouds 可移植抽象进行计算,您可以列出 OpenStack 安装上的节点,并检索附加到 userMetadata
字段中的节点的标签列表,只要其他详细信息如下:
Set<? extends ComputeMetadata> nodes = computeService.listNodes();
或
NodeMetadata node = computeService.getNodeMetadata(id)
关于java - 获取 OpenStack Nova 实例的标签列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49799498/