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