module Stratosphere.Rekognition.StreamProcessor.BoundingBoxProperty (
        BoundingBoxProperty(..), mkBoundingBoxProperty
    ) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import Stratosphere.ResourceProperties
import Stratosphere.Value
data BoundingBoxProperty
  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rekognition-streamprocessor-boundingbox.html>
    BoundingBoxProperty {BoundingBoxProperty -> ()
haddock_workaround_ :: (),
                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rekognition-streamprocessor-boundingbox.html#cfn-rekognition-streamprocessor-boundingbox-height>
                         BoundingBoxProperty -> Value Double
height :: (Value Prelude.Double),
                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rekognition-streamprocessor-boundingbox.html#cfn-rekognition-streamprocessor-boundingbox-left>
                         BoundingBoxProperty -> Value Double
left :: (Value Prelude.Double),
                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rekognition-streamprocessor-boundingbox.html#cfn-rekognition-streamprocessor-boundingbox-top>
                         BoundingBoxProperty -> Value Double
top :: (Value Prelude.Double),
                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rekognition-streamprocessor-boundingbox.html#cfn-rekognition-streamprocessor-boundingbox-width>
                         BoundingBoxProperty -> Value Double
width :: (Value Prelude.Double)}
  deriving stock (BoundingBoxProperty -> BoundingBoxProperty -> Bool
(BoundingBoxProperty -> BoundingBoxProperty -> Bool)
-> (BoundingBoxProperty -> BoundingBoxProperty -> Bool)
-> Eq BoundingBoxProperty
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: BoundingBoxProperty -> BoundingBoxProperty -> Bool
== :: BoundingBoxProperty -> BoundingBoxProperty -> Bool
$c/= :: BoundingBoxProperty -> BoundingBoxProperty -> Bool
/= :: BoundingBoxProperty -> BoundingBoxProperty -> Bool
Prelude.Eq, Int -> BoundingBoxProperty -> ShowS
[BoundingBoxProperty] -> ShowS
BoundingBoxProperty -> String
(Int -> BoundingBoxProperty -> ShowS)
-> (BoundingBoxProperty -> String)
-> ([BoundingBoxProperty] -> ShowS)
-> Show BoundingBoxProperty
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> BoundingBoxProperty -> ShowS
showsPrec :: Int -> BoundingBoxProperty -> ShowS
$cshow :: BoundingBoxProperty -> String
show :: BoundingBoxProperty -> String
$cshowList :: [BoundingBoxProperty] -> ShowS
showList :: [BoundingBoxProperty] -> ShowS
Prelude.Show)
mkBoundingBoxProperty ::
  Value Prelude.Double
  -> Value Prelude.Double
     -> Value Prelude.Double
        -> Value Prelude.Double -> BoundingBoxProperty
mkBoundingBoxProperty :: Value Double
-> Value Double
-> Value Double
-> Value Double
-> BoundingBoxProperty
mkBoundingBoxProperty Value Double
height Value Double
left Value Double
top Value Double
width
  = BoundingBoxProperty
      {haddock_workaround_ :: ()
haddock_workaround_ = (), height :: Value Double
height = Value Double
height, left :: Value Double
left = Value Double
left, top :: Value Double
top = Value Double
top,
       width :: Value Double
width = Value Double
width}
instance ToResourceProperties BoundingBoxProperty where
  toResourceProperties :: BoundingBoxProperty -> ResourceProperties
toResourceProperties BoundingBoxProperty {()
Value Double
haddock_workaround_ :: BoundingBoxProperty -> ()
height :: BoundingBoxProperty -> Value Double
left :: BoundingBoxProperty -> Value Double
top :: BoundingBoxProperty -> Value Double
width :: BoundingBoxProperty -> Value Double
haddock_workaround_ :: ()
height :: Value Double
left :: Value Double
top :: Value Double
width :: Value Double
..}
    = ResourceProperties
        {awsType :: Text
awsType = Text
"AWS::Rekognition::StreamProcessor.BoundingBox",
         supportsTags :: Bool
supportsTags = Bool
Prelude.False,
         properties :: Object
properties = [Key
"Height" Key -> Value Double -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= Value Double
height, Key
"Left" Key -> Value Double -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= Value Double
left,
                       Key
"Top" Key -> Value Double -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= Value Double
top, Key
"Width" Key -> Value Double -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= Value Double
width]}
instance JSON.ToJSON BoundingBoxProperty where
  toJSON :: BoundingBoxProperty -> Value
toJSON BoundingBoxProperty {()
Value Double
haddock_workaround_ :: BoundingBoxProperty -> ()
height :: BoundingBoxProperty -> Value Double
left :: BoundingBoxProperty -> Value Double
top :: BoundingBoxProperty -> Value Double
width :: BoundingBoxProperty -> Value Double
haddock_workaround_ :: ()
height :: Value Double
left :: Value Double
top :: Value Double
width :: Value Double
..}
    = [(Key, Value)] -> Value
JSON.object
        [Key
"Height" Key -> Value Double -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= Value Double
height, Key
"Left" Key -> Value Double -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= Value Double
left, Key
"Top" Key -> Value Double -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= Value Double
top,
         Key
"Width" Key -> Value Double -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= Value Double
width]
instance Property "Height" BoundingBoxProperty where
  type PropertyType "Height" BoundingBoxProperty = Value Prelude.Double
  set :: PropertyType "Height" BoundingBoxProperty
-> BoundingBoxProperty -> BoundingBoxProperty
set PropertyType "Height" BoundingBoxProperty
newValue BoundingBoxProperty {()
Value Double
haddock_workaround_ :: BoundingBoxProperty -> ()
height :: BoundingBoxProperty -> Value Double
left :: BoundingBoxProperty -> Value Double
top :: BoundingBoxProperty -> Value Double
width :: BoundingBoxProperty -> Value Double
haddock_workaround_ :: ()
height :: Value Double
left :: Value Double
top :: Value Double
width :: Value Double
..}
    = BoundingBoxProperty {height :: Value Double
height = PropertyType "Height" BoundingBoxProperty
Value Double
newValue, ()
Value Double
haddock_workaround_ :: ()
left :: Value Double
top :: Value Double
width :: Value Double
haddock_workaround_ :: ()
left :: Value Double
top :: Value Double
width :: Value Double
..}
instance Property "Left" BoundingBoxProperty where
  type PropertyType "Left" BoundingBoxProperty = Value Prelude.Double
  set :: PropertyType "Left" BoundingBoxProperty
-> BoundingBoxProperty -> BoundingBoxProperty
set PropertyType "Left" BoundingBoxProperty
newValue BoundingBoxProperty {()
Value Double
haddock_workaround_ :: BoundingBoxProperty -> ()
height :: BoundingBoxProperty -> Value Double
left :: BoundingBoxProperty -> Value Double
top :: BoundingBoxProperty -> Value Double
width :: BoundingBoxProperty -> Value Double
haddock_workaround_ :: ()
height :: Value Double
left :: Value Double
top :: Value Double
width :: Value Double
..}
    = BoundingBoxProperty {left :: Value Double
left = PropertyType "Left" BoundingBoxProperty
Value Double
newValue, ()
Value Double
haddock_workaround_ :: ()
height :: Value Double
top :: Value Double
width :: Value Double
haddock_workaround_ :: ()
height :: Value Double
top :: Value Double
width :: Value Double
..}
instance Property "Top" BoundingBoxProperty where
  type PropertyType "Top" BoundingBoxProperty = Value Prelude.Double
  set :: PropertyType "Top" BoundingBoxProperty
-> BoundingBoxProperty -> BoundingBoxProperty
set PropertyType "Top" BoundingBoxProperty
newValue BoundingBoxProperty {()
Value Double
haddock_workaround_ :: BoundingBoxProperty -> ()
height :: BoundingBoxProperty -> Value Double
left :: BoundingBoxProperty -> Value Double
top :: BoundingBoxProperty -> Value Double
width :: BoundingBoxProperty -> Value Double
haddock_workaround_ :: ()
height :: Value Double
left :: Value Double
top :: Value Double
width :: Value Double
..}
    = BoundingBoxProperty {top :: Value Double
top = PropertyType "Top" BoundingBoxProperty
Value Double
newValue, ()
Value Double
haddock_workaround_ :: ()
height :: Value Double
left :: Value Double
width :: Value Double
haddock_workaround_ :: ()
height :: Value Double
left :: Value Double
width :: Value Double
..}
instance Property "Width" BoundingBoxProperty where
  type PropertyType "Width" BoundingBoxProperty = Value Prelude.Double
  set :: PropertyType "Width" BoundingBoxProperty
-> BoundingBoxProperty -> BoundingBoxProperty
set PropertyType "Width" BoundingBoxProperty
newValue BoundingBoxProperty {()
Value Double
haddock_workaround_ :: BoundingBoxProperty -> ()
height :: BoundingBoxProperty -> Value Double
left :: BoundingBoxProperty -> Value Double
top :: BoundingBoxProperty -> Value Double
width :: BoundingBoxProperty -> Value Double
haddock_workaround_ :: ()
height :: Value Double
left :: Value Double
top :: Value Double
width :: Value Double
..}
    = BoundingBoxProperty {width :: Value Double
width = PropertyType "Width" BoundingBoxProperty
Value Double
newValue, ()
Value Double
haddock_workaround_ :: ()
height :: Value Double
left :: Value Double
top :: Value Double
haddock_workaround_ :: ()
height :: Value Double
left :: Value Double
top :: Value Double
..}