tree d3c7b54ef925123f5d1837073357a36b769f8b65
parent eb000b2c1d25a3f18f9d773c7a28c613369681ad
author Ignasi Barrera <nacx@apache.org> 1395756007 +0100
committer Ignasi Barrera <nacx@apache.org> 1401115148 +0200

JCLOUDS-517: New ElasticHosts images and regions

Added the new ElasticHosts regions.

Updated the ElasticStack api to get the list of standard
drives using an API call. All providers except ServerLove
support the new API call, so the old logic in the ElasticStack
api has been moved to that provider. The rest of providers will now
extract all the OperatingSystem information by parsing the name of the
StandardDrive.

A unit test has been added to the ElasticStack api with all the images
that were hardcoded, to make sure all names are still parsed as expected
and all information in the existing providers is kept.

Modified the default template for all ElasticHosts providers to
match newer Ubuntu images and updated the Template*Live tests
accordingly.

Also refactored the WellKnownImage map to a supplier to lazy load it
when needed and avoid unexpected errors when building the Guice injector
if there are authentication errors or similar.
