module Stratosphere.AppTest.TestCase.M2ManagedApplicationActionProperty (
        module Exports, M2ManagedApplicationActionProperty(..),
        mkM2ManagedApplicationActionProperty
    ) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import {-# SOURCE #-} Stratosphere.AppTest.TestCase.M2ManagedActionPropertiesProperty as Exports
import Stratosphere.ResourceProperties
import Stratosphere.Value
data M2ManagedApplicationActionProperty
  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apptest-testcase-m2managedapplicationaction.html>
    M2ManagedApplicationActionProperty {M2ManagedApplicationActionProperty -> ()
haddock_workaround_ :: (),
                                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apptest-testcase-m2managedapplicationaction.html#cfn-apptest-testcase-m2managedapplicationaction-actiontype>
                                        M2ManagedApplicationActionProperty -> Value Text
actionType :: (Value Prelude.Text),
                                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apptest-testcase-m2managedapplicationaction.html#cfn-apptest-testcase-m2managedapplicationaction-properties>
                                        M2ManagedApplicationActionProperty
-> Maybe M2ManagedActionPropertiesProperty
properties :: (Prelude.Maybe M2ManagedActionPropertiesProperty),
                                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apptest-testcase-m2managedapplicationaction.html#cfn-apptest-testcase-m2managedapplicationaction-resource>
                                        M2ManagedApplicationActionProperty -> Value Text
resource :: (Value Prelude.Text)}
  deriving stock (M2ManagedApplicationActionProperty
-> M2ManagedApplicationActionProperty -> Bool
(M2ManagedApplicationActionProperty
 -> M2ManagedApplicationActionProperty -> Bool)
-> (M2ManagedApplicationActionProperty
    -> M2ManagedApplicationActionProperty -> Bool)
-> Eq M2ManagedApplicationActionProperty
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: M2ManagedApplicationActionProperty
-> M2ManagedApplicationActionProperty -> Bool
== :: M2ManagedApplicationActionProperty
-> M2ManagedApplicationActionProperty -> Bool
$c/= :: M2ManagedApplicationActionProperty
-> M2ManagedApplicationActionProperty -> Bool
/= :: M2ManagedApplicationActionProperty
-> M2ManagedApplicationActionProperty -> Bool
Prelude.Eq, Int -> M2ManagedApplicationActionProperty -> ShowS
[M2ManagedApplicationActionProperty] -> ShowS
M2ManagedApplicationActionProperty -> String
(Int -> M2ManagedApplicationActionProperty -> ShowS)
-> (M2ManagedApplicationActionProperty -> String)
-> ([M2ManagedApplicationActionProperty] -> ShowS)
-> Show M2ManagedApplicationActionProperty
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> M2ManagedApplicationActionProperty -> ShowS
showsPrec :: Int -> M2ManagedApplicationActionProperty -> ShowS
$cshow :: M2ManagedApplicationActionProperty -> String
show :: M2ManagedApplicationActionProperty -> String
$cshowList :: [M2ManagedApplicationActionProperty] -> ShowS
showList :: [M2ManagedApplicationActionProperty] -> ShowS
Prelude.Show)
mkM2ManagedApplicationActionProperty ::
  Value Prelude.Text
  -> Value Prelude.Text -> M2ManagedApplicationActionProperty
mkM2ManagedApplicationActionProperty :: Value Text -> Value Text -> M2ManagedApplicationActionProperty
mkM2ManagedApplicationActionProperty Value Text
actionType Value Text
resource
  = M2ManagedApplicationActionProperty
      {haddock_workaround_ :: ()
haddock_workaround_ = (), actionType :: Value Text
actionType = Value Text
actionType,
       resource :: Value Text
resource = Value Text
resource, properties :: Maybe M2ManagedActionPropertiesProperty
properties = Maybe M2ManagedActionPropertiesProperty
forall a. Maybe a
Prelude.Nothing}
instance ToResourceProperties M2ManagedApplicationActionProperty where
  toResourceProperties :: M2ManagedApplicationActionProperty -> ResourceProperties
toResourceProperties M2ManagedApplicationActionProperty {Maybe M2ManagedActionPropertiesProperty
()
Value Text
haddock_workaround_ :: M2ManagedApplicationActionProperty -> ()
actionType :: M2ManagedApplicationActionProperty -> Value Text
properties :: M2ManagedApplicationActionProperty
-> Maybe M2ManagedActionPropertiesProperty
resource :: M2ManagedApplicationActionProperty -> Value Text
haddock_workaround_ :: ()
actionType :: Value Text
properties :: Maybe M2ManagedActionPropertiesProperty
resource :: Value Text
..}
    = ResourceProperties
        {awsType :: Text
awsType = Text
"AWS::AppTest::TestCase.M2ManagedApplicationAction",
         supportsTags :: Bool
supportsTags = Bool
Prelude.False,
         properties :: Object
properties = [Item Object] -> Object
forall l. IsList l => [Item l] -> l
Prelude.fromList
                        ([(Key, Value)] -> [(Key, Value)] -> [(Key, Value)]
forall a. Semigroup a => a -> a -> a
(Prelude.<>)
                           [Key
"ActionType" Key -> Value Text -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= Value Text
actionType, Key
"Resource" Key -> Value Text -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= Value Text
resource]
                           ([Maybe (Key, Value)] -> [(Key, Value)]
forall a. [Maybe a] -> [a]
Prelude.catMaybes
                              [Key -> M2ManagedActionPropertiesProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"Properties" (M2ManagedActionPropertiesProperty -> (Key, Value))
-> Maybe M2ManagedActionPropertiesProperty -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe M2ManagedActionPropertiesProperty
properties]))}
instance JSON.ToJSON M2ManagedApplicationActionProperty where
  toJSON :: M2ManagedApplicationActionProperty -> Value
toJSON M2ManagedApplicationActionProperty {Maybe M2ManagedActionPropertiesProperty
()
Value Text
haddock_workaround_ :: M2ManagedApplicationActionProperty -> ()
actionType :: M2ManagedApplicationActionProperty -> Value Text
properties :: M2ManagedApplicationActionProperty
-> Maybe M2ManagedActionPropertiesProperty
resource :: M2ManagedApplicationActionProperty -> Value Text
haddock_workaround_ :: ()
actionType :: Value Text
properties :: Maybe M2ManagedActionPropertiesProperty
resource :: Value Text
..}
    = [(Key, Value)] -> Value
JSON.object
        ([Item [(Key, Value)]] -> [(Key, Value)]
forall l. IsList l => [Item l] -> l
Prelude.fromList
           ([(Key, Value)] -> [(Key, Value)] -> [(Key, Value)]
forall a. Semigroup a => a -> a -> a
(Prelude.<>)
              [Key
"ActionType" Key -> Value Text -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= Value Text
actionType, Key
"Resource" Key -> Value Text -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= Value Text
resource]
              ([Maybe (Key, Value)] -> [(Key, Value)]
forall a. [Maybe a] -> [a]
Prelude.catMaybes
                 [Key -> M2ManagedActionPropertiesProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"Properties" (M2ManagedActionPropertiesProperty -> (Key, Value))
-> Maybe M2ManagedActionPropertiesProperty -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe M2ManagedActionPropertiesProperty
properties])))
instance Property "ActionType" M2ManagedApplicationActionProperty where
  type PropertyType "ActionType" M2ManagedApplicationActionProperty = Value Prelude.Text
  set :: PropertyType "ActionType" M2ManagedApplicationActionProperty
-> M2ManagedApplicationActionProperty
-> M2ManagedApplicationActionProperty
set PropertyType "ActionType" M2ManagedApplicationActionProperty
newValue M2ManagedApplicationActionProperty {Maybe M2ManagedActionPropertiesProperty
()
Value Text
haddock_workaround_ :: M2ManagedApplicationActionProperty -> ()
actionType :: M2ManagedApplicationActionProperty -> Value Text
properties :: M2ManagedApplicationActionProperty
-> Maybe M2ManagedActionPropertiesProperty
resource :: M2ManagedApplicationActionProperty -> Value Text
haddock_workaround_ :: ()
actionType :: Value Text
properties :: Maybe M2ManagedActionPropertiesProperty
resource :: Value Text
..}
    = M2ManagedApplicationActionProperty {actionType :: Value Text
actionType = PropertyType "ActionType" M2ManagedApplicationActionProperty
Value Text
newValue, Maybe M2ManagedActionPropertiesProperty
()
Value Text
haddock_workaround_ :: ()
properties :: Maybe M2ManagedActionPropertiesProperty
resource :: Value Text
haddock_workaround_ :: ()
properties :: Maybe M2ManagedActionPropertiesProperty
resource :: Value Text
..}
instance Property "Properties" M2ManagedApplicationActionProperty where
  type PropertyType "Properties" M2ManagedApplicationActionProperty = M2ManagedActionPropertiesProperty
  set :: PropertyType "Properties" M2ManagedApplicationActionProperty
-> M2ManagedApplicationActionProperty
-> M2ManagedApplicationActionProperty
set PropertyType "Properties" M2ManagedApplicationActionProperty
newValue M2ManagedApplicationActionProperty {Maybe M2ManagedActionPropertiesProperty
()
Value Text
haddock_workaround_ :: M2ManagedApplicationActionProperty -> ()
actionType :: M2ManagedApplicationActionProperty -> Value Text
properties :: M2ManagedApplicationActionProperty
-> Maybe M2ManagedActionPropertiesProperty
resource :: M2ManagedApplicationActionProperty -> Value Text
haddock_workaround_ :: ()
actionType :: Value Text
properties :: Maybe M2ManagedActionPropertiesProperty
resource :: Value Text
..}
    = M2ManagedApplicationActionProperty
        {properties :: Maybe M2ManagedActionPropertiesProperty
properties = M2ManagedActionPropertiesProperty
-> Maybe M2ManagedActionPropertiesProperty
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure PropertyType "Properties" M2ManagedApplicationActionProperty
M2ManagedActionPropertiesProperty
newValue, ()
Value Text
haddock_workaround_ :: ()
actionType :: Value Text
resource :: Value Text
haddock_workaround_ :: ()
actionType :: Value Text
resource :: Value Text
..}
instance Property "Resource" M2ManagedApplicationActionProperty where
  type PropertyType "Resource" M2ManagedApplicationActionProperty = Value Prelude.Text
  set :: PropertyType "Resource" M2ManagedApplicationActionProperty
-> M2ManagedApplicationActionProperty
-> M2ManagedApplicationActionProperty
set PropertyType "Resource" M2ManagedApplicationActionProperty
newValue M2ManagedApplicationActionProperty {Maybe M2ManagedActionPropertiesProperty
()
Value Text
haddock_workaround_ :: M2ManagedApplicationActionProperty -> ()
actionType :: M2ManagedApplicationActionProperty -> Value Text
properties :: M2ManagedApplicationActionProperty
-> Maybe M2ManagedActionPropertiesProperty
resource :: M2ManagedApplicationActionProperty -> Value Text
haddock_workaround_ :: ()
actionType :: Value Text
properties :: Maybe M2ManagedActionPropertiesProperty
resource :: Value Text
..}
    = M2ManagedApplicationActionProperty {resource :: Value Text
resource = PropertyType "Resource" M2ManagedApplicationActionProperty
Value Text
newValue, Maybe M2ManagedActionPropertiesProperty
()
Value Text
haddock_workaround_ :: ()
actionType :: Value Text
properties :: Maybe M2ManagedActionPropertiesProperty
haddock_workaround_ :: ()
actionType :: Value Text
properties :: Maybe M2ManagedActionPropertiesProperty
..}