{-# 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.Glacier.ListTagsForVault
(
listTagsForVault
, ListTagsForVault
, ltfvAccountId
, ltfvVaultName
, listTagsForVaultResponse
, ListTagsForVaultResponse
, ltfvrsTags
, ltfvrsResponseStatus
) where
import Network.AWS.Glacier.Types
import Network.AWS.Glacier.Types.Product
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
data ListTagsForVault = ListTagsForVault'
{ _ltfvAccountId :: !Text
, _ltfvVaultName :: !Text
} deriving (Eq,Read,Show,Data,Typeable,Generic)
listTagsForVault
:: Text
-> Text
-> ListTagsForVault
listTagsForVault pAccountId_ pVaultName_ =
ListTagsForVault'
{ _ltfvAccountId = pAccountId_
, _ltfvVaultName = pVaultName_
}
ltfvAccountId :: Lens' ListTagsForVault Text
ltfvAccountId = lens _ltfvAccountId (\ s a -> s{_ltfvAccountId = a});
ltfvVaultName :: Lens' ListTagsForVault Text
ltfvVaultName = lens _ltfvVaultName (\ s a -> s{_ltfvVaultName = a});
instance AWSRequest ListTagsForVault where
type Rs ListTagsForVault = ListTagsForVaultResponse
request = get glacier
response
= receiveJSON
(\ s h x ->
ListTagsForVaultResponse' <$>
(x .?> "Tags" .!@ mempty) <*> (pure (fromEnum s)))
instance Hashable ListTagsForVault
instance NFData ListTagsForVault
instance ToHeaders ListTagsForVault where
toHeaders = const mempty
instance ToPath ListTagsForVault where
toPath ListTagsForVault'{..}
= mconcat
["/", toBS _ltfvAccountId, "/vaults/",
toBS _ltfvVaultName, "/tags"]
instance ToQuery ListTagsForVault where
toQuery = const mempty
data ListTagsForVaultResponse = ListTagsForVaultResponse'
{ _ltfvrsTags :: !(Maybe (Map Text Text))
, _ltfvrsResponseStatus :: !Int
} deriving (Eq,Read,Show,Data,Typeable,Generic)
listTagsForVaultResponse
:: Int
-> ListTagsForVaultResponse
listTagsForVaultResponse pResponseStatus_ =
ListTagsForVaultResponse'
{ _ltfvrsTags = Nothing
, _ltfvrsResponseStatus = pResponseStatus_
}
ltfvrsTags :: Lens' ListTagsForVaultResponse (HashMap Text Text)
ltfvrsTags = lens _ltfvrsTags (\ s a -> s{_ltfvrsTags = a}) . _Default . _Map;
ltfvrsResponseStatus :: Lens' ListTagsForVaultResponse Int
ltfvrsResponseStatus = lens _ltfvrsResponseStatus (\ s a -> s{_ltfvrsResponseStatus = a});
instance NFData ListTagsForVaultResponse