module Network.AWS.CloudHSM.ModifyHapg
(
ModifyHapg
, modifyHapg
, mhHapgArn
, mhLabel
, mhPartitionSerialList
, ModifyHapgResponse
, modifyHapgResponse
, mhrHapgArn
) where
import Network.AWS.Data (Object)
import Network.AWS.Prelude
import Network.AWS.Request.JSON
import Network.AWS.CloudHSM.Types
import qualified GHC.Exts
data ModifyHapg = ModifyHapg
{ _mhHapgArn :: Text
, _mhLabel :: Maybe Text
, _mhPartitionSerialList :: List "PartitionSerialList" Text
} deriving (Eq, Ord, Read, Show)
modifyHapg :: Text
-> ModifyHapg
modifyHapg p1 = ModifyHapg
{ _mhHapgArn = p1
, _mhLabel = Nothing
, _mhPartitionSerialList = mempty
}
mhHapgArn :: Lens' ModifyHapg Text
mhHapgArn = lens _mhHapgArn (\s a -> s { _mhHapgArn = a })
mhLabel :: Lens' ModifyHapg (Maybe Text)
mhLabel = lens _mhLabel (\s a -> s { _mhLabel = a })
mhPartitionSerialList :: Lens' ModifyHapg [Text]
mhPartitionSerialList =
lens _mhPartitionSerialList (\s a -> s { _mhPartitionSerialList = a })
. _List
newtype ModifyHapgResponse = ModifyHapgResponse
{ _mhrHapgArn :: Maybe Text
} deriving (Eq, Ord, Read, Show, Monoid)
modifyHapgResponse :: ModifyHapgResponse
modifyHapgResponse = ModifyHapgResponse
{ _mhrHapgArn = Nothing
}
mhrHapgArn :: Lens' ModifyHapgResponse (Maybe Text)
mhrHapgArn = lens _mhrHapgArn (\s a -> s { _mhrHapgArn = a })
instance ToPath ModifyHapg where
toPath = const "/"
instance ToQuery ModifyHapg where
toQuery = const mempty
instance ToHeaders ModifyHapg
instance ToJSON ModifyHapg where
toJSON ModifyHapg{..} = object
[ "HapgArn" .= _mhHapgArn
, "Label" .= _mhLabel
, "PartitionSerialList" .= _mhPartitionSerialList
]
instance AWSRequest ModifyHapg where
type Sv ModifyHapg = CloudHSM
type Rs ModifyHapg = ModifyHapgResponse
request = post "ModifyHapg"
response = jsonResponse
instance FromJSON ModifyHapgResponse where
parseJSON = withObject "ModifyHapgResponse" $ \o -> ModifyHapgResponse
<$> o .:? "HapgArn"