Список узлов с помощью jclouds

Можно ли перечислить узлы в облаке AWS VPC, отличном от стандартного? Это можно легко сделать с помощью EC2::DescribeInstances, передав фильтр с vpc-id=, но я не могу понять, как это сделать с помощью jclouds.

Я знаю, как создать экземпляр в указанном VPC с помощью параметров шаблона, но не могу найти эквивалентный подход для перечисления узлов. В настоящее время я использую listNodesDetailsMatching(...).


person Danny    schedule 24.07.2018    source источник


Ответы (1)


Вы не можете жадно фильтровать это на провайдере. Используя переносимый интерфейс, вы можете просто предоставить предикат для фильтрации узлов, как только они у вас будут. Вы можете напрямую использовать базовый API AWS EC2, чтобы делать то, что хотите. Это может быть что-то вроде следующего:

AWSEC2Api aws = computeServiceContext.unwrapApi(AWSEC2Api.class);
AWSInstanceApi instanceApi = aws.getInstanceApi().get();
instanceApi.describeInstancesInRegionWithFilter("region", ImmutableMultimap.of("vpc-id", "myvpc"));
person Ignasi Barrera    schedule 27.07.2018
comment
Спасибо за ответ Игнаси. Я уже выполнял фильтрацию на стороне клиента, но не был доволен производительностью (вызов EC2 слишком долго возвращался и обрабатывался). Спасибо за подтверждение того, что в данном случае с помощью jclouds невозможна активная фильтрация (хотя это возможно при прямом доступе к API EC2). - person Danny; 23.05.2019