org.dasein.cloud.vcloud.compute
Class TemplateSupport

java.lang.Object
  extended by org.dasein.cloud.compute.AbstractImageSupport
      extended by org.dasein.cloud.vcloud.compute.TemplateSupport
All Implemented Interfaces:
AccessControlledService, MachineImageSupport

public class TemplateSupport
extends AbstractImageSupport

Implements vApp Template support in accordance with the Dasein Cloud image support model. Dasein Cloud images map to vApp templates in a vCloud catalog.

Created by George Reese: 9/17/12 10:58 AM

Since:
2013.04
Version:
2013.07
Author:
George Reese, Erik Johnson, Tim Freeman

Nested Class Summary
static class TemplateSupport.Catalog
           
 
Field Summary
 
Fields inherited from interface org.dasein.cloud.compute.MachineImageSupport
ANY, DOWNLOAD_IMAGE, GET_IMAGE, IMAGE_VM, LIST_IMAGE, MAKE_PUBLIC, REGISTER_IMAGE, REMOVE_IMAGE, SHARE_IMAGE, UPLOAD_IMAGE
 
Constructor Summary
TemplateSupport(vCloud cloud)
           
 
Method Summary
protected  MachineImage capture(ImageCreateOptions options, AsynchronousTask<MachineImage> task)
           
 ImageCapabilities getCapabilities()
           
 MachineImage getImage(String providerImageId)
           
 String getProviderTermForImage(Locale locale, ImageClass cls)
           
 boolean isImageSharedWithPublic(String machineImageId)
           
 boolean isSubscribed()
           
 Iterable<MachineImage> listImages(ImageFilterOptions options)
           
 Iterable<String> listShares(String forMachineImageId)
           
 Iterable<MachineImageFormat> listSupportedFormats()
           
 void remove(String providerImageId, boolean checkState)
           
 Iterable<MachineImage> searchPublicImages(ImageFilterOptions options)
           
 boolean supportsCustomImages()
           
 boolean supportsImageCapture(MachineImageType type)
           
 boolean supportsPublicLibrary(ImageClass cls)
           
 
Methods inherited from class org.dasein.cloud.compute.AbstractImageSupport
addImageShare, addPublicShare, bundleVirtualMachine, bundleVirtualMachineAsync, captureImage, captureImageAsync, getContext, getMachineImage, getProvider, getProviderTermForCustomImage, getProviderTermForImage, hasPublicLibrary, identifyLocalBundlingRequirement, imageVirtualMachine, listImages, listImages, listImageStatus, listMachineImages, listMachineImagesOwnedBy, listSupportedFormatsForBundling, listSupportedImageClasses, listSupportedImageTypes, mapServiceAction, matches, registerImageBundle, remove, removeAllImageShares, removeImageShare, removePublicShare, removeTags, removeTags, searchImages, searchMachineImages, searchPublicImages, shareMachineImage, supportsDirectImageUpload, supportsImageSharing, supportsImageSharingWithPublic, updateTags, updateTags
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

TemplateSupport

public TemplateSupport(@Nonnull
                       vCloud cloud)
Method Detail

capture

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

getCapabilities

public ImageCapabilities getCapabilities()
                                  throws CloudException,
                                         InternalException
Throws:
CloudException
InternalException

getImage

public MachineImage getImage(@Nonnull
                             String providerImageId)
                      throws CloudException,
                             InternalException
Throws:
CloudException
InternalException

getProviderTermForImage

@Nonnull
public String getProviderTermForImage(@Nonnull
                                              Locale locale,
                                              @Nonnull
                                              ImageClass cls)
Specified by:
getProviderTermForImage in interface MachineImageSupport
Overrides:
getProviderTermForImage in class AbstractImageSupport

isImageSharedWithPublic

public boolean isImageSharedWithPublic(@Nonnull
                                       String machineImageId)
                                throws CloudException,
                                       InternalException
Specified by:
isImageSharedWithPublic in interface MachineImageSupport
Overrides:
isImageSharedWithPublic in class AbstractImageSupport
Throws:
CloudException
InternalException

isSubscribed

public boolean isSubscribed()
                     throws CloudException,
                            InternalException
Throws:
CloudException
InternalException

listImages

@Nonnull
public Iterable<MachineImage> listImages(@Nullable
                                                 ImageFilterOptions options)
                                  throws CloudException,
                                         InternalException
Throws:
CloudException
InternalException

listSupportedFormats

@Nonnull
public Iterable<MachineImageFormat> listSupportedFormats()
                                                  throws CloudException,
                                                         InternalException
Specified by:
listSupportedFormats in interface MachineImageSupport
Overrides:
listSupportedFormats in class AbstractImageSupport
Throws:
CloudException
InternalException

listShares

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

remove

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

searchPublicImages

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

supportsCustomImages

public boolean supportsCustomImages()
Specified by:
supportsCustomImages in interface MachineImageSupport
Overrides:
supportsCustomImages in class AbstractImageSupport

supportsImageCapture

public boolean supportsImageCapture(@Nonnull
                                    MachineImageType type)
Specified by:
supportsImageCapture in interface MachineImageSupport
Overrides:
supportsImageCapture in class AbstractImageSupport

supportsPublicLibrary

public boolean supportsPublicLibrary(@Nonnull
                                     ImageClass cls)
Specified by:
supportsPublicLibrary in interface MachineImageSupport
Overrides:
supportsPublicLibrary in class AbstractImageSupport


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