{-# 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.Route53Domains.ListTagsForDomain
(
listTagsForDomain
, ListTagsForDomain
, ltfdDomainName
, listTagsForDomainResponse
, ListTagsForDomainResponse
, ltfdrsResponseStatus
, ltfdrsTagList
) where
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
import Network.AWS.Route53Domains.Types
import Network.AWS.Route53Domains.Types.Product
newtype ListTagsForDomain = ListTagsForDomain'
{ _ltfdDomainName :: Text
} deriving (Eq, Read, Show, Data, Typeable, Generic)
listTagsForDomain
:: Text
-> ListTagsForDomain
listTagsForDomain pDomainName_ =
ListTagsForDomain' {_ltfdDomainName = pDomainName_}
ltfdDomainName :: Lens' ListTagsForDomain Text
ltfdDomainName = lens _ltfdDomainName (\ s a -> s{_ltfdDomainName = a})
instance AWSRequest ListTagsForDomain where
type Rs ListTagsForDomain = ListTagsForDomainResponse
request = postJSON route53Domains
response
= receiveJSON
(\ s h x ->
ListTagsForDomainResponse' <$>
(pure (fromEnum s)) <*> (x .?> "TagList" .!@ mempty))
instance Hashable ListTagsForDomain where
instance NFData ListTagsForDomain where
instance ToHeaders ListTagsForDomain where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("Route53Domains_v20140515.ListTagsForDomain" ::
ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON ListTagsForDomain where
toJSON ListTagsForDomain'{..}
= object
(catMaybes [Just ("DomainName" .= _ltfdDomainName)])
instance ToPath ListTagsForDomain where
toPath = const "/"
instance ToQuery ListTagsForDomain where
toQuery = const mempty
data ListTagsForDomainResponse = ListTagsForDomainResponse'
{ _ltfdrsResponseStatus :: !Int
, _ltfdrsTagList :: ![Tag]
} deriving (Eq, Read, Show, Data, Typeable, Generic)
listTagsForDomainResponse
:: Int
-> ListTagsForDomainResponse
listTagsForDomainResponse pResponseStatus_ =
ListTagsForDomainResponse'
{_ltfdrsResponseStatus = pResponseStatus_, _ltfdrsTagList = mempty}
ltfdrsResponseStatus :: Lens' ListTagsForDomainResponse Int
ltfdrsResponseStatus = lens _ltfdrsResponseStatus (\ s a -> s{_ltfdrsResponseStatus = a})
ltfdrsTagList :: Lens' ListTagsForDomainResponse [Tag]
ltfdrsTagList = lens _ltfdrsTagList (\ s a -> s{_ltfdrsTagList = a}) . _Coerce
instance NFData ListTagsForDomainResponse where