/** * {@inheritDoc} */ @Override public Builder version(String version) { return Builder.class.cast(super.version(version)); } }
/** * {@inheritDoc} */ @Override public Builder version(String version) { return Builder.class.cast(super.version(version)); } }
/** * {@inheritDoc} */ @Override public Builder version(String version) { return Builder.class.cast(super.version(version)); } }
@Override public OperatingSystem.Builder apply(final VMImage image) { final String label = checkNotNull(image.offer(), "offer").toLowerCase(); OsFamily family = findInStandardFamilies(label).or(findInOtherOSMap(label)).or(OsFamily.UNRECOGNIZED); // Fallback to generic operating system type if (OsFamily.UNRECOGNIZED == family && image.versionProperties() != null && image.versionProperties().osDiskImage() != null && image.versionProperties().osDiskImage().operatingSystem() != null) { family = OsFamily.fromValue(image.versionProperties().osDiskImage().operatingSystem().toUpperCase()); } // only 64bit OS images are supported by Azure ARM return OperatingSystem.builder().family(family).is64Bit(true) .description(image.custom() ? AzureComputeImageExtension.CUSTOM_IMAGE_OFFER : image.sku()) .version(image.custom() ? "latest" : image.sku()); } };
@Test public void testApplyWhereTagDoesntMatchAndImageAndLocationFoundAndHardwareNotFound() throws UnknownHostException { RunningInstanceToNodeMetadata parser = createNodeParser(ImmutableSet.<Hardware> of(), ImmutableSet.of(provider), EC2ImageParserTest.convertImages("/amzn_images.xml"), ImmutableMap.<String, Credentials> of()); RunningInstance server = firstInstanceFromResource("/describe_instances_running.xml"); assertEquals( parser.apply(server).toString(), new NodeMetadataBuilder() .status(Status.RUNNING).backendStatus("running") .hostname("ip-10-243-42-70") .privateAddresses(ImmutableSet.of("10.243.42.70")) .publicAddresses(ImmutableSet.of("174.129.81.68")) .imageId("us-east-1/ami-82e4b5c7") .operatingSystem( new OperatingSystem.Builder().family(OsFamily.UNRECOGNIZED).version("").arch("paravirtual") .description("137112412989/amzn-ami-0.9.7-beta.i386-ebs").is64Bit(false).build()) .id("us-east-1/i-0799056f").providerId("i-0799056f").location(provider).build().toString()); }
@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 OperatingSystem.Builder apply(final VMImage image) { final String label = checkNotNull(image.offer(), "offer").toLowerCase(); OsFamily family = findInStandardFamilies(label).or(findInOtherOSMap(label)).or(OsFamily.UNRECOGNIZED); // Fallback to generic operating system type if (OsFamily.UNRECOGNIZED == family && image.versionProperties() != null && image.versionProperties().osDiskImage() != null && image.versionProperties().osDiskImage().operatingSystem() != null) { family = OsFamily.fromValue(image.versionProperties().osDiskImage().operatingSystem().toUpperCase()); } // only 64bit OS images are supported by Azure ARM return OperatingSystem.builder().family(family).is64Bit(true) .description(image.custom() ? AzureComputeImageExtension.CUSTOM_IMAGE_OFFER : image.sku()) .version(image.custom() ? "latest" : image.sku()); } };
@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(); } }
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()); }
@Override public void reviseParsedImage(org.jclouds.ec2.domain.Image from, ImageBuilder builder, OsFamily family, OperatingSystem.Builder osBuilder) { Image image = Image.builder().id(from.getId()).name(from.getName()).build(); OperatingSystem os = imageToOs.apply(image); osBuilder.description(os.getDescription()); osBuilder.family(os.getFamily()); osBuilder.name(os.getName()); osBuilder.is64Bit(os.is64Bit()); osBuilder.version(os.getVersion()); // arch is accurate already } }
@Override public void reviseParsedImage(org.jclouds.ec2.domain.Image from, ImageBuilder builder, OsFamily family, OperatingSystem.Builder osBuilder) { Image image = Image.builder().id(from.getId()).name(from.getName()).build(); OperatingSystem os = imageToOs.apply(image); osBuilder.description(os.getDescription()); osBuilder.family(os.getFamily()); osBuilder.name(os.getName()); osBuilder.is64Bit(os.is64Bit()); osBuilder.version(os.getVersion()); // arch is accurate already } }
@Override public OperatingSystem apply(String from) { OperatingSystem.Builder builder = OperatingSystem.builder(); OsFamily osFamily = parseOsFamilyOrUnrecognized(checkNotNull(from, "vapp template name")); builder.family(osFamily); builder.description(from); builder.is64Bit(from.indexOf("64") != -1); Matcher matcher = OS_PATTERN.matcher(from); if (matcher.find()) { builder.version(ComputeServiceUtils.parseVersionOrReturnEmptyString(osFamily, matcher.group(3), osVersionMap)); } return builder.build(); } }
@Override public void reviseParsedImage(org.jclouds.ec2.domain.Image from, ImageBuilder builder, OsFamily family, OperatingSystem.Builder osBuilder) { Image image = Image.builder().id(from.getId()).name(from.getName()).build(); OperatingSystem os = imageToOs.apply(image); osBuilder.description(os.getDescription()); osBuilder.family(os.getFamily()); osBuilder.name(os.getName()); osBuilder.is64Bit(os.is64Bit()); osBuilder.version(os.getVersion()); // arch is accurate already } }
/** * {@inheritDoc} */ @Override public Builder version(String version) { return Builder.class.cast(super.version(version)); } }
public Builder fromOperatingSystem(OperatingSystem in) { return family(in.getFamily()).name(in.getName()).version(in.getVersion()).arch(in.getArch()).description( in.getDescription()).is64Bit(in.is64Bit()); } }
@Override public Image apply(OSTemplate template) { checkNotNull(template, "template"); OsFamilyVersion64Bit parsed = osParser.apply(template.getName()); Builder builder = OperatingSystem.builder(); builder.name(template.getName()).description(template.getName()).is64Bit(parsed.is64Bit).version(parsed.version) .family(parsed.family); return new ImageBuilder().ids(template.getName()).name(template.getName()).description(template.getName()) .operatingSystem(builder.build()).status(Status.AVAILABLE).build(); } }
public Builder fromOperatingSystem(OperatingSystem in) { return family(in.getFamily()).name(in.getName()).version(in.getVersion()).arch(in.getArch()).description( in.getDescription()).is64Bit(in.is64Bit()); } }
public Builder fromOperatingSystem(OperatingSystem in) { return family(in.getFamily()).name(in.getName()).version(in.getVersion()).arch(in.getArch()).description( in.getDescription()).is64Bit(in.is64Bit()); } }
public Builder fromOperatingSystem(OperatingSystem in) { return family(in.getFamily()).name(in.getName()).version(in.getVersion()).arch(in.getArch()).description( in.getDescription()).is64Bit(in.is64Bit()); } }
@Override public Image apply(OSTemplate template) { checkNotNull(template, "template"); OsFamilyVersion64Bit parsed = osParser.apply(template.getName()); Builder builder = OperatingSystem.builder(); builder.name(template.getName()).description(template.getName()).is64Bit(parsed.is64Bit).version(parsed.version) .family(parsed.family); return new ImageBuilder().ids(template.getName()).name(template.getName()).description(template.getName()) .operatingSystem(builder.build()).status(Status.AVAILABLE).build(); } }