{-# 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.StorageGateway.DescribeChapCredentials
(
describeChapCredentials
, DescribeChapCredentials
, dccTargetARN
, describeChapCredentialsResponse
, DescribeChapCredentialsResponse
, dccrsChapCredentials
, dccrsResponseStatus
) where
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
import Network.AWS.StorageGateway.Types
import Network.AWS.StorageGateway.Types.Product
newtype DescribeChapCredentials = DescribeChapCredentials'
{ _dccTargetARN :: Text
} deriving (Eq,Read,Show,Data,Typeable,Generic)
describeChapCredentials
:: Text
-> DescribeChapCredentials
describeChapCredentials pTargetARN_ =
DescribeChapCredentials'
{ _dccTargetARN = pTargetARN_
}
dccTargetARN :: Lens' DescribeChapCredentials Text
dccTargetARN = lens _dccTargetARN (\ s a -> s{_dccTargetARN = a});
instance AWSRequest DescribeChapCredentials where
type Rs DescribeChapCredentials =
DescribeChapCredentialsResponse
request = postJSON storageGateway
response
= receiveJSON
(\ s h x ->
DescribeChapCredentialsResponse' <$>
(x .?> "ChapCredentials" .!@ mempty) <*>
(pure (fromEnum s)))
instance Hashable DescribeChapCredentials
instance NFData DescribeChapCredentials
instance ToHeaders DescribeChapCredentials where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("StorageGateway_20130630.DescribeChapCredentials" ::
ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON DescribeChapCredentials where
toJSON DescribeChapCredentials'{..}
= object
(catMaybes [Just ("TargetARN" .= _dccTargetARN)])
instance ToPath DescribeChapCredentials where
toPath = const "/"
instance ToQuery DescribeChapCredentials where
toQuery = const mempty
data DescribeChapCredentialsResponse = DescribeChapCredentialsResponse'
{ _dccrsChapCredentials :: !(Maybe [ChapInfo])
, _dccrsResponseStatus :: !Int
} deriving (Eq,Read,Show,Data,Typeable,Generic)
describeChapCredentialsResponse
:: Int
-> DescribeChapCredentialsResponse
describeChapCredentialsResponse pResponseStatus_ =
DescribeChapCredentialsResponse'
{ _dccrsChapCredentials = Nothing
, _dccrsResponseStatus = pResponseStatus_
}
dccrsChapCredentials :: Lens' DescribeChapCredentialsResponse [ChapInfo]
dccrsChapCredentials = lens _dccrsChapCredentials (\ s a -> s{_dccrsChapCredentials = a}) . _Default . _Coerce;
dccrsResponseStatus :: Lens' DescribeChapCredentialsResponse Int
dccrsResponseStatus = lens _dccrsResponseStatus (\ s a -> s{_dccrsResponseStatus = a});
instance NFData DescribeChapCredentialsResponse