@SuppressWarnings("nls")
@Override
public List<KeyPair> getKeyPairs() throws ZoneException {
trackRequest();
Context context = getContext();
if (context.isLoggedIn()) {
NovaConnector connector = ((OpenStackContext) context).getNovaConnector();
KeyPairs pairs = null;
try {
pairs = connector.getClient().keyPairs().list().execute();
} catch (OpenStackConnectException e) {
throw new ContextConnectionException(EELFResourceManager.format(OSMsg.PAL_OS_CONNECTION_FAILED,
"Compute", connector.getEndpoint()), e);
} catch (OpenStackResponseException e) {
throw new ZoneException(EELFResourceManager.format(OSMsg.PAL_OS_REQUEST_FAILURE, "get key-pair list"),
e);
}
ArrayList<KeyPair> list = new ArrayList<>();
for (com.woorea.openstack.nova.model.KeyPair pair : pairs.getList()) {
OpenStackKeyPair kp = new OpenStackKeyPair(context, pair);
list.add(kp);
}
return list;
}
throw new ZoneException(
"Unable to retrieve key-pairs when the context has not been logged in and authenticated");
}