@Override public Map<URI, Hardware> get() { ImmutableMap.Builder<URI, Hardware> result = ImmutableMap.builder(); for (Hardware hardware : hardwareSupplier.get()) { result.put(hardware.getUri(), hardware); } return result.build(); } }, seconds, SECONDS);
@Override public Map<URI, Hardware> get() { ImmutableMap.Builder<URI, Hardware> result = ImmutableMap.builder(); for (Hardware hardware : hardwareSupplier.get()) { result.put(hardware.getUri(), hardware); } return result.build(); } }, seconds, SECONDS);
@Override public Map<URI, Hardware> get() { ImmutableMap.Builder<URI, Hardware> result = ImmutableMap.builder(); for (Hardware hardware : hardwareSupplier.get()) { result.put(hardware.getUri(), hardware); } return result.build(); } }, seconds, SECONDS);
@Override public Map<URI, Hardware> get() { ImmutableMap.Builder<URI, Hardware> result = ImmutableMap.builder(); for (Hardware hardware : hardwareSupplier.get()) { result.put(hardware.getUri(), hardware); } return result.build(); } }, seconds, SECONDS);
@Override public boolean apply(Hardware input) { return input.getUri().toString().equals(instance.getFlavorRef() + ""); } }
@Override public boolean apply(Hardware input) { return input.getUri().equals(instance.getHardwareProfile()); } }
@Override public URI apply(final Hardware input) { return input.getUri(); } }));
@Test public void machineTypeParserTest() { URI uri = URI.create("https://www.googleapis.com/compute/v1/projects/jclouds-dev/zones/asia-east1-a/machineTypes/custom-1-1024"); Hardware hardware = machineTypeURIToCustomHardware(uri); assertThat(hardware.getRam()).isEqualTo(1024); assertThat(hardware.getProcessors().get(0).getCores()).isEqualTo(1); assertThat(hardware.getUri()) .isEqualTo(URI.create("https://www.googleapis.com/compute/v1/projects/jclouds-dev/zones/asia-east1-a/machineTypes/custom-1-1024")); assertThat(hardware.getId()) .isEqualTo("https://www.googleapis.com/compute/v1/projects/jclouds-dev/zones/asia-east1-a/machineTypes/custom-1-1024"); }
@Test public void testAutoGeneratedHardwareFromIdTest(){ Supplier<Set<? extends Location>> locations = Suppliers.<Set<? extends Location>> ofInstance(ImmutableSet.of(region)); Supplier<Set<? extends Image>> images = Suppliers.<Set<? extends Image>> ofInstance(ImmutableSet.of(image)); Supplier<Set<? extends Hardware>> hardwares = Suppliers.<Set<? extends Hardware>> ofInstance(ImmutableSet .<Hardware> of(hardware)); Provider<TemplateOptions> optionsProvider = createMock(Provider.class); Provider<TemplateBuilder> templateBuilderProvider = createMock(Provider.class); TemplateBuilder defaultTemplate = createMock(TemplateBuilder.class); GetImageStrategy getImageStrategy = createMock(GetImageStrategy.class); expect(optionsProvider.get()).andReturn(new TemplateOptions()); expect(getImageStrategy.getImage(anyObject(String.class))).andReturn(null); replay(defaultTemplate, optionsProvider, templateBuilderProvider, getImageStrategy); TemplateBuilderImpl templateBuilder = new GoogleComputeEngineArbitraryCpuRamTemplateBuilderImpl(locations, new ImageCacheSupplier(images, 60, Atomics.<AuthorizationException>newReference(), Providers.of(getImageStrategy)), hardwares, Suppliers.ofInstance(region), optionsProvider, templateBuilderProvider); Hardware hardware = templateBuilder.hardwareId("automatic:cores=2;ram=1024").build().getHardware(); assertThat(hardware.getRam()).isEqualTo(1024); assertThat(hardware.getProcessors()).extracting("cores").containsExactly(2.0); assertThat(hardware.getUri()).isEqualTo(URI.create("http://localhost/projects/party/zones/us-east-1/machineTypes/custom-2-1024")); assertThat(hardware.getId()).isEqualTo("http://localhost/projects/party/zones/us-east-1/machineTypes/custom-2-1024"); }
@Override @Test(dataProvider = "onlyIfAutomaticHardwareSupported", groups = {"integration", "live"}) public void testAutoGeneratedHardwareFromId() { Template template = view.getComputeService().templateBuilder() .hardwareId("automatic:cores=2;ram=1024").build(); assertThat(template.getHardware().getId()).isEqualTo(template.getLocation() .getDescription() + "/machineTypes/custom-2-1024"); assertThat(template.getHardware().getRam()).isEqualTo(1024); assertThat(template.getHardware().getProcessors().get(0).getCores()).isEqualTo(2); assertThat(template.getHardware().getUri()).isEqualTo(URI.create(template.getLocation() .getDescription() + "/machineTypes/custom-2-1024")); }
GoogleComputeEngineTemplateOptions options = GoogleComputeEngineTemplateOptions.class.cast(template.getOptions()); checkNotNull(options.network(), "template options must specify a network"); checkNotNull(template.getHardware().getUri(), "hardware must have a URI"); checkNotNull(template.getImage().getUri(), "image URI is null"); template.getHardware().getUri(), // machineType
@SuppressWarnings("unchecked") public static HardwareBuilder fromHardware(Hardware in) { return new HardwareBuilder().id(in.getId()).providerId(in.getProviderId()).location(in.getLocation()).name( in.getName()).uri(in.getUri()).userMetadata(in.getUserMetadata()).tags(in.getTags()).processors( List.class.cast(in.getProcessors())).ram(in.getRam()).volumes(List.class.cast(in.getVolumes())) .supportsImage(in.supportsImage()).hypervisor(in.getHypervisor()); } }
@SuppressWarnings("unchecked") public static HardwareBuilder fromHardware(Hardware in) { return new HardwareBuilder().id(in.getId()).providerId(in.getProviderId()).location(in.getLocation()).name( in.getName()).uri(in.getUri()).userMetadata(in.getUserMetadata()).tags(in.getTags()).processors( List.class.cast(in.getProcessors())).ram(in.getRam()).volumes(List.class.cast(in.getVolumes())) .supportsImage(in.supportsImage()).hypervisor(in.getHypervisor()); } }
@SuppressWarnings("unchecked") public static HardwareBuilder fromHardware(Hardware in) { return new HardwareBuilder().id(in.getId()).providerId(in.getProviderId()).location(in.getLocation()).name( in.getName()).uri(in.getUri()).userMetadata(in.getUserMetadata()).tags(in.getTags()).processors( List.class.cast(in.getProcessors())).ram(in.getRam()).volumes(List.class.cast(in.getVolumes())) .supportsImage(in.supportsImage()).hypervisor(in.getHypervisor()); } }
@SuppressWarnings("unchecked") public static HardwareBuilder fromHardware(Hardware in) { return new HardwareBuilder().id(in.getId()).providerId(in.getProviderId()).location(in.getLocation()).name( in.getName()).uri(in.getUri()).userMetadata(in.getUserMetadata()).tags(in.getTags()).processors( List.class.cast(in.getProcessors())).ram(in.getRam()).volumes(List.class.cast(in.getVolumes())) .supportsImage(in.supportsImage()).hypervisor(in.getHypervisor()); } }