module Stratosphere.Logs.Transformer.RenameKeysProperty (
        module Exports, RenameKeysProperty(..), mkRenameKeysProperty
    ) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import {-# SOURCE #-} Stratosphere.Logs.Transformer.RenameKeyEntryProperty as Exports
import Stratosphere.ResourceProperties
data RenameKeysProperty
  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-logs-transformer-renamekeys.html>
    RenameKeysProperty {RenameKeysProperty -> ()
haddock_workaround_ :: (),
                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-logs-transformer-renamekeys.html#cfn-logs-transformer-renamekeys-entries>
                        RenameKeysProperty -> [RenameKeyEntryProperty]
entries :: [RenameKeyEntryProperty]}
  deriving stock (RenameKeysProperty -> RenameKeysProperty -> Bool
(RenameKeysProperty -> RenameKeysProperty -> Bool)
-> (RenameKeysProperty -> RenameKeysProperty -> Bool)
-> Eq RenameKeysProperty
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: RenameKeysProperty -> RenameKeysProperty -> Bool
== :: RenameKeysProperty -> RenameKeysProperty -> Bool
$c/= :: RenameKeysProperty -> RenameKeysProperty -> Bool
/= :: RenameKeysProperty -> RenameKeysProperty -> Bool
Prelude.Eq, Int -> RenameKeysProperty -> ShowS
[RenameKeysProperty] -> ShowS
RenameKeysProperty -> String
(Int -> RenameKeysProperty -> ShowS)
-> (RenameKeysProperty -> String)
-> ([RenameKeysProperty] -> ShowS)
-> Show RenameKeysProperty
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> RenameKeysProperty -> ShowS
showsPrec :: Int -> RenameKeysProperty -> ShowS
$cshow :: RenameKeysProperty -> String
show :: RenameKeysProperty -> String
$cshowList :: [RenameKeysProperty] -> ShowS
showList :: [RenameKeysProperty] -> ShowS
Prelude.Show)
mkRenameKeysProperty ::
  [RenameKeyEntryProperty] -> RenameKeysProperty
mkRenameKeysProperty :: [RenameKeyEntryProperty] -> RenameKeysProperty
mkRenameKeysProperty [RenameKeyEntryProperty]
entries
  = RenameKeysProperty {haddock_workaround_ :: ()
haddock_workaround_ = (), entries :: [RenameKeyEntryProperty]
entries = [RenameKeyEntryProperty]
entries}
instance ToResourceProperties RenameKeysProperty where
  toResourceProperties :: RenameKeysProperty -> ResourceProperties
toResourceProperties RenameKeysProperty {[RenameKeyEntryProperty]
()
haddock_workaround_ :: RenameKeysProperty -> ()
entries :: RenameKeysProperty -> [RenameKeyEntryProperty]
haddock_workaround_ :: ()
entries :: [RenameKeyEntryProperty]
..}
    = ResourceProperties
        {awsType :: Text
awsType = Text
"AWS::Logs::Transformer.RenameKeys",
         supportsTags :: Bool
supportsTags = Bool
Prelude.False,
         properties :: Object
properties = [Key
"Entries" Key -> [RenameKeyEntryProperty] -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= [RenameKeyEntryProperty]
entries]}
instance JSON.ToJSON RenameKeysProperty where
  toJSON :: RenameKeysProperty -> Value
toJSON RenameKeysProperty {[RenameKeyEntryProperty]
()
haddock_workaround_ :: RenameKeysProperty -> ()
entries :: RenameKeysProperty -> [RenameKeyEntryProperty]
haddock_workaround_ :: ()
entries :: [RenameKeyEntryProperty]
..}
    = [(Key, Value)] -> Value
JSON.object [Key
"Entries" Key -> [RenameKeyEntryProperty] -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= [RenameKeyEntryProperty]
entries]
instance Property "Entries" RenameKeysProperty where
  type PropertyType "Entries" RenameKeysProperty = [RenameKeyEntryProperty]
  set :: PropertyType "Entries" RenameKeysProperty
-> RenameKeysProperty -> RenameKeysProperty
set PropertyType "Entries" RenameKeysProperty
newValue RenameKeysProperty {[RenameKeyEntryProperty]
()
haddock_workaround_ :: RenameKeysProperty -> ()
entries :: RenameKeysProperty -> [RenameKeyEntryProperty]
haddock_workaround_ :: ()
entries :: [RenameKeyEntryProperty]
..}
    = RenameKeysProperty {entries :: [RenameKeyEntryProperty]
entries = [RenameKeyEntryProperty]
PropertyType "Entries" RenameKeysProperty
newValue, ()
haddock_workaround_ :: ()
haddock_workaround_ :: ()
..}