def setObject(user, bucket, key, metadata, data, contentMd5, contentType, contentDisposition, contentEncoding, accessControlPolicy): if not ObjectACP.checkUserPermission(user, bucket, key, 'write'): raise ForbiddenException.AccessDeniedException() res = Object.setObject(userid = user, bucket=bucket, key=key, metadata=metadata, data=data, content_md5 = contentMd5, content_type=contentType, content_disposition=contentDisposition, content_encoding=contentEncoding) ObjectACP.setObjectACP(bucket, key, accessControlPolicy) BucketLogging.logKeyEvent(user, bucket, key, 'set', res[2]) return res
def setBucketLogStatus(user, srcBucket, logBucket): if not BucketACP.checkUserPermission(user, bucket, 'write_log_status'): raise ForbiddenException.AccessDeniedException() if not BucketACP.checkUserPermission(user, bucket, 'write'): raise ForbiddenException.AccessDeniedException() BucketLogging.logBucketEvent(user, bucket, 'set_log_status') return BucketLogging.setBucketLogStatus(srcBucket, logBucket)
def cloneObject(user, sourceBucket, sourceKey, destBucket, destKey, metadata, ifMatch, ifNotMatch, ifModifiedSince, ifNotModifiedSince, accessControlPolicy): if not ( ObjectACP.checkUserPermission(user, sourceBucket, sourceKey, 'read') and ObjectACP.checkUserPermission(user, destBucket, destKey, 'write') ): raise ForbiddenException.AccessDeniedException() res = Object.cloneObject(user, sourceBucket, sourceKey, destBucket, destKey, metadata, ifMatch, ifNotMatch, ifModifiedSince, ifNotModifiedSince) ObjectACP.setObjectACP(destBucket, destKey, accessControlPolicy) BucketLogging.logKeyEvent(user, sourceBucket, sourceKey, 'get') BucketLogging.logKeyEvent(user, destBucket, destKey, 'set', res[2]) return res
def setBucket(user, bucket, accessControlPolicy): if not user: raise ForbiddenException.AccessDeniedException() try: Bucket.setBucket(userid = user, bucket = bucket) except ConflictException.BucketAlreadyOwnedByYouException: pass BucketLogging.logBucketEvent(user, bucket, 'set') BucketACP.setBucketACP(bucket, accessControlPolicy) BucketLogging.logBucketEvent(user, bucket, 'set_acp')
def getBucket(user, bucket, prefix, marker, maxKeys, delimiter): if not BucketACP.checkUserPermission(user, bucket, 'read'): raise ForbiddenException.AccessDeniedException() BucketLogging.logBucketEvent(user, bucket, 'get') return Bucket.getBucket(bucket=bucket, prefix=prefix, marker=marker, maxKeys=maxKeys, delimiter=delimiter)
def getBucketLogStatus(user, bucket): if not BucketACP.checkUserPermission(user, bucket, 'read_log_status'): raise ForbiddenException.AccessDeniedException() BucketLogging.logBucketEvent(user, bucket, 'get_log_status') return BucketLogging.getBucketLogStatus(bucket)
def setBucketACP(user, bucket, accessControlPolicy): if not BucketACP.checkUserPermission(user, bucket, 'write_acp'): raise ForbiddenException.AccessDeniedException() BucketACP.setBucketACP(bucket, accessControlPolicy) BucketLogging.logBucketEvent(user, bucket, 'set_acp')
def destroyBucket(user, bucket): if not BucketACP.checkUserPermission(user, bucket, 'destroy'): raise ForbiddenException.AccessDeniedException() Bucket.destroyBucket(bucket) BucketLogging.logBucketEvent(user, bucket, 'delete')
def getObject(user, bucket, key, getMetadata, getData, byteRangeStart, byteRangeEnd, ifMatch, ifNotMatch, ifModifiedSince, ifNotModifiedSince, ifRange): if not ObjectACP.checkUserPermission(user, bucket, key, 'read'): raise ForbiddenException.AccessDeniedException() res = Object.getObject(bucket = bucket, key=key, getMetadata=getMetadata, getData=getData, byteRangeStart=byteRangeStart, byteRangeEnd=byteRangeEnd, ifMatch=ifMatch, ifNotMatch=ifNotMatch, ifModifiedSince=ifModifiedSince, ifNotModifiedSince=ifNotModifiedSince, ifRange=ifRange) BucketLogging.logKeyEvent(user, bucket, key, 'get') return res
def getObjectACP(user, bucket, key): if not ObjectACP.checkUserPermission(user, bucket, key, 'read_acp'): raise ForbiddenException.AccessDeniedException() res = ObjectACP.getObjectACP(bucket, key) BucketLogging.logKeyEvent(user, bucket, key, 'get_acp') return res
def destroyObject(user, bucket, key): if not ObjectACP.checkUserPermission(user, bucket, key, 'write'): raise ForbiddenException.AccessDeniedException() Object.destroyObject(bucket=bucket, key=key) BucketLogging.logKeyEvent(user, bucket, key, 'delete')