public String encodeFieldsToUniqueId() { return String.format("%s/%s/%s/%s", location(), publisher(), offer(), sku()); }
public String encodeFieldsToUniqueId() { return String.format("%s/%s/%s/%s", location(), publisher(), offer(), sku()); }
@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 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 VMImage getImage(final String id) { VMImage image = VMImage.decodeFieldsFromUniqueId(id); if (image.custom()) { org.jclouds.azurecompute.arm.domain.Image vmImage = api.getVirtualMachineImageApi(image.resourceGroup()).get( image.name()); return vmImage == null ? null : customImagetoVmImage.apply(vmImage); } String location = image.location(); String publisher = image.publisher(); String offer = image.offer(); String sku = image.sku(); OSImageApi osImageApi = api.getOSImageApi(location); List<Version> versions = osImageApi.listVersions(publisher, offer, sku); if (!versions.isEmpty()) { Version version = osImageApi.getVersion(publisher, offer, sku, versions.get(0).name()); return VMImage.azureImage().publisher(publisher).offer(offer).sku(sku).version(version.name()) .location(location).versionProperties(version.properties()).build(); } return null; }
@Override public VMImage getImage(final String id) { VMImage image = VMImage.decodeFieldsFromUniqueId(id); if (image.custom()) { org.jclouds.azurecompute.arm.domain.Image vmImage = api.getVirtualMachineImageApi(image.resourceGroup()).get( image.name()); return vmImage == null ? null : customImagetoVmImage.apply(vmImage); } String location = image.location(); String publisher = image.publisher(); String offer = image.offer(); String sku = image.sku(); OSImageApi osImageApi = api.getOSImageApi(location); List<Version> versions = osImageApi.listVersions(publisher, offer, sku); if (!versions.isEmpty()) { Version version = osImageApi.getVersion(publisher, offer, sku, versions.get(0).name()); return VMImage.azureImage().publisher(publisher).offer(offer).sku(sku).version(version.name()) .location(location).versionProperties(version.properties()).build(); } return null; }
.id(image.encodeFieldsToUniqueId()) .providerId(image.publisher()) .name(image.offer()) .location(location) .description(image.sku())
.id(image.encodeFieldsToUniqueId()) .providerId(image.publisher()) .name(image.offer()) .location(location) .description(image.sku())