module Network.AWS.Lightsail.UpdateDomainEntry
(
updateDomainEntry
, UpdateDomainEntry
, udeDomainName
, udeDomainEntry
, updateDomainEntryResponse
, UpdateDomainEntryResponse
, udersOperations
, udersResponseStatus
) where
import Network.AWS.Lens
import Network.AWS.Lightsail.Types
import Network.AWS.Lightsail.Types.Product
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
data UpdateDomainEntry = UpdateDomainEntry'
{ _udeDomainName :: !Text
, _udeDomainEntry :: !DomainEntry
} deriving (Eq, Read, Show, Data, Typeable, Generic)
updateDomainEntry
:: Text
-> DomainEntry
-> UpdateDomainEntry
updateDomainEntry pDomainName_ pDomainEntry_ =
UpdateDomainEntry'
{_udeDomainName = pDomainName_, _udeDomainEntry = pDomainEntry_}
udeDomainName :: Lens' UpdateDomainEntry Text
udeDomainName = lens _udeDomainName (\ s a -> s{_udeDomainName = a});
udeDomainEntry :: Lens' UpdateDomainEntry DomainEntry
udeDomainEntry = lens _udeDomainEntry (\ s a -> s{_udeDomainEntry = a});
instance AWSRequest UpdateDomainEntry where
type Rs UpdateDomainEntry = UpdateDomainEntryResponse
request = postJSON lightsail
response
= receiveJSON
(\ s h x ->
UpdateDomainEntryResponse' <$>
(x .?> "operations" .!@ mempty) <*>
(pure (fromEnum s)))
instance Hashable UpdateDomainEntry where
instance NFData UpdateDomainEntry where
instance ToHeaders UpdateDomainEntry where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("Lightsail_20161128.UpdateDomainEntry" ::
ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON UpdateDomainEntry where
toJSON UpdateDomainEntry'{..}
= object
(catMaybes
[Just ("domainName" .= _udeDomainName),
Just ("domainEntry" .= _udeDomainEntry)])
instance ToPath UpdateDomainEntry where
toPath = const "/"
instance ToQuery UpdateDomainEntry where
toQuery = const mempty
data UpdateDomainEntryResponse = UpdateDomainEntryResponse'
{ _udersOperations :: !(Maybe [Operation])
, _udersResponseStatus :: !Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
updateDomainEntryResponse
:: Int
-> UpdateDomainEntryResponse
updateDomainEntryResponse pResponseStatus_ =
UpdateDomainEntryResponse'
{_udersOperations = Nothing, _udersResponseStatus = pResponseStatus_}
udersOperations :: Lens' UpdateDomainEntryResponse [Operation]
udersOperations = lens _udersOperations (\ s a -> s{_udersOperations = a}) . _Default . _Coerce;
udersResponseStatus :: Lens' UpdateDomainEntryResponse Int
udersResponseStatus = lens _udersResponseStatus (\ s a -> s{_udersResponseStatus = a});
instance NFData UpdateDomainEntryResponse where