amazonka-route53-domains-0.0.0: gen/Network/AWS/Route53Domains/EnableDomainAutoRenew.hs
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE GeneralizedNewtypeDeriving #-}
{-# LANGUAGE LambdaCase #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE TypeFamilies #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-- Module : Network.AWS.Route53Domains.EnableDomainAutoRenew
-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>
-- License : This Source Code Form is subject to the terms of
-- the Mozilla Public License, v. 2.0.
-- A copy of the MPL can be found in the LICENSE file or
-- you can obtain it at http://mozilla.org/MPL/2.0/.
-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>
-- Stability : experimental
-- 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 "Renewal, restoration, and deletion times"
-- (http://wiki.gandi.net/en/domains/renew#renewal_restoration_and_deletion_times)
-- 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.
--
-- <http://docs.aws.amazon.com/Route53/latest/APIReference/api-EnableDomainAutoRenew.html>
module Network.AWS.Route53Domains.EnableDomainAutoRenew
(
-- * Request
EnableDomainAutoRenew
-- ** Request constructor
, enableDomainAutoRenew
-- ** Request lenses
, edarDomainName
-- * Response
, EnableDomainAutoRenewResponse
-- ** Response constructor
, enableDomainAutoRenewResponse
) where
import Network.AWS.Prelude
import Network.AWS.Request.JSON
import Network.AWS.Route53Domains.Types
import qualified GHC.Exts
newtype EnableDomainAutoRenew = EnableDomainAutoRenew
{ _edarDomainName :: Text
} deriving (Eq, Ord, Show, Monoid, IsString)
-- | 'EnableDomainAutoRenew' constructor.
--
-- The fields accessible through corresponding lenses are:
--
-- * 'edarDomainName' @::@ 'Text'
--
enableDomainAutoRenew :: Text -- ^ 'edarDomainName'
-> EnableDomainAutoRenew
enableDomainAutoRenew p1 = EnableDomainAutoRenew
{ _edarDomainName = p1
}
edarDomainName :: Lens' EnableDomainAutoRenew Text
edarDomainName = lens _edarDomainName (\s a -> s { _edarDomainName = a })
data EnableDomainAutoRenewResponse = EnableDomainAutoRenewResponse
deriving (Eq, Ord, Show, Generic)
-- | 'EnableDomainAutoRenewResponse' constructor.
enableDomainAutoRenewResponse :: EnableDomainAutoRenewResponse
enableDomainAutoRenewResponse = EnableDomainAutoRenewResponse
instance ToPath EnableDomainAutoRenew where
toPath = const "/"
instance ToQuery EnableDomainAutoRenew where
toQuery = const mempty
instance ToHeaders EnableDomainAutoRenew
instance ToJSON EnableDomainAutoRenew where
toJSON EnableDomainAutoRenew{..} = object
[ "DomainName" .= _edarDomainName
]
instance AWSRequest EnableDomainAutoRenew where
type Sv EnableDomainAutoRenew = Route53Domains
type Rs EnableDomainAutoRenew = EnableDomainAutoRenewResponse
request = post "EnableDomainAutoRenew"
response = nullResponse EnableDomainAutoRenewResponse