module Stratosphere.ResourceProperties.AutoScalingNotificationConfigurations where
import Control.Lens
import Data.Aeson
import Data.Aeson.Types
import Data.Text
import GHC.Generics
import Stratosphere.Values
data AutoScalingNotificationConfigurations =
AutoScalingNotificationConfigurations
{ _autoScalingNotificationConfigurationsNotificationTypes :: [Val Text]
, _autoScalingNotificationConfigurationsTopicARN :: Val Text
} deriving (Show, Generic)
instance ToJSON AutoScalingNotificationConfigurations where
toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 38, omitNothingFields = True }
instance FromJSON AutoScalingNotificationConfigurations where
parseJSON = genericParseJSON defaultOptions { fieldLabelModifier = Prelude.drop 38, omitNothingFields = True }
autoScalingNotificationConfigurations
:: [Val Text]
-> Val Text
-> AutoScalingNotificationConfigurations
autoScalingNotificationConfigurations notificationTypesarg topicARNarg =
AutoScalingNotificationConfigurations
{ _autoScalingNotificationConfigurationsNotificationTypes = notificationTypesarg
, _autoScalingNotificationConfigurationsTopicARN = topicARNarg
}
asncNotificationTypes :: Lens' AutoScalingNotificationConfigurations [Val Text]
asncNotificationTypes = lens _autoScalingNotificationConfigurationsNotificationTypes (\s a -> s { _autoScalingNotificationConfigurationsNotificationTypes = a })
asncTopicARN :: Lens' AutoScalingNotificationConfigurations (Val Text)
asncTopicARN = lens _autoScalingNotificationConfigurationsTopicARN (\s a -> s { _autoScalingNotificationConfigurationsTopicARN = a })