module Network.AWS.CloudHSM.ModifyLunaClient
(
modifyLunaClient
, ModifyLunaClient
, mlcClientARN
, mlcCertificate
, modifyLunaClientResponse
, ModifyLunaClientResponse
, mlcrsClientARN
, mlcrsResponseStatus
) where
import Network.AWS.CloudHSM.Types
import Network.AWS.CloudHSM.Types.Product
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
data ModifyLunaClient = ModifyLunaClient'
{ _mlcClientARN :: !Text
, _mlcCertificate :: !Text
} deriving (Eq,Read,Show,Data,Typeable,Generic)
modifyLunaClient
:: Text
-> Text
-> ModifyLunaClient
modifyLunaClient pClientARN_ pCertificate_ =
ModifyLunaClient'
{ _mlcClientARN = pClientARN_
, _mlcCertificate = pCertificate_
}
mlcClientARN :: Lens' ModifyLunaClient Text
mlcClientARN = lens _mlcClientARN (\ s a -> s{_mlcClientARN = a});
mlcCertificate :: Lens' ModifyLunaClient Text
mlcCertificate = lens _mlcCertificate (\ s a -> s{_mlcCertificate = a});
instance AWSRequest ModifyLunaClient where
type Rs ModifyLunaClient = ModifyLunaClientResponse
request = postJSON cloudHSM
response
= receiveJSON
(\ s h x ->
ModifyLunaClientResponse' <$>
(x .?> "ClientArn") <*> (pure (fromEnum s)))
instance Hashable ModifyLunaClient
instance NFData ModifyLunaClient
instance ToHeaders ModifyLunaClient where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("CloudHsmFrontendService.ModifyLunaClient" ::
ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON ModifyLunaClient where
toJSON ModifyLunaClient'{..}
= object
(catMaybes
[Just ("ClientArn" .= _mlcClientARN),
Just ("Certificate" .= _mlcCertificate)])
instance ToPath ModifyLunaClient where
toPath = const "/"
instance ToQuery ModifyLunaClient where
toQuery = const mempty
data ModifyLunaClientResponse = ModifyLunaClientResponse'
{ _mlcrsClientARN :: !(Maybe Text)
, _mlcrsResponseStatus :: !Int
} deriving (Eq,Read,Show,Data,Typeable,Generic)
modifyLunaClientResponse
:: Int
-> ModifyLunaClientResponse
modifyLunaClientResponse pResponseStatus_ =
ModifyLunaClientResponse'
{ _mlcrsClientARN = Nothing
, _mlcrsResponseStatus = pResponseStatus_
}
mlcrsClientARN :: Lens' ModifyLunaClientResponse (Maybe Text)
mlcrsClientARN = lens _mlcrsClientARN (\ s a -> s{_mlcrsClientARN = a});
mlcrsResponseStatus :: Lens' ModifyLunaClientResponse Int
mlcrsResponseStatus = lens _mlcrsResponseStatus (\ s a -> s{_mlcrsResponseStatus = a});
instance NFData ModifyLunaClientResponse