{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE DerivingStrategies #-}
{-# LANGUAGE GeneralizedNewtypeDeriving #-}
{-# LANGUAGE LambdaCase #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
module Amazonka.Organizations.Types.PolicyType
( PolicyType
( ..,
PolicyType_AISERVICES_OPT_OUT_POLICY,
PolicyType_BACKUP_POLICY,
PolicyType_SERVICE_CONTROL_POLICY,
PolicyType_TAG_POLICY
),
)
where
import qualified Amazonka.Core as Core
import qualified Amazonka.Prelude as Prelude
newtype PolicyType = PolicyType'
{ PolicyType -> Text
fromPolicyType ::
Core.Text
}
deriving stock
( Int -> PolicyType -> ShowS
[PolicyType] -> ShowS
PolicyType -> String
(Int -> PolicyType -> ShowS)
-> (PolicyType -> String)
-> ([PolicyType] -> ShowS)
-> Show PolicyType
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [PolicyType] -> ShowS
$cshowList :: [PolicyType] -> ShowS
show :: PolicyType -> String
$cshow :: PolicyType -> String
showsPrec :: Int -> PolicyType -> ShowS
$cshowsPrec :: Int -> PolicyType -> ShowS
Prelude.Show,
ReadPrec [PolicyType]
ReadPrec PolicyType
Int -> ReadS PolicyType
ReadS [PolicyType]
(Int -> ReadS PolicyType)
-> ReadS [PolicyType]
-> ReadPrec PolicyType
-> ReadPrec [PolicyType]
-> Read PolicyType
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [PolicyType]
$creadListPrec :: ReadPrec [PolicyType]
readPrec :: ReadPrec PolicyType
$creadPrec :: ReadPrec PolicyType
readList :: ReadS [PolicyType]
$creadList :: ReadS [PolicyType]
readsPrec :: Int -> ReadS PolicyType
$creadsPrec :: Int -> ReadS PolicyType
Prelude.Read,
PolicyType -> PolicyType -> Bool
(PolicyType -> PolicyType -> Bool)
-> (PolicyType -> PolicyType -> Bool) -> Eq PolicyType
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PolicyType -> PolicyType -> Bool
$c/= :: PolicyType -> PolicyType -> Bool
== :: PolicyType -> PolicyType -> Bool
$c== :: PolicyType -> PolicyType -> Bool
Prelude.Eq,
Eq PolicyType
Eq PolicyType
-> (PolicyType -> PolicyType -> Ordering)
-> (PolicyType -> PolicyType -> Bool)
-> (PolicyType -> PolicyType -> Bool)
-> (PolicyType -> PolicyType -> Bool)
-> (PolicyType -> PolicyType -> Bool)
-> (PolicyType -> PolicyType -> PolicyType)
-> (PolicyType -> PolicyType -> PolicyType)
-> Ord PolicyType
PolicyType -> PolicyType -> Bool
PolicyType -> PolicyType -> Ordering
PolicyType -> PolicyType -> PolicyType
forall a.
Eq a
-> (a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: PolicyType -> PolicyType -> PolicyType
$cmin :: PolicyType -> PolicyType -> PolicyType
max :: PolicyType -> PolicyType -> PolicyType
$cmax :: PolicyType -> PolicyType -> PolicyType
>= :: PolicyType -> PolicyType -> Bool
$c>= :: PolicyType -> PolicyType -> Bool
> :: PolicyType -> PolicyType -> Bool
$c> :: PolicyType -> PolicyType -> Bool
<= :: PolicyType -> PolicyType -> Bool
$c<= :: PolicyType -> PolicyType -> Bool
< :: PolicyType -> PolicyType -> Bool
$c< :: PolicyType -> PolicyType -> Bool
compare :: PolicyType -> PolicyType -> Ordering
$ccompare :: PolicyType -> PolicyType -> Ordering
$cp1Ord :: Eq PolicyType
Prelude.Ord,
(forall x. PolicyType -> Rep PolicyType x)
-> (forall x. Rep PolicyType x -> PolicyType) -> Generic PolicyType
forall x. Rep PolicyType x -> PolicyType
forall x. PolicyType -> Rep PolicyType x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep PolicyType x -> PolicyType
$cfrom :: forall x. PolicyType -> Rep PolicyType x
Prelude.Generic
)
deriving newtype
( Int -> PolicyType -> Int
PolicyType -> Int
(Int -> PolicyType -> Int)
-> (PolicyType -> Int) -> Hashable PolicyType
forall a. (Int -> a -> Int) -> (a -> Int) -> Hashable a
hash :: PolicyType -> Int
$chash :: PolicyType -> Int
hashWithSalt :: Int -> PolicyType -> Int
$chashWithSalt :: Int -> PolicyType -> Int
Prelude.Hashable,
PolicyType -> ()
(PolicyType -> ()) -> NFData PolicyType
forall a. (a -> ()) -> NFData a
rnf :: PolicyType -> ()
$crnf :: PolicyType -> ()
Prelude.NFData,
Text -> Either String PolicyType
(Text -> Either String PolicyType) -> FromText PolicyType
forall a. (Text -> Either String a) -> FromText a
fromText :: Text -> Either String PolicyType
$cfromText :: Text -> Either String PolicyType
Core.FromText,
PolicyType -> Text
(PolicyType -> Text) -> ToText PolicyType
forall a. (a -> Text) -> ToText a
toText :: PolicyType -> Text
$ctoText :: PolicyType -> Text
Core.ToText,
PolicyType -> ByteString
(PolicyType -> ByteString) -> ToByteString PolicyType
forall a. (a -> ByteString) -> ToByteString a
toBS :: PolicyType -> ByteString
$ctoBS :: PolicyType -> ByteString
Core.ToByteString,
PolicyType -> ByteStringBuilder
(PolicyType -> ByteStringBuilder) -> ToLog PolicyType
forall a. (a -> ByteStringBuilder) -> ToLog a
build :: PolicyType -> ByteStringBuilder
$cbuild :: PolicyType -> ByteStringBuilder
Core.ToLog,
HeaderName -> PolicyType -> [Header]
(HeaderName -> PolicyType -> [Header]) -> ToHeader PolicyType
forall a. (HeaderName -> a -> [Header]) -> ToHeader a
toHeader :: HeaderName -> PolicyType -> [Header]
$ctoHeader :: HeaderName -> PolicyType -> [Header]
Core.ToHeader,
PolicyType -> QueryString
(PolicyType -> QueryString) -> ToQuery PolicyType
forall a. (a -> QueryString) -> ToQuery a
toQuery :: PolicyType -> QueryString
$ctoQuery :: PolicyType -> QueryString
Core.ToQuery,
Value -> Parser [PolicyType]
Value -> Parser PolicyType
(Value -> Parser PolicyType)
-> (Value -> Parser [PolicyType]) -> FromJSON PolicyType
forall a.
(Value -> Parser a) -> (Value -> Parser [a]) -> FromJSON a
parseJSONList :: Value -> Parser [PolicyType]
$cparseJSONList :: Value -> Parser [PolicyType]
parseJSON :: Value -> Parser PolicyType
$cparseJSON :: Value -> Parser PolicyType
Core.FromJSON,
FromJSONKeyFunction [PolicyType]
FromJSONKeyFunction PolicyType
FromJSONKeyFunction PolicyType
-> FromJSONKeyFunction [PolicyType] -> FromJSONKey PolicyType
forall a.
FromJSONKeyFunction a -> FromJSONKeyFunction [a] -> FromJSONKey a
fromJSONKeyList :: FromJSONKeyFunction [PolicyType]
$cfromJSONKeyList :: FromJSONKeyFunction [PolicyType]
fromJSONKey :: FromJSONKeyFunction PolicyType
$cfromJSONKey :: FromJSONKeyFunction PolicyType
Core.FromJSONKey,
[PolicyType] -> Encoding
[PolicyType] -> Value
PolicyType -> Encoding
PolicyType -> Value
(PolicyType -> Value)
-> (PolicyType -> Encoding)
-> ([PolicyType] -> Value)
-> ([PolicyType] -> Encoding)
-> ToJSON PolicyType
forall a.
(a -> Value)
-> (a -> Encoding)
-> ([a] -> Value)
-> ([a] -> Encoding)
-> ToJSON a
toEncodingList :: [PolicyType] -> Encoding
$ctoEncodingList :: [PolicyType] -> Encoding
toJSONList :: [PolicyType] -> Value
$ctoJSONList :: [PolicyType] -> Value
toEncoding :: PolicyType -> Encoding
$ctoEncoding :: PolicyType -> Encoding
toJSON :: PolicyType -> Value
$ctoJSON :: PolicyType -> Value
Core.ToJSON,
ToJSONKeyFunction [PolicyType]
ToJSONKeyFunction PolicyType
ToJSONKeyFunction PolicyType
-> ToJSONKeyFunction [PolicyType] -> ToJSONKey PolicyType
forall a.
ToJSONKeyFunction a -> ToJSONKeyFunction [a] -> ToJSONKey a
toJSONKeyList :: ToJSONKeyFunction [PolicyType]
$ctoJSONKeyList :: ToJSONKeyFunction [PolicyType]
toJSONKey :: ToJSONKeyFunction PolicyType
$ctoJSONKey :: ToJSONKeyFunction PolicyType
Core.ToJSONKey,
[Node] -> Either String PolicyType
([Node] -> Either String PolicyType) -> FromXML PolicyType
forall a. ([Node] -> Either String a) -> FromXML a
parseXML :: [Node] -> Either String PolicyType
$cparseXML :: [Node] -> Either String PolicyType
Core.FromXML,
PolicyType -> XML
(PolicyType -> XML) -> ToXML PolicyType
forall a. (a -> XML) -> ToXML a
toXML :: PolicyType -> XML
$ctoXML :: PolicyType -> XML
Core.ToXML
)
pattern PolicyType_AISERVICES_OPT_OUT_POLICY :: PolicyType
pattern $bPolicyType_AISERVICES_OPT_OUT_POLICY :: PolicyType
$mPolicyType_AISERVICES_OPT_OUT_POLICY :: forall r. PolicyType -> (Void# -> r) -> (Void# -> r) -> r
PolicyType_AISERVICES_OPT_OUT_POLICY = PolicyType' "AISERVICES_OPT_OUT_POLICY"
pattern PolicyType_BACKUP_POLICY :: PolicyType
pattern $bPolicyType_BACKUP_POLICY :: PolicyType
$mPolicyType_BACKUP_POLICY :: forall r. PolicyType -> (Void# -> r) -> (Void# -> r) -> r
PolicyType_BACKUP_POLICY = PolicyType' "BACKUP_POLICY"
pattern PolicyType_SERVICE_CONTROL_POLICY :: PolicyType
pattern $bPolicyType_SERVICE_CONTROL_POLICY :: PolicyType
$mPolicyType_SERVICE_CONTROL_POLICY :: forall r. PolicyType -> (Void# -> r) -> (Void# -> r) -> r
PolicyType_SERVICE_CONTROL_POLICY = PolicyType' "SERVICE_CONTROL_POLICY"
pattern PolicyType_TAG_POLICY :: PolicyType
pattern $bPolicyType_TAG_POLICY :: PolicyType
$mPolicyType_TAG_POLICY :: forall r. PolicyType -> (Void# -> r) -> (Void# -> r) -> r
PolicyType_TAG_POLICY = PolicyType' "TAG_POLICY"
{-# COMPLETE
PolicyType_AISERVICES_OPT_OUT_POLICY,
PolicyType_BACKUP_POLICY,
PolicyType_SERVICE_CONTROL_POLICY,
PolicyType_TAG_POLICY,
PolicyType'
#-}