> +                 name, azureComputeConstants.operationTimeout());
> +         logger.warn(illegalStateExceptionMessage);
> +
> +         throw new IllegalStateException(illegalStateExceptionMessage);
> +      }
> +
> +      final VMDeployment deployment = deployments.iterator().next();
> +
> +
> +      return new NodeAndInitialCredentials<VMDeployment>(deployment, name,
> +              
> LoginCredentials.builder().user(loginUser).identity(loginUser).password(loginPassword).authenticateSudo(true).build());
> +   }
> +
> +   @Override
> +   public Iterable<VMSize> listHardwareProfiles() {
> +      return api.getVMSizeApi(getLocation()).list();

This must return the hardware profiles for *all* locations, and how it works 
must be coded in conjunction with the function that transforms the returned 
elements into a jclouds `Hardware`

* If a hardawre profile does not exist in all locations, then when transforming 
it, the `location` field must be set.
* if a hardware profile is global and exists in all locations, then when 
transforming it, the `location` field must be left null.

Take this into account so you return here something that gives the 
transformation function enough context to implement this contract. You can 
create just an intermediate object here and use it to represent hardware 
profiles. This object does not have to be an Azure API object, but any object 
that is convenient; it will never be exposed to users.

---
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/jclouds/jclouds-labs/pull/267/files/bae5d6dfcdb26e31057db4551c5996836666a31b#r63965010

Reply via email to