module Network.AWS.EC2.GetPasswordData
(
getPasswordData
, GetPasswordData
, gpdDryRun
, gpdInstanceId
, getPasswordDataResponse
, GetPasswordDataResponse
, gpdrsResponseStatus
, gpdrsInstanceId
, gpdrsPasswordData
, gpdrsTimestamp
) where
import Network.AWS.EC2.Types
import Network.AWS.EC2.Types.Product
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
data GetPasswordData = GetPasswordData'
{ _gpdDryRun :: !(Maybe Bool)
, _gpdInstanceId :: !Text
} deriving (Eq,Read,Show,Data,Typeable,Generic)
getPasswordData
:: Text
-> GetPasswordData
getPasswordData pInstanceId_ =
GetPasswordData'
{ _gpdDryRun = Nothing
, _gpdInstanceId = pInstanceId_
}
gpdDryRun :: Lens' GetPasswordData (Maybe Bool)
gpdDryRun = lens _gpdDryRun (\ s a -> s{_gpdDryRun = a});
gpdInstanceId :: Lens' GetPasswordData Text
gpdInstanceId = lens _gpdInstanceId (\ s a -> s{_gpdInstanceId = a});
instance AWSRequest GetPasswordData where
type Rs GetPasswordData = GetPasswordDataResponse
request = postQuery ec2
response
= receiveXML
(\ s h x ->
GetPasswordDataResponse' <$>
(pure (fromEnum s)) <*> (x .@ "instanceId") <*>
(x .@ "passwordData")
<*> (x .@ "timestamp"))
instance Hashable GetPasswordData
instance NFData GetPasswordData
instance ToHeaders GetPasswordData where
toHeaders = const mempty
instance ToPath GetPasswordData where
toPath = const "/"
instance ToQuery GetPasswordData where
toQuery GetPasswordData'{..}
= mconcat
["Action" =: ("GetPasswordData" :: ByteString),
"Version" =: ("2015-10-01" :: ByteString),
"DryRun" =: _gpdDryRun,
"InstanceId" =: _gpdInstanceId]
data GetPasswordDataResponse = GetPasswordDataResponse'
{ _gpdrsResponseStatus :: !Int
, _gpdrsInstanceId :: !Text
, _gpdrsPasswordData :: !Text
, _gpdrsTimestamp :: !ISO8601
} deriving (Eq,Read,Show,Data,Typeable,Generic)
getPasswordDataResponse
:: Int
-> Text
-> Text
-> UTCTime
-> GetPasswordDataResponse
getPasswordDataResponse pResponseStatus_ pInstanceId_ pPasswordData_ pTimestamp_ =
GetPasswordDataResponse'
{ _gpdrsResponseStatus = pResponseStatus_
, _gpdrsInstanceId = pInstanceId_
, _gpdrsPasswordData = pPasswordData_
, _gpdrsTimestamp = _Time # pTimestamp_
}
gpdrsResponseStatus :: Lens' GetPasswordDataResponse Int
gpdrsResponseStatus = lens _gpdrsResponseStatus (\ s a -> s{_gpdrsResponseStatus = a});
gpdrsInstanceId :: Lens' GetPasswordDataResponse Text
gpdrsInstanceId = lens _gpdrsInstanceId (\ s a -> s{_gpdrsInstanceId = a});
gpdrsPasswordData :: Lens' GetPasswordDataResponse Text
gpdrsPasswordData = lens _gpdrsPasswordData (\ s a -> s{_gpdrsPasswordData = a});
gpdrsTimestamp :: Lens' GetPasswordDataResponse UTCTime
gpdrsTimestamp = lens _gpdrsTimestamp (\ s a -> s{_gpdrsTimestamp = a}) . _Time;
instance NFData GetPasswordDataResponse