> + 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