module Network.AWS.Route53Domains.CheckDomainTransferability
(
checkDomainTransferability
, CheckDomainTransferability
, cdtAuthCode
, cdtDomainName
, checkDomainTransferabilityResponse
, CheckDomainTransferabilityResponse
, cdtrsResponseStatus
, cdtrsTransferability
) 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
data CheckDomainTransferability = CheckDomainTransferability'
{ _cdtAuthCode :: !(Maybe (Sensitive Text))
, _cdtDomainName :: !Text
} deriving (Eq, Show, Data, Typeable, Generic)
checkDomainTransferability
:: Text
-> CheckDomainTransferability
checkDomainTransferability pDomainName_ =
CheckDomainTransferability'
{_cdtAuthCode = Nothing, _cdtDomainName = pDomainName_}
cdtAuthCode :: Lens' CheckDomainTransferability (Maybe Text)
cdtAuthCode = lens _cdtAuthCode (\ s a -> s{_cdtAuthCode = a}) . mapping _Sensitive;
cdtDomainName :: Lens' CheckDomainTransferability Text
cdtDomainName = lens _cdtDomainName (\ s a -> s{_cdtDomainName = a});
instance AWSRequest CheckDomainTransferability where
type Rs CheckDomainTransferability =
CheckDomainTransferabilityResponse
request = postJSON route53Domains
response
= receiveJSON
(\ s h x ->
CheckDomainTransferabilityResponse' <$>
(pure (fromEnum s)) <*> (x .:> "Transferability"))
instance Hashable CheckDomainTransferability where
instance NFData CheckDomainTransferability where
instance ToHeaders CheckDomainTransferability where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("Route53Domains_v20140515.CheckDomainTransferability"
:: ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON CheckDomainTransferability where
toJSON CheckDomainTransferability'{..}
= object
(catMaybes
[("AuthCode" .=) <$> _cdtAuthCode,
Just ("DomainName" .= _cdtDomainName)])
instance ToPath CheckDomainTransferability where
toPath = const "/"
instance ToQuery CheckDomainTransferability where
toQuery = const mempty
data CheckDomainTransferabilityResponse = CheckDomainTransferabilityResponse'
{ _cdtrsResponseStatus :: !Int
, _cdtrsTransferability :: !DomainTransferability
} deriving (Eq, Read, Show, Data, Typeable, Generic)
checkDomainTransferabilityResponse
:: Int
-> DomainTransferability
-> CheckDomainTransferabilityResponse
checkDomainTransferabilityResponse pResponseStatus_ pTransferability_ =
CheckDomainTransferabilityResponse'
{ _cdtrsResponseStatus = pResponseStatus_
, _cdtrsTransferability = pTransferability_
}
cdtrsResponseStatus :: Lens' CheckDomainTransferabilityResponse Int
cdtrsResponseStatus = lens _cdtrsResponseStatus (\ s a -> s{_cdtrsResponseStatus = a});
cdtrsTransferability :: Lens' CheckDomainTransferabilityResponse DomainTransferability
cdtrsTransferability = lens _cdtrsTransferability (\ s a -> s{_cdtrsTransferability = a});
instance NFData CheckDomainTransferabilityResponse
where