public T fromProductPackage(ProductPackage in) { return this .id(in.getId()) .name(in.getName()) .description(in.getDescription()) .items(in.getItems()) .datacenters(in.getDatacenters()); } }
public ProductPackage build() { return new ProductPackage(id, name, description, items, locations); }
@Override public String toString() { return string().toString(); }
@Override public Iterable<ProductItem> listImages() { return filter(productPackageSupplier.get().getItems(), categoryCode("os")); }
named(ProductPackageClientLiveTest.CLOUD_SERVER_PACKAGE_NAME)).getId(); ProductPackage productPackage = api.getProductPackageClient().getProductPackage(pkgId); Iterable<ProductItem> ramItems = Iterables.filter(productPackage.getItems(), Predicates.and(categoryCode("ram"), capacity(2.0f))); Iterable<ProductItem> cpuItems = Iterables.filter(productPackage.getItems(), Predicates.and( units("PRIVATE_CORE"), capacity(2.0f))); Map<Float, ProductItem> coresToProductItem = Maps.uniqueIndex(cpuItems, ProductItems.capacity()); Iterable<ProductItem> operatingSystems = Iterables.filter(productPackage.getItems(), categoryCode("os")); Map<String, ProductItem> osToProductItem = Maps.uniqueIndex(operatingSystems, ProductItems.description()); ProductItemPrice osPrice = ProductItems.price().apply(
@Override public ProductPackage get() { AccountClient accountClient = client.getAccountClient(); ProductPackageClient productPackageClient = client.getProductPackageClient(); ProductPackage p = find(accountClient.getActivePackages(), named(virtualGuestPackageName)); return productPackageClient.getProductPackage(p.getId()); }
@Override public Iterable<Datacenter> listLocations() { return productPackageSupplier.get().getDatacenters(); }
public boolean apply(ProductPackage productPackage) { checkNotNull(productPackage, "productPackage cannot be null"); return productPackage.getName().equals(packageName); } };
@Test public void testMatches() { ProductPackage productPackage = ProductPackage.builder().name("foo").build(); assertTrue(ProductPackagePredicates.named("foo").apply(productPackage)); }
@Override public Iterable<ProductItem> listImages() { return filter(productPackageSupplier.get().getItems(), categoryCode("os")); }
@Override public ProductPackage get() { AccountClient accountClient = client.getAccountClient(); ProductPackageClient productPackageClient = client.getProductPackageClient(); ProductPackage p = find(accountClient.getActivePackages(), named(virtualGuestPackageName)); return productPackageClient.getProductPackage(p.getId()); }
@Override public Iterable<Datacenter> listLocations() { return productPackageSupplier.get().getDatacenters(); }
public boolean apply(ProductPackage productPackage) { checkNotNull(productPackage, "productPackage cannot be null"); return productPackage.getName().equals(packageName); } };
@Test public void testDoesNotMatch() { ProductPackage productPackage = ProductPackage.builder().name("foo").build(); assertFalse(ProductPackagePredicates.named("bar").apply(productPackage)); } }
public T fromProductPackage(ProductPackage in) { return this .id(in.getId()) .name(in.getName()) .description(in.getDescription()) .items(in.getItems()) .datacenters(in.getDatacenters()); } }
@Override public Iterable<Iterable<ProductItem>> listHardwareProfiles() { ProductPackage productPackage = productPackageSupplier.get(); Set<ProductItem> items = productPackage.getItems(); Builder<Iterable<ProductItem>> result = ImmutableSet.builder(); for (ProductItem cpuItem : filter(items, matches(cpuPattern))) { for (ProductItem ramItem : filter(items, categoryCode("ram"))) { for (ProductItem sanItem : filter(items, and(matches(disk0Type), categoryCode("guest_disk0")))) { result.add(ImmutableSet.of(cpuItem, ramItem, sanItem)); } } } return result.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()); }
@Test public void testDatacentersForCloudLayer() { ImmutableSet.Builder<Datacenter> builder = ImmutableSet.builder(); builder.add(Datacenter.builder().id(18171).name("sea01").longName("Seattle").build()); builder.add(Datacenter.builder().id(37473).name("wdc01").longName("Washington, DC").build()); builder.add(Datacenter.builder().id(138124).name("dal05").longName("Dallas 5").build()); builder.add(Datacenter.builder().id(168642).name("sjc01").longName("San Jose 1").build()); builder.add(Datacenter.builder().id(224092).name("sng01").longName("Singapore 1").build()); builder.add(Datacenter.builder().id(265592).name("ams01").longName("Amsterdam 1").build()); Set<Datacenter> expected = builder.build(); Set<Datacenter> datacenters = cloudServerProductPackage.getDatacenters(); assert datacenters.size() == expected.size() : datacenters; assertTrue(datacenters.containsAll(expected)); for (Datacenter dataCenter : datacenters) { Address address = dataCenter.getLocationAddress(); assertNotNull(address); checkAddress(address); } }
public ProductPackage build() { return new ProductPackage(id, name, description, items, locations); }
@Override public String toString() { return string().toString(); }