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