{-# LANGUAGE DeriveDataTypeable #-}
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE TypeFamilies #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
{-# OPTIONS_GHC -fno-warn-unused-binds #-}
{-# OPTIONS_GHC -fno-warn-unused-matches #-}
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 where
instance NFData ModifyLunaClient where
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 where