module Stratosphere.Bedrock.FlowVersion.FlowDataConnectionConfigurationProperty (
        FlowDataConnectionConfigurationProperty(..),
        mkFlowDataConnectionConfigurationProperty
    ) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import Stratosphere.ResourceProperties
import Stratosphere.Value
data FlowDataConnectionConfigurationProperty
  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-flowdataconnectionconfiguration.html>
    FlowDataConnectionConfigurationProperty {FlowDataConnectionConfigurationProperty -> ()
haddock_workaround_ :: (),
                                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-flowdataconnectionconfiguration.html#cfn-bedrock-flowversion-flowdataconnectionconfiguration-sourceoutput>
                                             FlowDataConnectionConfigurationProperty -> Value Text
sourceOutput :: (Value Prelude.Text),
                                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-flowdataconnectionconfiguration.html#cfn-bedrock-flowversion-flowdataconnectionconfiguration-targetinput>
                                             FlowDataConnectionConfigurationProperty -> Value Text
targetInput :: (Value Prelude.Text)}
  deriving stock (FlowDataConnectionConfigurationProperty
-> FlowDataConnectionConfigurationProperty -> Bool
(FlowDataConnectionConfigurationProperty
 -> FlowDataConnectionConfigurationProperty -> Bool)
-> (FlowDataConnectionConfigurationProperty
    -> FlowDataConnectionConfigurationProperty -> Bool)
-> Eq FlowDataConnectionConfigurationProperty
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: FlowDataConnectionConfigurationProperty
-> FlowDataConnectionConfigurationProperty -> Bool
== :: FlowDataConnectionConfigurationProperty
-> FlowDataConnectionConfigurationProperty -> Bool
$c/= :: FlowDataConnectionConfigurationProperty
-> FlowDataConnectionConfigurationProperty -> Bool
/= :: FlowDataConnectionConfigurationProperty
-> FlowDataConnectionConfigurationProperty -> Bool
Prelude.Eq, Int -> FlowDataConnectionConfigurationProperty -> ShowS
[FlowDataConnectionConfigurationProperty] -> ShowS
FlowDataConnectionConfigurationProperty -> String
(Int -> FlowDataConnectionConfigurationProperty -> ShowS)
-> (FlowDataConnectionConfigurationProperty -> String)
-> ([FlowDataConnectionConfigurationProperty] -> ShowS)
-> Show FlowDataConnectionConfigurationProperty
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> FlowDataConnectionConfigurationProperty -> ShowS
showsPrec :: Int -> FlowDataConnectionConfigurationProperty -> ShowS
$cshow :: FlowDataConnectionConfigurationProperty -> String
show :: FlowDataConnectionConfigurationProperty -> String
$cshowList :: [FlowDataConnectionConfigurationProperty] -> ShowS
showList :: [FlowDataConnectionConfigurationProperty] -> ShowS
Prelude.Show)
mkFlowDataConnectionConfigurationProperty ::
  Value Prelude.Text
  -> Value Prelude.Text -> FlowDataConnectionConfigurationProperty
mkFlowDataConnectionConfigurationProperty :: Value Text -> Value Text -> FlowDataConnectionConfigurationProperty
mkFlowDataConnectionConfigurationProperty Value Text
sourceOutput Value Text
targetInput
  = FlowDataConnectionConfigurationProperty
      {haddock_workaround_ :: ()
haddock_workaround_ = (), sourceOutput :: Value Text
sourceOutput = Value Text
sourceOutput,
       targetInput :: Value Text
targetInput = Value Text
targetInput}
instance ToResourceProperties FlowDataConnectionConfigurationProperty where
  toResourceProperties :: FlowDataConnectionConfigurationProperty -> ResourceProperties
toResourceProperties FlowDataConnectionConfigurationProperty {()
Value Text
haddock_workaround_ :: FlowDataConnectionConfigurationProperty -> ()
sourceOutput :: FlowDataConnectionConfigurationProperty -> Value Text
targetInput :: FlowDataConnectionConfigurationProperty -> Value Text
haddock_workaround_ :: ()
sourceOutput :: Value Text
targetInput :: Value Text
..}
    = ResourceProperties
        {awsType :: Text
awsType = Text
"AWS::Bedrock::FlowVersion.FlowDataConnectionConfiguration",
         supportsTags :: Bool
supportsTags = Bool
Prelude.False,
         properties :: Object
properties = [Key
"SourceOutput" 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
sourceOutput,
                       Key
"TargetInput" 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
targetInput]}
instance JSON.ToJSON FlowDataConnectionConfigurationProperty where
  toJSON :: FlowDataConnectionConfigurationProperty -> Value
toJSON FlowDataConnectionConfigurationProperty {()
Value Text
haddock_workaround_ :: FlowDataConnectionConfigurationProperty -> ()
sourceOutput :: FlowDataConnectionConfigurationProperty -> Value Text
targetInput :: FlowDataConnectionConfigurationProperty -> Value Text
haddock_workaround_ :: ()
sourceOutput :: Value Text
targetInput :: Value Text
..}
    = [(Key, Value)] -> Value
JSON.object
        [Key
"SourceOutput" 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
sourceOutput,
         Key
"TargetInput" 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
targetInput]
instance Property "SourceOutput" FlowDataConnectionConfigurationProperty where
  type PropertyType "SourceOutput" FlowDataConnectionConfigurationProperty = Value Prelude.Text
  set :: PropertyType "SourceOutput" FlowDataConnectionConfigurationProperty
-> FlowDataConnectionConfigurationProperty
-> FlowDataConnectionConfigurationProperty
set PropertyType "SourceOutput" FlowDataConnectionConfigurationProperty
newValue FlowDataConnectionConfigurationProperty {()
Value Text
haddock_workaround_ :: FlowDataConnectionConfigurationProperty -> ()
sourceOutput :: FlowDataConnectionConfigurationProperty -> Value Text
targetInput :: FlowDataConnectionConfigurationProperty -> Value Text
haddock_workaround_ :: ()
sourceOutput :: Value Text
targetInput :: Value Text
..}
    = FlowDataConnectionConfigurationProperty
        {sourceOutput :: Value Text
sourceOutput = PropertyType "SourceOutput" FlowDataConnectionConfigurationProperty
Value Text
newValue, ()
Value Text
haddock_workaround_ :: ()
targetInput :: Value Text
haddock_workaround_ :: ()
targetInput :: Value Text
..}
instance Property "TargetInput" FlowDataConnectionConfigurationProperty where
  type PropertyType "TargetInput" FlowDataConnectionConfigurationProperty = Value Prelude.Text
  set :: PropertyType "TargetInput" FlowDataConnectionConfigurationProperty
-> FlowDataConnectionConfigurationProperty
-> FlowDataConnectionConfigurationProperty
set PropertyType "TargetInput" FlowDataConnectionConfigurationProperty
newValue FlowDataConnectionConfigurationProperty {()
Value Text
haddock_workaround_ :: FlowDataConnectionConfigurationProperty -> ()
sourceOutput :: FlowDataConnectionConfigurationProperty -> Value Text
targetInput :: FlowDataConnectionConfigurationProperty -> Value Text
haddock_workaround_ :: ()
sourceOutput :: Value Text
targetInput :: Value Text
..}
    = FlowDataConnectionConfigurationProperty
        {targetInput :: Value Text
targetInput = PropertyType "TargetInput" FlowDataConnectionConfigurationProperty
Value Text
newValue, ()
Value Text
haddock_workaround_ :: ()
sourceOutput :: Value Text
haddock_workaround_ :: ()
sourceOutput :: Value Text
..}