module Stratosphere.CustomerProfiles.Domain.ConsolidationProperty (
        ConsolidationProperty(..), mkConsolidationProperty
    ) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import Stratosphere.ResourceProperties
data ConsolidationProperty
  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-customerprofiles-domain-consolidation.html>
    ConsolidationProperty {ConsolidationProperty -> ()
haddock_workaround_ :: (),
                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-customerprofiles-domain-consolidation.html#cfn-customerprofiles-domain-consolidation-matchingattributeslist>
                           ConsolidationProperty -> Object
matchingAttributesList :: JSON.Object}
  deriving stock (ConsolidationProperty -> ConsolidationProperty -> Bool
(ConsolidationProperty -> ConsolidationProperty -> Bool)
-> (ConsolidationProperty -> ConsolidationProperty -> Bool)
-> Eq ConsolidationProperty
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: ConsolidationProperty -> ConsolidationProperty -> Bool
== :: ConsolidationProperty -> ConsolidationProperty -> Bool
$c/= :: ConsolidationProperty -> ConsolidationProperty -> Bool
/= :: ConsolidationProperty -> ConsolidationProperty -> Bool
Prelude.Eq, Int -> ConsolidationProperty -> ShowS
[ConsolidationProperty] -> ShowS
ConsolidationProperty -> String
(Int -> ConsolidationProperty -> ShowS)
-> (ConsolidationProperty -> String)
-> ([ConsolidationProperty] -> ShowS)
-> Show ConsolidationProperty
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> ConsolidationProperty -> ShowS
showsPrec :: Int -> ConsolidationProperty -> ShowS
$cshow :: ConsolidationProperty -> String
show :: ConsolidationProperty -> String
$cshowList :: [ConsolidationProperty] -> ShowS
showList :: [ConsolidationProperty] -> ShowS
Prelude.Show)
mkConsolidationProperty :: JSON.Object -> ConsolidationProperty
mkConsolidationProperty :: Object -> ConsolidationProperty
mkConsolidationProperty Object
matchingAttributesList
  = ConsolidationProperty
      {haddock_workaround_ :: ()
haddock_workaround_ = (),
       matchingAttributesList :: Object
matchingAttributesList = Object
matchingAttributesList}
instance ToResourceProperties ConsolidationProperty where
  toResourceProperties :: ConsolidationProperty -> ResourceProperties
toResourceProperties ConsolidationProperty {()
Object
haddock_workaround_ :: ConsolidationProperty -> ()
matchingAttributesList :: ConsolidationProperty -> Object
haddock_workaround_ :: ()
matchingAttributesList :: Object
..}
    = ResourceProperties
        {awsType :: Text
awsType = Text
"AWS::CustomerProfiles::Domain.Consolidation",
         supportsTags :: Bool
supportsTags = Bool
Prelude.False,
         properties :: Object
properties = [Key
"MatchingAttributesList"
                         Key -> Object -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= Object
matchingAttributesList]}
instance JSON.ToJSON ConsolidationProperty where
  toJSON :: ConsolidationProperty -> Value
toJSON ConsolidationProperty {()
Object
haddock_workaround_ :: ConsolidationProperty -> ()
matchingAttributesList :: ConsolidationProperty -> Object
haddock_workaround_ :: ()
matchingAttributesList :: Object
..}
    = [(Key, Value)] -> Value
JSON.object
        [Key
"MatchingAttributesList" Key -> Object -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= Object
matchingAttributesList]
instance Property "MatchingAttributesList" ConsolidationProperty where
  type PropertyType "MatchingAttributesList" ConsolidationProperty = JSON.Object
  set :: PropertyType "MatchingAttributesList" ConsolidationProperty
-> ConsolidationProperty -> ConsolidationProperty
set PropertyType "MatchingAttributesList" ConsolidationProperty
newValue ConsolidationProperty {()
Object
haddock_workaround_ :: ConsolidationProperty -> ()
matchingAttributesList :: ConsolidationProperty -> Object
haddock_workaround_ :: ()
matchingAttributesList :: Object
..}
    = ConsolidationProperty {matchingAttributesList :: Object
matchingAttributesList = Object
PropertyType "MatchingAttributesList" ConsolidationProperty
newValue, ()
haddock_workaround_ :: ()
haddock_workaround_ :: ()
..}