docs: def get_ips(self, instance_id):
          """Retrieves the private and public ip addresses for a given instance.
          Note: Azure normally provides access to vms from a shared load
          balancer IP and
          mapping of ssh ports on the vms. So by default, the Azure provider
          returns strings
          of the form 'ip:port'. However, 'stock' elasticluster and ansible
          don't support this,
          so _use_public_ips uses Azure PublicIPs to expose each vm on the
          internet with its own IP
          and using the standard SSH port.
  
          :return: list (IPs)
          """
          self._restore_from_storage(instance_id)
          if self._start_failed:
              raise Exception('get_ips for node %s: failing due to'
                              ' previous errors.' % instance_id)
  
          ret = list()
          v_m = self._qualified_name_to_vm(instance_id)
          if not v_m:
              raise Exception("Can't find instance_id %s" % instance_id)
          if self._config._use_public_ips:
              ret.append(v_m._public_ip)
          else:
              ret.append("%s:%s" % (v_m._public_ip, v_m._ssh_port))
  
          log.debug('get_ips (instance %s) returning %s',
                    instance_id, ', '.join(ret))
          return ret