module Stratosphere.ResourceProperties.EC2MountPoint where
import Control.Lens
import Data.Aeson
import Data.Aeson.Types
import Data.Text
import GHC.Generics
import Stratosphere.Values
data EC2MountPoint =
EC2MountPoint
{ _eC2MountPointDevice :: Val Text
, _eC2MountPointVolumeId :: Val Text
} deriving (Show, Generic)
instance ToJSON EC2MountPoint where
toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 14, omitNothingFields = True }
instance FromJSON EC2MountPoint where
parseJSON = genericParseJSON defaultOptions { fieldLabelModifier = Prelude.drop 14, omitNothingFields = True }
ec2MountPoint
:: Val Text
-> Val Text
-> EC2MountPoint
ec2MountPoint devicearg volumeIdarg =
EC2MountPoint
{ _eC2MountPointDevice = devicearg
, _eC2MountPointVolumeId = volumeIdarg
}
ecmpDevice :: Lens' EC2MountPoint (Val Text)
ecmpDevice = lens _eC2MountPointDevice (\s a -> s { _eC2MountPointDevice = a })
ecmpVolumeId :: Lens' EC2MountPoint (Val Text)
ecmpVolumeId = lens _eC2MountPointVolumeId (\s a -> s { _eC2MountPointVolumeId = a })