module Stratosphere.RTBFabric.Link.FilterProperty (
module Exports, FilterProperty(..), mkFilterProperty
) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import {-# SOURCE #-} Stratosphere.RTBFabric.Link.FilterCriterionProperty as Exports
import Stratosphere.ResourceProperties
data FilterProperty
=
FilterProperty {FilterProperty -> ()
haddock_workaround_ :: (),
FilterProperty -> [FilterCriterionProperty]
criteria :: [FilterCriterionProperty]}
deriving stock (FilterProperty -> FilterProperty -> Bool
(FilterProperty -> FilterProperty -> Bool)
-> (FilterProperty -> FilterProperty -> Bool) -> Eq FilterProperty
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: FilterProperty -> FilterProperty -> Bool
== :: FilterProperty -> FilterProperty -> Bool
$c/= :: FilterProperty -> FilterProperty -> Bool
/= :: FilterProperty -> FilterProperty -> Bool
Prelude.Eq, Int -> FilterProperty -> ShowS
[FilterProperty] -> ShowS
FilterProperty -> String
(Int -> FilterProperty -> ShowS)
-> (FilterProperty -> String)
-> ([FilterProperty] -> ShowS)
-> Show FilterProperty
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> FilterProperty -> ShowS
showsPrec :: Int -> FilterProperty -> ShowS
$cshow :: FilterProperty -> String
show :: FilterProperty -> String
$cshowList :: [FilterProperty] -> ShowS
showList :: [FilterProperty] -> ShowS
Prelude.Show)
mkFilterProperty :: [FilterCriterionProperty] -> FilterProperty
mkFilterProperty :: [FilterCriterionProperty] -> FilterProperty
mkFilterProperty [FilterCriterionProperty]
criteria
= FilterProperty {haddock_workaround_ :: ()
haddock_workaround_ = (), criteria :: [FilterCriterionProperty]
criteria = [FilterCriterionProperty]
criteria}
instance ToResourceProperties FilterProperty where
toResourceProperties :: FilterProperty -> ResourceProperties
toResourceProperties FilterProperty {[FilterCriterionProperty]
()
haddock_workaround_ :: FilterProperty -> ()
criteria :: FilterProperty -> [FilterCriterionProperty]
haddock_workaround_ :: ()
criteria :: [FilterCriterionProperty]
..}
= ResourceProperties
{awsType :: Text
awsType = Text
"AWS::RTBFabric::Link.Filter",
supportsTags :: Bool
supportsTags = Bool
Prelude.False,
properties :: Object
properties = [Key
"Criteria" Key -> [FilterCriterionProperty] -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= [FilterCriterionProperty]
criteria]}
instance JSON.ToJSON FilterProperty where
toJSON :: FilterProperty -> Value
toJSON FilterProperty {[FilterCriterionProperty]
()
haddock_workaround_ :: FilterProperty -> ()
criteria :: FilterProperty -> [FilterCriterionProperty]
haddock_workaround_ :: ()
criteria :: [FilterCriterionProperty]
..}
= [(Key, Value)] -> Value
JSON.object [Key
"Criteria" Key -> [FilterCriterionProperty] -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= [FilterCriterionProperty]
criteria]
instance Property "Criteria" FilterProperty where
type PropertyType "Criteria" FilterProperty = [FilterCriterionProperty]
set :: PropertyType "Criteria" FilterProperty
-> FilterProperty -> FilterProperty
set PropertyType "Criteria" FilterProperty
newValue FilterProperty {[FilterCriterionProperty]
()
haddock_workaround_ :: FilterProperty -> ()
criteria :: FilterProperty -> [FilterCriterionProperty]
haddock_workaround_ :: ()
criteria :: [FilterCriterionProperty]
..}
= FilterProperty {criteria :: [FilterCriterionProperty]
criteria = [FilterCriterionProperty]
PropertyType "Criteria" FilterProperty
newValue, ()
haddock_workaround_ :: ()
haddock_workaround_ :: ()
..}