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