{-# language TypeFamilies, FlexibleInstances #-} module Network.Goggles.Types.GCP ( 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)