packages feed

azurify-0.1.0.0: Azure/BlobDataTypes.hs

module Azure.BlobDataTypes where

import qualified Data.ByteString as B

data AccessControl = ContainerPublic -- ^ the container can be enumerated and all blobs can be read by anonymous users
                   | BlobPublic      -- ^ blobs can be read by anonymous users, but the container cannot be enumerated
                   | Private         -- ^ blobs can't be read by anonymous users and the container cannot be enumerated

data BlobType = PageBlob | BlockBlob deriving (Show)

data BlobSettings = BlobSettings { blobSettingsName :: B.ByteString
                                 , blobSettingsContentType :: Maybe B.ByteString
                                 , blobSettingsContentEncoding :: Maybe B.ByteString
                                 , blobSettingsContentLanguage :: Maybe B.ByteString
                                 , blobSettingsContentMD5 :: Maybe B.ByteString
                                 , blobSettingsCacheControl :: Maybe B.ByteString
                                 , blobSettingsType :: BlobType
                                 , blobSettingsContentLength :: Maybe Integer -- ^ only for page blobs, set to Nothing for block blob
                                 , blobSettingsContents :: Maybe B.ByteString -- ^ only for block blobs, set to Empty for page blob
                                 }

data Blob = Blob { blobName :: B.ByteString
                 , blobUrl :: B.ByteString
                 , blobLastModified :: B.ByteString
                 , blobETag :: B.ByteString
                 , blobContentLength :: Integer
                 , blobContentType :: B.ByteString
                 , blobContentEncoding :: B.ByteString
                 , blobContentLanguage :: B.ByteString
                 , blobContentMD5 :: B.ByteString
                 , blobCacheControl :: B.ByteString
                 , blobType :: BlobType
                 } deriving (Show)