{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE DerivingStrategies #-}
{-# LANGUAGE GeneralizedNewtypeDeriving #-}
{-# LANGUAGE LambdaCase #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
module Amazonka.IAM.Types.PolicySourceType
( PolicySourceType
( ..,
PolicySourceType_Aws_managed,
PolicySourceType_Group,
PolicySourceType_None,
PolicySourceType_Resource,
PolicySourceType_Role,
PolicySourceType_User,
PolicySourceType_User_managed
),
)
where
import qualified Amazonka.Core as Core
import qualified Amazonka.Prelude as Prelude
newtype PolicySourceType = PolicySourceType'
{ PolicySourceType -> Text
fromPolicySourceType ::
Core.Text
}
deriving stock
( Int -> PolicySourceType -> ShowS
[PolicySourceType] -> ShowS
PolicySourceType -> String
(Int -> PolicySourceType -> ShowS)
-> (PolicySourceType -> String)
-> ([PolicySourceType] -> ShowS)
-> Show PolicySourceType
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [PolicySourceType] -> ShowS
$cshowList :: [PolicySourceType] -> ShowS
show :: PolicySourceType -> String
$cshow :: PolicySourceType -> String
showsPrec :: Int -> PolicySourceType -> ShowS
$cshowsPrec :: Int -> PolicySourceType -> ShowS
Prelude.Show,
ReadPrec [PolicySourceType]
ReadPrec PolicySourceType
Int -> ReadS PolicySourceType
ReadS [PolicySourceType]
(Int -> ReadS PolicySourceType)
-> ReadS [PolicySourceType]
-> ReadPrec PolicySourceType
-> ReadPrec [PolicySourceType]
-> Read PolicySourceType
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [PolicySourceType]
$creadListPrec :: ReadPrec [PolicySourceType]
readPrec :: ReadPrec PolicySourceType
$creadPrec :: ReadPrec PolicySourceType
readList :: ReadS [PolicySourceType]
$creadList :: ReadS [PolicySourceType]
readsPrec :: Int -> ReadS PolicySourceType
$creadsPrec :: Int -> ReadS PolicySourceType
Prelude.Read,
PolicySourceType -> PolicySourceType -> Bool
(PolicySourceType -> PolicySourceType -> Bool)
-> (PolicySourceType -> PolicySourceType -> Bool)
-> Eq PolicySourceType
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PolicySourceType -> PolicySourceType -> Bool
$c/= :: PolicySourceType -> PolicySourceType -> Bool
== :: PolicySourceType -> PolicySourceType -> Bool
$c== :: PolicySourceType -> PolicySourceType -> Bool
Prelude.Eq,
Eq PolicySourceType
Eq PolicySourceType
-> (PolicySourceType -> PolicySourceType -> Ordering)
-> (PolicySourceType -> PolicySourceType -> Bool)
-> (PolicySourceType -> PolicySourceType -> Bool)
-> (PolicySourceType -> PolicySourceType -> Bool)
-> (PolicySourceType -> PolicySourceType -> Bool)
-> (PolicySourceType -> PolicySourceType -> PolicySourceType)
-> (PolicySourceType -> PolicySourceType -> PolicySourceType)
-> Ord PolicySourceType
PolicySourceType -> PolicySourceType -> Bool
PolicySourceType -> PolicySourceType -> Ordering
PolicySourceType -> PolicySourceType -> PolicySourceType
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 :: PolicySourceType -> PolicySourceType -> PolicySourceType
$cmin :: PolicySourceType -> PolicySourceType -> PolicySourceType
max :: PolicySourceType -> PolicySourceType -> PolicySourceType
$cmax :: PolicySourceType -> PolicySourceType -> PolicySourceType
>= :: PolicySourceType -> PolicySourceType -> Bool
$c>= :: PolicySourceType -> PolicySourceType -> Bool
> :: PolicySourceType -> PolicySourceType -> Bool
$c> :: PolicySourceType -> PolicySourceType -> Bool
<= :: PolicySourceType -> PolicySourceType -> Bool
$c<= :: PolicySourceType -> PolicySourceType -> Bool
< :: PolicySourceType -> PolicySourceType -> Bool
$c< :: PolicySourceType -> PolicySourceType -> Bool
compare :: PolicySourceType -> PolicySourceType -> Ordering
$ccompare :: PolicySourceType -> PolicySourceType -> Ordering
$cp1Ord :: Eq PolicySourceType
Prelude.Ord,
(forall x. PolicySourceType -> Rep PolicySourceType x)
-> (forall x. Rep PolicySourceType x -> PolicySourceType)
-> Generic PolicySourceType
forall x. Rep PolicySourceType x -> PolicySourceType
forall x. PolicySourceType -> Rep PolicySourceType x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep PolicySourceType x -> PolicySourceType
$cfrom :: forall x. PolicySourceType -> Rep PolicySourceType x
Prelude.Generic
)
deriving newtype
( Int -> PolicySourceType -> Int
PolicySourceType -> Int
(Int -> PolicySourceType -> Int)
-> (PolicySourceType -> Int) -> Hashable PolicySourceType
forall a. (Int -> a -> Int) -> (a -> Int) -> Hashable a
hash :: PolicySourceType -> Int
$chash :: PolicySourceType -> Int
hashWithSalt :: Int -> PolicySourceType -> Int
$chashWithSalt :: Int -> PolicySourceType -> Int
Prelude.Hashable,
PolicySourceType -> ()
(PolicySourceType -> ()) -> NFData PolicySourceType
forall a. (a -> ()) -> NFData a
rnf :: PolicySourceType -> ()
$crnf :: PolicySourceType -> ()
Prelude.NFData,
Text -> Either String PolicySourceType
(Text -> Either String PolicySourceType)
-> FromText PolicySourceType
forall a. (Text -> Either String a) -> FromText a
fromText :: Text -> Either String PolicySourceType
$cfromText :: Text -> Either String PolicySourceType
Core.FromText,
PolicySourceType -> Text
(PolicySourceType -> Text) -> ToText PolicySourceType
forall a. (a -> Text) -> ToText a
toText :: PolicySourceType -> Text
$ctoText :: PolicySourceType -> Text
Core.ToText,
PolicySourceType -> ByteString
(PolicySourceType -> ByteString) -> ToByteString PolicySourceType
forall a. (a -> ByteString) -> ToByteString a
toBS :: PolicySourceType -> ByteString
$ctoBS :: PolicySourceType -> ByteString
Core.ToByteString,
PolicySourceType -> ByteStringBuilder
(PolicySourceType -> ByteStringBuilder) -> ToLog PolicySourceType
forall a. (a -> ByteStringBuilder) -> ToLog a
build :: PolicySourceType -> ByteStringBuilder
$cbuild :: PolicySourceType -> ByteStringBuilder
Core.ToLog,
HeaderName -> PolicySourceType -> [Header]
(HeaderName -> PolicySourceType -> [Header])
-> ToHeader PolicySourceType
forall a. (HeaderName -> a -> [Header]) -> ToHeader a
toHeader :: HeaderName -> PolicySourceType -> [Header]
$ctoHeader :: HeaderName -> PolicySourceType -> [Header]
Core.ToHeader,
PolicySourceType -> QueryString
(PolicySourceType -> QueryString) -> ToQuery PolicySourceType
forall a. (a -> QueryString) -> ToQuery a
toQuery :: PolicySourceType -> QueryString
$ctoQuery :: PolicySourceType -> QueryString
Core.ToQuery,
Value -> Parser [PolicySourceType]
Value -> Parser PolicySourceType
(Value -> Parser PolicySourceType)
-> (Value -> Parser [PolicySourceType])
-> FromJSON PolicySourceType
forall a.
(Value -> Parser a) -> (Value -> Parser [a]) -> FromJSON a
parseJSONList :: Value -> Parser [PolicySourceType]
$cparseJSONList :: Value -> Parser [PolicySourceType]
parseJSON :: Value -> Parser PolicySourceType
$cparseJSON :: Value -> Parser PolicySourceType
Core.FromJSON,
FromJSONKeyFunction [PolicySourceType]
FromJSONKeyFunction PolicySourceType
FromJSONKeyFunction PolicySourceType
-> FromJSONKeyFunction [PolicySourceType]
-> FromJSONKey PolicySourceType
forall a.
FromJSONKeyFunction a -> FromJSONKeyFunction [a] -> FromJSONKey a
fromJSONKeyList :: FromJSONKeyFunction [PolicySourceType]
$cfromJSONKeyList :: FromJSONKeyFunction [PolicySourceType]
fromJSONKey :: FromJSONKeyFunction PolicySourceType
$cfromJSONKey :: FromJSONKeyFunction PolicySourceType
Core.FromJSONKey,
[PolicySourceType] -> Encoding
[PolicySourceType] -> Value
PolicySourceType -> Encoding
PolicySourceType -> Value
(PolicySourceType -> Value)
-> (PolicySourceType -> Encoding)
-> ([PolicySourceType] -> Value)
-> ([PolicySourceType] -> Encoding)
-> ToJSON PolicySourceType
forall a.
(a -> Value)
-> (a -> Encoding)
-> ([a] -> Value)
-> ([a] -> Encoding)
-> ToJSON a
toEncodingList :: [PolicySourceType] -> Encoding
$ctoEncodingList :: [PolicySourceType] -> Encoding
toJSONList :: [PolicySourceType] -> Value
$ctoJSONList :: [PolicySourceType] -> Value
toEncoding :: PolicySourceType -> Encoding
$ctoEncoding :: PolicySourceType -> Encoding
toJSON :: PolicySourceType -> Value
$ctoJSON :: PolicySourceType -> Value
Core.ToJSON,
ToJSONKeyFunction [PolicySourceType]
ToJSONKeyFunction PolicySourceType
ToJSONKeyFunction PolicySourceType
-> ToJSONKeyFunction [PolicySourceType]
-> ToJSONKey PolicySourceType
forall a.
ToJSONKeyFunction a -> ToJSONKeyFunction [a] -> ToJSONKey a
toJSONKeyList :: ToJSONKeyFunction [PolicySourceType]
$ctoJSONKeyList :: ToJSONKeyFunction [PolicySourceType]
toJSONKey :: ToJSONKeyFunction PolicySourceType
$ctoJSONKey :: ToJSONKeyFunction PolicySourceType
Core.ToJSONKey,
[Node] -> Either String PolicySourceType
([Node] -> Either String PolicySourceType)
-> FromXML PolicySourceType
forall a. ([Node] -> Either String a) -> FromXML a
parseXML :: [Node] -> Either String PolicySourceType
$cparseXML :: [Node] -> Either String PolicySourceType
Core.FromXML,
PolicySourceType -> XML
(PolicySourceType -> XML) -> ToXML PolicySourceType
forall a. (a -> XML) -> ToXML a
toXML :: PolicySourceType -> XML
$ctoXML :: PolicySourceType -> XML
Core.ToXML
)
pattern PolicySourceType_Aws_managed :: PolicySourceType
pattern $bPolicySourceType_Aws_managed :: PolicySourceType
$mPolicySourceType_Aws_managed :: forall r. PolicySourceType -> (Void# -> r) -> (Void# -> r) -> r
PolicySourceType_Aws_managed = PolicySourceType' "aws-managed"
pattern PolicySourceType_Group :: PolicySourceType
pattern $bPolicySourceType_Group :: PolicySourceType
$mPolicySourceType_Group :: forall r. PolicySourceType -> (Void# -> r) -> (Void# -> r) -> r
PolicySourceType_Group = PolicySourceType' "group"
pattern PolicySourceType_None :: PolicySourceType
pattern $bPolicySourceType_None :: PolicySourceType
$mPolicySourceType_None :: forall r. PolicySourceType -> (Void# -> r) -> (Void# -> r) -> r
PolicySourceType_None = PolicySourceType' "none"
pattern PolicySourceType_Resource :: PolicySourceType
pattern $bPolicySourceType_Resource :: PolicySourceType
$mPolicySourceType_Resource :: forall r. PolicySourceType -> (Void# -> r) -> (Void# -> r) -> r
PolicySourceType_Resource = PolicySourceType' "resource"
pattern PolicySourceType_Role :: PolicySourceType
pattern $bPolicySourceType_Role :: PolicySourceType
$mPolicySourceType_Role :: forall r. PolicySourceType -> (Void# -> r) -> (Void# -> r) -> r
PolicySourceType_Role = PolicySourceType' "role"
pattern PolicySourceType_User :: PolicySourceType
pattern $bPolicySourceType_User :: PolicySourceType
$mPolicySourceType_User :: forall r. PolicySourceType -> (Void# -> r) -> (Void# -> r) -> r
PolicySourceType_User = PolicySourceType' "user"
pattern PolicySourceType_User_managed :: PolicySourceType
pattern $bPolicySourceType_User_managed :: PolicySourceType
$mPolicySourceType_User_managed :: forall r. PolicySourceType -> (Void# -> r) -> (Void# -> r) -> r
PolicySourceType_User_managed = PolicySourceType' "user-managed"
{-# COMPLETE
PolicySourceType_Aws_managed,
PolicySourceType_Group,
PolicySourceType_None,
PolicySourceType_Resource,
PolicySourceType_Role,
PolicySourceType_User,
PolicySourceType_User_managed,
PolicySourceType'
#-}