public TemplateBuilder apply(TemplateBuilder b) { return b.options(options); }}); return (T)this;
public TemplateBuilder apply(TemplateBuilder b) { return b.options(options); }}); return (T)this;
public TemplateBuilder newJcloudsTemplateBuilder(ComputeService svc) { TemplateBuilder tb = svc.templateBuilder(); for (Function<TemplateBuilder,TemplateBuilder> c: commands) { tb = c.apply(tb); } tb.options(computeAggregatedOptions(true)); return tb; }
@Override public Set<? extends NodeMetadata> createNodesInGroup(String group, int count, TemplateOptions templateOptions) throws RunNodesException { return createNodesInGroup(group, count, templateBuilder().any().options(templateOptions).build()); }
@Override public Set<? extends NodeMetadata> createNodesInGroup(String group, int count, TemplateOptions templateOptions) throws RunNodesException { return createNodesInGroup(group, count, templateBuilder().any().options(templateOptions).build()); }
@Override public Set<? extends NodeMetadata> createNodesInGroup(String group, int count, TemplateOptions templateOptions) throws RunNodesException { return createNodesInGroup(group, count, templateBuilder().any().options(templateOptions).build()); }
@Override public Set<? extends NodeMetadata> createNodesInGroup(String group, int count, TemplateOptions templateOptions) throws RunNodesException { return createNodesInGroup(group, count, templateBuilder().any().options(templateOptions).build()); }
public void testParse_loginUser() { TemplateBuilderSpec spec = parse("loginUser=ubuntu"); assertNull(spec.hardwareId); assertNull(spec.minCores); assertNull(spec.minRam); assertNull(spec.minDisk); assertNull(spec.hypervisorMatches); assertNull(spec.imageId); assertNull(spec.imageNameMatches); assertNull(spec.osFamily); assertNull(spec.osVersionMatches); assertNull(spec.os64Bit); assertNull(spec.osArchMatches); assertNull(spec.osDescriptionMatches); assertEquals(spec.loginUser, "ubuntu"); assertNull(spec.authenticateSudo); assertNull(spec.locationId); assertTemplateBuilderEquivalence( templateBuilders.get().options(overrideLoginUser("ubuntu")), templateBuilders .get().from(spec)); }
public void testParse_loginUser() { TemplateBuilderSpec spec = parse("loginUser=ubuntu"); assertNull(spec.hardwareId); assertNull(spec.minCores); assertNull(spec.minRam); assertNull(spec.minDisk); assertNull(spec.hypervisorMatches); assertNull(spec.imageId); assertNull(spec.imageNameMatches); assertNull(spec.osFamily); assertNull(spec.osVersionMatches); assertNull(spec.os64Bit); assertNull(spec.osArchMatches); assertNull(spec.osDescriptionMatches); assertEquals(spec.loginUser, "ubuntu"); assertNull(spec.authenticateSudo); assertNull(spec.locationId); assertNull(spec.forceCacheReload); assertTemplateBuilderEquivalence( templateBuilders.get().options(overrideLoginUser("ubuntu")), templateBuilders .get().from(spec)); }
@SuppressWarnings("unchecked") @Test public void testDefaultLocationWithOptions() { Supplier<Set<? extends Location>> locations = Suppliers.<Set<? extends Location>> ofInstance(ImmutableSet .<Location> of()); Supplier<Set<? extends Image>> images = Suppliers.<Set<? extends Image>> ofInstance(ImmutableSet.<Image> of(image)); Supplier<Set<? extends Hardware>> hardwares = Suppliers.<Set<? extends Hardware>> ofInstance(ImmutableSet .<Hardware> of(createMock(Hardware.class))); Location defaultLocation = createMock(Location.class); Provider<TemplateOptions> optionsProvider = createMock(Provider.class); TemplateOptions from = provideTemplateOptions(); Provider<TemplateBuilder> templateBuilderProvider = createMock(Provider.class); expect(optionsProvider.get()).andReturn(from); replay(defaultLocation, optionsProvider, templateBuilderProvider); TemplateBuilderImpl template = createTemplateBuilder(null, locations, images, hardwares, defaultLocation, optionsProvider, templateBuilderProvider); try { template.imageId("region/ami").options(provideTemplateOptions()).build(); fail("Expected NoSuchElementException"); } catch (NoSuchElementException e) { } verify(defaultLocation, optionsProvider, templateBuilderProvider); }
@SuppressWarnings("unchecked") @Test public void testSuppliedLocationAndOptions() { TemplateOptions from = provideTemplateOptions(); Supplier<Set<? extends Location>> locations = Suppliers.<Set<? extends Location>> ofInstance(ImmutableSet .<Location> of(region)); Supplier<Set<? extends Image>> images = Suppliers.<Set<? extends Image>> ofInstance(ImmutableSet.<Image> of()); Supplier<Set<? extends Hardware>> hardwares = Suppliers.<Set<? extends Hardware>> ofInstance(ImmutableSet .<Hardware> of()); Provider<TemplateOptions> optionsProvider = createMock(Provider.class); Provider<TemplateBuilder> templateBuilderProvider = createMock(Provider.class); expect(optionsProvider.get()).andReturn(from).atLeastOnce(); replay(optionsProvider); replay(templateBuilderProvider); TemplateBuilderImpl template = createTemplateBuilder(null, locations, images, hardwares, region, optionsProvider, templateBuilderProvider); try { template.imageId("foo").options(provideTemplateOptions()).locationId("location").build(); fail("Expected NoSuchElementException"); } catch (NoSuchElementException e) { } verify(optionsProvider); verify(templateBuilderProvider); }
public void testParse_loginUserWithPassword() { TemplateBuilderSpec spec = parse("loginUser=root:toor"); assertNull(spec.hardwareId); assertNull(spec.minCores); assertNull(spec.minRam); assertNull(spec.minDisk); assertNull(spec.hypervisorMatches); assertNull(spec.imageId); assertNull(spec.imageNameMatches); assertNull(spec.osFamily); assertNull(spec.osVersionMatches); assertNull(spec.os64Bit); assertNull(spec.osArchMatches); assertNull(spec.osDescriptionMatches); assertEquals(spec.loginUser, "root:toor"); assertNull(spec.authenticateSudo); assertNull(spec.locationId); assertTemplateBuilderEquivalence( templateBuilders.get().options( overrideLoginCredentials(LoginCredentials.builder().user("root").password("toor").build())), templateBuilders.get().from(spec)); }
public void testParse_authenticateSudo() { TemplateBuilderSpec spec = parse("loginUser=root:toor,authenticateSudo=true"); assertNull(spec.hardwareId); assertNull(spec.minCores); assertNull(spec.minRam); assertNull(spec.minDisk); assertNull(spec.imageId); assertNull(spec.imageNameMatches); assertNull(spec.hypervisorMatches); assertNull(spec.osFamily); assertNull(spec.osVersionMatches); assertNull(spec.os64Bit); assertNull(spec.osArchMatches); assertNull(spec.osDescriptionMatches); assertEquals(spec.loginUser, "root:toor"); assertEquals(spec.authenticateSudo.booleanValue(), true); assertNull(spec.locationId); assertTemplateBuilderEquivalence( templateBuilders.get().options( overrideLoginCredentials(LoginCredentials.builder().user("root").password("toor") .authenticateSudo(true).build())), templateBuilders.get().from(spec)); }
@Override protected TemplateBuilder templateBuilder() { return super.templateBuilder().options( resourceGroup(resourceGroupName).authorizePublicKey(keyPair.get("public")).overrideLoginPrivateKey( keyPair.get("private"))); }
public static Template apply(CreateJCloudsContainerOptions options) { ComputeService service = options.getComputeService(); TemplateOptions templateOptions = service.templateOptions(); TemplateBuilder builder = service.templateBuilder().any(); applyInstanceType(builder, options); applyImageType(builder, options); applyLocation(builder, options); applyProviderSpecificOptions(templateOptions, options); Optional<AdminAccess> adminAccess = ToAdminAccess.apply(options); if (adminAccess.isPresent()) { templateOptions.runScript(adminAccess.get()); } builder = builder.options(templateOptions); return builder.build(); }
@Override public TemplateBuilder getNodeTemplate() { Map<String, String> keyPair = ComputeTestUtils.setupKeyPair(); return super.getNodeTemplate().options( resourceGroup(resourceGroupName).authorizePublicKey(keyPair.get("public")).overrideLoginPrivateKey( keyPair.get("private"))); }
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(); }
@Override public Template getNodeTemplate() { return view.getComputeService().templateBuilder().options(options()).build(); }
@Test public void testWindowsAdminWorks() throws Exception { String group = "winadm"; // Spin up a new node. Make sure to open the RDP port 3389 Template template = view.getComputeService().templateBuilder().from(windowsTemplate).options(inboundPorts(3389)) .build(); try { NodeMetadata node = Iterables.getOnlyElement(view.getComputeService().createNodesInGroup(group, 1, template)); assertEquals(node.getCredentials().getUser(), "Administrator"); assertFalse(Strings.isNullOrEmpty(node.getCredentials().getPassword())); } finally { view.getComputeService().destroyNodesMatching(NodePredicates.inGroup(group)); } }
protected Template buildTemplate(TemplateBuilder templateBuilder) { String imageName = SSHABLE_IMAGE + ":" + SSHABLE_IMAGE_TAG; org.jclouds.docker.domain.Image image = imageApi().inspectImage(imageName); if (image == null) { CreateImageOptions options = CreateImageOptions.Builder.fromImage(SSHABLE_IMAGE).tag(SSHABLE_IMAGE_TAG); imageApi().createImage(options); } image = imageApi().inspectImage(imageName); defaultImage = client.getImage(image.id()); DockerTemplateOptions options = new DockerTemplateOptions(); options.env(ImmutableList.of("ROOT_PASS=password")); options.overrideLoginCredentials(LoginCredentials.builder().identity("root").credential("password").build()); template = templateBuilder.imageId(defaultImage.getId()).options(options).build(); return template; }