/** * Builds a Json string suitable for sending to the softlayer api * * @param virtualGuest * @return String */ String buildJson(VirtualGuest virtualGuest) { TemplateObject templateObject = null; String hostname = checkNotNull(virtualGuest.getHostname(), "hostname"); String domain = checkNotNull(virtualGuest.getDomain(), "domain"); int startCpus = checkNotNull(virtualGuest.getStartCpus(), "startCpus"); int maxMemory = checkNotNull(virtualGuest.getMaxMemory(), "maxMemory"); boolean localDiskFlag = checkNotNull(virtualGuest.isLocalDiskFlag(), "localDiskFlag"); String datacenterName = checkNotNull(virtualGuest.getDatacenter().getName(), "datacenterName"); Set<NetworkComponent> networkComponents = getNetworkComponents(virtualGuest); if(virtualGuest.getOperatingSystem() != null) { String operatingSystemReferenceCode = checkNotNull(virtualGuest.getOperatingSystem() .getOperatingSystemReferenceCode(), "operatingSystemReferenceCode"); templateObject = new TemplateObject(hostname, domain, startCpus, maxMemory, true, operatingSystemReferenceCode, null, localDiskFlag, new Datacenter(datacenterName), networkComponents, getBlockDevices(virtualGuest)); } else if(virtualGuest.getVirtualGuestBlockDeviceTemplateGroup() != null) { String globalIdentifier = checkNotNull(virtualGuest.getVirtualGuestBlockDeviceTemplateGroup() .getGlobalIdentifier(), "blockDeviceTemplateGroup.globalIdentifier"); templateObject = new TemplateObject(hostname, domain, startCpus, maxMemory, true, null, new BlockDeviceTemplateGroup(globalIdentifier), localDiskFlag, new Datacenter(datacenterName), networkComponents, null); } return json.toJson(ImmutableMap.of("parameters", ImmutableList.<TemplateObject> of(templateObject))); }
if (blockDevice.getDevice().equals(BOOTABLE_DEVICE)) { float capacity = blockDevice.getVirtualDiskImage().getCapacity(); Type type = blockDevice.getVirtualGuest().isLocalDiskFlag() ? Type.LOCAL : Type.SAN; String id = format("cpu=%s,memory=%s,disk=%s,type=%s", cpus, memory, round(capacity), type); hardware.add(new HardwareBuilder()
for (VirtualGuestBlockDevice blockDevice : virtualGuestConfiguration.getVirtualGuestBlockDevices()) { float capacity = blockDevice.getVirtualDiskImage().getCapacity(); Type type = blockDevice.getVirtualGuest().isLocalDiskFlag() ? Type.LOCAL : Type.SAN; if (blockDevice.getDevice().equals(BOOTABLE_DEVICE)) { for (Integer cpus : virtualGuestConfiguration.getCpusOfProcessors()) {
for (VirtualGuestBlockDevice blockDevice : virtualGuestConfiguration.getVirtualGuestBlockDevices()) { float capacity = blockDevice.getVirtualDiskImage().getCapacity(); Type type = blockDevice.getVirtualGuest().isLocalDiskFlag() ? Type.LOCAL : Type.SAN; if (blockDevice.getDevice().equals(BOOTABLE_DEVICE)) { for (Integer cpus : virtualGuestConfiguration.getCpusOfProcessors()) {
for (VirtualGuestBlockDevice blockDevice : virtualGuestConfiguration.getVirtualGuestBlockDevices()) { float capacity = blockDevice.getVirtualDiskImage().getCapacity(); Type type = blockDevice.getVirtualGuest().isLocalDiskFlag() ? Type.LOCAL : Type.SAN; if (blockDevice.getDevice().equals(BOOTABLE_DEVICE)) { for (Integer cpus : virtualGuestConfiguration.getCpusOfProcessors()) {
int maxMemory = virtualGuest.getMaxMemory(); boolean hourlyBillingFlag = virtualGuest.isHourlyBillingFlag(); boolean localDisk = virtualGuest.isLocalDiskFlag();
int maxMemory = virtualGuest.getMaxMemory(); boolean hourlyBillingFlag = virtualGuest.isHourlyBillingFlag(); boolean localDisk = virtualGuest.isLocalDiskFlag();
int maxMemory = virtualGuest.getMaxMemory(); boolean hourlyBillingFlag = virtualGuest.isHourlyBillingFlag(); boolean localDisk = virtualGuest.isLocalDiskFlag();
.powerState(in.getPowerState()) .activeTransactionCount(in.getActiveTransactionCount()) .localDiskFlag(in.isLocalDiskFlag()) .blockDeviceTemplateGroup(in.getVirtualGuestBlockDeviceTemplateGroup()) .networkComponents(in.getVirtualGuestNetworkComponents());
.activeTransactionCount(in.getActiveTransactionCount()) .hourlyBillingFlag(in.isHourlyBillingFlag()) .localDiskFlag(in.isLocalDiskFlag()) .dedicatedAccountHostOnlyFlag(in.isDedicatedAccountHostOnly()) .privateNetworkOnlyFlag(in.isPrivateNetworkOnly())
.activeTransactionCount(in.getActiveTransactionCount()) .hourlyBillingFlag(in.isHourlyBillingFlag()) .localDiskFlag(in.isLocalDiskFlag()) .dedicatedAccountHostOnlyFlag(in.isDedicatedAccountHostOnly()) .privateNetworkOnlyFlag(in.isPrivateNetworkOnly())
.activeTransactionCount(in.getActiveTransactionCount()) .hourlyBillingFlag(in.isHourlyBillingFlag()) .localDiskFlag(in.isLocalDiskFlag()) .dedicatedAccountHostOnlyFlag(in.isDedicatedAccountHostOnly()) .privateNetworkOnlyFlag(in.isPrivateNetworkOnly())