@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(); } }
public Image build() { return new Image(super.id, super.creationTimestamp, super.selfLink, super.name, super.description, sourceType, rawDisk, deprecated); }
public Builder fromImage(Image in) { return super.fromResource(in) .sourceType(in.getSourceType()) .rawDisk(in.getRawDisk()) .deprecated(in.getDeprecated().orNull()); }
private void assertImageEquals(Image result) { assertEquals(result.name(), IMAGE_NAME); assertEquals(result.sourceType(), "RAW"); assertEquals(result.selfLink(), getImageUrl(IMAGE_NAME) ); } }
public void testArbitraryImageName() { GoogleComputeEngineImageToImage imageToImage = new GoogleComputeEngineImageToImage(new ImageNameToOperatingSystem()); Image image = image("arbitratyname", null); org.jclouds.compute.domain.Image transformed = imageToImage.apply(image); assertEquals(transformed.getName(), image.name()); assertEquals(transformed.getId(), image.selfLink().toString()); assertEquals(transformed.getProviderId(), image.id()); assertSame(transformed.getOperatingSystem().getFamily(), OsFamily.LINUX); }
@Override public org.jclouds.compute.domain.Image apply(Image image) { ImageBuilder builder = new ImageBuilder() .id(image.getName()) .name(image.getName()) .providerId(image.getId()) .description(image.getDescription().orNull()) .status(Status.AVAILABLE) .uri(image.getSelfLink()); List<String> splits = Lists.newArrayList(image.getName().split("-")); OperatingSystem.Builder osBuilder = defaultOperatingSystem(image); if (splits == null || splits.size() == 0 || splits.size() < 3) { return builder.operatingSystem(osBuilder.build()).build(); } OsFamily family = OsFamily.fromValue(splits.get(0)); if (family != OsFamily.UNRECOGNIZED) { osBuilder.family(family); } String version = on(".").join(limit(skip(splits, 1), splits.size() - 2)); osBuilder.version(version); if (image.getDeprecated().isPresent()) { builder.userMetadata(ImmutableMap.of("deprecatedState", image.getDeprecated().get().getState().orNull())); } builder.version(getLast(splits)); return builder.operatingSystem(osBuilder.build()).build(); }
@Test(groups = "live", dependsOnMethods = "testListImage") public void testGetImage() { assertEquals(image, api().get(image.selfLink())); }
@Override public boolean apply(Image input) { // filter out all deprecated images return !(input.deprecated() != null && input.deprecated().state() != null); } })
private OperatingSystem.Builder defaultOperatingSystem(Image image) { return OperatingSystem.builder() .family(OsFamily.LINUX) .is64Bit(true) .description(image.getName()); }
public void testWellFormedImageName() { GoogleComputeEngineImageToImage imageToImage = new GoogleComputeEngineImageToImage(new ImageNameToOperatingSystem()); Image image = image("ubuntu-12-04-v123123", null); org.jclouds.compute.domain.Image transformed = imageToImage.apply(image); assertEquals(transformed.getName(), image.name()); assertEquals(transformed.getId(), image.selfLink().toString()); assertEquals(transformed.getProviderId(), image.id()); assertSame(transformed.getOperatingSystem().getFamily(), OsFamily.UBUNTU); assertEquals(transformed.getOperatingSystem().getVersion(), "12.04"); }
@Override public org.jclouds.compute.domain.Image apply(Image image) { ImageBuilder builder = new ImageBuilder() .id(image.getName()) .name(image.getName()) .providerId(image.getId()) .description(image.getDescription().orNull()) .status(Status.AVAILABLE) .uri(image.getSelfLink()); List<String> splits = Lists.newArrayList(image.getName().split("-")); OperatingSystem.Builder osBuilder = defaultOperatingSystem(image); if (splits == null || splits.size() == 0 || splits.size() < 3) { return builder.operatingSystem(osBuilder.build()).build(); } OsFamily family = OsFamily.fromValue(splits.get(0)); if (family != OsFamily.UNRECOGNIZED) { osBuilder.family(family); } String version = on(".").join(limit(skip(splits, 1), splits.size() - 2)); osBuilder.version(version); if (image.getDeprecated().isPresent()) { builder.userMetadata(ImmutableMap.of("deprecatedState", image.getDeprecated().get().getState().orNull())); } builder.version(getLast(splits)); return builder.operatingSystem(osBuilder.build()).build(); }
@Override protected GoogleComputeEngineApi create(Properties props, Iterable<Module> modules) { GoogleComputeEngineApi api = super.create(props, modules); reset_windows_password = injector.getInstance(Key.get(new TypeLiteral<Function<Map<String, ?>, String>>() {})); List<Image> list = api.images().listInProject("windows-cloud", filter("name eq windows-server-2012.*")).next(); URI imageUri = FluentIterable.from(list) .filter(new Predicate<Image>() { @Override public boolean apply(Image input) { // filter out all deprecated images return !(input.deprecated() != null && input.deprecated().state() != null); } }) .first() .get() .selfLink(); instance = NewInstance.create( INSTANCE_NAME, getDefaultMachineTypeUrl(), getNetworkUrl(INSTANCE_NETWORK_NAME), null, imageUri ); return api; }
@Override public boolean apply(Image input) { // filter out all deprecated images return !(input.deprecated() != null && input.deprecated().state() != null); } })
private OperatingSystem.Builder defaultOperatingSystem(Image image) { return OperatingSystem.builder() .family(OsFamily.LINUX) .is64Bit(true) .description(image.getName()); }
@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(); } }
.hostname(input.name()) .location(zone) .imageId(image.isPresent() ? image.get().selfLink().toString() : null) .hardware(hardware) .status(input.status() != null ? toPortableNodeStatus.get(input.status()) : Status.UNRECOGNIZED)
@Override public boolean apply(Image input) { // filter out all deprecated images return !(input.deprecated() != null && input.deprecated().state() != null); } })
public Builder fromImage(Image in) { return super.fromResource(in) .sourceType(in.getSourceType()) .rawDisk(in.getRawDisk()) .deprecated(in.getDeprecated().orNull()); }
public Image build() { return new Image(super.id, super.creationTimestamp, super.selfLink, super.name, super.description, sourceType, rawDisk, deprecated); }
@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(); } }