{-# 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 #-} -- Derived from AWS service descriptions, licensed under Apache 2.0. -- | -- Module : Network.AWS.Route53Domains.EnableDomainAutoRenew -- Copyright : (c) 2013-2015 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay -- Stability : auto-generated -- Portability : non-portable (GHC extensions) -- -- This operation configures Amazon Route 53 to automatically renew the -- specified domain before the domain registration expires. The cost of -- renewing your domain registration is billed to your AWS account. -- -- The period during which you can renew a domain name varies by TLD. For a -- list of TLDs and their renewal policies, see -- -- on the website for our registrar partner, Gandi. Route 53 requires that -- you renew before the end of the renewal period that is listed on the -- Gandi website so we can complete processing before the deadline. -- -- /See:/ for EnableDomainAutoRenew. module Network.AWS.Route53Domains.EnableDomainAutoRenew ( -- * Creating a Request enableDomainAutoRenew , EnableDomainAutoRenew -- * Request Lenses , edarDomainName -- * Destructuring the Response , enableDomainAutoRenewResponse , EnableDomainAutoRenewResponse -- * Response Lenses , edarrsStatus ) where import Network.AWS.Prelude import Network.AWS.Request import Network.AWS.Response import Network.AWS.Route53Domains.Types import Network.AWS.Route53Domains.Types.Product -- | /See:/ 'enableDomainAutoRenew' smart constructor. newtype EnableDomainAutoRenew = EnableDomainAutoRenew' { _edarDomainName :: Text } deriving (Eq,Read,Show,Data,Typeable,Generic) -- | Creates a value of 'EnableDomainAutoRenew' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: -- -- * 'edarDomainName' enableDomainAutoRenew :: Text -- ^ 'edarDomainName' -> EnableDomainAutoRenew enableDomainAutoRenew pDomainName_ = EnableDomainAutoRenew' { _edarDomainName = pDomainName_ } -- | Undocumented member. edarDomainName :: Lens' EnableDomainAutoRenew Text edarDomainName = lens _edarDomainName (\ s a -> s{_edarDomainName = a}); instance AWSRequest EnableDomainAutoRenew where type Rs EnableDomainAutoRenew = EnableDomainAutoRenewResponse request = postJSON route53Domains response = receiveEmpty (\ s h x -> EnableDomainAutoRenewResponse' <$> (pure (fromEnum s))) instance ToHeaders EnableDomainAutoRenew where toHeaders = const (mconcat ["X-Amz-Target" =# ("Route53Domains_v20140515.EnableDomainAutoRenew" :: ByteString), "Content-Type" =# ("application/x-amz-json-1.1" :: ByteString)]) instance ToJSON EnableDomainAutoRenew where toJSON EnableDomainAutoRenew'{..} = object (catMaybes [Just ("DomainName" .= _edarDomainName)]) instance ToPath EnableDomainAutoRenew where toPath = const "/" instance ToQuery EnableDomainAutoRenew where toQuery = const mempty -- | /See:/ 'enableDomainAutoRenewResponse' smart constructor. newtype EnableDomainAutoRenewResponse = EnableDomainAutoRenewResponse' { _edarrsStatus :: Int } deriving (Eq,Read,Show,Data,Typeable,Generic) -- | Creates a value of 'EnableDomainAutoRenewResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: -- -- * 'edarrsStatus' enableDomainAutoRenewResponse :: Int -- ^ 'edarrsStatus' -> EnableDomainAutoRenewResponse enableDomainAutoRenewResponse pStatus_ = EnableDomainAutoRenewResponse' { _edarrsStatus = pStatus_ } -- | The response status code. edarrsStatus :: Lens' EnableDomainAutoRenewResponse Int edarrsStatus = lens _edarrsStatus (\ s a -> s{_edarrsStatus = a});