Получение списка тегов для экземпляра OpenStack Nova

Я использую 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), который возвращает теги списка, вот это ссылка на API, которая мне больше нужна, чем Map<String, String>

вопрос в том, какая функция в jclouds SDK возвращает этот тип? я не смог найти ни одной функции в классе Server, возвращающей этот тип

Спасибо


person ibr    schedule 12.04.2018    source источник


Ответы (1)


Текущая версия jclouds не поддерживает напрямую Теги списка как за ServerApi, поэтому вы не можете использовать NovaApi для получения тегов напрямую.

Вместо этого, используя переносимую абстракцию jclouds для вычислений, вы можете перечислить узлы в вашей установке OpenStack и получить список тегов, прикрепленных к узлам в поле userMetadata, при условии, что другие детали будут выглядеть примерно так:

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

or

NodeMetadata node = computeService.getNodeMetadata(id)
person Andrea Turli    schedule 13.04.2018