module Stratosphere.Pinpoint.Segment.GPSPointProperty (
module Exports, GPSPointProperty(..), mkGPSPointProperty
) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import {-# SOURCE #-} Stratosphere.Pinpoint.Segment.CoordinatesProperty as Exports
import Stratosphere.ResourceProperties
import Stratosphere.Value
data GPSPointProperty
=
GPSPointProperty {GPSPointProperty -> ()
haddock_workaround_ :: (),
GPSPointProperty -> CoordinatesProperty
coordinates :: CoordinatesProperty,
GPSPointProperty -> Value Double
rangeInKilometers :: (Value Prelude.Double)}
deriving stock (GPSPointProperty -> GPSPointProperty -> Bool
(GPSPointProperty -> GPSPointProperty -> Bool)
-> (GPSPointProperty -> GPSPointProperty -> Bool)
-> Eq GPSPointProperty
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: GPSPointProperty -> GPSPointProperty -> Bool
== :: GPSPointProperty -> GPSPointProperty -> Bool
$c/= :: GPSPointProperty -> GPSPointProperty -> Bool
/= :: GPSPointProperty -> GPSPointProperty -> Bool
Prelude.Eq, Int -> GPSPointProperty -> ShowS
[GPSPointProperty] -> ShowS
GPSPointProperty -> String
(Int -> GPSPointProperty -> ShowS)
-> (GPSPointProperty -> String)
-> ([GPSPointProperty] -> ShowS)
-> Show GPSPointProperty
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> GPSPointProperty -> ShowS
showsPrec :: Int -> GPSPointProperty -> ShowS
$cshow :: GPSPointProperty -> String
show :: GPSPointProperty -> String
$cshowList :: [GPSPointProperty] -> ShowS
showList :: [GPSPointProperty] -> ShowS
Prelude.Show)
mkGPSPointProperty ::
CoordinatesProperty -> Value Prelude.Double -> GPSPointProperty
mkGPSPointProperty :: CoordinatesProperty -> Value Double -> GPSPointProperty
mkGPSPointProperty CoordinatesProperty
coordinates Value Double
rangeInKilometers
= GPSPointProperty
{haddock_workaround_ :: ()
haddock_workaround_ = (), coordinates :: CoordinatesProperty
coordinates = CoordinatesProperty
coordinates,
rangeInKilometers :: Value Double
rangeInKilometers = Value Double
rangeInKilometers}
instance ToResourceProperties GPSPointProperty where
toResourceProperties :: GPSPointProperty -> ResourceProperties
toResourceProperties GPSPointProperty {()
Value Double
CoordinatesProperty
haddock_workaround_ :: GPSPointProperty -> ()
coordinates :: GPSPointProperty -> CoordinatesProperty
rangeInKilometers :: GPSPointProperty -> Value Double
haddock_workaround_ :: ()
coordinates :: CoordinatesProperty
rangeInKilometers :: Value Double
..}
= ResourceProperties
{awsType :: Text
awsType = Text
"AWS::Pinpoint::Segment.GPSPoint",
supportsTags :: Bool
supportsTags = Bool
Prelude.False,
properties :: Object
properties = [Key
"Coordinates" Key -> CoordinatesProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= CoordinatesProperty
coordinates,
Key
"RangeInKilometers" 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
rangeInKilometers]}
instance JSON.ToJSON GPSPointProperty where
toJSON :: GPSPointProperty -> Value
toJSON GPSPointProperty {()
Value Double
CoordinatesProperty
haddock_workaround_ :: GPSPointProperty -> ()
coordinates :: GPSPointProperty -> CoordinatesProperty
rangeInKilometers :: GPSPointProperty -> Value Double
haddock_workaround_ :: ()
coordinates :: CoordinatesProperty
rangeInKilometers :: Value Double
..}
= [(Key, Value)] -> Value
JSON.object
[Key
"Coordinates" Key -> CoordinatesProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= CoordinatesProperty
coordinates,
Key
"RangeInKilometers" 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
rangeInKilometers]
instance Property "Coordinates" GPSPointProperty where
type PropertyType "Coordinates" GPSPointProperty = CoordinatesProperty
set :: PropertyType "Coordinates" GPSPointProperty
-> GPSPointProperty -> GPSPointProperty
set PropertyType "Coordinates" GPSPointProperty
newValue GPSPointProperty {()
Value Double
CoordinatesProperty
haddock_workaround_ :: GPSPointProperty -> ()
coordinates :: GPSPointProperty -> CoordinatesProperty
rangeInKilometers :: GPSPointProperty -> Value Double
haddock_workaround_ :: ()
coordinates :: CoordinatesProperty
rangeInKilometers :: Value Double
..}
= GPSPointProperty {coordinates :: CoordinatesProperty
coordinates = PropertyType "Coordinates" GPSPointProperty
CoordinatesProperty
newValue, ()
Value Double
haddock_workaround_ :: ()
rangeInKilometers :: Value Double
haddock_workaround_ :: ()
rangeInKilometers :: Value Double
..}
instance Property "RangeInKilometers" GPSPointProperty where
type PropertyType "RangeInKilometers" GPSPointProperty = Value Prelude.Double
set :: PropertyType "RangeInKilometers" GPSPointProperty
-> GPSPointProperty -> GPSPointProperty
set PropertyType "RangeInKilometers" GPSPointProperty
newValue GPSPointProperty {()
Value Double
CoordinatesProperty
haddock_workaround_ :: GPSPointProperty -> ()
coordinates :: GPSPointProperty -> CoordinatesProperty
rangeInKilometers :: GPSPointProperty -> Value Double
haddock_workaround_ :: ()
coordinates :: CoordinatesProperty
rangeInKilometers :: Value Double
..}
= GPSPointProperty {rangeInKilometers :: Value Double
rangeInKilometers = PropertyType "RangeInKilometers" GPSPointProperty
Value Double
newValue, ()
CoordinatesProperty
haddock_workaround_ :: ()
coordinates :: CoordinatesProperty
haddock_workaround_ :: ()
coordinates :: CoordinatesProperty
..}