获取 OpenStack Nova 实例的标签列表

Getting Tags List for OpenStack Nova Instance

我正在使用 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();

变量 tags 是一个 Map<String, String> 但正如我在 OpenStack 文档中看到的那样 API (/servers/{server_id}/tags) returns list Tags 这里是 API linkMap<String, String>

更符合我的需要

问题是,return那种类型的 jclouds SDK 中有什么函数? 我在 Server class 中找不到 return 那种类型

的任何功能

谢谢

jclouds当前版本不支持直接List Tags as per ServerApi实现,所以不能直接使用NovaApi获取标签。

使用 jclouds 可移植抽象进行计算,相反,您可以列出 OpenStack 安装上的节点,并在 userMetadata 字段中检索附加到节点的标签列表,只要其他详细信息如下:

Set<? extends ComputeMetadata> nodes = computeService.listNodes();

NodeMetadata node = computeService.getNodeMetadata(id)