module Stratosphere.AppFlow.Flow.SlackSourcePropertiesProperty (
        SlackSourcePropertiesProperty(..), mkSlackSourcePropertiesProperty
    ) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import Stratosphere.ResourceProperties
import Stratosphere.Value
data SlackSourcePropertiesProperty
  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-slacksourceproperties.html>
    SlackSourcePropertiesProperty {SlackSourcePropertiesProperty -> ()
haddock_workaround_ :: (),
                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-slacksourceproperties.html#cfn-appflow-flow-slacksourceproperties-object>
                                   SlackSourcePropertiesProperty -> Value Text
object :: (Value Prelude.Text)}
  deriving stock (SlackSourcePropertiesProperty
-> SlackSourcePropertiesProperty -> Bool
(SlackSourcePropertiesProperty
 -> SlackSourcePropertiesProperty -> Bool)
-> (SlackSourcePropertiesProperty
    -> SlackSourcePropertiesProperty -> Bool)
-> Eq SlackSourcePropertiesProperty
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: SlackSourcePropertiesProperty
-> SlackSourcePropertiesProperty -> Bool
== :: SlackSourcePropertiesProperty
-> SlackSourcePropertiesProperty -> Bool
$c/= :: SlackSourcePropertiesProperty
-> SlackSourcePropertiesProperty -> Bool
/= :: SlackSourcePropertiesProperty
-> SlackSourcePropertiesProperty -> Bool
Prelude.Eq, Int -> SlackSourcePropertiesProperty -> ShowS
[SlackSourcePropertiesProperty] -> ShowS
SlackSourcePropertiesProperty -> String
(Int -> SlackSourcePropertiesProperty -> ShowS)
-> (SlackSourcePropertiesProperty -> String)
-> ([SlackSourcePropertiesProperty] -> ShowS)
-> Show SlackSourcePropertiesProperty
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> SlackSourcePropertiesProperty -> ShowS
showsPrec :: Int -> SlackSourcePropertiesProperty -> ShowS
$cshow :: SlackSourcePropertiesProperty -> String
show :: SlackSourcePropertiesProperty -> String
$cshowList :: [SlackSourcePropertiesProperty] -> ShowS
showList :: [SlackSourcePropertiesProperty] -> ShowS
Prelude.Show)
mkSlackSourcePropertiesProperty ::
  Value Prelude.Text -> SlackSourcePropertiesProperty
mkSlackSourcePropertiesProperty :: Value Text -> SlackSourcePropertiesProperty
mkSlackSourcePropertiesProperty Value Text
object
  = SlackSourcePropertiesProperty
      {haddock_workaround_ :: ()
haddock_workaround_ = (), object :: Value Text
object = Value Text
object}
instance ToResourceProperties SlackSourcePropertiesProperty where
  toResourceProperties :: SlackSourcePropertiesProperty -> ResourceProperties
toResourceProperties SlackSourcePropertiesProperty {()
Value Text
haddock_workaround_ :: SlackSourcePropertiesProperty -> ()
object :: SlackSourcePropertiesProperty -> Value Text
haddock_workaround_ :: ()
object :: Value Text
..}
    = ResourceProperties
        {awsType :: Text
awsType = Text
"AWS::AppFlow::Flow.SlackSourceProperties",
         supportsTags :: Bool
supportsTags = Bool
Prelude.False,
         properties :: Object
properties = [Key
"Object" 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
object]}
instance JSON.ToJSON SlackSourcePropertiesProperty where
  toJSON :: SlackSourcePropertiesProperty -> Value
toJSON SlackSourcePropertiesProperty {()
Value Text
haddock_workaround_ :: SlackSourcePropertiesProperty -> ()
object :: SlackSourcePropertiesProperty -> Value Text
haddock_workaround_ :: ()
object :: Value Text
..}
    = [(Key, Value)] -> Value
JSON.object [Key
"Object" 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
object]
instance Property "Object" SlackSourcePropertiesProperty where
  type PropertyType "Object" SlackSourcePropertiesProperty = Value Prelude.Text
  set :: PropertyType "Object" SlackSourcePropertiesProperty
-> SlackSourcePropertiesProperty -> SlackSourcePropertiesProperty
set PropertyType "Object" SlackSourcePropertiesProperty
newValue SlackSourcePropertiesProperty {()
Value Text
haddock_workaround_ :: SlackSourcePropertiesProperty -> ()
object :: SlackSourcePropertiesProperty -> Value Text
haddock_workaround_ :: ()
object :: Value Text
..}
    = SlackSourcePropertiesProperty {object :: Value Text
object = PropertyType "Object" SlackSourcePropertiesProperty
Value Text
newValue, ()
haddock_workaround_ :: ()
haddock_workaround_ :: ()
..}