public static VMImage decodeFieldsFromUniqueId(final String id) { VMImage vmImage; String[] fields = checkNotNull(id, "id").split("/"); if (isCustom(id)) { /* id fields indexes 0: imageReference.resourceGroup 1: imageReference.location + "/" + 2: imageReference.name */ vmImage = VMImage.customImage().resourceGroup(fields[0]).location(fields[1]).name(fields[2]).build(); } else { /* id fields indexes 0: imageReference.location + "/" + 1: imageReference.publisher + "/" + 2: imageReference.offer + "/" + 3: imageReference.sku + "/" + */ vmImage = VMImage.azureImage().location(fields[0]).publisher(fields[1]).offer(fields[2]).sku(fields[3]) .build(); } return vmImage; } }
public static VMImage decodeFieldsFromUniqueId(final String id) { VMImage vmImage; String[] fields = checkNotNull(id, "id").split("/"); if (isCustom(id)) { /* id fields indexes 0: imageReference.resourceGroup 1: imageReference.location + "/" + 2: imageReference.name */ vmImage = VMImage.customImage().resourceGroup(fields[0]).location(fields[1]).name(fields[2]).build(); } else { /* id fields indexes 0: imageReference.location + "/" + 1: imageReference.publisher + "/" + 2: imageReference.offer + "/" + 3: imageReference.sku + "/" + */ vmImage = VMImage.azureImage().location(fields[0]).publisher(fields[1]).offer(fields[2]).sku(fields[3]) .build(); } return vmImage; } }
private List<VMImage> getImagesFromPublisher(String publisherName, String location) { List<VMImage> osImagesRef = Lists.newArrayList(); OSImageApi osImageApi = api.getOSImageApi(location); Iterable<Offer> offerList = osImageApi.listOffers(publisherName); for (Offer offer : offerList) { Iterable<SKU> skuList = osImageApi.listSKUs(publisherName, offer.name()); for (SKU sku : skuList) { Iterable<Version> versionList = osImageApi.listVersions(publisherName, offer.name(), sku.name()); for (Version version : versionList) { Version versionDetails = osImageApi.getVersion(publisherName, offer.name(), sku.name(), version.name()); VMImage vmImage = VMImage.azureImage().publisher(publisherName).offer(offer.name()).sku(sku.name()) .version(versionDetails.name()).location(location).versionProperties(versionDetails.properties()) .build(); osImagesRef.add(vmImage); } } } return osImagesRef; }
@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; }
private List<VMImage> getImagesFromPublisher(String publisherName, String location) { List<VMImage> osImagesRef = Lists.newArrayList(); OSImageApi osImageApi = api.getOSImageApi(location); Iterable<Offer> offerList = osImageApi.listOffers(publisherName); for (Offer offer : offerList) { Iterable<SKU> skuList = osImageApi.listSKUs(publisherName, offer.name()); for (SKU sku : skuList) { Iterable<Version> versionList = osImageApi.listVersions(publisherName, offer.name(), sku.name()); for (Version version : versionList) { Version versionDetails = osImageApi.getVersion(publisherName, offer.name(), sku.name(), version.name()); VMImage vmImage = VMImage.azureImage().publisher(publisherName).offer(offer.name()).sku(sku.name()) .version(versionDetails.name()).location(location).versionProperties(versionDetails.properties()) .build(); osImagesRef.add(vmImage); } } } return osImagesRef; }
@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; }
public String encodeFieldsToUniqueId(String location) { return VMImage.azureImage().location(location).publisher(publisher()).offer(offer()).sku(sku()).build() .encodeFieldsToUniqueId(); }
public String encodeFieldsToUniqueId(String location) { return VMImage.azureImage().location(location).publisher(publisher()).offer(offer()).sku(sku()).build() .encodeFieldsToUniqueId(); }