Я использую openstack4j java api. Я могу получить доступ к двум проектам openstack (image for projects that I can access), учитывая идентификатор экземпляра. Я хочу закрыть экземпляр. При получении OSClient я перебираю клиенты для обоих проектов и проверяю, в каком проекте этот экземпляр принадлежит.Как получить правильный OSClient из токена в Openstack4j java api для v2 и v3?
Затем с помощью ручки OSClient я просто вызываю Shut down. os.compute().servers().action(instanceId, Action.STOP);
Теперь один поток продолжает работать для отслеживания текущего состояния экземпляра, и если текущий статус экземпляра достигает желаемого состояния, я выполняю некоторую операцию.
Моя проблема: Я создаю (ModelEntity) token
из ручки OSClient.
ModelEntity token = null;
if(apiVersion.equals(OpenstackCloudCredential.API_VERSION.V2)) {
token = ((OSClient.OSClientV2) os).getAccess();
}else if(apiVersion.equals(OpenstackCloudCredential.API_VERSION.V3)){
token = ((OSClient.OSClientV3) os).getToken();
}
return token;
OSClient os = null;
if(apiVersion.equals(OpenstackCloudCredential.API_VERSION.V2)){
os = OSFactory.clientFromAccess((Access) token);
}else if(apiVersion.equals(OpenstackCloudCredential.API_VERSION.V3)){
os = OSFactory.clientFromToken((Token) token);
}
_logger.info(" ================= rishi token : " + token.hashCode());
return os;
Я получаю OSClient ручку, но он указывает на другой проект (первый проект в списке). Я генерирую токен из правой ручки OSClient, но почему я не получаю правильный OSClient от того же токена. Любые предложения о том, как получить правильную ручку OSClient?