antiope-s3-4.0.1: src/Antiope/S3/Types.hs
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE TypeApplications #-}
module Antiope.S3.Types
( X.BucketName(..)
, X.ObjectKey(..)
, X.ETag(..)
, S3Uri(..)
) where
import Antiope.S3.Internal
import Control.Lens
import Control.Monad.Logger (ToLogStr (..))
import Data.Generics.Product.Any
import Data.String (fromString)
import GHC.Generics
import Network.AWS.Data
import Network.AWS.S3 (BucketName (..), ObjectKey (..))
import qualified Data.Text as T
import qualified Network.AWS.S3.Types as X
data S3Uri = S3Uri
{ bucket :: BucketName
, objectKey :: ObjectKey
} deriving (Show, Eq, Generic)
instance ToText S3Uri where
toText loc = toS3Uri (loc ^. the @"bucket") (loc ^. the @"objectKey")
instance ToLogStr S3Uri where
toLogStr s = fromString $ T.unpack $ toText s