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