public TemplateBuilder apply(TemplateBuilder b) { return b.osFamily(os); }}); return (T)this;
@Override protected TemplateBuilder provideTemplate(Injector injector, TemplateBuilder template) { String provider = injector.getInstance(Key.get(String.class, Provider.class)); if ("ec2".equals(provider)) return template.osFamily(AMZN_LINUX).os64Bit(true); else if ("nova".equals(provider)) return super.provideTemplate(injector, template); else return template.osFamily(CENTOS); }
@Override protected TemplateBuilder provideTemplate(Injector injector, TemplateBuilder template) { return template.osFamily(UBUNTU).os64Bit(true); }
private static void applyImageType(TemplateBuilder builder, CreateJCloudsContainerOptions options) { //Define ImageId if (!Strings.isNullOrEmpty(options.getImageId())) { builder.imageId(options.getImageId()); } //or define Image by OS & Version or By ImageId else if (!Strings.isNullOrEmpty(options.getOsFamily())) { builder.osFamily(OsFamily.fromValue(options.getOsFamily())); if (!Strings.isNullOrEmpty(options.getOsVersion())) { builder.osVersionMatches(options.getOsVersion()); } } else { throw new IllegalArgumentException("Required Image id or Operation System and version predicates."); } }
public void testParse_osFamily() { TemplateBuilderSpec spec = parse("osFamily=UBUNTU"); assertNull(spec.hardwareId); assertNull(spec.minCores); assertNull(spec.minRam); assertNull(spec.minDisk); assertNull(spec.hypervisorMatches); assertNull(spec.imageId); assertNull(spec.imageNameMatches); assertEquals(spec.osFamily, OsFamily.UBUNTU); assertNull(spec.osVersionMatches); assertNull(spec.os64Bit); assertNull(spec.osArchMatches); assertNull(spec.osDescriptionMatches); assertNull(spec.loginUser); assertNull(spec.authenticateSudo); assertNull(spec.locationId); assertTemplateBuilderEquivalence(templateBuilders.get().osFamily(OsFamily.UBUNTU), templateBuilders.get().from(spec)); }
public void testParse_whitespaceAllowed() { TemplateBuilderSpec spec = parse(" minRam=10,\nosFamily=UBUNTU"); assertNull(spec.hardwareId); assertNull(spec.minCores); assertEquals(spec.minRam.intValue(), 10); assertNull(spec.minDisk); assertNull(spec.hypervisorMatches); assertNull(spec.imageId); assertNull(spec.imageNameMatches); assertEquals(spec.osFamily, OsFamily.UBUNTU); assertNull(spec.osVersionMatches); assertNull(spec.os64Bit); assertNull(spec.osArchMatches); assertNull(spec.osDescriptionMatches); assertNull(spec.loginUser); assertNull(spec.authenticateSudo); assertNull(spec.locationId); TemplateBuilder expected = templateBuilders.get().minRam(10).osFamily(OsFamily.UBUNTU); assertTemplateBuilderEquivalence(expected, templateBuilders.get().from(spec)); }
public void testParse_multipleKeys() { TemplateBuilderSpec spec = parse("osFamily=UBUNTU,osVersionMatches=1[012].[01][04],imageNameMatches=.*w/ None.*"); assertNull(spec.hardwareId); assertNull(spec.minCores); assertNull(spec.minRam); assertNull(spec.minDisk); assertNull(spec.hypervisorMatches); assertNull(spec.imageId); assertEquals(spec.imageNameMatches, ".*w/ None.*"); assertEquals(spec.osFamily, OsFamily.UBUNTU); assertEquals(spec.osVersionMatches, "1[012].[01][04]"); assertNull(spec.os64Bit); assertNull(spec.osArchMatches); assertNull(spec.osDescriptionMatches); assertNull(spec.loginUser); assertNull(spec.authenticateSudo); assertNull(spec.locationId); TemplateBuilder expected = templateBuilders.get().osVersionMatches("1[012].[01][04]").imageNameMatches(".*w/ None.*").osFamily(OsFamily.UBUNTU); assertTemplateBuilderEquivalence(expected, templateBuilders.get().from(spec)); }
public void testParse_whitespaceAllowed() { TemplateBuilderSpec spec = parse(" minRam=10,\nosFamily=UBUNTU"); assertNull(spec.hardwareId); assertNull(spec.minCores); assertEquals(spec.minRam.intValue(), 10); assertNull(spec.minDisk); assertNull(spec.hypervisorMatches); assertNull(spec.imageId); assertNull(spec.imageNameMatches); assertEquals(spec.osFamily, OsFamily.UBUNTU); assertNull(spec.osVersionMatches); assertNull(spec.os64Bit); assertNull(spec.osArchMatches); assertNull(spec.osDescriptionMatches); assertNull(spec.loginUser); assertNull(spec.authenticateSudo); assertNull(spec.locationId); assertNull(spec.forceCacheReload); TemplateBuilder expected = templateBuilders.get().minRam(10).osFamily(OsFamily.UBUNTU); assertTemplateBuilderEquivalence(expected, templateBuilders.get().from(spec)); }
public void testParse_multipleKeys() { TemplateBuilderSpec spec = parse("osFamily=UBUNTU,osVersionMatches=1[012].[01][04],imageNameMatches=.*w/ None.*"); assertNull(spec.hardwareId); assertNull(spec.minCores); assertNull(spec.minRam); assertNull(spec.minDisk); assertNull(spec.hypervisorMatches); assertNull(spec.imageId); assertEquals(spec.imageNameMatches, ".*w/ None.*"); assertEquals(spec.osFamily, OsFamily.UBUNTU); assertEquals(spec.osVersionMatches, "1[012].[01][04]"); assertNull(spec.os64Bit); assertNull(spec.osArchMatches); assertNull(spec.osDescriptionMatches); assertNull(spec.loginUser); assertNull(spec.authenticateSudo); assertNull(spec.locationId); assertNull(spec.forceCacheReload); TemplateBuilder expected = templateBuilders.get().osVersionMatches("1[012].[01][04]").imageNameMatches(".*w/ None.*").osFamily(OsFamily.UBUNTU); assertTemplateBuilderEquivalence(expected, templateBuilders.get().from(spec)); }
public void testTemplateBuilderFrom_string() { TemplateBuilder fromString = templateBuilders.get().from("minRam=10,osFamily=UBUNTU"); TemplateBuilder expected = templateBuilders.get().minCores(30).minRam(10).osFamily(OsFamily.UBUNTU); assertTemplateBuilderEquivalence(expected, fromString); }
public void testTemplateBuilderFrom_string() { TemplateBuilder fromString = templateBuilders.get().from("minRam=10,osFamily=UBUNTU"); TemplateBuilder expected = templateBuilders.get().minCores(30).minRam(10).osFamily(OsFamily.UBUNTU); assertTemplateBuilderEquivalence(expected, fromString); }
@Test(dataProvider = "osNotSupported", expectedExceptions = NoSuchElementException.class) public void testTemplateBuilderCannotFind(OsFamilyVersion64Bit matrix) throws InterruptedException { TemplateBuilder builder = view.getComputeService().templateBuilder().osFamily(matrix.family) .os64Bit(matrix.is64Bit); if (!matrix.version.equals("")) builder.osVersionMatches("^" + matrix.version + "$"); builder.build(); }
/** * The default template if none is provided. */ @Provides @Named("DEFAULT") protected TemplateBuilder provideTemplateOptionallyFromProperties(Injector injector, TemplateBuilder template, @Provider String provider, ValueOfConfigurationKeyOrNull config) { String templateString = config.apply(provider + ".template"); if (templateString == null) templateString = config.apply(TEMPLATE); if (templateString != null) { template.from(templateString); } else { template.osFamily(UBUNTU).osVersionMatches("1[012].[01][04]").os64Bit(true); } String imageId = config.apply(provider + ".image-id"); if (imageId == null) imageId = config.apply(IMAGE_ID); if (imageId != null) template.imageId(imageId); return template; }
/** * The default template if none is provided. */ @Provides @Named("DEFAULT") protected TemplateBuilder provideTemplateOptionallyFromProperties(Injector injector, TemplateBuilder template, @Provider String provider, ValueOfConfigurationKeyOrNull config) { String templateString = config.apply(provider + ".template"); if (templateString == null) templateString = config.apply(TEMPLATE); if (templateString != null) { template.from(templateString); } else { template.osFamily(UBUNTU).osVersionMatches("1[012].[01][04]").os64Bit(true); } String imageId = config.apply(provider + ".image-id"); if (imageId == null) imageId = config.apply(IMAGE_ID); if (imageId != null) template.imageId(imageId); return template; }
/** * The default template if none is provided. */ @Provides @Named("DEFAULT") protected final TemplateBuilder provideTemplateOptionallyFromProperties(Injector injector, TemplateBuilder template, @Provider String provider, ValueOfConfigurationKeyOrNull config) { String templateString = config.apply(provider + ".template"); if (templateString == null) templateString = config.apply(TEMPLATE); if (templateString != null) { template.from(templateString); } else { template.osFamily(UBUNTU).osVersionMatches("1[012].[01][04]").os64Bit(true); } String imageId = config.apply(provider + ".image-id"); if (imageId == null) imageId = config.apply(IMAGE_ID); if (imageId != null) template.imageId(imageId); return template; }
static Template createTemplateFromElement(NodeElement nodeElement, ComputeService computeService) throws IOException { TemplateBuilder templateBuilder = computeService.templateBuilder(); if (nodeElement.getLocation() != null && !"".equals(nodeElement.getLocation())) templateBuilder.locationId(nodeElement.getLocation()); if (nodeElement.getImage() != null && !"".equals(nodeElement.getImage())) { final String imageId = nodeElement.getImage(); try { templateBuilder.imageId(imageId); } catch (NoSuchElementException e) { throw new BuildException("image not found " + nodeElement.getImage()); } } else { templateBuilder.osFamily(OsFamily.valueOf(nodeElement.getOs())); } addHardwareFromElementToTemplate(nodeElement, templateBuilder); templateBuilder.options(getNodeOptionsFromElement(nodeElement)); return templateBuilder.build(); }
@Test(dataProvider = "osSupported") public void testTemplateBuilderCanFind(OsFamilyVersion64Bit matrix) throws InterruptedException { TemplateBuilder builder = view.getComputeService().templateBuilder().osFamily(matrix.family) .os64Bit(matrix.is64Bit); if (!matrix.version.equals("")) builder.osVersionMatches("^" + matrix.version + "$"); Template template = builder.build(); if (!matrix.version.equals("")) assertEquals(template.getImage().getOperatingSystem().getVersion(), matrix.version); assertEquals(template.getImage().getOperatingSystem().is64Bit(), matrix.is64Bit); assertEquals(template.getImage().getOperatingSystem().getFamily(), matrix.family); }
@Test public void testFastestTemplateBuilder() throws IOException { Template fastestTemplate = view.getComputeService().templateBuilder().fastest().osFamily(AMZN_LINUX).build(); assert fastestTemplate.getImage().getProviderId().startsWith("ami-") : fastestTemplate; assertEquals(fastestTemplate.getHardware().getProviderId(), InstanceType.C4_8XLARGE); assertEquals(fastestTemplate.getImage().getOperatingSystem().is64Bit(), true); assertEquals(fastestTemplate.getImage().getOperatingSystem().getFamily(), AMZN_LINUX); assertEquals(fastestTemplate.getImage().getUserMetadata().get("rootDeviceType"), "ebs"); assertEquals(fastestTemplate.getLocation().getId(), "us-east-1"); assertEquals(getCores(fastestTemplate.getHardware()), 36.0d); assertEquals(fastestTemplate.getImage().getOperatingSystem().getArch(), "hvm"); }
@Test public void testAmazonLinuxInstanceStore() throws IOException { Template defaultTemplate = view.getComputeService().templateBuilder().osFamily(AMZN_LINUX) .imageMatches(EC2ImagePredicates.rootDeviceType(RootDeviceType.INSTANCE_STORE)).build(); assert defaultTemplate.getImage().getProviderId().startsWith("ami-") : defaultTemplate; assertEquals(defaultTemplate.getImage().getOperatingSystem().is64Bit(), true); assertEquals(defaultTemplate.getImage().getOperatingSystem().getFamily(), AMZN_LINUX); assertEquals(defaultTemplate.getImage().getUserMetadata().get("rootDeviceType"), "instance-store"); assertEquals(defaultTemplate.getLocation().getId(), "us-east-1"); assertEquals(getCores(defaultTemplate.getHardware()), 1.0d); assertEquals(defaultTemplate.getImage().getOperatingSystem().getArch(), "paravirtual"); }
@Test public void testTemplateBuilderMicro() throws IOException { Template microTemplate = view.getComputeService().templateBuilder().hardwareId(InstanceType.T1_MICRO) .osFamily(OsFamily.UBUNTU).osVersionMatches("10.10").os64Bit(true).build(); assert microTemplate.getImage().getProviderId().startsWith("ami-") : microTemplate; assertEquals(microTemplate.getImage().getOperatingSystem().getVersion(), "10.10"); assertEquals(microTemplate.getImage().getOperatingSystem().is64Bit(), true); assertEquals(microTemplate.getImage().getOperatingSystem().getFamily(), OsFamily.UBUNTU); assertEquals(microTemplate.getImage().getUserMetadata().get("rootDeviceType"), "ebs"); assertEquals(microTemplate.getLocation().getId(), "us-east-1"); assertEquals(getCores(microTemplate.getHardware()), 1.0d); assertEquals(microTemplate.getImage().getOperatingSystem().getArch(), "paravirtual"); }