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