module Network.AWS.AutoScaling.PutNotificationConfiguration
(
PutNotificationConfiguration
, putNotificationConfiguration
, pncAutoScalingGroupName
, pncNotificationTypes
, pncTopicARN
, PutNotificationConfigurationResponse
, putNotificationConfigurationResponse
) where
import Network.AWS.Prelude
import Network.AWS.Request.Query
import Network.AWS.AutoScaling.Types
import qualified GHC.Exts
data PutNotificationConfiguration = PutNotificationConfiguration
{ _pncAutoScalingGroupName :: Text
, _pncNotificationTypes :: List "LifecycleHookTypes" Text
, _pncTopicARN :: Text
} deriving (Eq, Ord, Show)
putNotificationConfiguration :: Text
-> Text
-> PutNotificationConfiguration
putNotificationConfiguration p1 p2 = PutNotificationConfiguration
{ _pncAutoScalingGroupName = p1
, _pncTopicARN = p2
, _pncNotificationTypes = mempty
}
pncAutoScalingGroupName :: Lens' PutNotificationConfiguration Text
pncAutoScalingGroupName =
lens _pncAutoScalingGroupName (\s a -> s { _pncAutoScalingGroupName = a })
pncNotificationTypes :: Lens' PutNotificationConfiguration [Text]
pncNotificationTypes =
lens _pncNotificationTypes (\s a -> s { _pncNotificationTypes = a })
. _List
pncTopicARN :: Lens' PutNotificationConfiguration Text
pncTopicARN = lens _pncTopicARN (\s a -> s { _pncTopicARN = a })
data PutNotificationConfigurationResponse = PutNotificationConfigurationResponse
deriving (Eq, Ord, Show, Generic)
putNotificationConfigurationResponse :: PutNotificationConfigurationResponse
putNotificationConfigurationResponse = PutNotificationConfigurationResponse
instance ToPath PutNotificationConfiguration where
toPath = const "/"
instance ToQuery PutNotificationConfiguration where
toQuery PutNotificationConfiguration{..} = mconcat
[ "AutoScalingGroupName" =? _pncAutoScalingGroupName
, "NotificationTypes" =? _pncNotificationTypes
, "TopicARN" =? _pncTopicARN
]
instance ToHeaders PutNotificationConfiguration
instance AWSRequest PutNotificationConfiguration where
type Sv PutNotificationConfiguration = AutoScaling
type Rs PutNotificationConfiguration = PutNotificationConfigurationResponse
request = post "PutNotificationConfiguration"
response = nullResponse PutNotificationConfigurationResponse