module Stratosphere.ResourceProperties.EBSBlockDevice where
import Control.Lens
import Data.Aeson
import Data.Aeson.Types
import Data.Text
import GHC.Generics
import Stratosphere.Values
data EBSBlockDevice =
EBSBlockDevice
{ _eBSBlockDeviceDeleteOnTermination :: Maybe (Val Bool')
, _eBSBlockDeviceEncrypted :: Maybe (Val Bool')
, _eBSBlockDeviceIops :: Maybe (Val Integer')
, _eBSBlockDeviceSnapshotId :: Maybe (Val Text)
, _eBSBlockDeviceVolumeSize :: Maybe (Val Text)
, _eBSBlockDeviceVolumeType :: Maybe (Val Text)
} deriving (Show, Generic)
instance ToJSON EBSBlockDevice where
toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 15, omitNothingFields = True }
instance FromJSON EBSBlockDevice where
parseJSON = genericParseJSON defaultOptions { fieldLabelModifier = Prelude.drop 15, omitNothingFields = True }
ebsBlockDevice
:: EBSBlockDevice
ebsBlockDevice =
EBSBlockDevice
{ _eBSBlockDeviceDeleteOnTermination = Nothing
, _eBSBlockDeviceEncrypted = Nothing
, _eBSBlockDeviceIops = Nothing
, _eBSBlockDeviceSnapshotId = Nothing
, _eBSBlockDeviceVolumeSize = Nothing
, _eBSBlockDeviceVolumeType = Nothing
}
ebsbdDeleteOnTermination :: Lens' EBSBlockDevice (Maybe (Val Bool'))
ebsbdDeleteOnTermination = lens _eBSBlockDeviceDeleteOnTermination (\s a -> s { _eBSBlockDeviceDeleteOnTermination = a })
ebsbdEncrypted :: Lens' EBSBlockDevice (Maybe (Val Bool'))
ebsbdEncrypted = lens _eBSBlockDeviceEncrypted (\s a -> s { _eBSBlockDeviceEncrypted = a })
ebsbdIops :: Lens' EBSBlockDevice (Maybe (Val Integer'))
ebsbdIops = lens _eBSBlockDeviceIops (\s a -> s { _eBSBlockDeviceIops = a })
ebsbdSnapshotId :: Lens' EBSBlockDevice (Maybe (Val Text))
ebsbdSnapshotId = lens _eBSBlockDeviceSnapshotId (\s a -> s { _eBSBlockDeviceSnapshotId = a })
ebsbdVolumeSize :: Lens' EBSBlockDevice (Maybe (Val Text))
ebsbdVolumeSize = lens _eBSBlockDeviceVolumeSize (\s a -> s { _eBSBlockDeviceVolumeSize = a })
ebsbdVolumeType :: Lens' EBSBlockDevice (Maybe (Val Text))
ebsbdVolumeType = lens _eBSBlockDeviceVolumeType (\s a -> s { _eBSBlockDeviceVolumeType = a })