{-# 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.AppSync.UpdateResolver
(
updateResolver
, UpdateResolver
, urResponseMappingTemplate
, urApiId
, urTypeName
, urFieldName
, urDataSourceName
, urRequestMappingTemplate
, updateResolverResponse
, UpdateResolverResponse
, urrsResolver
, urrsResponseStatus
) where
import Network.AWS.AppSync.Types
import Network.AWS.AppSync.Types.Product
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
data UpdateResolver = UpdateResolver'
{ _urResponseMappingTemplate :: !(Maybe Text)
, _urApiId :: !Text
, _urTypeName :: !Text
, _urFieldName :: !Text
, _urDataSourceName :: !Text
, _urRequestMappingTemplate :: !Text
} deriving (Eq, Read, Show, Data, Typeable, Generic)
updateResolver
:: Text
-> Text
-> Text
-> Text
-> Text
-> UpdateResolver
updateResolver pApiId_ pTypeName_ pFieldName_ pDataSourceName_ pRequestMappingTemplate_ =
UpdateResolver'
{ _urResponseMappingTemplate = Nothing
, _urApiId = pApiId_
, _urTypeName = pTypeName_
, _urFieldName = pFieldName_
, _urDataSourceName = pDataSourceName_
, _urRequestMappingTemplate = pRequestMappingTemplate_
}
urResponseMappingTemplate :: Lens' UpdateResolver (Maybe Text)
urResponseMappingTemplate = lens _urResponseMappingTemplate (\ s a -> s{_urResponseMappingTemplate = a})
urApiId :: Lens' UpdateResolver Text
urApiId = lens _urApiId (\ s a -> s{_urApiId = a})
urTypeName :: Lens' UpdateResolver Text
urTypeName = lens _urTypeName (\ s a -> s{_urTypeName = a})
urFieldName :: Lens' UpdateResolver Text
urFieldName = lens _urFieldName (\ s a -> s{_urFieldName = a})
urDataSourceName :: Lens' UpdateResolver Text
urDataSourceName = lens _urDataSourceName (\ s a -> s{_urDataSourceName = a})
urRequestMappingTemplate :: Lens' UpdateResolver Text
urRequestMappingTemplate = lens _urRequestMappingTemplate (\ s a -> s{_urRequestMappingTemplate = a})
instance AWSRequest UpdateResolver where
type Rs UpdateResolver = UpdateResolverResponse
request = postJSON appSync
response
= receiveJSON
(\ s h x ->
UpdateResolverResponse' <$>
(x .?> "resolver") <*> (pure (fromEnum s)))
instance Hashable UpdateResolver where
instance NFData UpdateResolver where
instance ToHeaders UpdateResolver where
toHeaders
= const
(mconcat
["Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON UpdateResolver where
toJSON UpdateResolver'{..}
= object
(catMaybes
[("responseMappingTemplate" .=) <$>
_urResponseMappingTemplate,
Just ("dataSourceName" .= _urDataSourceName),
Just
("requestMappingTemplate" .=
_urRequestMappingTemplate)])
instance ToPath UpdateResolver where
toPath UpdateResolver'{..}
= mconcat
["/v1/apis/", toBS _urApiId, "/types/",
toBS _urTypeName, "/resolvers/", toBS _urFieldName]
instance ToQuery UpdateResolver where
toQuery = const mempty
data UpdateResolverResponse = UpdateResolverResponse'
{ _urrsResolver :: !(Maybe Resolver)
, _urrsResponseStatus :: !Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
updateResolverResponse
:: Int
-> UpdateResolverResponse
updateResolverResponse pResponseStatus_ =
UpdateResolverResponse'
{_urrsResolver = Nothing, _urrsResponseStatus = pResponseStatus_}
urrsResolver :: Lens' UpdateResolverResponse (Maybe Resolver)
urrsResolver = lens _urrsResolver (\ s a -> s{_urrsResolver = a})
urrsResponseStatus :: Lens' UpdateResolverResponse Int
urrsResponseStatus = lens _urrsResponseStatus (\ s a -> s{_urrsResponseStatus = a})
instance NFData UpdateResolverResponse where