{-# LANGUAGE DeriveDataTypeable #-}
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE LambdaCase #-}
{-# LANGUAGE OverloadedStrings #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
module Network.AWS.Shield.Types.Sum where
import Network.AWS.Prelude
data SubResourceType
= IP
| URL
deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic)
instance FromText SubResourceType where
parser = takeLowerText >>= \case
"ip" -> pure IP
"url" -> pure URL
e -> fromTextError $ "Failure parsing SubResourceType from value: '" <> e
<> "'. Accepted values: ip, url"
instance ToText SubResourceType where
toText = \case
IP -> "IP"
URL -> "URL"
instance Hashable SubResourceType
instance NFData SubResourceType
instance ToByteString SubResourceType
instance ToQuery SubResourceType
instance ToHeader SubResourceType
instance FromJSON SubResourceType where
parseJSON = parseJSONText "SubResourceType"