获取OpenStack Nova实例的标签列表

时间:2018-04-12 14:42:09

标签: java openstack-nova jclouds

我使用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中返回该类型的函数是什么? 我无法在服务器类中找到任何返回该类型的函数

由于

1 个答案:

答案 0 :(得分:2)

根据List Tags实施,当前版本的jclouds并不直接支持ServerApi,因此您无法直接使用NovaApi检索标记。

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

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

NodeMetadata node = computeService.getNodeMetadata(id)