module Stratosphere.ResourceAttributes.CreationPolicy where
import Stratosphere.Prelude
import Stratosphere.ResourceAttributes.ResourceSignal
import qualified Data.Aeson as JSON
data CreationPolicy = CreationPolicy
{ CreationPolicy -> ResourceSignal
resourceSignal :: ResourceSignal
}
deriving (Int -> CreationPolicy -> ShowS
[CreationPolicy] -> ShowS
CreationPolicy -> String
(Int -> CreationPolicy -> ShowS)
-> (CreationPolicy -> String)
-> ([CreationPolicy] -> ShowS)
-> Show CreationPolicy
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> CreationPolicy -> ShowS
showsPrec :: Int -> CreationPolicy -> ShowS
$cshow :: CreationPolicy -> String
show :: CreationPolicy -> String
$cshowList :: [CreationPolicy] -> ShowS
showList :: [CreationPolicy] -> ShowS
Show, CreationPolicy -> CreationPolicy -> Bool
(CreationPolicy -> CreationPolicy -> Bool)
-> (CreationPolicy -> CreationPolicy -> Bool) -> Eq CreationPolicy
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: CreationPolicy -> CreationPolicy -> Bool
== :: CreationPolicy -> CreationPolicy -> Bool
$c/= :: CreationPolicy -> CreationPolicy -> Bool
/= :: CreationPolicy -> CreationPolicy -> Bool
Eq, (forall x. CreationPolicy -> Rep CreationPolicy x)
-> (forall x. Rep CreationPolicy x -> CreationPolicy)
-> Generic CreationPolicy
forall x. Rep CreationPolicy x -> CreationPolicy
forall x. CreationPolicy -> Rep CreationPolicy x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cfrom :: forall x. CreationPolicy -> Rep CreationPolicy x
from :: forall x. CreationPolicy -> Rep CreationPolicy x
$cto :: forall x. Rep CreationPolicy x -> CreationPolicy
to :: forall x. Rep CreationPolicy x -> CreationPolicy
Generic)
instance JSON.ToJSON CreationPolicy where
toJSON :: CreationPolicy -> Value
toJSON CreationPolicy
policy
= [Pair] -> Value
JSON.object
([Pair] -> Value) -> [Pair] -> Value
forall a b. (a -> b) -> a -> b
$ [(Key
"ResourceSignal", ResourceSignal -> Value
forall a. ToJSON a => a -> Value
JSON.toJSON CreationPolicy
policy.resourceSignal)]
mkCreationPolicy
:: ResourceSignal
-> CreationPolicy
mkCreationPolicy :: ResourceSignal -> CreationPolicy
mkCreationPolicy ResourceSignal
resourceSignal = CreationPolicy{ResourceSignal
resourceSignal :: ResourceSignal
resourceSignal :: ResourceSignal
..}