{-# 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 where
instance NFData ListTagsForVault where
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 where