module Stratosphere.AppTest.TestCase.TargetDatabaseMetadataProperty (
        TargetDatabaseMetadataProperty(..),
        mkTargetDatabaseMetadataProperty
    ) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import Stratosphere.ResourceProperties
import Stratosphere.Value
data TargetDatabaseMetadataProperty
  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apptest-testcase-targetdatabasemetadata.html>
    TargetDatabaseMetadataProperty {TargetDatabaseMetadataProperty -> ()
haddock_workaround_ :: (),
                                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apptest-testcase-targetdatabasemetadata.html#cfn-apptest-testcase-targetdatabasemetadata-capturetool>
                                    TargetDatabaseMetadataProperty -> Value Text
captureTool :: (Value Prelude.Text),
                                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apptest-testcase-targetdatabasemetadata.html#cfn-apptest-testcase-targetdatabasemetadata-type>
                                    TargetDatabaseMetadataProperty -> Value Text
type' :: (Value Prelude.Text)}
  deriving stock (TargetDatabaseMetadataProperty
-> TargetDatabaseMetadataProperty -> Bool
(TargetDatabaseMetadataProperty
 -> TargetDatabaseMetadataProperty -> Bool)
-> (TargetDatabaseMetadataProperty
    -> TargetDatabaseMetadataProperty -> Bool)
-> Eq TargetDatabaseMetadataProperty
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: TargetDatabaseMetadataProperty
-> TargetDatabaseMetadataProperty -> Bool
== :: TargetDatabaseMetadataProperty
-> TargetDatabaseMetadataProperty -> Bool
$c/= :: TargetDatabaseMetadataProperty
-> TargetDatabaseMetadataProperty -> Bool
/= :: TargetDatabaseMetadataProperty
-> TargetDatabaseMetadataProperty -> Bool
Prelude.Eq, Int -> TargetDatabaseMetadataProperty -> ShowS
[TargetDatabaseMetadataProperty] -> ShowS
TargetDatabaseMetadataProperty -> String
(Int -> TargetDatabaseMetadataProperty -> ShowS)
-> (TargetDatabaseMetadataProperty -> String)
-> ([TargetDatabaseMetadataProperty] -> ShowS)
-> Show TargetDatabaseMetadataProperty
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> TargetDatabaseMetadataProperty -> ShowS
showsPrec :: Int -> TargetDatabaseMetadataProperty -> ShowS
$cshow :: TargetDatabaseMetadataProperty -> String
show :: TargetDatabaseMetadataProperty -> String
$cshowList :: [TargetDatabaseMetadataProperty] -> ShowS
showList :: [TargetDatabaseMetadataProperty] -> ShowS
Prelude.Show)
mkTargetDatabaseMetadataProperty ::
  Value Prelude.Text
  -> Value Prelude.Text -> TargetDatabaseMetadataProperty
mkTargetDatabaseMetadataProperty :: Value Text -> Value Text -> TargetDatabaseMetadataProperty
mkTargetDatabaseMetadataProperty Value Text
captureTool Value Text
type'
  = TargetDatabaseMetadataProperty
      {haddock_workaround_ :: ()
haddock_workaround_ = (), captureTool :: Value Text
captureTool = Value Text
captureTool,
       type' :: Value Text
type' = Value Text
type'}
instance ToResourceProperties TargetDatabaseMetadataProperty where
  toResourceProperties :: TargetDatabaseMetadataProperty -> ResourceProperties
toResourceProperties TargetDatabaseMetadataProperty {()
Value Text
haddock_workaround_ :: TargetDatabaseMetadataProperty -> ()
captureTool :: TargetDatabaseMetadataProperty -> Value Text
type' :: TargetDatabaseMetadataProperty -> Value Text
haddock_workaround_ :: ()
captureTool :: Value Text
type' :: Value Text
..}
    = ResourceProperties
        {awsType :: Text
awsType = Text
"AWS::AppTest::TestCase.TargetDatabaseMetadata",
         supportsTags :: Bool
supportsTags = Bool
Prelude.False,
         properties :: Object
properties = [Key
"CaptureTool" 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
captureTool,
                       Key
"Type" 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
type']}
instance JSON.ToJSON TargetDatabaseMetadataProperty where
  toJSON :: TargetDatabaseMetadataProperty -> Value
toJSON TargetDatabaseMetadataProperty {()
Value Text
haddock_workaround_ :: TargetDatabaseMetadataProperty -> ()
captureTool :: TargetDatabaseMetadataProperty -> Value Text
type' :: TargetDatabaseMetadataProperty -> Value Text
haddock_workaround_ :: ()
captureTool :: Value Text
type' :: Value Text
..}
    = [(Key, Value)] -> Value
JSON.object
        [Key
"CaptureTool" 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
captureTool, Key
"Type" 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
type']
instance Property "CaptureTool" TargetDatabaseMetadataProperty where
  type PropertyType "CaptureTool" TargetDatabaseMetadataProperty = Value Prelude.Text
  set :: PropertyType "CaptureTool" TargetDatabaseMetadataProperty
-> TargetDatabaseMetadataProperty -> TargetDatabaseMetadataProperty
set PropertyType "CaptureTool" TargetDatabaseMetadataProperty
newValue TargetDatabaseMetadataProperty {()
Value Text
haddock_workaround_ :: TargetDatabaseMetadataProperty -> ()
captureTool :: TargetDatabaseMetadataProperty -> Value Text
type' :: TargetDatabaseMetadataProperty -> Value Text
haddock_workaround_ :: ()
captureTool :: Value Text
type' :: Value Text
..}
    = TargetDatabaseMetadataProperty {captureTool :: Value Text
captureTool = PropertyType "CaptureTool" TargetDatabaseMetadataProperty
Value Text
newValue, ()
Value Text
haddock_workaround_ :: ()
type' :: Value Text
haddock_workaround_ :: ()
type' :: Value Text
..}
instance Property "Type" TargetDatabaseMetadataProperty where
  type PropertyType "Type" TargetDatabaseMetadataProperty = Value Prelude.Text
  set :: PropertyType "Type" TargetDatabaseMetadataProperty
-> TargetDatabaseMetadataProperty -> TargetDatabaseMetadataProperty
set PropertyType "Type" TargetDatabaseMetadataProperty
newValue TargetDatabaseMetadataProperty {()
Value Text
haddock_workaround_ :: TargetDatabaseMetadataProperty -> ()
captureTool :: TargetDatabaseMetadataProperty -> Value Text
type' :: TargetDatabaseMetadataProperty -> Value Text
haddock_workaround_ :: ()
captureTool :: Value Text
type' :: Value Text
..}
    = TargetDatabaseMetadataProperty {type' :: Value Text
type' = PropertyType "Type" TargetDatabaseMetadataProperty
Value Text
newValue, ()
Value Text
haddock_workaround_ :: ()
captureTool :: Value Text
haddock_workaround_ :: ()
captureTool :: Value Text
..}