module Network.Google.ServiceControl.Types.Sum where
import Network.Google.Prelude
data CheckErrorCode
= ErrorCodeUnspecified
| NotFound
| PermissionDenied
| ResourceExhausted
| ServiceNotActivated
| BillingDisabled
| ProjectDeleted
| ProjectInvalid
| IPAddressBlocked
| RefererBlocked
| ClientAppBlocked
| APITargetBlocked
| APIKeyInvalid
| APIKeyExpired
| APIKeyNotFound
| NamespaceLookupUnavailable
| ServiceStatusUnavailable
| BillingStatusUnavailable
deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)
instance Hashable CheckErrorCode
instance FromHttpApiData CheckErrorCode where
parseQueryParam = \case
"ERROR_CODE_UNSPECIFIED" -> Right ErrorCodeUnspecified
"NOT_FOUND" -> Right NotFound
"PERMISSION_DENIED" -> Right PermissionDenied
"RESOURCE_EXHAUSTED" -> Right ResourceExhausted
"SERVICE_NOT_ACTIVATED" -> Right ServiceNotActivated
"BILLING_DISABLED" -> Right BillingDisabled
"PROJECT_DELETED" -> Right ProjectDeleted
"PROJECT_INVALID" -> Right ProjectInvalid
"IP_ADDRESS_BLOCKED" -> Right IPAddressBlocked
"REFERER_BLOCKED" -> Right RefererBlocked
"CLIENT_APP_BLOCKED" -> Right ClientAppBlocked
"API_TARGET_BLOCKED" -> Right APITargetBlocked
"API_KEY_INVALID" -> Right APIKeyInvalid
"API_KEY_EXPIRED" -> Right APIKeyExpired
"API_KEY_NOT_FOUND" -> Right APIKeyNotFound
"NAMESPACE_LOOKUP_UNAVAILABLE" -> Right NamespaceLookupUnavailable
"SERVICE_STATUS_UNAVAILABLE" -> Right ServiceStatusUnavailable
"BILLING_STATUS_UNAVAILABLE" -> Right BillingStatusUnavailable
x -> Left ("Unable to parse CheckErrorCode from: " <> x)
instance ToHttpApiData CheckErrorCode where
toQueryParam = \case
ErrorCodeUnspecified -> "ERROR_CODE_UNSPECIFIED"
NotFound -> "NOT_FOUND"
PermissionDenied -> "PERMISSION_DENIED"
ResourceExhausted -> "RESOURCE_EXHAUSTED"
ServiceNotActivated -> "SERVICE_NOT_ACTIVATED"
BillingDisabled -> "BILLING_DISABLED"
ProjectDeleted -> "PROJECT_DELETED"
ProjectInvalid -> "PROJECT_INVALID"
IPAddressBlocked -> "IP_ADDRESS_BLOCKED"
RefererBlocked -> "REFERER_BLOCKED"
ClientAppBlocked -> "CLIENT_APP_BLOCKED"
APITargetBlocked -> "API_TARGET_BLOCKED"
APIKeyInvalid -> "API_KEY_INVALID"
APIKeyExpired -> "API_KEY_EXPIRED"
APIKeyNotFound -> "API_KEY_NOT_FOUND"
NamespaceLookupUnavailable -> "NAMESPACE_LOOKUP_UNAVAILABLE"
ServiceStatusUnavailable -> "SERVICE_STATUS_UNAVAILABLE"
BillingStatusUnavailable -> "BILLING_STATUS_UNAVAILABLE"
instance FromJSON CheckErrorCode where
parseJSON = parseJSONText "CheckErrorCode"
instance ToJSON CheckErrorCode where
toJSON = toJSONText
data OperationImportance
= Low
| High
deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)
instance Hashable OperationImportance
instance FromHttpApiData OperationImportance where
parseQueryParam = \case
"LOW" -> Right Low
"HIGH" -> Right High
x -> Left ("Unable to parse OperationImportance from: " <> x)
instance ToHttpApiData OperationImportance where
toQueryParam = \case
Low -> "LOW"
High -> "HIGH"
instance FromJSON OperationImportance where
parseJSON = parseJSONText "OperationImportance"
instance ToJSON OperationImportance 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
data LogEntrySeverity
= Default
| Debug
| Info
| Notice
| Warning
| Error'
| Critical
| Alert
| Emergency
deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)
instance Hashable LogEntrySeverity
instance FromHttpApiData LogEntrySeverity where
parseQueryParam = \case
"DEFAULT" -> Right Default
"DEBUG" -> Right Debug
"INFO" -> Right Info
"NOTICE" -> Right Notice
"WARNING" -> Right Warning
"ERROR" -> Right Error'
"CRITICAL" -> Right Critical
"ALERT" -> Right Alert
"EMERGENCY" -> Right Emergency
x -> Left ("Unable to parse LogEntrySeverity from: " <> x)
instance ToHttpApiData LogEntrySeverity where
toQueryParam = \case
Default -> "DEFAULT"
Debug -> "DEBUG"
Info -> "INFO"
Notice -> "NOTICE"
Warning -> "WARNING"
Error' -> "ERROR"
Critical -> "CRITICAL"
Alert -> "ALERT"
Emergency -> "EMERGENCY"
instance FromJSON LogEntrySeverity where
parseJSON = parseJSONText "LogEntrySeverity"
instance ToJSON LogEntrySeverity where
toJSON = toJSONText