{-| Module : Network.AWS.Easy.Classes Description : Service and session type classes Copyright : (C) Richard Cook, 2018 License : MIT Maintainer : rcook@rcook.org Stability : experimental Portability : portable This module provides service and session type classes to support @aws-easy@'s Template Haskell functions. -} {-# LANGUAGE AllowAmbiguousTypes #-} {-# LANGUAGE TypeFamilies #-} module Network.AWS.Easy.Classes ( ServiceClass(..) , SessionClass(..) ) where import Network.AWS (Service) import Network.AWS.Easy.Types class ServiceClass a where type TypedSession a :: * rawService :: a -> Service wrappedSession :: Session -> TypedSession a class SessionClass a where rawSession :: a -> Session