goggles-0.1.0.0: src/Network/Goggles/Types.hs
{-# language TypeFamilies, FlexibleInstances #-}
module Network.Goggles.Types (
GCPServiceAccount(..)
, GCPTokenOptions(..) ) where
import qualified Data.Text as T
import Crypto.PubKey.RSA.Types
-- | Credentials for Google Cloud Platform
data GCPServiceAccount = GCPServiceAccount {
_servicePrivateKey :: PrivateKey -- ^ Private key (i.e. the PEM string obtained from the Google API Console)
, _serviceEmail :: T.Text -- ^ Email address of the service account (ending in .gserviceaccount.com )
, _serviceAccountUser :: Maybe T.Text -- ^ email address of the user for which the application is requesting delegated access (defaults to the service account email if Nothing)
, _gcpServiceAcctSecret :: T.Text -- ^ Service account secret
} deriving (Eq, Show)
data GCPTokenOptions = GCPTokenOptions {
_tokenOptionsScopes :: [T.Text] -- ^ authentication scopes that the application requests
} deriving (Eq, Show)