module Network.AWS.CloudHSM.ModifyHsm
(
ModifyHsm
, modifyHsm
, mhEniIp
, mhExternalId
, mhHsmArn
, mhIamRoleArn
, mhSubnetId
, mhSyslogIp
, ModifyHsmResponse
, modifyHsmResponse
, mhrHsmArn
) where
import Network.AWS.Prelude
import Network.AWS.Request.JSON
import Network.AWS.CloudHSM.Types
import qualified GHC.Exts
data ModifyHsm = ModifyHsm
{ _mhEniIp :: Maybe Text
, _mhExternalId :: Maybe Text
, _mhHsmArn :: Text
, _mhIamRoleArn :: Maybe Text
, _mhSubnetId :: Maybe Text
, _mhSyslogIp :: Maybe Text
} deriving (Eq, Ord, Show)
modifyHsm :: Text
-> ModifyHsm
modifyHsm p1 = ModifyHsm
{ _mhHsmArn = p1
, _mhSubnetId = Nothing
, _mhEniIp = Nothing
, _mhIamRoleArn = Nothing
, _mhExternalId = Nothing
, _mhSyslogIp = Nothing
}
mhEniIp :: Lens' ModifyHsm (Maybe Text)
mhEniIp = lens _mhEniIp (\s a -> s { _mhEniIp = a })
mhExternalId :: Lens' ModifyHsm (Maybe Text)
mhExternalId = lens _mhExternalId (\s a -> s { _mhExternalId = a })
mhHsmArn :: Lens' ModifyHsm Text
mhHsmArn = lens _mhHsmArn (\s a -> s { _mhHsmArn = a })
mhIamRoleArn :: Lens' ModifyHsm (Maybe Text)
mhIamRoleArn = lens _mhIamRoleArn (\s a -> s { _mhIamRoleArn = a })
mhSubnetId :: Lens' ModifyHsm (Maybe Text)
mhSubnetId = lens _mhSubnetId (\s a -> s { _mhSubnetId = a })
mhSyslogIp :: Lens' ModifyHsm (Maybe Text)
mhSyslogIp = lens _mhSyslogIp (\s a -> s { _mhSyslogIp = a })
newtype ModifyHsmResponse = ModifyHsmResponse
{ _mhrHsmArn :: Maybe Text
} deriving (Eq, Ord, Show, Monoid)
modifyHsmResponse :: ModifyHsmResponse
modifyHsmResponse = ModifyHsmResponse
{ _mhrHsmArn = Nothing
}
mhrHsmArn :: Lens' ModifyHsmResponse (Maybe Text)
mhrHsmArn = lens _mhrHsmArn (\s a -> s { _mhrHsmArn = a })
instance ToPath ModifyHsm where
toPath = const "/"
instance ToQuery ModifyHsm where
toQuery = const mempty
instance ToHeaders ModifyHsm
instance ToJSON ModifyHsm where
toJSON ModifyHsm{..} = object
[ "HsmArn" .= _mhHsmArn
, "SubnetId" .= _mhSubnetId
, "EniIp" .= _mhEniIp
, "IamRoleArn" .= _mhIamRoleArn
, "ExternalId" .= _mhExternalId
, "SyslogIp" .= _mhSyslogIp
]
instance AWSRequest ModifyHsm where
type Sv ModifyHsm = CloudHSM
type Rs ModifyHsm = ModifyHsmResponse
request = post "ModifyHsm"
response = jsonResponse
instance FromJSON ModifyHsmResponse where
parseJSON = withObject "ModifyHsmResponse" $ \o -> ModifyHsmResponse
<$> o .:? "HsmArn"