org.dasein.cloud.aws.compute
Class AMI

java.lang.Object
  extended by org.dasein.cloud.compute.AbstractImageSupport<AWSCloud>
      extended by org.dasein.cloud.aws.compute.AMI
All Implemented Interfaces:
org.dasein.cloud.AccessControlledService, org.dasein.cloud.compute.MachineImageSupport

public class AMI
extends org.dasein.cloud.compute.AbstractImageSupport<AWSCloud>

Version:
2013.01.1 Fixed a data consistency issue with AWS (issue #21)

Field Summary
 
Fields inherited from interface org.dasein.cloud.compute.MachineImageSupport
ANY, COPY_IMAGE, DOWNLOAD_IMAGE, GET_IMAGE, IMAGE_VM, LIST_IMAGE, MAKE_PUBLIC, REGISTER_IMAGE, REMOVE_IMAGE, SHARE_IMAGE, UPLOAD_IMAGE
 
Method Summary
 void addImageShare(String providerImageId, String accountNumber)
           
 void addPublicShare(String providerImageId)
           
protected  org.dasein.cloud.compute.MachineImage capture(org.dasein.cloud.compute.ImageCreateOptions options, org.dasein.cloud.AsynchronousTask<org.dasein.cloud.compute.MachineImage> task)
           
 String copyImage(org.dasein.cloud.compute.ImageCopyOptions options)
           
static String createDescription(String title, org.dasein.cloud.compute.Architecture arch, org.dasein.cloud.compute.Platform platform)
           
 org.dasein.cloud.compute.ImageCapabilities getCapabilities()
           
 org.dasein.cloud.compute.MachineImage getImage(String providerImageId)
           
 boolean isImageSharedWithPublic(String machineImageId)
           
 boolean isSubscribed()
           
 Iterable<org.dasein.cloud.compute.MachineImage> listImages(org.dasein.cloud.compute.ImageFilterOptions options)
           
 Iterable<org.dasein.cloud.ResourceStatus> listImageStatus(org.dasein.cloud.compute.ImageClass cls)
           
 Iterable<String> listShares(String forMachineImageId)
           
 String[] mapServiceAction(org.dasein.cloud.identity.ServiceAction action)
           
 org.dasein.cloud.compute.MachineImage registerImageBundle(org.dasein.cloud.compute.ImageCreateOptions options)
           
 void remove(String providerImageId, boolean checkState)
           
 void removeAllImageShares(String providerImageId)
           
 void removeImageShare(String providerImageId, String accountNumber)
           
 void removePublicShare(String providerImageId)
           
 void removeTags(String[] imageIds, org.dasein.cloud.Tag... tags)
           
 void removeTags(String imageId, org.dasein.cloud.Tag... tags)
           
 Iterable<org.dasein.cloud.compute.MachineImage> searchPublicImages(org.dasein.cloud.compute.ImageFilterOptions options)
           
 boolean supportsCustomImages()
           
 boolean supportsImageCapture(org.dasein.cloud.compute.MachineImageType type)
           
 boolean supportsImageSharing()
           
 boolean supportsImageSharingWithPublic()
           
 boolean supportsPublicLibrary(org.dasein.cloud.compute.ImageClass cls)
           
 void updateTags(String[] imageIds, org.dasein.cloud.Tag... tags)
           
 void updateTags(String imageId, org.dasein.cloud.Tag... tags)
           
 
Methods inherited from class org.dasein.cloud.compute.AbstractImageSupport
bundleVirtualMachine, bundleVirtualMachineAsync, captureImage, captureImageAsync, getContext, getMachineImage, getProvider, getProviderTermForCustomImage, getProviderTermForImage, getProviderTermForImage, hasPublicLibrary, identifyLocalBundlingRequirement, imageVirtualMachine, listImages, listImages, listMachineImages, listMachineImagesOwnedBy, listSupportedFormats, listSupportedFormatsForBundling, listSupportedImageClasses, listSupportedImageTypes, matches, remove, searchImages, searchMachineImages, searchPublicImages, setTags, setTags, shareMachineImage, supportsDirectImageUpload
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

addImageShare

public void addImageShare(@Nonnull
                          String providerImageId,
                          @Nonnull
                          String accountNumber)
                   throws org.dasein.cloud.CloudException,
                          org.dasein.cloud.InternalException
Specified by:
addImageShare in interface org.dasein.cloud.compute.MachineImageSupport
Overrides:
addImageShare in class org.dasein.cloud.compute.AbstractImageSupport<AWSCloud>
Throws:
org.dasein.cloud.CloudException
org.dasein.cloud.InternalException

addPublicShare

public void addPublicShare(@Nonnull
                           String providerImageId)
                    throws org.dasein.cloud.CloudException,
                           org.dasein.cloud.InternalException
Specified by:
addPublicShare in interface org.dasein.cloud.compute.MachineImageSupport
Overrides:
addPublicShare in class org.dasein.cloud.compute.AbstractImageSupport<AWSCloud>
Throws:
org.dasein.cloud.CloudException
org.dasein.cloud.InternalException

getCapabilities

public org.dasein.cloud.compute.ImageCapabilities getCapabilities()

capture

protected org.dasein.cloud.compute.MachineImage capture(@Nonnull
                                                        org.dasein.cloud.compute.ImageCreateOptions options,
                                                        @Nullable
                                                        org.dasein.cloud.AsynchronousTask<org.dasein.cloud.compute.MachineImage> task)
                                                 throws org.dasein.cloud.CloudException,
                                                        org.dasein.cloud.InternalException
Overrides:
capture in class org.dasein.cloud.compute.AbstractImageSupport<AWSCloud>
Throws:
org.dasein.cloud.CloudException
org.dasein.cloud.InternalException

copyImage

@Nonnull
public String copyImage(@Nonnull
                                org.dasein.cloud.compute.ImageCopyOptions options)
                 throws org.dasein.cloud.CloudException,
                        org.dasein.cloud.InternalException
Specified by:
copyImage in interface org.dasein.cloud.compute.MachineImageSupport
Overrides:
copyImage in class org.dasein.cloud.compute.AbstractImageSupport<AWSCloud>
Throws:
org.dasein.cloud.CloudException
org.dasein.cloud.InternalException

getImage

@Nullable
public org.dasein.cloud.compute.MachineImage getImage(@Nonnull
                                                               String providerImageId)
                                               throws org.dasein.cloud.CloudException,
                                                      org.dasein.cloud.InternalException
Throws:
org.dasein.cloud.CloudException
org.dasein.cloud.InternalException

isImageSharedWithPublic

public boolean isImageSharedWithPublic(@Nonnull
                                       String machineImageId)
                                throws org.dasein.cloud.CloudException,
                                       org.dasein.cloud.InternalException
Specified by:
isImageSharedWithPublic in interface org.dasein.cloud.compute.MachineImageSupport
Overrides:
isImageSharedWithPublic in class org.dasein.cloud.compute.AbstractImageSupport<AWSCloud>
Throws:
org.dasein.cloud.CloudException
org.dasein.cloud.InternalException

isSubscribed

public boolean isSubscribed()
                     throws org.dasein.cloud.CloudException,
                            org.dasein.cloud.InternalException
Throws:
org.dasein.cloud.CloudException
org.dasein.cloud.InternalException

listImageStatus

@Nonnull
public Iterable<org.dasein.cloud.ResourceStatus> listImageStatus(@Nonnull
                                                                         org.dasein.cloud.compute.ImageClass cls)
                                                          throws org.dasein.cloud.CloudException,
                                                                 org.dasein.cloud.InternalException
Specified by:
listImageStatus in interface org.dasein.cloud.compute.MachineImageSupport
Overrides:
listImageStatus in class org.dasein.cloud.compute.AbstractImageSupport<AWSCloud>
Throws:
org.dasein.cloud.CloudException
org.dasein.cloud.InternalException

listShares

@Nonnull
public Iterable<String> listShares(@Nonnull
                                           String forMachineImageId)
                            throws org.dasein.cloud.CloudException,
                                   org.dasein.cloud.InternalException
Specified by:
listShares in interface org.dasein.cloud.compute.MachineImageSupport
Overrides:
listShares in class org.dasein.cloud.compute.AbstractImageSupport<AWSCloud>
Throws:
org.dasein.cloud.CloudException
org.dasein.cloud.InternalException

mapServiceAction

@Nonnull
public String[] mapServiceAction(@Nonnull
                                         org.dasein.cloud.identity.ServiceAction action)
Specified by:
mapServiceAction in interface org.dasein.cloud.AccessControlledService
Overrides:
mapServiceAction in class org.dasein.cloud.compute.AbstractImageSupport<AWSCloud>

registerImageBundle

@Nonnull
public org.dasein.cloud.compute.MachineImage registerImageBundle(@Nonnull
                                                                         org.dasein.cloud.compute.ImageCreateOptions options)
                                                          throws org.dasein.cloud.CloudException,
                                                                 org.dasein.cloud.InternalException
Specified by:
registerImageBundle in interface org.dasein.cloud.compute.MachineImageSupport
Overrides:
registerImageBundle in class org.dasein.cloud.compute.AbstractImageSupport<AWSCloud>
Throws:
org.dasein.cloud.CloudException
org.dasein.cloud.InternalException

remove

public void remove(@Nonnull
                   String providerImageId,
                   boolean checkState)
            throws org.dasein.cloud.CloudException,
                   org.dasein.cloud.InternalException
Throws:
org.dasein.cloud.CloudException
org.dasein.cloud.InternalException

removeAllImageShares

public void removeAllImageShares(@Nonnull
                                 String providerImageId)
                          throws org.dasein.cloud.CloudException,
                                 org.dasein.cloud.InternalException
Specified by:
removeAllImageShares in interface org.dasein.cloud.compute.MachineImageSupport
Overrides:
removeAllImageShares in class org.dasein.cloud.compute.AbstractImageSupport<AWSCloud>
Throws:
org.dasein.cloud.CloudException
org.dasein.cloud.InternalException

removeImageShare

public void removeImageShare(@Nonnull
                             String providerImageId,
                             @Nonnull
                             String accountNumber)
                      throws org.dasein.cloud.CloudException,
                             org.dasein.cloud.InternalException
Specified by:
removeImageShare in interface org.dasein.cloud.compute.MachineImageSupport
Overrides:
removeImageShare in class org.dasein.cloud.compute.AbstractImageSupport<AWSCloud>
Throws:
org.dasein.cloud.CloudException
org.dasein.cloud.InternalException

removePublicShare

public void removePublicShare(@Nonnull
                              String providerImageId)
                       throws org.dasein.cloud.CloudException,
                              org.dasein.cloud.InternalException
Specified by:
removePublicShare in interface org.dasein.cloud.compute.MachineImageSupport
Overrides:
removePublicShare in class org.dasein.cloud.compute.AbstractImageSupport<AWSCloud>
Throws:
org.dasein.cloud.CloudException
org.dasein.cloud.InternalException

listImages

@Nonnull
public Iterable<org.dasein.cloud.compute.MachineImage> listImages(@Nullable
                                                                          org.dasein.cloud.compute.ImageFilterOptions options)
                                                           throws org.dasein.cloud.CloudException,
                                                                  org.dasein.cloud.InternalException
Throws:
org.dasein.cloud.CloudException
org.dasein.cloud.InternalException

searchPublicImages

@Nonnull
public Iterable<org.dasein.cloud.compute.MachineImage> searchPublicImages(@Nonnull
                                                                                  org.dasein.cloud.compute.ImageFilterOptions options)
                                                                   throws org.dasein.cloud.CloudException,
                                                                          org.dasein.cloud.InternalException
Specified by:
searchPublicImages in interface org.dasein.cloud.compute.MachineImageSupport
Overrides:
searchPublicImages in class org.dasein.cloud.compute.AbstractImageSupport<AWSCloud>
Throws:
org.dasein.cloud.CloudException
org.dasein.cloud.InternalException

supportsCustomImages

public boolean supportsCustomImages()
Specified by:
supportsCustomImages in interface org.dasein.cloud.compute.MachineImageSupport
Overrides:
supportsCustomImages in class org.dasein.cloud.compute.AbstractImageSupport<AWSCloud>

supportsImageCapture

public boolean supportsImageCapture(@Nonnull
                                    org.dasein.cloud.compute.MachineImageType type)
                             throws org.dasein.cloud.CloudException,
                                    org.dasein.cloud.InternalException
Specified by:
supportsImageCapture in interface org.dasein.cloud.compute.MachineImageSupport
Overrides:
supportsImageCapture in class org.dasein.cloud.compute.AbstractImageSupport<AWSCloud>
Throws:
org.dasein.cloud.CloudException
org.dasein.cloud.InternalException

supportsImageSharing

public boolean supportsImageSharing()
                             throws org.dasein.cloud.CloudException,
                                    org.dasein.cloud.InternalException
Specified by:
supportsImageSharing in interface org.dasein.cloud.compute.MachineImageSupport
Overrides:
supportsImageSharing in class org.dasein.cloud.compute.AbstractImageSupport<AWSCloud>
Throws:
org.dasein.cloud.CloudException
org.dasein.cloud.InternalException

supportsImageSharingWithPublic

public boolean supportsImageSharingWithPublic()
                                       throws org.dasein.cloud.CloudException,
                                              org.dasein.cloud.InternalException
Specified by:
supportsImageSharingWithPublic in interface org.dasein.cloud.compute.MachineImageSupport
Overrides:
supportsImageSharingWithPublic in class org.dasein.cloud.compute.AbstractImageSupport<AWSCloud>
Throws:
org.dasein.cloud.CloudException
org.dasein.cloud.InternalException

supportsPublicLibrary

public boolean supportsPublicLibrary(@Nonnull
                                     org.dasein.cloud.compute.ImageClass cls)
                              throws org.dasein.cloud.CloudException,
                                     org.dasein.cloud.InternalException
Specified by:
supportsPublicLibrary in interface org.dasein.cloud.compute.MachineImageSupport
Overrides:
supportsPublicLibrary in class org.dasein.cloud.compute.AbstractImageSupport<AWSCloud>
Throws:
org.dasein.cloud.CloudException
org.dasein.cloud.InternalException

createDescription

public static String createDescription(String title,
                                       org.dasein.cloud.compute.Architecture arch,
                                       org.dasein.cloud.compute.Platform platform)

updateTags

public void updateTags(@Nonnull
                       String imageId,
                       @Nonnull
                       org.dasein.cloud.Tag... tags)
                throws org.dasein.cloud.CloudException,
                       org.dasein.cloud.InternalException
Specified by:
updateTags in interface org.dasein.cloud.compute.MachineImageSupport
Overrides:
updateTags in class org.dasein.cloud.compute.AbstractImageSupport<AWSCloud>
Throws:
org.dasein.cloud.CloudException
org.dasein.cloud.InternalException

updateTags

public void updateTags(@Nonnull
                       String[] imageIds,
                       @Nonnull
                       org.dasein.cloud.Tag... tags)
                throws org.dasein.cloud.CloudException,
                       org.dasein.cloud.InternalException
Specified by:
updateTags in interface org.dasein.cloud.compute.MachineImageSupport
Overrides:
updateTags in class org.dasein.cloud.compute.AbstractImageSupport<AWSCloud>
Throws:
org.dasein.cloud.CloudException
org.dasein.cloud.InternalException

removeTags

public void removeTags(@Nonnull
                       String imageId,
                       @Nonnull
                       org.dasein.cloud.Tag... tags)
                throws org.dasein.cloud.CloudException,
                       org.dasein.cloud.InternalException
Specified by:
removeTags in interface org.dasein.cloud.compute.MachineImageSupport
Overrides:
removeTags in class org.dasein.cloud.compute.AbstractImageSupport<AWSCloud>
Throws:
org.dasein.cloud.CloudException
org.dasein.cloud.InternalException

removeTags

public void removeTags(@Nonnull
                       String[] imageIds,
                       @Nonnull
                       org.dasein.cloud.Tag... tags)
                throws org.dasein.cloud.CloudException,
                       org.dasein.cloud.InternalException
Specified by:
removeTags in interface org.dasein.cloud.compute.MachineImageSupport
Overrides:
removeTags in class org.dasein.cloud.compute.AbstractImageSupport<AWSCloud>
Throws:
org.dasein.cloud.CloudException
org.dasein.cloud.InternalException


Copyright © 2009-2014 Dell, Inc.. All Rights Reserved.