.domain(domainName) .hostname(name) .hourlyBillingFlag(hourlyBillingFlag) .startCpus(cores) .maxMemory(template.getHardware().getRam()) .datacenter(datacenter) .localDiskFlag(isLocalDisk(diskType)) .networkComponents(networkComponents); virtualGuestBuilder.operatingSystem(optionalOperatingSystem.get()); virtualGuestBuilder.blockDeviceTemplateGroup(blockDeviceTemplateGroup); virtualGuestBuilder.blockDevices(blockDevices); virtualGuestBuilder.dedicatedAccountHostOnly(templateOptions.isDedicatedAccountHostOnlyFlag()); virtualGuestBuilder.privateNetworkOnlyFlag(templateOptions.isPrivateNetworkOnlyFlag()); virtualGuestBuilder.primaryNetworkComponent( VirtualGuestNetworkComponent.builder() .networkVlan(NetworkVlan.builder().id(primaryNetworkComponentNetworkVlanId).build()) virtualGuestBuilder.primaryBackendNetworkComponent( VirtualGuestNetworkComponent.builder() .networkVlan(NetworkVlan.builder().id(primaryBackendNetworkComponentNetworkVlanId).build()) virtualGuestBuilder.postInstallScriptUri(templateOptions.getPostInstallScriptUri());
.domain(domainName) .hostname(name) .hourlyBillingFlag(hourlyBillingFlag) .startCpus(cores) .maxMemory(template.getHardware().getRam()) .datacenter(datacenter) .localDiskFlag(isLocalDisk(diskType)) .networkComponents(networkComponents); virtualGuestBuilder.operatingSystem(optionalOperatingSystem.get()); virtualGuestBuilder.blockDeviceTemplateGroup(blockDeviceTemplateGroup); virtualGuestBuilder.blockDevices(blockDevices); virtualGuestBuilder.dedicatedAccountHostOnly(templateOptions.isDedicatedAccountHostOnlyFlag()); virtualGuestBuilder.privateNetworkOnlyFlag(templateOptions.isPrivateNetworkOnlyFlag()); virtualGuestBuilder.primaryNetworkComponent( VirtualGuestNetworkComponent.builder() .networkVlan(NetworkVlan.builder().id(primaryNetworkComponentNetworkVlanId).build()) virtualGuestBuilder.primaryBackendNetworkComponent( VirtualGuestNetworkComponent.builder() .networkVlan(NetworkVlan.builder().id(primaryBackendNetworkComponentNetworkVlanId).build()) virtualGuestBuilder.postInstallScriptUri(templateOptions.getPostInstallScriptUri());
.domain(domainName) .hostname(name) .hourlyBillingFlag(hourlyBillingFlag) .startCpus(cores) .maxMemory(template.getHardware().getRam()) .datacenter(datacenter) .localDiskFlag(isLocalDisk(diskType)) .networkComponents(networkComponents); virtualGuestBuilder.operatingSystem(optionalOperatingSystem.get()); virtualGuestBuilder.blockDeviceTemplateGroup(blockDeviceTemplateGroup).build(); virtualGuestBuilder.blockDevices(blockDevices); virtualGuestBuilder.dedicatedAccountHostOnly(templateOptions.isDedicatedAccountHostOnlyFlag()); virtualGuestBuilder.privateNetworkOnlyFlag(templateOptions.isPrivateNetworkOnlyFlag()); virtualGuestBuilder.primaryNetworkComponent( VirtualGuestNetworkComponent.builder() .networkVlan(NetworkVlan.builder().id(primaryNetworkComponentNetworkVlanId).build()) virtualGuestBuilder.primaryBackendNetworkComponent( VirtualGuestNetworkComponent.builder() .networkVlan(NetworkVlan.builder().id(primaryBackendNetworkComponentNetworkVlanId).build()) virtualGuestBuilder.postInstallScriptUri(templateOptions.getPostInstallScriptUri());
.build()) .template(VirtualGuest.builder() .blockDevices(VirtualGuestBlockDevice.builder() .device("0") .diskImage(VirtualDiskImage.builder().capacity(25).build()) .build()) .localDiskFlag(false) .build()) .build()) .datacenters(ContainerVirtualGuestConfigurationOption.builder() .template(VirtualGuest.builder().datacenter(Datacenter.builder().name("ams01").build()).build()) .build()) .memory(ContainerVirtualGuestConfigurationOption.builder() .item(ProductItem.builder().description("1 GB").build()) .build()) .template(VirtualGuest.builder().maxMemory(1024).build()) .build()) .networkComponents(ContainerVirtualGuestConfigurationOption.builder() .item(ProductItem.builder().description("10 Mbps Public & Private Networks").build()) .build()) .template(VirtualGuest.builder().networkComponents( VirtualGuestNetworkComponent.builder() .maxSpeed(10) .build()) .build()) .build()) .operatingSystems(ContainerVirtualGuestConfigurationOption.builder()
.domain(domainName) .hostname(name) .startCpus(cores) .maxMemory(template.getHardware().getRam()) .datacenter(datacenter) .networkComponents(VirtualGuestNetworkComponent.builder().speed(portSpeed).build()); virtualGuestBuilder.operatingSystem(optionalOperatingSystem.get()); .builder().globalIdentifier(imageId).build(); virtualGuestBuilder.blockDeviceTemplateGroup(blockDeviceTemplateGroup).build(); virtualGuestBuilder.blockDevices(blockDevices); virtualGuestBuilder.localDiskFlag(isLocalDisk(diskType)); VirtualGuest virtualGuest = virtualGuestBuilder.build(); logger.debug(">> creating new VirtualGuest(%s)", virtualGuest); VirtualGuest result = api.getVirtualGuestApi().createObject(virtualGuest);
.item(ProductItem.builder().description("CentOS - Latest").build()) .build()) .template(VirtualGuest.builder().operatingSystemReferenceCode("CENTOS_LATEST").build()) .build(); ContainerVirtualGuestConfigurationOption osInvalid = ContainerVirtualGuestConfigurationOption.builder() .item(ProductItem.builder().description("Windows Server 2012 Datacenter Edition (64bit)").build()) .build()) .template(VirtualGuest.builder().build()) .build(); ContainerVirtualGuestConfiguration conf = ContainerVirtualGuestConfiguration.builder()
public T fromVirtualGuest(VirtualGuest in) { return this .accountId(in.getAccountId()) .createDate(in.getCreateDate()) .dedicatedAccountHostOnly(in.isDedicatedAccountHostOnly()) .domain(in.getDomain()) .fullyQualifiedDomainName(in.getFullyQualifiedDomainName()) .hostname(in.getHostname()) .id(in.getId()) .lastVerifiedDate(in.getLastVerifiedDate()) .maxCpu(in.getMaxCpu()) .maxCpuUnits(in.getMaxCpuUnits()) .maxMemory(in.getMaxMemory()) .metricPollDate(in.getMetricPollDate()) .modifyDate(in.getModifyDate()) .notes(in.getNotes()) .startCpus(in.getStartCpus()) .statusId(in.getStatusId()) .uuid(in.getUuid()) .primaryBackendIpAddress(in.getPrimaryBackendIpAddress()) .primaryIpAddress(in.getPrimaryIpAddress()) .billingItemId(in.getBillingItemId()) .operatingSystem(in.getOperatingSystem()) .operatingSystemReferenceCode(in.getOperatingSystemReferenceCode()) .datacenter(in.getDatacenter()) .powerState(in.getPowerState()) .activeTransactionCount(in.getActiveTransactionCount()) .hourlyBillingFlag(in.isHourlyBillingFlag()) .localDiskFlag(in.isLocalDiskFlag()) .dedicatedAccountHostOnlyFlag(in.isDedicatedAccountHostOnly())
VirtualGuestToJson binder = new VirtualGuestToJson(json); VirtualGuest virtualGuestWithVirtualGuestBlockDeviceTemplateGroup = VirtualGuest.builder() .hostname("hostname") .domain("domain") .startCpus(1) .maxMemory(1024) .datacenter(Datacenter.builder() .name("datacenterName") .build()) .blockDeviceTemplateGroup(VirtualGuestBlockDeviceTemplateGroup.builder() .globalIdentifier("ffaafa98-4b4a-4fa7-b9f7-b1bad5ec50f0") .build()) .localDiskFlag(true) .networkComponents(ImmutableSet.<VirtualGuestNetworkComponent>of()) .build();
public T fromVirtualGuest(VirtualGuest in) { return this .accountId(in.getAccountId()) .createDate(in.getCreateDate()) .dedicatedAccountHostOnly(in.isDedicatedAccountHostOnly()) .domain(in.getDomain()) .fullyQualifiedDomainName(in.getFullyQualifiedDomainName()) .hostname(in.getHostname()) .id(in.getId()) .lastVerifiedDate(in.getLastVerifiedDate()) .maxCpu(in.getMaxCpu()) .maxCpuUnits(in.getMaxCpuUnits()) .maxMemory(in.getMaxMemory()) .metricPollDate(in.getMetricPollDate()) .modifyDate(in.getModifyDate()) .notes(in.getNotes()) .startCpus(in.getStartCpus()) .statusId(in.getStatusId()) .uuid(in.getUuid()) .primaryBackendIpAddress(in.getPrimaryBackendIpAddress()) .primaryIpAddress(in.getPrimaryIpAddress()) .billingItemId(in.getBillingItemId()) .operatingSystem(in.getOperatingSystem()) .operatingSystemReferenceCode(in.getOperatingSystemReferenceCode()) .datacenter(in.getDatacenter()) .powerState(in.getPowerState()) .activeTransactionCount(in.getActiveTransactionCount()) .hourlyBillingFlag(in.isHourlyBillingFlag()) .localDiskFlag(in.isLocalDiskFlag()) .dedicatedAccountHostOnlyFlag(in.isDedicatedAccountHostOnly())
public T fromVirtualGuest(VirtualGuest in) { return this .accountId(in.getAccountId()) .createDate(in.getCreateDate()) .dedicatedAccountHostOnly(in.isDedicatedAccountHostOnly()) .domain(in.getDomain()) .fullyQualifiedDomainName(in.getFullyQualifiedDomainName()) .hostname(in.getHostname()) .id(in.getId()) .lastVerifiedDate(in.getLastVerifiedDate()) .maxCpu(in.getMaxCpu()) .maxCpuUnits(in.getMaxCpuUnits()) .maxMemory(in.getMaxMemory()) .metricPollDate(in.getMetricPollDate()) .modifyDate(in.getModifyDate()) .notes(in.getNotes()) .startCpus(in.getStartCpus()) .statusId(in.getStatusId()) .uuid(in.getUuid()) .primaryBackendIpAddress(in.getPrimaryBackendIpAddress()) .primaryIpAddress(in.getPrimaryIpAddress()) .billingItemId(in.getBillingItemId()) .operatingSystem(in.getOperatingSystem()) .operatingSystemReferenceCode(in.getOperatingSystemReferenceCode()) .datacenter(in.getDatacenter()) .powerState(in.getPowerState()) .activeTransactionCount(in.getActiveTransactionCount()) .hourlyBillingFlag(in.isHourlyBillingFlag()) .localDiskFlag(in.isLocalDiskFlag()) .dedicatedAccountHostOnlyFlag(in.isDedicatedAccountHostOnly())
return ImmutableSet.of( VirtualGuest.builder() .accountId(278184) .createDate(new SimpleDateFormatDateService().iso8601DateParse("2013-07-26T14:08:21.552-07:00")) .dedicatedAccountHostOnly(false) .domain("test.com") .fullyQualifiedDomainName("my.test.com") .hostname("my") .id(3001812) .lastVerifiedDate(null) .maxCpu(1) .maxCpuUnits("CORE") .maxMemory(1024) .metricPollDate(null) .modifyDate(new SimpleDateFormatDateService().iso8601DateParse("2013-07-26T14:10:21.552-07:00")) .privateNetworkOnlyFlag(false) .startCpus(1) .statusId(1001) .uuid("92102aff-93c9-05f1-b3f2-50787e865344") .primaryBackendIpAddress("10.32.23.74") .primaryIpAddress("174.37.252.118") .billingItemId(0) .operatingSystem(null) .datacenter(null) .powerState(null) .softwareLicense(null) .build());
public T fromVirtualGuest(VirtualGuest in) { return this .accountId(in.getAccountId()) .createDate(in.getCreateDate()) .dedicatedAccountHostOnly(in.isDedicatedAccountHostOnly()) .domain(in.getDomain()) .fullyQualifiedDomainName(in.getFullyQualifiedDomainName()) .hostname(in.getHostname()) .id(in.getId()) .lastVerifiedDate(in.getLastVerifiedDate()) .maxCpu(in.getMaxCpu()) .maxCpuUnits(in.getMaxCpuUnits()) .maxMemory(in.getMaxMemory()) .metricPollDate(in.getMetricPollDate()) .modifyDate(in.getModifyDate()) .notes(in.getNotes()) .privateNetworkOnly(in.isPrivateNetworkOnly()) .startCpus(in.getStartCpus()) .statusId(in.getStatusId()) .uuid(in.getUuid()) .primaryBackendIpAddress(in.getPrimaryBackendIpAddress()) .primaryIpAddress(in.getPrimaryIpAddress()) .billingItemId(in.getBillingItemId()) .operatingSystem(in.getOperatingSystem()) .operatingSystemReferenceCode(in.getOperatingSystemReferenceCode()) .datacenter(in.getDatacenter()) .powerState(in.getPowerState()) .activeTransactionCount(in.getActiveTransactionCount()) .localDiskFlag(in.isLocalDiskFlag()) .blockDeviceTemplateGroup(in.getVirtualGuestBlockDeviceTemplateGroup())
@Override public NodeAndInitialCredentials<VirtualGuest> createNodeWithGroupEncodedIntoName(String group, String name, Template template) { checkNotNull(template, "template was null"); checkNotNull(template.getOptions(), "template options was null"); checkArgument(template.getOptions().getClass().isAssignableFrom(SoftLayerTemplateOptions.class), "options class %s should have been assignable from SoftLayerTemplateOptions", template.getOptions() .getClass()); String domainName = template.getOptions().as(SoftLayerTemplateOptions.class).getDomainName(); VirtualGuest newGuest = VirtualGuest.builder().domain(domainName).hostname(name).build(); ProductOrder order = ProductOrder.builder().packageId(productPackageSupplier.get().getId()) .location(template.getLocation().getId()).quantity(1).useHourlyPricing(true).prices(getPrices(template)) .virtualGuests(newGuest).build(); logger.debug(">> ordering new virtualGuest domain(%s) hostname(%s)", domainName, name); ProductOrderReceipt productOrderReceipt = client.getVirtualGuestClient().orderVirtualGuest(order); VirtualGuest result = get(productOrderReceipt.getOrderDetails().getVirtualGuests(), 0); logger.trace("<< virtualGuest(%s)", result.getId()); logger.debug(">> awaiting login details for virtualGuest(%s)", result.getId()); boolean orderInSystem = loginDetailsTester.apply(result); logger.trace("<< virtualGuest(%s) complete(%s)", result.getId(), orderInSystem); checkState(orderInSystem, "order for guest %s doesn't have login details within %sms", result, Long.toString(guestLoginDelay)); result = client.getVirtualGuestClient().getVirtualGuest(result.getId()); Password pw = get(result.getOperatingSystem().getPasswords(), 0); return new NodeAndInitialCredentials<VirtualGuest>(result, result.getId() + "", LoginCredentials.builder().user(pw.getUsername()).password( pw.getPassword()).build()); }
public VirtualGuest expected() { return VirtualGuest.builder() .accountId(278184) .createDate(new SimpleDateFormatDateService().iso8601DateParse("2013-07-26T14:08:21.552-07:00")) .dedicatedAccountHostOnly(false) .domain("test.com") .fullyQualifiedDomainName("my.test.com") .hostname("my") .id(3001812) .lastVerifiedDate(null) .maxCpu(1) .maxCpuUnits("CORE") .maxMemory(1024) .metricPollDate(null) .modifyDate(new SimpleDateFormatDateService().iso8601DateParse("2013-07-26T14:10:21.552-07:00")) .privateNetworkOnlyFlag(false) .startCpus(1) .statusId(1001) .uuid("92102aff-93c9-05f1-b3f2-50787e865344") .primaryBackendIpAddress("10.32.23.74") .primaryIpAddress("174.37.252.118") .billingItemId(0) .operatingSystem(null) .datacenter(null) .powerState(null) .softwareLicense(null) .build();
@Override public NodeAndInitialCredentials<VirtualGuest> createNodeWithGroupEncodedIntoName(String group, String name, Template template) { checkNotNull(template, "template was null"); checkNotNull(template.getOptions(), "template options was null"); checkArgument(template.getOptions().getClass().isAssignableFrom(SoftLayerTemplateOptions.class), "options class %s should have been assignable from SoftLayerTemplateOptions", template.getOptions() .getClass()); String domainName = template.getOptions().as(SoftLayerTemplateOptions.class).getDomainName(); VirtualGuest newGuest = VirtualGuest.builder().domain(domainName).hostname(name).build(); ProductOrder order = ProductOrder.builder().packageId(productPackageSupplier.get().getId()) .location(template.getLocation().getId()).quantity(1).useHourlyPricing(true).prices(getPrices(template)) .virtualGuests(newGuest).build(); logger.debug(">> ordering new virtualGuest domain(%s) hostname(%s)", domainName, name); ProductOrderReceipt productOrderReceipt = client.getVirtualGuestClient().orderVirtualGuest(order); VirtualGuest result = get(productOrderReceipt.getOrderDetails().getVirtualGuests(), 0); logger.trace("<< virtualGuest(%s)", result.getId()); logger.debug(">> awaiting login details for virtualGuest(%s)", result.getId()); boolean orderInSystem = loginDetailsTester.apply(result); logger.trace("<< virtualGuest(%s) complete(%s)", result.getId(), orderInSystem); checkState(orderInSystem, "order for guest %s doesn't have login details within %sms", result, Long.toString(guestLoginDelay)); result = client.getVirtualGuestClient().getVirtualGuest(result.getId()); Password pw = get(result.getOperatingSystem().getPasswords(), 0); return new NodeAndInitialCredentials<VirtualGuest>(result, result.getId() + "", LoginCredentials.builder().user(pw.getUsername()).password( pw.getPassword()).build()); }
public T fromVirtualGuest(VirtualGuest in) { return this .accountId(in.getAccountId()) .createDate(in.getCreateDate()) .dedicatedAccountHostOnly(in.isDedicatedAccountHostOnly()) .domain(in.getDomain()) .fullyQualifiedDomainName(in.getFullyQualifiedDomainName()) .hostname(in.getHostname()) .id(in.getId()) .lastVerifiedDate(in.getLastVerifiedDate()) .maxCpu(in.getMaxCpu()) .maxCpuUnits(in.getMaxCpuUnits()) .maxMemory(in.getMaxMemory()) .metricPollDate(in.getMetricPollDate()) .modifyDate(in.getModifyDate()) .notes(in.getNotes()) .privateNetworkOnly(in.isPrivateNetworkOnly()) .startCpus(in.getStartCpus()) .statusId(in.getStatusId()) .uuid(in.getUuid()) .primaryBackendIpAddress(in.getPrimaryBackendIpAddress()) .primaryIpAddress(in.getPrimaryIpAddress()) .billingItemId(in.getBillingItemId()) .operatingSystem(in.getOperatingSystem()) .datacenter(in.getDatacenter()) .powerState(in.getPowerState()); } }
@Test public void testVirtualGuestWithOperatingSystem() { HttpRequest request = HttpRequest.builder().method("POST").endpoint("https://api.softlayer.com/rest/v3/SoftLayer_Virtual_Guest").build(); VirtualGuestToJson binder = new VirtualGuestToJson(json); VirtualGuest virtualGuestWithOS = VirtualGuest.builder() .hostname("hostname") .domain("domain") .startCpus(1) .maxMemory(1024) .datacenter(Datacenter.builder() .name("datacenterName") .build()) .operatingSystem(OperatingSystem.builder().id("123456789") .operatingSystemReferenceCode("UBUNTU_12_64") .build()) .localDiskFlag(true) .networkComponents(ImmutableSet.<VirtualGuestNetworkComponent>of()) .build(); request = binder.bindToRequest(request, virtualGuestWithOS); assertEquals(request.getPayload().getRawContent(), "{" + "\"parameters\":[{\"hostname\":\"hostname\",\"domain\":\"domain\",\"startCpus\":1,\"maxMemory\":1024,\"hourlyBillingFlag\":false,\"localDiskFlag\":true,\"dedicatedAccountHostOnlyFlag\":false,\"privateNetworkOnlyFlag\":false,\"operatingSystemReferenceCode\":\"UBUNTU_12_64\",\"datacenter\":{\"name\":\"datacenterName\"}}]}"); }
private VirtualGuest createVirtualGuest() { return VirtualGuest.builder() .domain("example.com") .hostname("host1") .fullyQualifiedDomainName("host1.example.com") .id(1301396) .maxMemory(1024) .startCpus(1) .localDiskFlag(true) .operatingSystem(OperatingSystem.builder().id("UBUNTU_LATEST") .operatingSystemReferenceCode("UBUNTU_LATEST") .softwareLicense(SoftwareLicense.builder() .softwareDescription(SoftwareDescription.builder() .version("12.04-64 Minimal for CCI") .referenceCode("UBUNTU_12_64") .longDescription("Ubuntu Linux 12.04 LTS Precise Pangolin - Minimal Install (64 bit)") .build()) .build()) .build()) .datacenter(Datacenter.builder().name("test").build()) .powerState(PowerState.builder().keyName(VirtualGuest.State.RUNNING).build()) .build(); }
private VirtualGuest createVirtualGuestWithSoftwareLicenseDetails() { return VirtualGuest.builder() .domain("example.com") .hostname("host1") .id(1301396) .maxMemory(1024) .startCpus(1) .localDiskFlag(true) .operatingSystem(OperatingSystem.builder().id("UBUNTU_LATEST") .operatingSystemReferenceCode("UBUNTU_LATEST") .softwareLicense(SoftwareLicense.builder() .softwareDescription(SoftwareDescription.builder() .version("12.04-64 Minimal for CCI") .referenceCode("UBUNTU_12_64") .longDescription("Ubuntu Linux 12.04 LTS Precise Pangolin - Minimal Install (64 bit)") .build()) .build()) .build()) .datacenter(Datacenter.builder().name("test").build()) .build(); } }