{-# LANGUAGE DeriveDataTypeable #-}
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE LambdaCase #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# LANGUAGE OverloadedStrings #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
module Network.Google.BinaryAuthorization.Types.Sum where
import Network.Google.Prelude hiding (Bytes)
data AdmissionRuleEnforcementMode
= EnforcementModeUnspecified
| EnforcedBlockAndAuditLog
deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)
instance Hashable AdmissionRuleEnforcementMode
instance FromHttpApiData AdmissionRuleEnforcementMode where
parseQueryParam = \case
"ENFORCEMENT_MODE_UNSPECIFIED" -> Right EnforcementModeUnspecified
"ENFORCED_BLOCK_AND_AUDIT_LOG" -> Right EnforcedBlockAndAuditLog
x -> Left ("Unable to parse AdmissionRuleEnforcementMode from: " <> x)
instance ToHttpApiData AdmissionRuleEnforcementMode where
toQueryParam = \case
EnforcementModeUnspecified -> "ENFORCEMENT_MODE_UNSPECIFIED"
EnforcedBlockAndAuditLog -> "ENFORCED_BLOCK_AND_AUDIT_LOG"
instance FromJSON AdmissionRuleEnforcementMode where
parseJSON = parseJSONText "AdmissionRuleEnforcementMode"
instance ToJSON AdmissionRuleEnforcementMode where
toJSON = toJSONText
data AdmissionRuleEvaluationMode
= EvaluationModeUnspecified
| AlwaysAllow
| RequireAttestation
| AlwaysDeny
deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)
instance Hashable AdmissionRuleEvaluationMode
instance FromHttpApiData AdmissionRuleEvaluationMode where
parseQueryParam = \case
"EVALUATION_MODE_UNSPECIFIED" -> Right EvaluationModeUnspecified
"ALWAYS_ALLOW" -> Right AlwaysAllow
"REQUIRE_ATTESTATION" -> Right RequireAttestation
"ALWAYS_DENY" -> Right AlwaysDeny
x -> Left ("Unable to parse AdmissionRuleEvaluationMode from: " <> x)
instance ToHttpApiData AdmissionRuleEvaluationMode where
toQueryParam = \case
EvaluationModeUnspecified -> "EVALUATION_MODE_UNSPECIFIED"
AlwaysAllow -> "ALWAYS_ALLOW"
RequireAttestation -> "REQUIRE_ATTESTATION"
AlwaysDeny -> "ALWAYS_DENY"
instance FromJSON AdmissionRuleEvaluationMode where
parseJSON = parseJSONText "AdmissionRuleEvaluationMode"
instance ToJSON AdmissionRuleEvaluationMode 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