module Network.AWS.StorageGateway.ListLocalDisks
(
ListLocalDisks
, listLocalDisks
, lldGatewayARN
, ListLocalDisksResponse
, listLocalDisksResponse
, lldrDisks
, lldrGatewayARN
) where
import Network.AWS.Prelude
import Network.AWS.Request.JSON
import Network.AWS.StorageGateway.Types
import qualified GHC.Exts
newtype ListLocalDisks = ListLocalDisks
{ _lldGatewayARN :: Text
} deriving (Eq, Ord, Show, Monoid, IsString)
listLocalDisks :: Text
-> ListLocalDisks
listLocalDisks p1 = ListLocalDisks
{ _lldGatewayARN = p1
}
lldGatewayARN :: Lens' ListLocalDisks Text
lldGatewayARN = lens _lldGatewayARN (\s a -> s { _lldGatewayARN = a })
data ListLocalDisksResponse = ListLocalDisksResponse
{ _lldrDisks :: List "Disks" Disk
, _lldrGatewayARN :: Maybe Text
} deriving (Eq, Show)
listLocalDisksResponse :: ListLocalDisksResponse
listLocalDisksResponse = ListLocalDisksResponse
{ _lldrGatewayARN = Nothing
, _lldrDisks = mempty
}
lldrDisks :: Lens' ListLocalDisksResponse [Disk]
lldrDisks = lens _lldrDisks (\s a -> s { _lldrDisks = a }) . _List
lldrGatewayARN :: Lens' ListLocalDisksResponse (Maybe Text)
lldrGatewayARN = lens _lldrGatewayARN (\s a -> s { _lldrGatewayARN = a })
instance ToPath ListLocalDisks where
toPath = const "/"
instance ToQuery ListLocalDisks where
toQuery = const mempty
instance ToHeaders ListLocalDisks
instance ToJSON ListLocalDisks where
toJSON ListLocalDisks{..} = object
[ "GatewayARN" .= _lldGatewayARN
]
instance AWSRequest ListLocalDisks where
type Sv ListLocalDisks = StorageGateway
type Rs ListLocalDisks = ListLocalDisksResponse
request = post "ListLocalDisks"
response = jsonResponse
instance FromJSON ListLocalDisksResponse where
parseJSON = withObject "ListLocalDisksResponse" $ \o -> ListLocalDisksResponse
<$> o .:? "Disks" .!= mempty
<*> o .:? "GatewayARN"