О боже, боюсь, это проблема, см. https://github.com/softlayer/softlayer-java/issues/21
Чтобы перезагрузить сервер с той же конфигурацией, вам нужно вызвать этот метод: http://sldn.softlayer.com/reference/services/SoftLayer_Hardware_Server/reloadCurrentOperatingSystemConfiguration
Как видите, это обязательный параметр для установки «id», иначе он не будет работать.
Это мое предложение, вы можете изменить код класса «com.softlayer.api.service.hardware.Server».
Найдите этот метод в классе:
public static Service service(ApiClient client) {
return client.createService(Service.class, null);
}
И ниже этого метода добавьте этот метод:
public static Service service(ApiClient client, Long id) {
return client.createService(Service.class, id == null ? null : id.toString());
}
Таким образом, вы сможете установить идентификатор в службе (я не смог найти способ установить идентификатор после создания службы, и я боюсь, что такой метод вообще не работает). Вы можете использовать этот код для перезагрузки сервера
import com.google.gson.Gson;
import com.softlayer.api.ApiClient;
import com.softlayer.api.RestApiClient;
import com.softlayer.api.service.Account;
import com.softlayer.api.service.Hardware;
import com.softlayer.api.service.Hardware.Service;
import com.softlayer.api.service.container.hardware.server.Configuration;
import com.softlayer.api.service.hardware.Server;
//import com.softlayer.api.service.hardware.Server.Service;
public class ReloadBareMetal {
public static void main(String[] args) {
String user = "set me";
String apikey = "set me";
String deviceName = "example.example.com";
// Declare the API client
ApiClient client = new RestApiClient().withCredentials(user, apikey);
Account.Service accountService = Account.service(client);
try {
for (Hardware hardware : Account.service(client).getHardware()){
if(hardware.getFullyQualifiedDomainName().equals(deviceName)){
System.out.println("yepes");
Configuration conf = new Configuration();
//Hardware.Service hardwareService = Hardware.service(client,hardware.getId());
Server.Service hardwareService = Server.service(client, hardware.getId());
//hardwareService.
hardwareService.reloadCurrentOperatingSystemConfiguration("FORCE");
}
}
} catch (Exception e) {
System.out
.println("Unable to reload. " + e.getMessage());
}
}
}
person
Nelson Raul Cabero Mendoza
schedule
29.01.2016