org.dasein.cloud.aws.storage
Class Glacier

java.lang.Object
  extended by org.dasein.cloud.aws.storage.Glacier
All Implemented Interfaces:
org.dasein.cloud.AccessControlledService, org.dasein.cloud.storage.BlobStoreSupport, org.dasein.cloud.storage.OfflineStoreSupport

public class Glacier
extends Object
implements org.dasein.cloud.storage.OfflineStoreSupport

Implements support for Amazon Glacier using the Dasein Cloud blob storage interface. Dasein Cloud buckets are Glacier vaults and Dasein Cloud objects are Glacier archives. All multi-part transformations are handled within the Dasein Cloud implementation.

Since:
2013.07
Version:
2013.07 initial implementation (issue #45)
Author:
George Reese

Field Summary
static String ACTION_ARCHIVE_RETRIEVAL
           
static String ACTION_INVENTORY_RETRIEVAL
           
static String HEADER_JOB_ID
           
static String MARKER
           
static int MAX_ARCHIVES
           
static org.dasein.util.uom.storage.Storage<org.dasein.util.uom.storage.Megabyte> MAX_OBJECT_SIZE
           
static int MAX_VAULTS
           
 
Fields inherited from interface org.dasein.cloud.storage.OfflineStoreSupport
CREATE_REQUEST, GET_REQUEST, GET_REQUEST_RESULT, LIST_REQUEST
 
Fields inherited from interface org.dasein.cloud.storage.BlobStoreSupport
ANY, CREATE_BUCKET, DOWNLOAD, GET_BUCKET, LIST_BUCKET, LIST_BUCKET_CONTENTS, MAKE_PUBLIC, REMOVE_BUCKET, UPLOAD
 
Constructor Summary
Glacier(AWSCloud provider)
           
 
Method Summary
 boolean allowsNestedBuckets()
           
 boolean allowsPublicSharing()
           
 boolean allowsRootObjects()
           
 void clearBucket(String bucket)
           
 org.dasein.cloud.storage.Blob createBucket(String bucketName, boolean findFreeName)
           
 org.dasein.cloud.storage.OfflineStoreRequest createDownloadRequest(String bucket, String object)
           
 org.dasein.cloud.storage.OfflineStoreRequest createListRequest(String bucket)
           
 org.dasein.cloud.storage.FileTransfer download(String bucket, String objectName, File toFile)
           
 boolean exists(String bucketName)
           
 org.dasein.cloud.storage.Blob getBucket(String bucketName)
           
 org.dasein.cloud.util.NamingConstraints getBucketNameRules()
           
 org.dasein.cloud.storage.FileTransfer getDownloadRequestResult(String bucket, String requestId, File toFile)
           
 Iterable<org.dasein.cloud.storage.Blob> getListRequestResult(String bucket, String requestId)
           
 int getMaxBuckets()
           
 org.dasein.util.uom.storage.Storage<org.dasein.util.uom.storage.Byte> getMaxObjectSize()
           
 int getMaxObjectsPerBucket()
           
 org.dasein.cloud.storage.Blob getObject(String bucketName, String objectName)
           
 org.dasein.cloud.util.NamingConstraints getObjectNameRules()
           
 org.dasein.util.uom.storage.Storage<org.dasein.util.uom.storage.Byte> getObjectSize(String bucket, String object)
           
 String getProviderTermForBucket(Locale locale)
           
 String getProviderTermForObject(Locale locale)
           
 org.dasein.cloud.storage.OfflineStoreRequest getRequest(String bucket, String requestId)
           
 String getSignedObjectUrl(String bucket, String object, String expireEpoch)
           
 boolean isPublic(String bucket, String object)
           
 boolean isSubscribed()
           
 Collection<org.dasein.cloud.storage.Blob> list(String bucket)
           
 Iterable<org.dasein.cloud.storage.OfflineStoreRequest> listRequests(String bucket)
           
 void makePublic(String bucket)
           
 void makePublic(String bucket, String object)
           
 String[] mapServiceAction(org.dasein.cloud.identity.ServiceAction action)
           
 void move(String sourceBucket, String object, String targetBucket)
           
protected  void put(String bucket, String object, File file)
           
protected  void put(String bucket, String object, String content)
           
 void removeBucket(String bucket)
           
 void removeObject(String bucket, String name)
           
 String renameBucket(String oldName, String newName, boolean findFreeName)
           
 void renameObject(String bucket, String object, String newName)
           
 org.dasein.cloud.storage.Blob upload(File source, String bucket, String fileName)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

MAX_VAULTS

public static final int MAX_VAULTS
See Also:
Constant Field Values

MAX_ARCHIVES

public static final int MAX_ARCHIVES
See Also:
Constant Field Values

MAX_OBJECT_SIZE

public static final org.dasein.util.uom.storage.Storage<org.dasein.util.uom.storage.Megabyte> MAX_OBJECT_SIZE

ACTION_ARCHIVE_RETRIEVAL

public static final String ACTION_ARCHIVE_RETRIEVAL
See Also:
Constant Field Values

ACTION_INVENTORY_RETRIEVAL

public static final String ACTION_INVENTORY_RETRIEVAL
See Also:
Constant Field Values

HEADER_JOB_ID

public static final String HEADER_JOB_ID
See Also:
Constant Field Values

MARKER

public static final String MARKER
See Also:
Constant Field Values
Constructor Detail

Glacier

public Glacier(AWSCloud provider)
Method Detail

allowsNestedBuckets

public boolean allowsNestedBuckets()
                            throws org.dasein.cloud.CloudException,
                                   org.dasein.cloud.InternalException
Specified by:
allowsNestedBuckets in interface org.dasein.cloud.storage.BlobStoreSupport
Throws:
org.dasein.cloud.CloudException
org.dasein.cloud.InternalException

allowsRootObjects

public boolean allowsRootObjects()
                          throws org.dasein.cloud.CloudException,
                                 org.dasein.cloud.InternalException
Specified by:
allowsRootObjects in interface org.dasein.cloud.storage.BlobStoreSupport
Throws:
org.dasein.cloud.CloudException
org.dasein.cloud.InternalException

allowsPublicSharing

public boolean allowsPublicSharing()
                            throws org.dasein.cloud.CloudException,
                                   org.dasein.cloud.InternalException
Specified by:
allowsPublicSharing in interface org.dasein.cloud.storage.BlobStoreSupport
Throws:
org.dasein.cloud.CloudException
org.dasein.cloud.InternalException

clearBucket

public void clearBucket(@Nonnull
                        String bucket)
                 throws org.dasein.cloud.CloudException,
                        org.dasein.cloud.InternalException
Specified by:
clearBucket in interface org.dasein.cloud.storage.BlobStoreSupport
Throws:
org.dasein.cloud.CloudException
org.dasein.cloud.InternalException

createBucket

@Nonnull
public org.dasein.cloud.storage.Blob createBucket(@Nonnull
                                                          String bucketName,
                                                          boolean findFreeName)
                                           throws org.dasein.cloud.InternalException,
                                                  org.dasein.cloud.CloudException
Specified by:
createBucket in interface org.dasein.cloud.storage.BlobStoreSupport
Throws:
org.dasein.cloud.InternalException
org.dasein.cloud.CloudException

download

public org.dasein.cloud.storage.FileTransfer download(@Nullable
                                                      String bucket,
                                                      @Nonnull
                                                      String objectName,
                                                      @Nonnull
                                                      File toFile)
                                               throws org.dasein.cloud.InternalException,
                                                      org.dasein.cloud.CloudException
Specified by:
download in interface org.dasein.cloud.storage.BlobStoreSupport
Throws:
org.dasein.cloud.InternalException
org.dasein.cloud.CloudException

exists

public boolean exists(@Nonnull
                      String bucketName)
               throws org.dasein.cloud.InternalException,
                      org.dasein.cloud.CloudException
Specified by:
exists in interface org.dasein.cloud.storage.BlobStoreSupport
Throws:
org.dasein.cloud.InternalException
org.dasein.cloud.CloudException

getBucket

public org.dasein.cloud.storage.Blob getBucket(@Nonnull
                                               String bucketName)
                                        throws org.dasein.cloud.InternalException,
                                               org.dasein.cloud.CloudException
Specified by:
getBucket in interface org.dasein.cloud.storage.BlobStoreSupport
Throws:
org.dasein.cloud.InternalException
org.dasein.cloud.CloudException

getObject

public org.dasein.cloud.storage.Blob getObject(@Nullable
                                               String bucketName,
                                               @Nonnull
                                               String objectName)
                                        throws org.dasein.cloud.InternalException,
                                               org.dasein.cloud.CloudException
Specified by:
getObject in interface org.dasein.cloud.storage.BlobStoreSupport
Throws:
org.dasein.cloud.InternalException
org.dasein.cloud.CloudException

getSignedObjectUrl

public String getSignedObjectUrl(@Nonnull
                                 String bucket,
                                 @Nonnull
                                 String object,
                                 @Nonnull
                                 String expireEpoch)
                          throws org.dasein.cloud.InternalException,
                                 org.dasein.cloud.CloudException
Specified by:
getSignedObjectUrl in interface org.dasein.cloud.storage.BlobStoreSupport
Throws:
org.dasein.cloud.InternalException
org.dasein.cloud.CloudException

getObjectSize

@Nullable
public org.dasein.util.uom.storage.Storage<org.dasein.util.uom.storage.Byte> getObjectSize(@Nullable
                                                                                                    String bucket,
                                                                                                    @Nullable
                                                                                                    String object)
                                                                                    throws org.dasein.cloud.InternalException,
                                                                                           org.dasein.cloud.CloudException
Specified by:
getObjectSize in interface org.dasein.cloud.storage.BlobStoreSupport
Throws:
org.dasein.cloud.InternalException
org.dasein.cloud.CloudException

getMaxBuckets

public int getMaxBuckets()
                  throws org.dasein.cloud.CloudException,
                         org.dasein.cloud.InternalException
Specified by:
getMaxBuckets in interface org.dasein.cloud.storage.BlobStoreSupport
Throws:
org.dasein.cloud.CloudException
org.dasein.cloud.InternalException

getMaxObjectSize

public org.dasein.util.uom.storage.Storage<org.dasein.util.uom.storage.Byte> getMaxObjectSize()
Specified by:
getMaxObjectSize in interface org.dasein.cloud.storage.BlobStoreSupport

getMaxObjectsPerBucket

public int getMaxObjectsPerBucket()
                           throws org.dasein.cloud.CloudException,
                                  org.dasein.cloud.InternalException
Specified by:
getMaxObjectsPerBucket in interface org.dasein.cloud.storage.BlobStoreSupport
Throws:
org.dasein.cloud.CloudException
org.dasein.cloud.InternalException

getProviderTermForBucket

@Nonnull
public String getProviderTermForBucket(@Nonnull
                                               Locale locale)
Specified by:
getProviderTermForBucket in interface org.dasein.cloud.storage.BlobStoreSupport

getProviderTermForObject

@Nonnull
public String getProviderTermForObject(@Nonnull
                                               Locale locale)
Specified by:
getProviderTermForObject in interface org.dasein.cloud.storage.BlobStoreSupport

isPublic

public boolean isPublic(@Nullable
                        String bucket,
                        @Nullable
                        String object)
                 throws org.dasein.cloud.CloudException,
                        org.dasein.cloud.InternalException
Specified by:
isPublic in interface org.dasein.cloud.storage.BlobStoreSupport
Throws:
org.dasein.cloud.CloudException
org.dasein.cloud.InternalException

isSubscribed

public boolean isSubscribed()
                     throws org.dasein.cloud.CloudException,
                            org.dasein.cloud.InternalException
Specified by:
isSubscribed in interface org.dasein.cloud.storage.BlobStoreSupport
Throws:
org.dasein.cloud.CloudException
org.dasein.cloud.InternalException

list

@Nonnull
public Collection<org.dasein.cloud.storage.Blob> list(@Nullable
                                                              String bucket)
                                               throws org.dasein.cloud.CloudException,
                                                      org.dasein.cloud.InternalException
Specified by:
list in interface org.dasein.cloud.storage.BlobStoreSupport
Throws:
org.dasein.cloud.CloudException
org.dasein.cloud.InternalException

makePublic

public void makePublic(@Nonnull
                       String bucket)
                throws org.dasein.cloud.InternalException,
                       org.dasein.cloud.CloudException
Specified by:
makePublic in interface org.dasein.cloud.storage.BlobStoreSupport
Throws:
org.dasein.cloud.InternalException
org.dasein.cloud.CloudException

makePublic

public void makePublic(@Nullable
                       String bucket,
                       @Nullable
                       String object)
                throws org.dasein.cloud.InternalException,
                       org.dasein.cloud.CloudException
Specified by:
makePublic in interface org.dasein.cloud.storage.BlobStoreSupport
Throws:
org.dasein.cloud.InternalException
org.dasein.cloud.CloudException

mapServiceAction

@Nonnull
public String[] mapServiceAction(@Nonnull
                                         org.dasein.cloud.identity.ServiceAction action)
Specified by:
mapServiceAction in interface org.dasein.cloud.AccessControlledService

move

public void move(@Nullable
                 String sourceBucket,
                 @Nullable
                 String object,
                 @Nullable
                 String targetBucket)
          throws org.dasein.cloud.InternalException,
                 org.dasein.cloud.CloudException
Specified by:
move in interface org.dasein.cloud.storage.BlobStoreSupport
Throws:
org.dasein.cloud.InternalException
org.dasein.cloud.CloudException

put

protected void put(@Nullable
                   String bucket,
                   @Nonnull
                   String object,
                   @Nonnull
                   File file)
            throws org.dasein.cloud.CloudException,
                   org.dasein.cloud.InternalException
Throws:
org.dasein.cloud.CloudException
org.dasein.cloud.InternalException

put

protected void put(@Nullable
                   String bucket,
                   @Nonnull
                   String object,
                   @Nonnull
                   String content)
            throws org.dasein.cloud.CloudException,
                   org.dasein.cloud.InternalException
Throws:
org.dasein.cloud.CloudException
org.dasein.cloud.InternalException

removeBucket

public void removeBucket(@Nonnull
                         String bucket)
                  throws org.dasein.cloud.CloudException,
                         org.dasein.cloud.InternalException
Specified by:
removeBucket in interface org.dasein.cloud.storage.BlobStoreSupport
Throws:
org.dasein.cloud.CloudException
org.dasein.cloud.InternalException

removeObject

public void removeObject(@Nullable
                         String bucket,
                         @Nonnull
                         String name)
                  throws org.dasein.cloud.CloudException,
                         org.dasein.cloud.InternalException
Specified by:
removeObject in interface org.dasein.cloud.storage.BlobStoreSupport
Throws:
org.dasein.cloud.CloudException
org.dasein.cloud.InternalException

renameBucket

@Nonnull
public String renameBucket(@Nonnull
                                   String oldName,
                                   @Nonnull
                                   String newName,
                                   boolean findFreeName)
                    throws org.dasein.cloud.CloudException,
                           org.dasein.cloud.InternalException
Specified by:
renameBucket in interface org.dasein.cloud.storage.BlobStoreSupport
Throws:
org.dasein.cloud.CloudException
org.dasein.cloud.InternalException

renameObject

public void renameObject(@Nullable
                         String bucket,
                         @Nonnull
                         String object,
                         @Nonnull
                         String newName)
                  throws org.dasein.cloud.CloudException,
                         org.dasein.cloud.InternalException
Specified by:
renameObject in interface org.dasein.cloud.storage.BlobStoreSupport
Throws:
org.dasein.cloud.CloudException
org.dasein.cloud.InternalException

upload

@Nonnull
public org.dasein.cloud.storage.Blob upload(@Nonnull
                                                    File source,
                                                    @Nullable
                                                    String bucket,
                                                    @Nonnull
                                                    String fileName)
                                     throws org.dasein.cloud.CloudException,
                                            org.dasein.cloud.InternalException
Specified by:
upload in interface org.dasein.cloud.storage.BlobStoreSupport
Throws:
org.dasein.cloud.CloudException
org.dasein.cloud.InternalException

getBucketNameRules

@Nonnull
public org.dasein.cloud.util.NamingConstraints getBucketNameRules()
                                                           throws org.dasein.cloud.CloudException,
                                                                  org.dasein.cloud.InternalException
Specified by:
getBucketNameRules in interface org.dasein.cloud.storage.BlobStoreSupport
Throws:
org.dasein.cloud.CloudException
org.dasein.cloud.InternalException

getObjectNameRules

@Nonnull
public org.dasein.cloud.util.NamingConstraints getObjectNameRules()
                                                           throws org.dasein.cloud.CloudException,
                                                                  org.dasein.cloud.InternalException
Specified by:
getObjectNameRules in interface org.dasein.cloud.storage.BlobStoreSupport
Throws:
org.dasein.cloud.CloudException
org.dasein.cloud.InternalException

listRequests

@Nonnull
public Iterable<org.dasein.cloud.storage.OfflineStoreRequest> listRequests(@Nonnull
                                                                                   String bucket)
                                                                    throws org.dasein.cloud.CloudException,
                                                                           org.dasein.cloud.InternalException
Specified by:
listRequests in interface org.dasein.cloud.storage.OfflineStoreSupport
Throws:
org.dasein.cloud.CloudException
org.dasein.cloud.InternalException

getRequest

@Nullable
public org.dasein.cloud.storage.OfflineStoreRequest getRequest(@Nonnull
                                                                        String bucket,
                                                                        @Nonnull
                                                                        String requestId)
                                                        throws org.dasein.cloud.CloudException,
                                                               org.dasein.cloud.InternalException
Specified by:
getRequest in interface org.dasein.cloud.storage.OfflineStoreSupport
Throws:
org.dasein.cloud.CloudException
org.dasein.cloud.InternalException

createListRequest

@Nonnull
public org.dasein.cloud.storage.OfflineStoreRequest createListRequest(@Nonnull
                                                                              String bucket)
                                                               throws org.dasein.cloud.CloudException,
                                                                      org.dasein.cloud.InternalException
Specified by:
createListRequest in interface org.dasein.cloud.storage.OfflineStoreSupport
Throws:
org.dasein.cloud.CloudException
org.dasein.cloud.InternalException

createDownloadRequest

@Nonnull
public org.dasein.cloud.storage.OfflineStoreRequest createDownloadRequest(@Nonnull
                                                                                  String bucket,
                                                                                  @Nonnull
                                                                                  String object)
                                                                   throws org.dasein.cloud.CloudException,
                                                                          org.dasein.cloud.InternalException
Specified by:
createDownloadRequest in interface org.dasein.cloud.storage.OfflineStoreSupport
Throws:
org.dasein.cloud.CloudException
org.dasein.cloud.InternalException

getListRequestResult

@Nonnull
public Iterable<org.dasein.cloud.storage.Blob> getListRequestResult(@Nonnull
                                                                            String bucket,
                                                                            @Nonnull
                                                                            String requestId)
                                                             throws org.dasein.cloud.InternalException,
                                                                    org.dasein.cloud.CloudException
Specified by:
getListRequestResult in interface org.dasein.cloud.storage.OfflineStoreSupport
Throws:
org.dasein.cloud.InternalException
org.dasein.cloud.CloudException

getDownloadRequestResult

@Nonnull
public org.dasein.cloud.storage.FileTransfer getDownloadRequestResult(@Nonnull
                                                                              String bucket,
                                                                              @Nonnull
                                                                              String requestId,
                                                                              @Nonnull
                                                                              File toFile)
                                                               throws org.dasein.cloud.InternalException,
                                                                      org.dasein.cloud.CloudException
Specified by:
getDownloadRequestResult in interface org.dasein.cloud.storage.OfflineStoreSupport
Throws:
org.dasein.cloud.InternalException
org.dasein.cloud.CloudException


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