public Image apply(org.jclouds.cloudservers.domain.Image from) { ImageBuilder builder = new ImageBuilder(); builder.ids(from.getId() + ""); builder.name(from.getName()); builder.description(from.getName()); builder.version(from.getUpdated().getTime() + ""); builder.operatingSystem(imageToOs.apply(from)); builder.status(toPortableImageStatus.get(from.getStatus())); Image image = builder.build(); return image; } }
public Image apply(org.jclouds.cloudservers.domain.Image from) { ImageBuilder builder = new ImageBuilder(); builder.ids(from.getId() + ""); builder.name(from.getName()); builder.description(from.getName()); builder.version(from.getUpdated().getTime() + ""); builder.operatingSystem(imageToOs.apply(from)); builder.status(toPortableImageStatus.get(from.getStatus())); Image image = builder.build(); return image; } }
public Image apply(org.jclouds.cloudservers.domain.Image from) { ImageBuilder builder = new ImageBuilder(); builder.ids(from.getId() + ""); builder.name(from.getName()); builder.description(from.getName()); builder.version(from.getUpdated().getTime() + ""); builder.operatingSystem(imageToOs.apply(from)); builder.status(toPortableImageStatus.get(from.getStatus())); Image image = builder.build(); return image; } }
@Override public Image apply(DatasetInDatacenter datasetInDatacenter) { Location location = locationIndex.get().get(datasetInDatacenter.getDatacenter()); checkState(location != null, "location %s not in locationIndex: %s", datasetInDatacenter.getDatacenter(), locationIndex.get()); Dataset dataset = datasetInDatacenter.get(); return new ImageBuilder() .id(datasetInDatacenter.slashEncode()) // note that it is urn that is the expected value! .providerId(dataset.getUrn()) .name(dataset.getName()) .operatingSystem(imageToOs.apply(dataset)) .description(dataset.getDescription()) .version(dataset.getVersion()) .location(location) .status(Image.Status.AVAILABLE).build(); } }
public Image apply(org.jclouds.openstack.nova.domain.Image from) { ImageBuilder builder = new ImageBuilder(); builder.ids(from.getId() + ""); builder.name(from.getName() != null ? from.getName() : "unspecified"); builder.description(from.getName() != null ? from.getName() : "unspecified"); builder.version(from.getUpdated() != null ? from.getUpdated().getTime() + "" : "-1"); builder.operatingSystem(imageToOs.apply(from)); //image name may not represent the OS type builder.status(toPortableImageStatus.get(from.getStatus())); builder.uri(from.getURI()); Image image = builder.build(); return image; } }
@Override public Image apply(DatasetInDatacenter datasetInDatacenter) { Location location = locationIndex.get().get(datasetInDatacenter.getDatacenter()); checkState(location != null, "location %s not in locationIndex: %s", datasetInDatacenter.getDatacenter(), locationIndex.get()); Dataset dataset = datasetInDatacenter.get(); return new ImageBuilder() .id(datasetInDatacenter.slashEncode()) .providerId(dataset.getId()) .name(dataset.getName()) .operatingSystem(imageToOs.apply(dataset)) .description(dataset.getUrn()) .version(dataset.getVersion()) .location(location) .status(Image.Status.AVAILABLE).build(); } }
@Override public Image apply(DatasetInDatacenter datasetInDatacenter) { Location location = locationIndex.get().get(datasetInDatacenter.getDatacenter()); checkState(location != null, "location %s not in locationIndex: %s", datasetInDatacenter.getDatacenter(), locationIndex.get()); Dataset dataset = datasetInDatacenter.get(); return new ImageBuilder() .id(datasetInDatacenter.slashEncode()) // note that it is urn that is the expected value! .providerId(dataset.getUrn()) .name(dataset.getName()) .operatingSystem(imageToOs.apply(dataset)) .description(dataset.getDescription()) .version(dataset.getVersion()) .location(location) .status(Image.Status.AVAILABLE).build(); } }
@Override public Image apply(DriveInfo drive) { WellKnownImage input = preinstalledImages.get(drive.getUuid()); // set credentials in the store here, as opposed to directly modifying the image. we need to // set credentials on the image outside of this function so that they can be for example // overridden by properties credentialStore.put("image#" + drive.getUuid(), LoginCredentials.builder().user(input.getLoginUser()).build()); return new ImageBuilder() .ids(drive.getUuid()) .userMetadata( ImmutableMap.<String, String> builder().putAll(drive.getUserMetadata()) .put("size", input.getSize() + "").build()) .location(locationSupplier.get()) .name(input.getDescription()) .description(drive.getName()) .status(Status.AVAILABLE) .operatingSystem( new OperatingSystem.Builder().family(input.getOsFamily()).version(input.getOsVersion()) .name(input.getDescription()).description(drive.getName()).is64Bit(input.is64bit()).build()) .version("").build(); } }
@Override public org.jclouds.compute.domain.Image apply(Image image) { ImageBuilder builder = new ImageBuilder() .id(image.selfLink().toString()) .providerId(image.id()) .name(image.name()) .providerId(image.id()) .description(image.description()) .status(Status.AVAILABLE) .uri(image.selfLink()); if (image.deprecated() != null) { builder.userMetadata(ImmutableMap.of("deprecatedState", image.deprecated().state().name())); if (image.deprecated().state() == State.DELETED){ builder.status(Status.DELETED); } } builder.version(image.name().substring(image.name().lastIndexOf('-') + 1)); builder.operatingSystem(nameToOperatingSystem.apply(image.name())); return builder.build(); } }
@Override public Image apply(DriveInfo drive) { if (drive.getName() == null) return null; String description = drive.getDescription() != null ? drive.getDescription() : drive.getName(); Builder builder = OperatingSystem.builder(); OsFamilyVersion64Bit parsed = imageParser.apply(drive.getName()); builder.name(drive.getName()).description(description) .is64Bit(drive.getBits() != null ? drive.getBits() == 64 : parsed.is64Bit).version(parsed.version) .family(parsed.family); return new ImageBuilder().ids(drive.getUuid()) .userMetadata(ImmutableMap.<String, String> of("size", drive.getSize() / 1024 / 1024 / 1024 + "")) .location(locationSupplier.get()).name(drive.getName()).description(description) .operatingSystem(builder.build()).status(Status.AVAILABLE).version("").build(); } }
@Override public Image apply(DriveInfo drive) { if (drive.getName() == null) return null; String description = drive.getDescription() != null ? drive.getDescription() : drive.getName(); Builder builder = OperatingSystem.builder(); OsFamilyVersion64Bit parsed = imageParser.apply(drive.getName()); builder.name(drive.getName()).description(description) .is64Bit(drive.getBits() != null ? drive.getBits() == 64 : parsed.is64Bit).version(parsed.version) .family(parsed.family); return new ImageBuilder().ids(drive.getUuid()) .userMetadata(ImmutableMap.<String, String> of("size", drive.getSize() / 1024 / 1024 / 1024 + "")) .location(locationSupplier.get()).name(drive.getName()).description(description) .operatingSystem(builder.build()).status(Status.AVAILABLE).version("").build(); } }
@Override public Image apply(DriveInfo drive) { if (drive.getName() == null) return null; String description = drive.getDescription() != null ? drive.getDescription() : drive.getName(); Builder builder = OperatingSystem.builder(); OsFamilyVersion64Bit parsed = imageParser.apply(drive.getName()); builder.name(drive.getName()).description(description) .is64Bit(drive.getBits() != null ? drive.getBits() == 64 : parsed.is64Bit).version(parsed.version) .family(parsed.family); return new ImageBuilder().ids(drive.getUuid()) .userMetadata(ImmutableMap.<String, String> of("size", drive.getSize() / 1024 / 1024 / 1024 + "")) .location(locationSupplier.get()).name(drive.getName()).description(description) .operatingSystem(builder.build()).status(Status.AVAILABLE).version("").build(); } }
@Test public void testTemplateChoiceForInstanceByImageIdDoesNotGetAllImages() throws Exception { @SuppressWarnings("unchecked") Supplier<Set<? extends Image>> images = createMock(Supplier.class); replay(images); final Image image = new ImageBuilder().providerId("cc-image").name("image").id("us-east-1/cc-image").location(location) .operatingSystem(new OperatingSystem(OsFamily.UBUNTU, null, "1.0", "hvm", "ubuntu", true)) .description("description").version("1.0").defaultCredentials(LoginCredentials.builder().user("root").build()) .status(Image.Status.AVAILABLE) .build(); Map<RegionAndName, Image> imageMap = ImmutableMap.of( new RegionAndName(image.getLocation().getId(), image.getProviderId()), image); // weird compilation error means have to declare extra generics for call to build() - see https://bugs.eclipse.org/bugs/show_bug.cgi?id=365818 Supplier<LoadingCache<RegionAndName, ? extends Image>> imageCache = Suppliers.<LoadingCache<RegionAndName, ? extends Image>> ofInstance( CacheBuilder.newBuilder().<RegionAndName,Image>build(CacheLoader.from(Functions.forMap(imageMap)))); Template template = newTemplateBuilder(images, imageCache).imageId("us-east-1/cc-image").build(); assert template != null : "The returned template was null, but it should have a value."; assertEquals(template.getImage().getId(), "us-east-1/cc-image"); }
private TemplateBuilder newTemplateBuilder() { final Supplier<Set<? extends Image>> images = Suppliers.<Set<? extends Image>> ofInstance(ImmutableSet.<Image> of( new ImageBuilder().providerId("cc-image").name("image").id("us-east-1/cc-image").location(location) .operatingSystem(new OperatingSystem(OsFamily.UBUNTU, null, "1.0", "hvm", "ubuntu", true)) .description("description").version("1.0").defaultCredentials(LoginCredentials.builder().user("root").build()) .status(Image.Status.AVAILABLE) .build(), new ImageBuilder().providerId("normal-image").name("image").id("us-east-1/normal-image").location(location) .operatingSystem(new OperatingSystem(OsFamily.UBUNTU, null, "1.0", "paravirtual", "ubuntu", true)) .description("description").version("1.0").defaultCredentials(LoginCredentials.builder().user("root").build()) .status(Image.Status.AVAILABLE) .build())); // weird compilation error means have to cast this - see https://bugs.eclipse.org/bugs/show_bug.cgi?id=365818 @SuppressWarnings("unchecked") ImmutableMap<RegionAndName, Image> imageMap = (ImmutableMap<RegionAndName, Image>) ImagesToRegionAndIdMap.imagesToMap(images.get()); Supplier<LoadingCache<RegionAndName, ? extends Image>> imageCache = Suppliers.<LoadingCache<RegionAndName, ? extends Image>> ofInstance( CacheBuilder.newBuilder().<RegionAndName,Image>build(CacheLoader.from(Functions.forMap(imageMap)))); return newTemplateBuilder(images, imageCache); }
@Override public Image getImage(String id) { return new ImageBuilder().id(id).providerId(id).name("imageName-" + id).description("imageDescription") .version("imageVersion").operatingSystem(os).status(Image.Status.AVAILABLE).location(location).build(); } };
public void testParseVostokImage() { Set<org.jclouds.compute.domain.Image> result = convertImages("/vostok.xml"); assertEquals( Iterables.get(result, 0), new ImageBuilder() .operatingSystem( new OperatingSystem.Builder().family(OsFamily.UNRECOGNIZED).arch("paravirtual").version("") .description("vostok-builds/vostok-0.95-5622/vostok-0.95-5622.manifest.xml") .is64Bit(false).build()) .description("vostok-builds/vostok-0.95-5622/vostok-0.95-5622.manifest.xml") .defaultCredentials(LoginCredentials.builder().user("root").build()).id("us-east-1/ami-870de2ee") .providerId("ami-870de2ee").location(defaultLocation).version("5622") .userMetadata(ImmutableMap.of("owner", "133804938231", "rootDeviceType", "instance-store")) .status(org.jclouds.compute.domain.Image.Status.AVAILABLE).build()); }
public static ImageBuilder fromImage(Image image) { return new ImageBuilder().providerId(image.getProviderId()).name(image.getName()).id(image.getId()).location( image.getLocation()).uri(image.getUri()).userMetadata(image.getUserMetadata()).tags(image.getTags()) .version(image.getVersion()).description(image.getDescription()).operatingSystem( image.getOperatingSystem()).status(image.getStatus()).backendStatus(image.getBackendStatus()) .defaultCredentials(image.getDefaultCredentials()); }
public static ImageBuilder fromImage(Image image) { return new ImageBuilder().providerId(image.getProviderId()).name(image.getName()).id(image.getId()).location( image.getLocation()).uri(image.getUri()).userMetadata(image.getUserMetadata()).tags(image.getTags()) .version(image.getVersion()).description(image.getDescription()).operatingSystem( image.getOperatingSystem()).status(image.getStatus()).backendStatus(image.getBackendStatus()) .defaultCredentials(image.getDefaultCredentials()); }
public static ImageBuilder fromImage(Image image) { return new ImageBuilder().providerId(image.getProviderId()).name(image.getName()).id(image.getId()).location( image.getLocation()).uri(image.getUri()).userMetadata(image.getUserMetadata()).tags(image.getTags()) .version(image.getVersion()).description(image.getDescription()).operatingSystem( image.getOperatingSystem()).status(image.getStatus()).backendStatus(image.getBackendStatus()) .defaultCredentials(image.getDefaultCredentials()); }
public static ImageBuilder fromImage(Image image) { return new ImageBuilder().providerId(image.getProviderId()).name(image.getName()).id(image.getId()).location( image.getLocation()).uri(image.getUri()).userMetadata(image.getUserMetadata()).tags(image.getTags()) .version(image.getVersion()).description(image.getDescription()).operatingSystem( image.getOperatingSystem()).status(image.getStatus()).backendStatus(image.getBackendStatus()) .defaultCredentials(image.getDefaultCredentials()); }