> @Override
> public Map<String, Supplier<URI>> get() {
> - Map<String, URI> regionToUris = client.describeRegions();
> - return Maps.transformValues(regionToUris, Suppliers2.<URI>
> ofInstanceFunction());
> + Map<String, URI> regionToUris =
> api.getAvailabilityZoneAndRegionApi().get().describeRegions();
> + Map<String, Supplier<URI>> result = Maps.transformValues(regionToUris,
> Suppliers2.<URI>ofInstanceFunction());
> + if (whitelistedRegionIds.isEmpty()) {
> + return result;
> + }
> + return Maps.filterKeys(result, Predicates.in(whitelistedRegionIds));
This works for me. I wonder if this is slightly more efficient, since it avoids
transforming values that will not be returned:
```
Map<String, URI> regionToUris =
api.getAvailabilityZoneAndRegionApi().get().describeRegions();
if (!whitelistedRegionIds.isEmpty()) {
regionToUris = Maps.filterKeys(regionToUris,
Predicates.in(whitelistedRegionIds));
}
return Maps.transformValues(regionToUris, Suppliers2.<URI>ofInstanceFunction());
```
But also fine with leaving as-is if you prefer.
---
Reply to this email directly or view it on GitHub:
https://github.com/jclouds/jclouds/pull/602/files#r20415551