public Task stopInstance()

in cloud-vmware-server/src/main/java/jetbrains/buildServer/clouds/vmware/connector/VMWareApiConnectorImpl.java [959:976]


  public Task stopInstance(@NotNull final VmwareCloudInstance instance) {
    instance.setStatus(InstanceStatus.STOPPING);
    try {
      final VirtualMachine vm = findEntityByIdNameNullableOld(instance.getInstanceId(), VirtualMachine.class, null);
      if (vm == null){
        // VM no longer exists TW-47486
        instance.getImage().removeInstance(instance.getInstanceId());
        return emptyTask();
      }
      if (getInstanceStatus(vm) == InstanceStatus.STOPPED) {
        return emptyTask();
      }
      return doShutdown(instance, vm);
    } catch (Exception ex) {
      instance.updateErrors(TypedCloudErrorInfo.fromException(ex));
      throw new CloudException(ex.getMessage(),ex);
    }
  }