{-# LANGUAGE DeriveDataTypeable #-}
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE LambdaCase #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# LANGUAGE OverloadedStrings #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
module Network.Google.AccessApproval.Types.Sum where
import Network.Google.Prelude hiding (Bytes)
data AccessReasonType
= TypeUnspecified
| CustomerInitiatedSupport
| GoogleInitiatedService
| GoogleInitiatedReview
deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)
instance Hashable AccessReasonType
instance FromHttpApiData AccessReasonType where
parseQueryParam = \case
"TYPE_UNSPECIFIED" -> Right TypeUnspecified
"CUSTOMER_INITIATED_SUPPORT" -> Right CustomerInitiatedSupport
"GOOGLE_INITIATED_SERVICE" -> Right GoogleInitiatedService
"GOOGLE_INITIATED_REVIEW" -> Right GoogleInitiatedReview
x -> Left ("Unable to parse AccessReasonType from: " <> x)
instance ToHttpApiData AccessReasonType where
toQueryParam = \case
TypeUnspecified -> "TYPE_UNSPECIFIED"
CustomerInitiatedSupport -> "CUSTOMER_INITIATED_SUPPORT"
GoogleInitiatedService -> "GOOGLE_INITIATED_SERVICE"
GoogleInitiatedReview -> "GOOGLE_INITIATED_REVIEW"
instance FromJSON AccessReasonType where
parseJSON = parseJSONText "AccessReasonType"
instance ToJSON AccessReasonType where
toJSON = toJSONText
data Xgafv
= X1
| X2
deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)
instance Hashable Xgafv
instance FromHttpApiData Xgafv where
parseQueryParam = \case
"1" -> Right X1
"2" -> Right X2
x -> Left ("Unable to parse Xgafv from: " <> x)
instance ToHttpApiData Xgafv where
toQueryParam = \case
X1 -> "1"
X2 -> "2"
instance FromJSON Xgafv where
parseJSON = parseJSONText "Xgafv"
instance ToJSON Xgafv where
toJSON = toJSONText