amazonka-route53-domains (empty) → 0.0.0
raw patch · 21 files changed
+4428/−0 lines, 21 filesdep +amazonka-coredep +basesetup-changed
Dependencies added: amazonka-core, base
Files
- LICENSE +373/−0
- README.md +26/−0
- Setup.hs +2/−0
- amazonka-route53-domains.cabal +56/−0
- gen/Network/AWS/Route53Domains.hs +46/−0
- gen/Network/AWS/Route53Domains/CheckDomainAvailability.hs +133/−0
- gen/Network/AWS/Route53Domains/DisableDomainAutoRenew.hs +91/−0
- gen/Network/AWS/Route53Domains/DisableDomainTransferLock.hs +121/−0
- gen/Network/AWS/Route53Domains/EnableDomainAutoRenew.hs +98/−0
- gen/Network/AWS/Route53Domains/EnableDomainTransferLock.hs +119/−0
- gen/Network/AWS/Route53Domains/GetDomainDetail.hs +364/−0
- gen/Network/AWS/Route53Domains/GetOperationDetail.hs +166/−0
- gen/Network/AWS/Route53Domains/ListDomains.hs +141/−0
- gen/Network/AWS/Route53Domains/ListOperations.hs +141/−0
- gen/Network/AWS/Route53Domains/RegisterDomain.hs +260/−0
- gen/Network/AWS/Route53Domains/RetrieveDomainAuthCode.hs +114/−0
- gen/Network/AWS/Route53Domains/TransferDomain.hs +281/−0
- gen/Network/AWS/Route53Domains/Types.hs +1438/−0
- gen/Network/AWS/Route53Domains/UpdateDomainContact.hs +160/−0
- gen/Network/AWS/Route53Domains/UpdateDomainContactPrivacy.hs +166/−0
- gen/Network/AWS/Route53Domains/UpdateDomainNameservers.hs +132/−0
+ LICENSE view
@@ -0,0 +1,373 @@+Mozilla Public License Version 2.0+==================================++1. Definitions+--------------++1.1. "Contributor"+ means each individual or legal entity that creates, contributes to+ the creation of, or owns Covered Software.++1.2. "Contributor Version"+ means the combination of the Contributions of others (if any) used+ by a Contributor and that particular Contributor's Contribution.++1.3. "Contribution"+ means Covered Software of a particular Contributor.++1.4. "Covered Software"+ means Source Code Form to which the initial Contributor has attached+ the notice in Exhibit A, the Executable Form of such Source Code+ Form, and Modifications of such Source Code Form, in each case+ including portions thereof.++1.5. "Incompatible With Secondary Licenses"+ means++ (a) that the initial Contributor has attached the notice described+ in Exhibit B to the Covered Software; or++ (b) that the Covered Software was made available under the terms of+ version 1.1 or earlier of the License, but not also under the+ terms of a Secondary License.++1.6. "Executable Form"+ means any form of the work other than Source Code Form.++1.7. "Larger Work"+ means a work that combines Covered Software with other material, in+ a separate file or files, that is not Covered Software.++1.8. "License"+ means this document.++1.9. "Licensable"+ means having the right to grant, to the maximum extent possible,+ whether at the time of the initial grant or subsequently, any and+ all of the rights conveyed by this License.++1.10. "Modifications"+ means any of the following:++ (a) any file in Source Code Form that results from an addition to,+ deletion from, or modification of the contents of Covered+ Software; or++ (b) any new file in Source Code Form that contains any Covered+ Software.++1.11. "Patent Claims" of a Contributor+ means any patent claim(s), including without limitation, method,+ process, and apparatus claims, in any patent Licensable by such+ Contributor that would be infringed, but for the grant of the+ License, by the making, using, selling, offering for sale, having+ made, import, or transfer of either its Contributions or its+ Contributor Version.++1.12. "Secondary License"+ means either the GNU General Public License, Version 2.0, the GNU+ Lesser General Public License, Version 2.1, the GNU Affero General+ Public License, Version 3.0, or any later versions of those+ licenses.++1.13. "Source Code Form"+ means the form of the work preferred for making modifications.++1.14. "You" (or "Your")+ means an individual or a legal entity exercising rights under this+ License. For legal entities, "You" includes any entity that+ controls, is controlled by, or is under common control with You. For+ purposes of this definition, "control" means (a) the power, direct+ or indirect, to cause the direction or management of such entity,+ whether by contract or otherwise, or (b) ownership of more than+ fifty percent (50%) of the outstanding shares or beneficial+ ownership of such entity.++2. License Grants and Conditions+--------------------------------++2.1. Grants++Each Contributor hereby grants You a world-wide, royalty-free,+non-exclusive license:++(a) under intellectual property rights (other than patent or trademark)+ Licensable by such Contributor to use, reproduce, make available,+ modify, display, perform, distribute, and otherwise exploit its+ Contributions, either on an unmodified basis, with Modifications, or+ as part of a Larger Work; and++(b) under Patent Claims of such Contributor to make, use, sell, offer+ for sale, have made, import, and otherwise transfer either its+ Contributions or its Contributor Version.++2.2. Effective Date++The licenses granted in Section 2.1 with respect to any Contribution+become effective for each Contribution on the date the Contributor first+distributes such Contribution.++2.3. Limitations on Grant Scope++The licenses granted in this Section 2 are the only rights granted under+this License. No additional rights or licenses will be implied from the+distribution or licensing of Covered Software under this License.+Notwithstanding Section 2.1(b) above, no patent license is granted by a+Contributor:++(a) for any code that a Contributor has removed from Covered Software;+ or++(b) for infringements caused by: (i) Your and any other third party's+ modifications of Covered Software, or (ii) the combination of its+ Contributions with other software (except as part of its Contributor+ Version); or++(c) under Patent Claims infringed by Covered Software in the absence of+ its Contributions.++This License does not grant any rights in the trademarks, service marks,+or logos of any Contributor (except as may be necessary to comply with+the notice requirements in Section 3.4).++2.4. Subsequent Licenses++No Contributor makes additional grants as a result of Your choice to+distribute the Covered Software under a subsequent version of this+License (see Section 10.2) or under the terms of a Secondary License (if+permitted under the terms of Section 3.3).++2.5. Representation++Each Contributor represents that the Contributor believes its+Contributions are its original creation(s) or it has sufficient rights+to grant the rights to its Contributions conveyed by this License.++2.6. Fair Use++This License is not intended to limit any rights You have under+applicable copyright doctrines of fair use, fair dealing, or other+equivalents.++2.7. Conditions++Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted+in Section 2.1.++3. Responsibilities+-------------------++3.1. Distribution of Source Form++All distribution of Covered Software in Source Code Form, including any+Modifications that You create or to which You contribute, must be under+the terms of this License. You must inform recipients that the Source+Code Form of the Covered Software is governed by the terms of this+License, and how they can obtain a copy of this License. You may not+attempt to alter or restrict the recipients' rights in the Source Code+Form.++3.2. Distribution of Executable Form++If You distribute Covered Software in Executable Form then:++(a) such Covered Software must also be made available in Source Code+ Form, as described in Section 3.1, and You must inform recipients of+ the Executable Form how they can obtain a copy of such Source Code+ Form by reasonable means in a timely manner, at a charge no more+ than the cost of distribution to the recipient; and++(b) You may distribute such Executable Form under the terms of this+ License, or sublicense it under different terms, provided that the+ license for the Executable Form does not attempt to limit or alter+ the recipients' rights in the Source Code Form under this License.++3.3. Distribution of a Larger Work++You may create and distribute a Larger Work under terms of Your choice,+provided that You also comply with the requirements of this License for+the Covered Software. If the Larger Work is a combination of Covered+Software with a work governed by one or more Secondary Licenses, and the+Covered Software is not Incompatible With Secondary Licenses, this+License permits You to additionally distribute such Covered Software+under the terms of such Secondary License(s), so that the recipient of+the Larger Work may, at their option, further distribute the Covered+Software under the terms of either this License or such Secondary+License(s).++3.4. Notices++You may not remove or alter the substance of any license notices+(including copyright notices, patent notices, disclaimers of warranty,+or limitations of liability) contained within the Source Code Form of+the Covered Software, except that You may alter any license notices to+the extent required to remedy known factual inaccuracies.++3.5. Application of Additional Terms++You may choose to offer, and to charge a fee for, warranty, support,+indemnity or liability obligations to one or more recipients of Covered+Software. However, You may do so only on Your own behalf, and not on+behalf of any Contributor. You must make it absolutely clear that any+such warranty, support, indemnity, or liability obligation is offered by+You alone, and You hereby agree to indemnify every Contributor for any+liability incurred by such Contributor as a result of warranty, support,+indemnity or liability terms You offer. You may include additional+disclaimers of warranty and limitations of liability specific to any+jurisdiction.++4. Inability to Comply Due to Statute or Regulation+---------------------------------------------------++If it is impossible for You to comply with any of the terms of this+License with respect to some or all of the Covered Software due to+statute, judicial order, or regulation then You must: (a) comply with+the terms of this License to the maximum extent possible; and (b)+describe the limitations and the code they affect. Such description must+be placed in a text file included with all distributions of the Covered+Software under this License. Except to the extent prohibited by statute+or regulation, such description must be sufficiently detailed for a+recipient of ordinary skill to be able to understand it.++5. Termination+--------------++5.1. The rights granted under this License will terminate automatically+if You fail to comply with any of its terms. However, if You become+compliant, then the rights granted under this License from a particular+Contributor are reinstated (a) provisionally, unless and until such+Contributor explicitly and finally terminates Your grants, and (b) on an+ongoing basis, if such Contributor fails to notify You of the+non-compliance by some reasonable means prior to 60 days after You have+come back into compliance. Moreover, Your grants from a particular+Contributor are reinstated on an ongoing basis if such Contributor+notifies You of the non-compliance by some reasonable means, this is the+first time You have received notice of non-compliance with this License+from such Contributor, and You become compliant prior to 30 days after+Your receipt of the notice.++5.2. If You initiate litigation against any entity by asserting a patent+infringement claim (excluding declaratory judgment actions,+counter-claims, and cross-claims) alleging that a Contributor Version+directly or indirectly infringes any patent, then the rights granted to+You by any and all Contributors for the Covered Software under Section+2.1 of this License shall terminate.++5.3. In the event of termination under Sections 5.1 or 5.2 above, all+end user license agreements (excluding distributors and resellers) which+have been validly granted by You or Your distributors under this License+prior to termination shall survive termination.++************************************************************************+* *+* 6. Disclaimer of Warranty *+* ------------------------- *+* *+* Covered Software is provided under this License on an "as is" *+* basis, without warranty of any kind, either expressed, implied, or *+* statutory, including, without limitation, warranties that the *+* Covered Software is free of defects, merchantable, fit for a *+* particular purpose or non-infringing. The entire risk as to the *+* quality and performance of the Covered Software is with You. *+* Should any Covered Software prove defective in any respect, You *+* (not any Contributor) assume the cost of any necessary servicing, *+* repair, or correction. This disclaimer of warranty constitutes an *+* essential part of this License. No use of any Covered Software is *+* authorized under this License except under this disclaimer. *+* *+************************************************************************++************************************************************************+* *+* 7. Limitation of Liability *+* -------------------------- *+* *+* Under no circumstances and under no legal theory, whether tort *+* (including negligence), contract, or otherwise, shall any *+* Contributor, or anyone who distributes Covered Software as *+* permitted above, be liable to You for any direct, indirect, *+* special, incidental, or consequential damages of any character *+* including, without limitation, damages for lost profits, loss of *+* goodwill, work stoppage, computer failure or malfunction, or any *+* and all other commercial damages or losses, even if such party *+* shall have been informed of the possibility of such damages. This *+* limitation of liability shall not apply to liability for death or *+* personal injury resulting from such party's negligence to the *+* extent applicable law prohibits such limitation. Some *+* jurisdictions do not allow the exclusion or limitation of *+* incidental or consequential damages, so this exclusion and *+* limitation may not apply to You. *+* *+************************************************************************++8. Litigation+-------------++Any litigation relating to this License may be brought only in the+courts of a jurisdiction where the defendant maintains its principal+place of business and such litigation shall be governed by laws of that+jurisdiction, without reference to its conflict-of-law provisions.+Nothing in this Section shall prevent a party's ability to bring+cross-claims or counter-claims.++9. Miscellaneous+----------------++This License represents the complete agreement concerning the subject+matter hereof. If any provision of this License is held to be+unenforceable, such provision shall be reformed only to the extent+necessary to make it enforceable. Any law or regulation which provides+that the language of a contract shall be construed against the drafter+shall not be used to construe this License against a Contributor.++10. Versions of the License+---------------------------++10.1. New Versions++Mozilla Foundation is the license steward. Except as provided in Section+10.3, no one other than the license steward has the right to modify or+publish new versions of this License. Each version will be given a+distinguishing version number.++10.2. Effect of New Versions++You may distribute the Covered Software under the terms of the version+of the License under which You originally received the Covered Software,+or under the terms of any subsequent version published by the license+steward.++10.3. Modified Versions++If you create software not governed by this License, and you want to+create a new license for such software, you may create and use a+modified version of this License if you rename the license and remove+any references to the name of the license steward (except to note that+such modified license differs from this License).++10.4. Distributing Source Code Form that is Incompatible With Secondary+Licenses++If You choose to distribute Source Code Form that is Incompatible With+Secondary Licenses under the terms of this version of the License, the+notice described in Exhibit B of this License must be attached.++Exhibit A - Source Code Form License Notice+-------------------------------------------++ This Source Code Form is subject to the terms of the Mozilla Public+ License, v. 2.0. If a copy of the MPL was not distributed with this+ file, You can obtain one at http://mozilla.org/MPL/2.0/.++If it is not possible or desirable to put the notice in a particular+file, then You may include the notice in a location (such as a LICENSE+file in a relevant directory) where a recipient would be likely to look+for such a notice.++You may add additional accurate notices of copyright ownership.++Exhibit B - "Incompatible With Secondary Licenses" Notice+---------------------------------------------------------++ This Source Code Form is "Incompatible With Secondary Licenses", as+ defined by the Mozilla Public License, v. 2.0.
+ README.md view
@@ -0,0 +1,26 @@+# Amazon Route 53 Domains SDK++> _Warning:_ This is an experimental preview release which is still under heavy development and not intended for public consumption, _caveat emptor_!++* [description](#description)+* [Contribute](#contribute)+* [Licence](#licence)++## Description++Pending++Documentation is available via [Hackage](http://hackage.haskell.org/package/amazonka-route53-domains)+and [AWS API Reference](http://docs.aws.amazon.com/Route53/latest/APIReference/actions-on-domain-registrations.html).+++## Contribute++For any problems, comments, or feedback please create an issue [here on GitHub](https://github.com/brendanhay/amazonka/issues).++> _Note:_ this library is an auto-generated Haskell package. Please see `amazonka-gen` for more information.+++## Licence++`amazonka-route53-domains` is released under the [Mozilla Public License Version 2.0](http://www.mozilla.org/MPL/).
+ Setup.hs view
@@ -0,0 +1,2 @@+import Distribution.Simple+main = defaultMain
+ amazonka-route53-domains.cabal view
@@ -0,0 +1,56 @@+name: amazonka-route53-domains+version: 0.0.0+synopsis: Amazon Route 53 Domains SDK.+homepage: https://github.com/brendanhay/amazonka+license: OtherLicense+license-file: LICENSE+author: Brendan Hay+maintainer: Brendan Hay <brendan.g.hay@gmail.com>+copyright: Copyright (c) 2013-2014 Brendan Hay+category: Network, AWS, Cloud+build-type: Simple+extra-source-files: README.md+cabal-version: >= 1.10++description:+ Pending+ .+ /See:/ <http://docs.aws.amazon.com/Route53/latest/APIReference/actions-on-domain-registrations.html AWS API Reference>+ .+ /Warning:/ This is an experimental preview release which is still under+ heavy development and not intended for public consumption, caveat emptor!++source-repository head+ type: git+ location: git://github.com/brendanhay/amazonka.git++library+ default-language: Haskell2010+ hs-source-dirs: src gen++ ghc-options: -Wall++ exposed-modules:+ Network.AWS.Route53Domains+ , Network.AWS.Route53Domains.CheckDomainAvailability+ , Network.AWS.Route53Domains.DisableDomainAutoRenew+ , Network.AWS.Route53Domains.DisableDomainTransferLock+ , Network.AWS.Route53Domains.EnableDomainAutoRenew+ , Network.AWS.Route53Domains.EnableDomainTransferLock+ , Network.AWS.Route53Domains.GetDomainDetail+ , Network.AWS.Route53Domains.GetOperationDetail+ , Network.AWS.Route53Domains.ListDomains+ , Network.AWS.Route53Domains.ListOperations+ , Network.AWS.Route53Domains.RegisterDomain+ , Network.AWS.Route53Domains.RetrieveDomainAuthCode+ , Network.AWS.Route53Domains.TransferDomain+ , Network.AWS.Route53Domains.Types+ , Network.AWS.Route53Domains.UpdateDomainContact+ , Network.AWS.Route53Domains.UpdateDomainContactPrivacy+ , Network.AWS.Route53Domains.UpdateDomainNameservers++ other-modules:++ build-depends:+ amazonka-core+ , base >= 4.7 && < 5
+ gen/Network/AWS/Route53Domains.hs view
@@ -0,0 +1,46 @@+-- Module : Network.AWS.Route53Domains+-- 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)++-- | Pending.+module Network.AWS.Route53Domains+ ( module Network.AWS.Route53Domains.CheckDomainAvailability+ , module Network.AWS.Route53Domains.DisableDomainAutoRenew+ , module Network.AWS.Route53Domains.DisableDomainTransferLock+ , module Network.AWS.Route53Domains.EnableDomainAutoRenew+ , module Network.AWS.Route53Domains.EnableDomainTransferLock+ , module Network.AWS.Route53Domains.GetDomainDetail+ , module Network.AWS.Route53Domains.GetOperationDetail+ , module Network.AWS.Route53Domains.ListDomains+ , module Network.AWS.Route53Domains.ListOperations+ , module Network.AWS.Route53Domains.RegisterDomain+ , module Network.AWS.Route53Domains.RetrieveDomainAuthCode+ , module Network.AWS.Route53Domains.TransferDomain+ , module Network.AWS.Route53Domains.Types+ , module Network.AWS.Route53Domains.UpdateDomainContact+ , module Network.AWS.Route53Domains.UpdateDomainContactPrivacy+ , module Network.AWS.Route53Domains.UpdateDomainNameservers+ ) where++import Network.AWS.Route53Domains.CheckDomainAvailability+import Network.AWS.Route53Domains.DisableDomainAutoRenew+import Network.AWS.Route53Domains.DisableDomainTransferLock+import Network.AWS.Route53Domains.EnableDomainAutoRenew+import Network.AWS.Route53Domains.EnableDomainTransferLock+import Network.AWS.Route53Domains.GetDomainDetail+import Network.AWS.Route53Domains.GetOperationDetail+import Network.AWS.Route53Domains.ListDomains+import Network.AWS.Route53Domains.ListOperations+import Network.AWS.Route53Domains.RegisterDomain+import Network.AWS.Route53Domains.RetrieveDomainAuthCode+import Network.AWS.Route53Domains.TransferDomain+import Network.AWS.Route53Domains.Types+import Network.AWS.Route53Domains.UpdateDomainContact+import Network.AWS.Route53Domains.UpdateDomainContactPrivacy+import Network.AWS.Route53Domains.UpdateDomainNameservers
+ gen/Network/AWS/Route53Domains/CheckDomainAvailability.hs view
@@ -0,0 +1,133 @@+{-# 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.CheckDomainAvailability+-- 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 checks the availability of one domain name. You can access+-- this API without authenticating. Note that if the availability status of a+-- domain is pending, you must submit another request to determine the+-- availability of the domain name.+--+-- <http://docs.aws.amazon.com/Route53/latest/APIReference/api-CheckDomainAvailability.html>+module Network.AWS.Route53Domains.CheckDomainAvailability+ (+ -- * Request+ CheckDomainAvailability+ -- ** Request constructor+ , checkDomainAvailability+ -- ** Request lenses+ , cdaDomainName+ , cdaIdnLangCode++ -- * Response+ , CheckDomainAvailabilityResponse+ -- ** Response constructor+ , checkDomainAvailabilityResponse+ -- ** Response lenses+ , cdarAvailability+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.JSON+import Network.AWS.Route53Domains.Types+import qualified GHC.Exts++data CheckDomainAvailability = CheckDomainAvailability+ { _cdaDomainName :: Text+ , _cdaIdnLangCode :: Maybe Text+ } deriving (Eq, Ord, Show)++-- | 'CheckDomainAvailability' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'cdaDomainName' @::@ 'Text'+--+-- * 'cdaIdnLangCode' @::@ 'Maybe' 'Text'+--+checkDomainAvailability :: Text -- ^ 'cdaDomainName'+ -> CheckDomainAvailability+checkDomainAvailability p1 = CheckDomainAvailability+ { _cdaDomainName = p1+ , _cdaIdnLangCode = Nothing+ }++-- | The name of a domain. Type: String Default: None Constraints: The domain+-- name can contain only the letters a through z, the numbers 0 through 9,+-- and hyphen (-). Internationalized Domain Names are not supported.+-- Required: Yes.+cdaDomainName :: Lens' CheckDomainAvailability Text+cdaDomainName = lens _cdaDomainName (\s a -> s { _cdaDomainName = a })++-- | Reserved for future use.+cdaIdnLangCode :: Lens' CheckDomainAvailability (Maybe Text)+cdaIdnLangCode = lens _cdaIdnLangCode (\s a -> s { _cdaIdnLangCode = a })++newtype CheckDomainAvailabilityResponse = CheckDomainAvailabilityResponse+ { _cdarAvailability :: Text+ } deriving (Eq, Ord, Show, Monoid, IsString)++-- | 'CheckDomainAvailabilityResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'cdarAvailability' @::@ 'Text'+--+checkDomainAvailabilityResponse :: Text -- ^ 'cdarAvailability'+ -> CheckDomainAvailabilityResponse+checkDomainAvailabilityResponse p1 = CheckDomainAvailabilityResponse+ { _cdarAvailability = p1+ }++-- | Whether the domain name is available for registering. Type: String Valid+-- values: AVAILABLE – The domain name is available. AVAILABLE_RESERVED –+-- The domain name is reserved under specific conditions. AVAILABLE_PREORDER+-- – The domain name is available and can be preordered. UNAVAILABLE – The+-- domain name is not available. UNAVAILABLE_PREMIUM – The domain name is+-- not available. UNAVAILABLE_RESTRICTED – The domain name is forbidden.+-- RESERVED – The domain name has been reserved for another person or+-- organization.+cdarAvailability :: Lens' CheckDomainAvailabilityResponse Text+cdarAvailability = lens _cdarAvailability (\s a -> s { _cdarAvailability = a })++instance ToPath CheckDomainAvailability where+ toPath = const "/"++instance ToQuery CheckDomainAvailability where+ toQuery = const mempty++instance ToHeaders CheckDomainAvailability++instance ToJSON CheckDomainAvailability where+ toJSON CheckDomainAvailability{..} = object+ [ "DomainName" .= _cdaDomainName+ , "IdnLangCode" .= _cdaIdnLangCode+ ]++instance AWSRequest CheckDomainAvailability where+ type Sv CheckDomainAvailability = Route53Domains+ type Rs CheckDomainAvailability = CheckDomainAvailabilityResponse++ request = post "CheckDomainAvailability"+ response = jsonResponse++instance FromJSON CheckDomainAvailabilityResponse where+ parseJSON = withObject "CheckDomainAvailabilityResponse" $ \o -> CheckDomainAvailabilityResponse+ <$> o .: "Availability"
+ gen/Network/AWS/Route53Domains/DisableDomainAutoRenew.hs view
@@ -0,0 +1,91 @@+{-# 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.DisableDomainAutoRenew+-- 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 disables automatic renewal of domain registration for the+-- specified domain.+--+-- <http://docs.aws.amazon.com/Route53/latest/APIReference/api-DisableDomainAutoRenew.html>+module Network.AWS.Route53Domains.DisableDomainAutoRenew+ (+ -- * Request+ DisableDomainAutoRenew+ -- ** Request constructor+ , disableDomainAutoRenew+ -- ** Request lenses+ , ddarDomainName++ -- * Response+ , DisableDomainAutoRenewResponse+ -- ** Response constructor+ , disableDomainAutoRenewResponse+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.JSON+import Network.AWS.Route53Domains.Types+import qualified GHC.Exts++newtype DisableDomainAutoRenew = DisableDomainAutoRenew+ { _ddarDomainName :: Text+ } deriving (Eq, Ord, Show, Monoid, IsString)++-- | 'DisableDomainAutoRenew' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'ddarDomainName' @::@ 'Text'+--+disableDomainAutoRenew :: Text -- ^ 'ddarDomainName'+ -> DisableDomainAutoRenew+disableDomainAutoRenew p1 = DisableDomainAutoRenew+ { _ddarDomainName = p1+ }++ddarDomainName :: Lens' DisableDomainAutoRenew Text+ddarDomainName = lens _ddarDomainName (\s a -> s { _ddarDomainName = a })++data DisableDomainAutoRenewResponse = DisableDomainAutoRenewResponse+ deriving (Eq, Ord, Show, Generic)++-- | 'DisableDomainAutoRenewResponse' constructor.+disableDomainAutoRenewResponse :: DisableDomainAutoRenewResponse+disableDomainAutoRenewResponse = DisableDomainAutoRenewResponse++instance ToPath DisableDomainAutoRenew where+ toPath = const "/"++instance ToQuery DisableDomainAutoRenew where+ toQuery = const mempty++instance ToHeaders DisableDomainAutoRenew++instance ToJSON DisableDomainAutoRenew where+ toJSON DisableDomainAutoRenew{..} = object+ [ "DomainName" .= _ddarDomainName+ ]++instance AWSRequest DisableDomainAutoRenew where+ type Sv DisableDomainAutoRenew = Route53Domains+ type Rs DisableDomainAutoRenew = DisableDomainAutoRenewResponse++ request = post "DisableDomainAutoRenew"+ response = nullResponse DisableDomainAutoRenewResponse
+ gen/Network/AWS/Route53Domains/DisableDomainTransferLock.hs view
@@ -0,0 +1,121 @@+{-# 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.DisableDomainTransferLock+-- 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 removes the transfer lock on the domain (specifically the+-- clientTransferProhibited status) to allow domain transfers. We recommend+-- you refrain from performing this action unless you intend to transfer the+-- domain to a different registrar. Successful submission returns an operation+-- ID that you can use to track the progress and completion of the action. If+-- the request is not completed successfully, the domain registrant will be+-- notified by email.+--+-- <http://docs.aws.amazon.com/Route53/latest/APIReference/api-DisableDomainTransferLock.html>+module Network.AWS.Route53Domains.DisableDomainTransferLock+ (+ -- * Request+ DisableDomainTransferLock+ -- ** Request constructor+ , disableDomainTransferLock+ -- ** Request lenses+ , ddtlDomainName++ -- * Response+ , DisableDomainTransferLockResponse+ -- ** Response constructor+ , disableDomainTransferLockResponse+ -- ** Response lenses+ , ddtlrOperationId+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.JSON+import Network.AWS.Route53Domains.Types+import qualified GHC.Exts++newtype DisableDomainTransferLock = DisableDomainTransferLock+ { _ddtlDomainName :: Text+ } deriving (Eq, Ord, Show, Monoid, IsString)++-- | 'DisableDomainTransferLock' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'ddtlDomainName' @::@ 'Text'+--+disableDomainTransferLock :: Text -- ^ 'ddtlDomainName'+ -> DisableDomainTransferLock+disableDomainTransferLock p1 = DisableDomainTransferLock+ { _ddtlDomainName = p1+ }++-- | The name of a domain. Type: String Default: None Constraints: The domain+-- name can contain only the letters a through z, the numbers 0 through 9,+-- and hyphen (-). Internationalized Domain Names are not supported.+-- Required: Yes.+ddtlDomainName :: Lens' DisableDomainTransferLock Text+ddtlDomainName = lens _ddtlDomainName (\s a -> s { _ddtlDomainName = a })++newtype DisableDomainTransferLockResponse = DisableDomainTransferLockResponse+ { _ddtlrOperationId :: Text+ } deriving (Eq, Ord, Show, Monoid, IsString)++-- | 'DisableDomainTransferLockResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'ddtlrOperationId' @::@ 'Text'+--+disableDomainTransferLockResponse :: Text -- ^ 'ddtlrOperationId'+ -> DisableDomainTransferLockResponse+disableDomainTransferLockResponse p1 = DisableDomainTransferLockResponse+ { _ddtlrOperationId = p1+ }++-- | Identifier for tracking the progress of the request. To use this ID to+-- query the operation status, use GetOperationDetail. Type: String Default:+-- None Constraints: Maximum 255 characters.+ddtlrOperationId :: Lens' DisableDomainTransferLockResponse Text+ddtlrOperationId = lens _ddtlrOperationId (\s a -> s { _ddtlrOperationId = a })++instance ToPath DisableDomainTransferLock where+ toPath = const "/"++instance ToQuery DisableDomainTransferLock where+ toQuery = const mempty++instance ToHeaders DisableDomainTransferLock++instance ToJSON DisableDomainTransferLock where+ toJSON DisableDomainTransferLock{..} = object+ [ "DomainName" .= _ddtlDomainName+ ]++instance AWSRequest DisableDomainTransferLock where+ type Sv DisableDomainTransferLock = Route53Domains+ type Rs DisableDomainTransferLock = DisableDomainTransferLockResponse++ request = post "DisableDomainTransferLock"+ response = jsonResponse++instance FromJSON DisableDomainTransferLockResponse where+ parseJSON = withObject "DisableDomainTransferLockResponse" $ \o -> DisableDomainTransferLockResponse+ <$> o .: "OperationId"
+ gen/Network/AWS/Route53Domains/EnableDomainAutoRenew.hs view
@@ -0,0 +1,98 @@+{-# 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
+ gen/Network/AWS/Route53Domains/EnableDomainTransferLock.hs view
@@ -0,0 +1,119 @@+{-# 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.EnableDomainTransferLock+-- 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 sets the transfer lock on the domain (specifically the+-- clientTransferProhibited status) to prevent domain transfers. Successful+-- submission returns an operation ID that you can use to track the progress+-- and completion of the action. If the request is not completed successfully,+-- the domain registrant will be notified by email.+--+-- <http://docs.aws.amazon.com/Route53/latest/APIReference/api-EnableDomainTransferLock.html>+module Network.AWS.Route53Domains.EnableDomainTransferLock+ (+ -- * Request+ EnableDomainTransferLock+ -- ** Request constructor+ , enableDomainTransferLock+ -- ** Request lenses+ , edtlDomainName++ -- * Response+ , EnableDomainTransferLockResponse+ -- ** Response constructor+ , enableDomainTransferLockResponse+ -- ** Response lenses+ , edtlrOperationId+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.JSON+import Network.AWS.Route53Domains.Types+import qualified GHC.Exts++newtype EnableDomainTransferLock = EnableDomainTransferLock+ { _edtlDomainName :: Text+ } deriving (Eq, Ord, Show, Monoid, IsString)++-- | 'EnableDomainTransferLock' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'edtlDomainName' @::@ 'Text'+--+enableDomainTransferLock :: Text -- ^ 'edtlDomainName'+ -> EnableDomainTransferLock+enableDomainTransferLock p1 = EnableDomainTransferLock+ { _edtlDomainName = p1+ }++-- | The name of a domain. Type: String Default: None Constraints: The domain+-- name can contain only the letters a through z, the numbers 0 through 9,+-- and hyphen (-). Internationalized Domain Names are not supported.+-- Required: Yes.+edtlDomainName :: Lens' EnableDomainTransferLock Text+edtlDomainName = lens _edtlDomainName (\s a -> s { _edtlDomainName = a })++newtype EnableDomainTransferLockResponse = EnableDomainTransferLockResponse+ { _edtlrOperationId :: Text+ } deriving (Eq, Ord, Show, Monoid, IsString)++-- | 'EnableDomainTransferLockResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'edtlrOperationId' @::@ 'Text'+--+enableDomainTransferLockResponse :: Text -- ^ 'edtlrOperationId'+ -> EnableDomainTransferLockResponse+enableDomainTransferLockResponse p1 = EnableDomainTransferLockResponse+ { _edtlrOperationId = p1+ }++-- | Identifier for tracking the progress of the request. To use this ID to+-- query the operation status, use GetOperationDetail. Type: String Default:+-- None Constraints: Maximum 255 characters.+edtlrOperationId :: Lens' EnableDomainTransferLockResponse Text+edtlrOperationId = lens _edtlrOperationId (\s a -> s { _edtlrOperationId = a })++instance ToPath EnableDomainTransferLock where+ toPath = const "/"++instance ToQuery EnableDomainTransferLock where+ toQuery = const mempty++instance ToHeaders EnableDomainTransferLock++instance ToJSON EnableDomainTransferLock where+ toJSON EnableDomainTransferLock{..} = object+ [ "DomainName" .= _edtlDomainName+ ]++instance AWSRequest EnableDomainTransferLock where+ type Sv EnableDomainTransferLock = Route53Domains+ type Rs EnableDomainTransferLock = EnableDomainTransferLockResponse++ request = post "EnableDomainTransferLock"+ response = jsonResponse++instance FromJSON EnableDomainTransferLockResponse where+ parseJSON = withObject "EnableDomainTransferLockResponse" $ \o -> EnableDomainTransferLockResponse+ <$> o .: "OperationId"
+ gen/Network/AWS/Route53Domains/GetDomainDetail.hs view
@@ -0,0 +1,364 @@+{-# 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.GetDomainDetail+-- 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 returns detailed information about the domain. The domain's+-- contact information is also returned as part of the output.+--+-- <http://docs.aws.amazon.com/Route53/latest/APIReference/api-GetDomainDetail.html>+module Network.AWS.Route53Domains.GetDomainDetail+ (+ -- * Request+ GetDomainDetail+ -- ** Request constructor+ , getDomainDetail+ -- ** Request lenses+ , gddDomainName++ -- * Response+ , GetDomainDetailResponse+ -- ** Response constructor+ , getDomainDetailResponse+ -- ** Response lenses+ , gddrAbuseContactEmail+ , gddrAbuseContactPhone+ , gddrAdminContact+ , gddrAdminPrivacy+ , gddrAutoRenew+ , gddrCreationDate+ , gddrDnsSec+ , gddrDomainName+ , gddrExpirationDate+ , gddrNameservers+ , gddrRegistrantContact+ , gddrRegistrantPrivacy+ , gddrRegistrarName+ , gddrRegistrarUrl+ , gddrRegistryDomainId+ , gddrReseller+ , gddrStatusList+ , gddrTechContact+ , gddrTechPrivacy+ , gddrUpdatedDate+ , gddrWhoIsServer+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.JSON+import Network.AWS.Route53Domains.Types+import qualified GHC.Exts++newtype GetDomainDetail = GetDomainDetail+ { _gddDomainName :: Text+ } deriving (Eq, Ord, Show, Monoid, IsString)++-- | 'GetDomainDetail' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'gddDomainName' @::@ 'Text'+--+getDomainDetail :: Text -- ^ 'gddDomainName'+ -> GetDomainDetail+getDomainDetail p1 = GetDomainDetail+ { _gddDomainName = p1+ }++-- | The name of a domain. Type: String Default: None Constraints: The domain+-- name can contain only the letters a through z, the numbers 0 through 9,+-- and hyphen (-). Internationalized Domain Names are not supported.+-- Required: Yes.+gddDomainName :: Lens' GetDomainDetail Text+gddDomainName = lens _gddDomainName (\s a -> s { _gddDomainName = a })++data GetDomainDetailResponse = GetDomainDetailResponse+ { _gddrAbuseContactEmail :: Maybe Text+ , _gddrAbuseContactPhone :: Maybe Text+ , _gddrAdminContact :: ContactDetail+ , _gddrAdminPrivacy :: Maybe Bool+ , _gddrAutoRenew :: Maybe Bool+ , _gddrCreationDate :: Maybe RFC822+ , _gddrDnsSec :: Maybe Text+ , _gddrDomainName :: Text+ , _gddrExpirationDate :: Maybe RFC822+ , _gddrNameservers :: List "Nameservers" Nameserver+ , _gddrRegistrantContact :: ContactDetail+ , _gddrRegistrantPrivacy :: Maybe Bool+ , _gddrRegistrarName :: Maybe Text+ , _gddrRegistrarUrl :: Maybe Text+ , _gddrRegistryDomainId :: Maybe Text+ , _gddrReseller :: Maybe Text+ , _gddrStatusList :: List "StatusList" Text+ , _gddrTechContact :: ContactDetail+ , _gddrTechPrivacy :: Maybe Bool+ , _gddrUpdatedDate :: Maybe RFC822+ , _gddrWhoIsServer :: Maybe Text+ } deriving (Eq, Show)++-- | 'GetDomainDetailResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'gddrAbuseContactEmail' @::@ 'Maybe' 'Text'+--+-- * 'gddrAbuseContactPhone' @::@ 'Maybe' 'Text'+--+-- * 'gddrAdminContact' @::@ 'ContactDetail'+--+-- * 'gddrAdminPrivacy' @::@ 'Maybe' 'Bool'+--+-- * 'gddrAutoRenew' @::@ 'Maybe' 'Bool'+--+-- * 'gddrCreationDate' @::@ 'Maybe' 'UTCTime'+--+-- * 'gddrDnsSec' @::@ 'Maybe' 'Text'+--+-- * 'gddrDomainName' @::@ 'Text'+--+-- * 'gddrExpirationDate' @::@ 'Maybe' 'UTCTime'+--+-- * 'gddrNameservers' @::@ ['Nameserver']+--+-- * 'gddrRegistrantContact' @::@ 'ContactDetail'+--+-- * 'gddrRegistrantPrivacy' @::@ 'Maybe' 'Bool'+--+-- * 'gddrRegistrarName' @::@ 'Maybe' 'Text'+--+-- * 'gddrRegistrarUrl' @::@ 'Maybe' 'Text'+--+-- * 'gddrRegistryDomainId' @::@ 'Maybe' 'Text'+--+-- * 'gddrReseller' @::@ 'Maybe' 'Text'+--+-- * 'gddrStatusList' @::@ ['Text']+--+-- * 'gddrTechContact' @::@ 'ContactDetail'+--+-- * 'gddrTechPrivacy' @::@ 'Maybe' 'Bool'+--+-- * 'gddrUpdatedDate' @::@ 'Maybe' 'UTCTime'+--+-- * 'gddrWhoIsServer' @::@ 'Maybe' 'Text'+--+getDomainDetailResponse :: Text -- ^ 'gddrDomainName'+ -> ContactDetail -- ^ 'gddrAdminContact'+ -> ContactDetail -- ^ 'gddrRegistrantContact'+ -> ContactDetail -- ^ 'gddrTechContact'+ -> GetDomainDetailResponse+getDomainDetailResponse p1 p2 p3 p4 = GetDomainDetailResponse+ { _gddrDomainName = p1+ , _gddrAdminContact = p2+ , _gddrRegistrantContact = p3+ , _gddrTechContact = p4+ , _gddrNameservers = mempty+ , _gddrAutoRenew = Nothing+ , _gddrAdminPrivacy = Nothing+ , _gddrRegistrantPrivacy = Nothing+ , _gddrTechPrivacy = Nothing+ , _gddrRegistrarName = Nothing+ , _gddrWhoIsServer = Nothing+ , _gddrRegistrarUrl = Nothing+ , _gddrAbuseContactEmail = Nothing+ , _gddrAbuseContactPhone = Nothing+ , _gddrRegistryDomainId = Nothing+ , _gddrCreationDate = Nothing+ , _gddrUpdatedDate = Nothing+ , _gddrExpirationDate = Nothing+ , _gddrReseller = Nothing+ , _gddrDnsSec = Nothing+ , _gddrStatusList = mempty+ }++-- | Email address to contact to report incorrect contact information for a+-- domain, to report that the domain is being used to send spam, to report+-- that someone is cybersquatting on a domain name, or report some other+-- type of abuse. Type: String.+gddrAbuseContactEmail :: Lens' GetDomainDetailResponse (Maybe Text)+gddrAbuseContactEmail =+ lens _gddrAbuseContactEmail (\s a -> s { _gddrAbuseContactEmail = a })++-- | Phone number for reporting abuse. Type: String.+gddrAbuseContactPhone :: Lens' GetDomainDetailResponse (Maybe Text)+gddrAbuseContactPhone =+ lens _gddrAbuseContactPhone (\s a -> s { _gddrAbuseContactPhone = a })++-- | Provides details about the domain administrative contact. Type: Complex+-- Children: FirstName, MiddleName, LastName, ContactType, OrganizationName,+-- AddressLine1, AddressLine2, City, State, CountryCode, ZipCode,+-- PhoneNumber, Email, Fax, ExtraParams.+gddrAdminContact :: Lens' GetDomainDetailResponse ContactDetail+gddrAdminContact = lens _gddrAdminContact (\s a -> s { _gddrAdminContact = a })++-- | Specifies whether contact information for the admin contact is concealed+-- from WHOIS queries. If the value is true, WHOIS ("who is") queries will+-- return contact information for our registrar partner, Gandi, instead of+-- the contact information that you enter. Type: Boolean.+gddrAdminPrivacy :: Lens' GetDomainDetailResponse (Maybe Bool)+gddrAdminPrivacy = lens _gddrAdminPrivacy (\s a -> s { _gddrAdminPrivacy = a })++-- | Specifies whether the domain registration is set to renew automatically.+-- Type: Boolean.+gddrAutoRenew :: Lens' GetDomainDetailResponse (Maybe Bool)+gddrAutoRenew = lens _gddrAutoRenew (\s a -> s { _gddrAutoRenew = a })++-- | The date when the domain was created as found in the response to a WHOIS+-- query. The date format is Unix time.+gddrCreationDate :: Lens' GetDomainDetailResponse (Maybe UTCTime)+gddrCreationDate = lens _gddrCreationDate (\s a -> s { _gddrCreationDate = a }) . mapping _Time++-- | Reserved for future use.+gddrDnsSec :: Lens' GetDomainDetailResponse (Maybe Text)+gddrDnsSec = lens _gddrDnsSec (\s a -> s { _gddrDnsSec = a })++-- | The name of a domain. Type: String.+gddrDomainName :: Lens' GetDomainDetailResponse Text+gddrDomainName = lens _gddrDomainName (\s a -> s { _gddrDomainName = a })++-- | The date when the registration for the domain is set to expire. The date+-- format is Unix time.+gddrExpirationDate :: Lens' GetDomainDetailResponse (Maybe UTCTime)+gddrExpirationDate =+ lens _gddrExpirationDate (\s a -> s { _gddrExpirationDate = a })+ . mapping _Time++-- | The name of the domain. Type: String.+gddrNameservers :: Lens' GetDomainDetailResponse [Nameserver]+gddrNameservers = lens _gddrNameservers (\s a -> s { _gddrNameservers = a }) . _List++-- | Provides details about the domain registrant. Type: Complex Children:+-- FirstName, MiddleName, LastName, ContactType, OrganizationName,+-- AddressLine1, AddressLine2, City, State, CountryCode, ZipCode,+-- PhoneNumber, Email, Fax, ExtraParams.+gddrRegistrantContact :: Lens' GetDomainDetailResponse ContactDetail+gddrRegistrantContact =+ lens _gddrRegistrantContact (\s a -> s { _gddrRegistrantContact = a })++-- | Specifies whether contact information for the registrant contact is+-- concealed from WHOIS queries. If the value is true, WHOIS ("who is")+-- queries will return contact information for our registrar partner, Gandi,+-- instead of the contact information that you enter. Type: Boolean.+gddrRegistrantPrivacy :: Lens' GetDomainDetailResponse (Maybe Bool)+gddrRegistrantPrivacy =+ lens _gddrRegistrantPrivacy (\s a -> s { _gddrRegistrantPrivacy = a })++-- | Name of the registrar of the domain as identified in the registry. Amazon+-- Route 53 domains are registered by registrar Gandi. The value is "GANDI+-- SAS". Type: String.+gddrRegistrarName :: Lens' GetDomainDetailResponse (Maybe Text)+gddrRegistrarName =+ lens _gddrRegistrarName (\s a -> s { _gddrRegistrarName = a })++-- | Web address of the registrar. Type: String.+gddrRegistrarUrl :: Lens' GetDomainDetailResponse (Maybe Text)+gddrRegistrarUrl = lens _gddrRegistrarUrl (\s a -> s { _gddrRegistrarUrl = a })++-- | Reserved for future use.+gddrRegistryDomainId :: Lens' GetDomainDetailResponse (Maybe Text)+gddrRegistryDomainId =+ lens _gddrRegistryDomainId (\s a -> s { _gddrRegistryDomainId = a })++-- | Reseller of the domain. Domains registered or transferred using Amazon+-- Route 53 domains will have "Amazon" as the reseller. Type: String.+gddrReseller :: Lens' GetDomainDetailResponse (Maybe Text)+gddrReseller = lens _gddrReseller (\s a -> s { _gddrReseller = a })++-- | An array of domain name status codes, also known as Extensible+-- Provisioning Protocol (EPP) status codes. ICANN, the organization that+-- maintains a central database of domain names, has developed a set of+-- domain name status codes that tell you the status of a variety of+-- operations on a domain name, for example, registering a domain name,+-- transferring a domain name to another registrar, renewing the+-- registration for a domain name, and so on. All registrars use this same+-- set of status codes. For a current list of domain name status codes and+-- an explanation of what each code means, go to the ICANN website and+-- search for epp status codes. (Search on the ICANN website; web searches+-- sometimes return an old version of the document.) Type: Array of String.+gddrStatusList :: Lens' GetDomainDetailResponse [Text]+gddrStatusList = lens _gddrStatusList (\s a -> s { _gddrStatusList = a }) . _List++-- | Provides details about the domain technical contact. Type: Complex+-- Children: FirstName, MiddleName, LastName, ContactType, OrganizationName,+-- AddressLine1, AddressLine2, City, State, CountryCode, ZipCode,+-- PhoneNumber, Email, Fax, ExtraParams.+gddrTechContact :: Lens' GetDomainDetailResponse ContactDetail+gddrTechContact = lens _gddrTechContact (\s a -> s { _gddrTechContact = a })++-- | Specifies whether contact information for the tech contact is concealed+-- from WHOIS queries. If the value is true, WHOIS ("who is") queries will+-- return contact information for our registrar partner, Gandi, instead of+-- the contact information that you enter. Type: Boolean.+gddrTechPrivacy :: Lens' GetDomainDetailResponse (Maybe Bool)+gddrTechPrivacy = lens _gddrTechPrivacy (\s a -> s { _gddrTechPrivacy = a })++-- | The last updated date of the domain as found in the response to a WHOIS+-- query. The date format is Unix time.+gddrUpdatedDate :: Lens' GetDomainDetailResponse (Maybe UTCTime)+gddrUpdatedDate = lens _gddrUpdatedDate (\s a -> s { _gddrUpdatedDate = a }) . mapping _Time++-- | The fully qualified name of the WHOIS server that can answer the WHOIS+-- query for the domain. Type: String.+gddrWhoIsServer :: Lens' GetDomainDetailResponse (Maybe Text)+gddrWhoIsServer = lens _gddrWhoIsServer (\s a -> s { _gddrWhoIsServer = a })++instance ToPath GetDomainDetail where+ toPath = const "/"++instance ToQuery GetDomainDetail where+ toQuery = const mempty++instance ToHeaders GetDomainDetail++instance ToJSON GetDomainDetail where+ toJSON GetDomainDetail{..} = object+ [ "DomainName" .= _gddDomainName+ ]++instance AWSRequest GetDomainDetail where+ type Sv GetDomainDetail = Route53Domains+ type Rs GetDomainDetail = GetDomainDetailResponse++ request = post "GetDomainDetail"+ response = jsonResponse++instance FromJSON GetDomainDetailResponse where+ parseJSON = withObject "GetDomainDetailResponse" $ \o -> GetDomainDetailResponse+ <$> o .:? "AbuseContactEmail"+ <*> o .:? "AbuseContactPhone"+ <*> o .: "AdminContact"+ <*> o .:? "AdminPrivacy"+ <*> o .:? "AutoRenew"+ <*> o .:? "CreationDate"+ <*> o .:? "DnsSec"+ <*> o .: "DomainName"+ <*> o .:? "ExpirationDate"+ <*> o .: "Nameservers"+ <*> o .: "RegistrantContact"+ <*> o .:? "RegistrantPrivacy"+ <*> o .:? "RegistrarName"+ <*> o .:? "RegistrarUrl"+ <*> o .:? "RegistryDomainId"+ <*> o .:? "Reseller"+ <*> o .: "StatusList"+ <*> o .: "TechContact"+ <*> o .:? "TechPrivacy"+ <*> o .:? "UpdatedDate"+ <*> o .:? "WhoIsServer"
+ gen/Network/AWS/Route53Domains/GetOperationDetail.hs view
@@ -0,0 +1,166 @@+{-# 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.GetOperationDetail+-- 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 returns the current status of an operation that is not+-- completed.+--+-- <http://docs.aws.amazon.com/Route53/latest/APIReference/api-GetOperationDetail.html>+module Network.AWS.Route53Domains.GetOperationDetail+ (+ -- * Request+ GetOperationDetail+ -- ** Request constructor+ , getOperationDetail+ -- ** Request lenses+ , godOperationId++ -- * Response+ , GetOperationDetailResponse+ -- ** Response constructor+ , getOperationDetailResponse+ -- ** Response lenses+ , godrDomainName+ , godrMessage+ , godrOperationId+ , godrStatus+ , godrSubmittedDate+ , godrType+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.JSON+import Network.AWS.Route53Domains.Types+import qualified GHC.Exts++newtype GetOperationDetail = GetOperationDetail+ { _godOperationId :: Text+ } deriving (Eq, Ord, Show, Monoid, IsString)++-- | 'GetOperationDetail' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'godOperationId' @::@ 'Text'+--+getOperationDetail :: Text -- ^ 'godOperationId'+ -> GetOperationDetail+getOperationDetail p1 = GetOperationDetail+ { _godOperationId = p1+ }++-- | The identifier for the operation for which you want to get the status.+-- Amazon Route 53 returned the identifier in the response to the original+-- request. Type: String Default: None Required: Yes.+godOperationId :: Lens' GetOperationDetail Text+godOperationId = lens _godOperationId (\s a -> s { _godOperationId = a })++data GetOperationDetailResponse = GetOperationDetailResponse+ { _godrDomainName :: Maybe Text+ , _godrMessage :: Maybe Text+ , _godrOperationId :: Maybe Text+ , _godrStatus :: Maybe Text+ , _godrSubmittedDate :: Maybe RFC822+ , _godrType :: Maybe Text+ } deriving (Eq, Ord, Show)++-- | 'GetOperationDetailResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'godrDomainName' @::@ 'Maybe' 'Text'+--+-- * 'godrMessage' @::@ 'Maybe' 'Text'+--+-- * 'godrOperationId' @::@ 'Maybe' 'Text'+--+-- * 'godrStatus' @::@ 'Maybe' 'Text'+--+-- * 'godrSubmittedDate' @::@ 'Maybe' 'UTCTime'+--+-- * 'godrType' @::@ 'Maybe' 'Text'+--+getOperationDetailResponse :: GetOperationDetailResponse+getOperationDetailResponse = GetOperationDetailResponse+ { _godrOperationId = Nothing+ , _godrStatus = Nothing+ , _godrMessage = Nothing+ , _godrDomainName = Nothing+ , _godrType = Nothing+ , _godrSubmittedDate = Nothing+ }++-- | The name of a domain. Type: String.+godrDomainName :: Lens' GetOperationDetailResponse (Maybe Text)+godrDomainName = lens _godrDomainName (\s a -> s { _godrDomainName = a })++-- | Detailed information on the status including possible errors. Type:+-- String.+godrMessage :: Lens' GetOperationDetailResponse (Maybe Text)+godrMessage = lens _godrMessage (\s a -> s { _godrMessage = a })++-- | The identifier for the operation. Type: String.+godrOperationId :: Lens' GetOperationDetailResponse (Maybe Text)+godrOperationId = lens _godrOperationId (\s a -> s { _godrOperationId = a })++-- | The current status of the requested operation in the system. Type:+-- String.+godrStatus :: Lens' GetOperationDetailResponse (Maybe Text)+godrStatus = lens _godrStatus (\s a -> s { _godrStatus = a })++-- | The date when the request was submitted.+godrSubmittedDate :: Lens' GetOperationDetailResponse (Maybe UTCTime)+godrSubmittedDate =+ lens _godrSubmittedDate (\s a -> s { _godrSubmittedDate = a })+ . mapping _Time++-- | The type of operation that was requested. Type: String.+godrType :: Lens' GetOperationDetailResponse (Maybe Text)+godrType = lens _godrType (\s a -> s { _godrType = a })++instance ToPath GetOperationDetail where+ toPath = const "/"++instance ToQuery GetOperationDetail where+ toQuery = const mempty++instance ToHeaders GetOperationDetail++instance ToJSON GetOperationDetail where+ toJSON GetOperationDetail{..} = object+ [ "OperationId" .= _godOperationId+ ]++instance AWSRequest GetOperationDetail where+ type Sv GetOperationDetail = Route53Domains+ type Rs GetOperationDetail = GetOperationDetailResponse++ request = post "GetOperationDetail"+ response = jsonResponse++instance FromJSON GetOperationDetailResponse where+ parseJSON = withObject "GetOperationDetailResponse" $ \o -> GetOperationDetailResponse+ <$> o .:? "DomainName"+ <*> o .:? "Message"+ <*> o .:? "OperationId"+ <*> o .:? "Status"+ <*> o .:? "SubmittedDate"+ <*> o .:? "Type"
+ gen/Network/AWS/Route53Domains/ListDomains.hs view
@@ -0,0 +1,141 @@+{-# 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.ListDomains+-- 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 returns all the domain names registered with Amazon Route 53+-- for the current AWS account.+--+-- <http://docs.aws.amazon.com/Route53/latest/APIReference/api-ListDomains.html>+module Network.AWS.Route53Domains.ListDomains+ (+ -- * Request+ ListDomains+ -- ** Request constructor+ , listDomains+ -- ** Request lenses+ , ldMarker+ , ldMaxItems++ -- * Response+ , ListDomainsResponse+ -- ** Response constructor+ , listDomainsResponse+ -- ** Response lenses+ , ldrDomains+ , ldrNextPageMarker+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.JSON+import Network.AWS.Route53Domains.Types+import qualified GHC.Exts++data ListDomains = ListDomains+ { _ldMarker :: Maybe Text+ , _ldMaxItems :: Maybe Int+ } deriving (Eq, Ord, Show)++-- | 'ListDomains' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'ldMarker' @::@ 'Maybe' 'Text'+--+-- * 'ldMaxItems' @::@ 'Maybe' 'Int'+--+listDomains :: ListDomains+listDomains = ListDomains+ { _ldMarker = Nothing+ , _ldMaxItems = Nothing+ }++-- | For an initial request for a list of domains, omit this element. If the+-- number of domains that are associated with the current AWS account is+-- greater than the value that you specified for MaxItems, you can use+-- Marker to return additional domains. Get the value of NextPageMarker from+-- the previous response, and submit another request that includes the value+-- of NextPageMarker in the Marker element. Type: String Default: None+-- Constraints: The marker must match the value specified in the previous+-- request. Required: No.+ldMarker :: Lens' ListDomains (Maybe Text)+ldMarker = lens _ldMarker (\s a -> s { _ldMarker = a })++-- | Number of domains to be returned. Type: Integer Default: 20 Constraints:+-- A numeral between 1 and 100. Required: No.+ldMaxItems :: Lens' ListDomains (Maybe Int)+ldMaxItems = lens _ldMaxItems (\s a -> s { _ldMaxItems = a })++data ListDomainsResponse = ListDomainsResponse+ { _ldrDomains :: List "Domains" DomainSummary+ , _ldrNextPageMarker :: Maybe Text+ } deriving (Eq, Show)++-- | 'ListDomainsResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'ldrDomains' @::@ ['DomainSummary']+--+-- * 'ldrNextPageMarker' @::@ 'Maybe' 'Text'+--+listDomainsResponse :: ListDomainsResponse+listDomainsResponse = ListDomainsResponse+ { _ldrDomains = mempty+ , _ldrNextPageMarker = Nothing+ }++-- | A summary of domains. Type: Complex type containing a list of domain+-- summaries. Children: AutoRenew, DomainName, Expiry, TransferLock.+ldrDomains :: Lens' ListDomainsResponse [DomainSummary]+ldrDomains = lens _ldrDomains (\s a -> s { _ldrDomains = a }) . _List++-- | If there are more domains than you specified for MaxItems in the request,+-- submit another request and include the value of NextPageMarker in the+-- value of Marker. Type: String Parent: Operations.+ldrNextPageMarker :: Lens' ListDomainsResponse (Maybe Text)+ldrNextPageMarker =+ lens _ldrNextPageMarker (\s a -> s { _ldrNextPageMarker = a })++instance ToPath ListDomains where+ toPath = const "/"++instance ToQuery ListDomains where+ toQuery = const mempty++instance ToHeaders ListDomains++instance ToJSON ListDomains where+ toJSON ListDomains{..} = object+ [ "Marker" .= _ldMarker+ , "MaxItems" .= _ldMaxItems+ ]++instance AWSRequest ListDomains where+ type Sv ListDomains = Route53Domains+ type Rs ListDomains = ListDomainsResponse++ request = post "ListDomains"+ response = jsonResponse++instance FromJSON ListDomainsResponse where+ parseJSON = withObject "ListDomainsResponse" $ \o -> ListDomainsResponse+ <$> o .: "Domains"+ <*> o .:? "NextPageMarker"
+ gen/Network/AWS/Route53Domains/ListOperations.hs view
@@ -0,0 +1,141 @@+{-# 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.ListOperations+-- 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 returns the operation IDs of operations that are not yet+-- complete.+--+-- <http://docs.aws.amazon.com/Route53/latest/APIReference/api-ListOperations.html>+module Network.AWS.Route53Domains.ListOperations+ (+ -- * Request+ ListOperations+ -- ** Request constructor+ , listOperations+ -- ** Request lenses+ , loMarker+ , loMaxItems++ -- * Response+ , ListOperationsResponse+ -- ** Response constructor+ , listOperationsResponse+ -- ** Response lenses+ , lorNextPageMarker+ , lorOperations+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.JSON+import Network.AWS.Route53Domains.Types+import qualified GHC.Exts++data ListOperations = ListOperations+ { _loMarker :: Maybe Text+ , _loMaxItems :: Maybe Int+ } deriving (Eq, Ord, Show)++-- | 'ListOperations' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'loMarker' @::@ 'Maybe' 'Text'+--+-- * 'loMaxItems' @::@ 'Maybe' 'Int'+--+listOperations :: ListOperations+listOperations = ListOperations+ { _loMarker = Nothing+ , _loMaxItems = Nothing+ }++-- | For an initial request for a list of operations, omit this element. If+-- the number of operations that are not yet complete is greater than the+-- value that you specified for MaxItems, you can use Marker to return+-- additional operations. Get the value of NextPageMarker from the previous+-- response, and submit another request that includes the value of+-- NextPageMarker in the Marker element. Type: String Default: None+-- Required: No.+loMarker :: Lens' ListOperations (Maybe Text)+loMarker = lens _loMarker (\s a -> s { _loMarker = a })++-- | Number of domains to be returned. Type: Integer Default: 20 Constraints:+-- A value between 1 and 100. Required: No.+loMaxItems :: Lens' ListOperations (Maybe Int)+loMaxItems = lens _loMaxItems (\s a -> s { _loMaxItems = a })++data ListOperationsResponse = ListOperationsResponse+ { _lorNextPageMarker :: Maybe Text+ , _lorOperations :: List "Operations" OperationSummary+ } deriving (Eq, Show)++-- | 'ListOperationsResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'lorNextPageMarker' @::@ 'Maybe' 'Text'+--+-- * 'lorOperations' @::@ ['OperationSummary']+--+listOperationsResponse :: ListOperationsResponse+listOperationsResponse = ListOperationsResponse+ { _lorOperations = mempty+ , _lorNextPageMarker = Nothing+ }++-- | If there are more operations than you specified for MaxItems in the+-- request, submit another request and include the value of NextPageMarker+-- in the value of Marker. Type: String Parent: Operations.+lorNextPageMarker :: Lens' ListOperationsResponse (Maybe Text)+lorNextPageMarker =+ lens _lorNextPageMarker (\s a -> s { _lorNextPageMarker = a })++-- | Lists summaries of the operations. Type: Complex type containing a list+-- of operation summaries Children: OperationId, Status, SubmittedDate,+-- Type.+lorOperations :: Lens' ListOperationsResponse [OperationSummary]+lorOperations = lens _lorOperations (\s a -> s { _lorOperations = a }) . _List++instance ToPath ListOperations where+ toPath = const "/"++instance ToQuery ListOperations where+ toQuery = const mempty++instance ToHeaders ListOperations++instance ToJSON ListOperations where+ toJSON ListOperations{..} = object+ [ "Marker" .= _loMarker+ , "MaxItems" .= _loMaxItems+ ]++instance AWSRequest ListOperations where+ type Sv ListOperations = Route53Domains+ type Rs ListOperations = ListOperationsResponse++ request = post "ListOperations"+ response = jsonResponse++instance FromJSON ListOperationsResponse where+ parseJSON = withObject "ListOperationsResponse" $ \o -> ListOperationsResponse+ <$> o .:? "NextPageMarker"+ <*> o .: "Operations"
+ gen/Network/AWS/Route53Domains/RegisterDomain.hs view
@@ -0,0 +1,260 @@+{-# 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.RegisterDomain+-- 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 registers a domain. Domains are registered by the AWS+-- registrar partner, Gandi. For some top-level domains (TLDs), this operation+-- requires extra parameters. When you register a domain, Amazon Route 53 does+-- the following: Creates a Amazon Route 53 hosted zone that has the same name+-- as the domain. Amazon Route 53 assigns four name servers to your hosted+-- zone and automatically updates your domain registration with the names of+-- these name servers. Enables autorenew, so your domain registration will+-- renew automatically each year. We'll notify you in advance of the renewal+-- date so you can choose whether to renew the registration. Optionally+-- enables privacy protection, so WHOIS queries return contact information for+-- our registrar partner, Gandi, instead of the information you entered for+-- registrant, admin, and tech contacts. If registration is successful,+-- returns an operation ID that you can use to track the progress and+-- completion of the action. If the request is not completed successfully, the+-- domain registrant is notified by email. Charges your AWS account an amount+-- based on the top-level domain. For more information, see Amazon Route 53+-- Pricing.+--+-- <http://docs.aws.amazon.com/Route53/latest/APIReference/api-RegisterDomain.html>+module Network.AWS.Route53Domains.RegisterDomain+ (+ -- * Request+ RegisterDomain+ -- ** Request constructor+ , registerDomain+ -- ** Request lenses+ , rdAdminContact+ , rdAutoRenew+ , rdDomainName+ , rdDurationInYears+ , rdIdnLangCode+ , rdPrivacyProtectAdminContact+ , rdPrivacyProtectRegistrantContact+ , rdPrivacyProtectTechContact+ , rdRegistrantContact+ , rdTechContact++ -- * Response+ , RegisterDomainResponse+ -- ** Response constructor+ , registerDomainResponse+ -- ** Response lenses+ , rdrOperationId+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.JSON+import Network.AWS.Route53Domains.Types+import qualified GHC.Exts++data RegisterDomain = RegisterDomain+ { _rdAdminContact :: ContactDetail+ , _rdAutoRenew :: Maybe Bool+ , _rdDomainName :: Text+ , _rdDurationInYears :: Nat+ , _rdIdnLangCode :: Maybe Text+ , _rdPrivacyProtectAdminContact :: Maybe Bool+ , _rdPrivacyProtectRegistrantContact :: Maybe Bool+ , _rdPrivacyProtectTechContact :: Maybe Bool+ , _rdRegistrantContact :: ContactDetail+ , _rdTechContact :: ContactDetail+ } deriving (Eq, Show)++-- | 'RegisterDomain' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'rdAdminContact' @::@ 'ContactDetail'+--+-- * 'rdAutoRenew' @::@ 'Maybe' 'Bool'+--+-- * 'rdDomainName' @::@ 'Text'+--+-- * 'rdDurationInYears' @::@ 'Natural'+--+-- * 'rdIdnLangCode' @::@ 'Maybe' 'Text'+--+-- * 'rdPrivacyProtectAdminContact' @::@ 'Maybe' 'Bool'+--+-- * 'rdPrivacyProtectRegistrantContact' @::@ 'Maybe' 'Bool'+--+-- * 'rdPrivacyProtectTechContact' @::@ 'Maybe' 'Bool'+--+-- * 'rdRegistrantContact' @::@ 'ContactDetail'+--+-- * 'rdTechContact' @::@ 'ContactDetail'+--+registerDomain :: Text -- ^ 'rdDomainName'+ -> Natural -- ^ 'rdDurationInYears'+ -> ContactDetail -- ^ 'rdAdminContact'+ -> ContactDetail -- ^ 'rdRegistrantContact'+ -> ContactDetail -- ^ 'rdTechContact'+ -> RegisterDomain+registerDomain p1 p2 p3 p4 p5 = RegisterDomain+ { _rdDomainName = p1+ , _rdDurationInYears = withIso _Nat (const id) p2+ , _rdAdminContact = p3+ , _rdRegistrantContact = p4+ , _rdTechContact = p5+ , _rdIdnLangCode = Nothing+ , _rdAutoRenew = Nothing+ , _rdPrivacyProtectAdminContact = Nothing+ , _rdPrivacyProtectRegistrantContact = Nothing+ , _rdPrivacyProtectTechContact = Nothing+ }++-- | Provides detailed contact information. Type: Complex Children: FirstName,+-- MiddleName, LastName, ContactType, OrganizationName, AddressLine1,+-- AddressLine2, City, State, CountryCode, ZipCode, PhoneNumber, Email, Fax,+-- ExtraParams Required: Yes.+rdAdminContact :: Lens' RegisterDomain ContactDetail+rdAdminContact = lens _rdAdminContact (\s a -> s { _rdAdminContact = a })++-- | Indicates whether the domain will be automatically renewed (true) or not+-- (false). Autorenewal only takes effect after the account is charged.+-- Type: Boolean Valid values: true | false Default: true Required: No.+rdAutoRenew :: Lens' RegisterDomain (Maybe Bool)+rdAutoRenew = lens _rdAutoRenew (\s a -> s { _rdAutoRenew = a })++-- | The name of a domain. Type: String Default: None Constraints: The domain+-- name can contain only the letters a through z, the numbers 0 through 9,+-- and hyphen (-). Internationalized Domain Names are not supported.+-- Required: Yes.+rdDomainName :: Lens' RegisterDomain Text+rdDomainName = lens _rdDomainName (\s a -> s { _rdDomainName = a })++-- | The number of years the domain will be registered. Domains are registered+-- for a minimum of one year. The maximum period depends on the top-level+-- domain. Type: Integer Default: 1 Valid values: Integer from 1 to 10+-- Required: Yes.+rdDurationInYears :: Lens' RegisterDomain Natural+rdDurationInYears =+ lens _rdDurationInYears (\s a -> s { _rdDurationInYears = a })+ . _Nat++-- | Reserved for future use.+rdIdnLangCode :: Lens' RegisterDomain (Maybe Text)+rdIdnLangCode = lens _rdIdnLangCode (\s a -> s { _rdIdnLangCode = a })++-- | Whether you want to conceal contact information from WHOIS queries. If+-- you specify true, WHOIS ("who is") queries will return contact+-- information for our registrar partner, Gandi, instead of the contact+-- information that you enter. Type: Boolean Default: true Valid values:+-- true | false Required: No.+rdPrivacyProtectAdminContact :: Lens' RegisterDomain (Maybe Bool)+rdPrivacyProtectAdminContact =+ lens _rdPrivacyProtectAdminContact+ (\s a -> s { _rdPrivacyProtectAdminContact = a })++-- | Whether you want to conceal contact information from WHOIS queries. If+-- you specify true, WHOIS ("who is") queries will return contact+-- information for our registrar partner, Gandi, instead of the contact+-- information that you enter. Type: Boolean Default: true Valid values:+-- true | false Required: No.+rdPrivacyProtectRegistrantContact :: Lens' RegisterDomain (Maybe Bool)+rdPrivacyProtectRegistrantContact =+ lens _rdPrivacyProtectRegistrantContact+ (\s a -> s { _rdPrivacyProtectRegistrantContact = a })++-- | Whether you want to conceal contact information from WHOIS queries. If+-- you specify true, WHOIS ("who is") queries will return contact+-- information for our registrar partner, Gandi, instead of the contact+-- information that you enter. Type: Boolean Default: true Valid values:+-- true | false Required: No.+rdPrivacyProtectTechContact :: Lens' RegisterDomain (Maybe Bool)+rdPrivacyProtectTechContact =+ lens _rdPrivacyProtectTechContact+ (\s a -> s { _rdPrivacyProtectTechContact = a })++-- | Provides detailed contact information. Type: Complex Children: FirstName,+-- MiddleName, LastName, ContactType, OrganizationName, AddressLine1,+-- AddressLine2, City, State, CountryCode, ZipCode, PhoneNumber, Email, Fax,+-- ExtraParams Required: Yes.+rdRegistrantContact :: Lens' RegisterDomain ContactDetail+rdRegistrantContact =+ lens _rdRegistrantContact (\s a -> s { _rdRegistrantContact = a })++-- | Provides detailed contact information. Type: Complex Children: FirstName,+-- MiddleName, LastName, ContactType, OrganizationName, AddressLine1,+-- AddressLine2, City, State, CountryCode, ZipCode, PhoneNumber, Email, Fax,+-- ExtraParams Required: Yes.+rdTechContact :: Lens' RegisterDomain ContactDetail+rdTechContact = lens _rdTechContact (\s a -> s { _rdTechContact = a })++newtype RegisterDomainResponse = RegisterDomainResponse+ { _rdrOperationId :: Text+ } deriving (Eq, Ord, Show, Monoid, IsString)++-- | 'RegisterDomainResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'rdrOperationId' @::@ 'Text'+--+registerDomainResponse :: Text -- ^ 'rdrOperationId'+ -> RegisterDomainResponse+registerDomainResponse p1 = RegisterDomainResponse+ { _rdrOperationId = p1+ }++-- | Identifier for tracking the progress of the request. To use this ID to+-- query the operation status, use GetOperationDetail. Type: String Default:+-- None Constraints: Maximum 255 characters.+rdrOperationId :: Lens' RegisterDomainResponse Text+rdrOperationId = lens _rdrOperationId (\s a -> s { _rdrOperationId = a })++instance ToPath RegisterDomain where+ toPath = const "/"++instance ToQuery RegisterDomain where+ toQuery = const mempty++instance ToHeaders RegisterDomain++instance ToJSON RegisterDomain where+ toJSON RegisterDomain{..} = object+ [ "DomainName" .= _rdDomainName+ , "IdnLangCode" .= _rdIdnLangCode+ , "DurationInYears" .= _rdDurationInYears+ , "AutoRenew" .= _rdAutoRenew+ , "AdminContact" .= _rdAdminContact+ , "RegistrantContact" .= _rdRegistrantContact+ , "TechContact" .= _rdTechContact+ , "PrivacyProtectAdminContact" .= _rdPrivacyProtectAdminContact+ , "PrivacyProtectRegistrantContact" .= _rdPrivacyProtectRegistrantContact+ , "PrivacyProtectTechContact" .= _rdPrivacyProtectTechContact+ ]++instance AWSRequest RegisterDomain where+ type Sv RegisterDomain = Route53Domains+ type Rs RegisterDomain = RegisterDomainResponse++ request = post "RegisterDomain"+ response = jsonResponse++instance FromJSON RegisterDomainResponse where+ parseJSON = withObject "RegisterDomainResponse" $ \o -> RegisterDomainResponse+ <$> o .: "OperationId"
+ gen/Network/AWS/Route53Domains/RetrieveDomainAuthCode.hs view
@@ -0,0 +1,114 @@+{-# 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.RetrieveDomainAuthCode+-- 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 returns the AuthCode for the domain. To transfer a domain to+-- another registrar, you provide this value to the new registrar.+--+-- <http://docs.aws.amazon.com/Route53/latest/APIReference/api-RetrieveDomainAuthCode.html>+module Network.AWS.Route53Domains.RetrieveDomainAuthCode+ (+ -- * Request+ RetrieveDomainAuthCode+ -- ** Request constructor+ , retrieveDomainAuthCode+ -- ** Request lenses+ , rdacDomainName++ -- * Response+ , RetrieveDomainAuthCodeResponse+ -- ** Response constructor+ , retrieveDomainAuthCodeResponse+ -- ** Response lenses+ , rdacrAuthCode+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.JSON+import Network.AWS.Route53Domains.Types+import qualified GHC.Exts++newtype RetrieveDomainAuthCode = RetrieveDomainAuthCode+ { _rdacDomainName :: Text+ } deriving (Eq, Ord, Show, Monoid, IsString)++-- | 'RetrieveDomainAuthCode' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'rdacDomainName' @::@ 'Text'+--+retrieveDomainAuthCode :: Text -- ^ 'rdacDomainName'+ -> RetrieveDomainAuthCode+retrieveDomainAuthCode p1 = RetrieveDomainAuthCode+ { _rdacDomainName = p1+ }++-- | The name of a domain. Type: String Default: None Constraints: The domain+-- name can contain only the letters a through z, the numbers 0 through 9,+-- and hyphen (-). Internationalized Domain Names are not supported.+-- Required: Yes.+rdacDomainName :: Lens' RetrieveDomainAuthCode Text+rdacDomainName = lens _rdacDomainName (\s a -> s { _rdacDomainName = a })++newtype RetrieveDomainAuthCodeResponse = RetrieveDomainAuthCodeResponse+ { _rdacrAuthCode :: Sensitive Text+ } deriving (Eq, Ord, Show, Monoid, IsString)++-- | 'RetrieveDomainAuthCodeResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'rdacrAuthCode' @::@ 'Text'+--+retrieveDomainAuthCodeResponse :: Text -- ^ 'rdacrAuthCode'+ -> RetrieveDomainAuthCodeResponse+retrieveDomainAuthCodeResponse p1 = RetrieveDomainAuthCodeResponse+ { _rdacrAuthCode = withIso _Sensitive (const id) p1+ }++-- | The authorization code for the domain. Type: String.+rdacrAuthCode :: Lens' RetrieveDomainAuthCodeResponse Text+rdacrAuthCode = lens _rdacrAuthCode (\s a -> s { _rdacrAuthCode = a }) . _Sensitive++instance ToPath RetrieveDomainAuthCode where+ toPath = const "/"++instance ToQuery RetrieveDomainAuthCode where+ toQuery = const mempty++instance ToHeaders RetrieveDomainAuthCode++instance ToJSON RetrieveDomainAuthCode where+ toJSON RetrieveDomainAuthCode{..} = object+ [ "DomainName" .= _rdacDomainName+ ]++instance AWSRequest RetrieveDomainAuthCode where+ type Sv RetrieveDomainAuthCode = Route53Domains+ type Rs RetrieveDomainAuthCode = RetrieveDomainAuthCodeResponse++ request = post "RetrieveDomainAuthCode"+ response = jsonResponse++instance FromJSON RetrieveDomainAuthCodeResponse where+ parseJSON = withObject "RetrieveDomainAuthCodeResponse" $ \o -> RetrieveDomainAuthCodeResponse+ <$> o .: "AuthCode"
+ gen/Network/AWS/Route53Domains/TransferDomain.hs view
@@ -0,0 +1,281 @@+{-# 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.TransferDomain+-- 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 transfers a domain from another registrar to Amazon Route+-- 53. Domains are registered by the AWS registrar, Gandi upon transfer. To+-- transfer a domain, you need to meet all the domain transfer criteria,+-- including the following: You must supply nameservers to transfer a domain.+-- You must disable the domain transfer lock (if any) before transferring the+-- domain. A minimum of 60 days must have elapsed since the domain's+-- registration or last transfer. We recommend you use the Amazon Route 53 as+-- the DNS service for your domain. You can create a hosted zone in Amazon+-- Route 53 for your current domain before transferring your domain. Note that+-- upon transfer, the domain duration is extended for a year if not otherwise+-- specified. Autorenew is enabled by default. If the transfer is successful,+-- this method returns an operation ID that you can use to track the progress+-- and completion of the action. If the request is not completed successfully,+-- the domain registrant will be notified by email. Transferring domains+-- charges your AWS account an amount based on the top-level domain. For more+-- information, see Amazon Route 53 Pricing.+--+-- <http://docs.aws.amazon.com/Route53/latest/APIReference/api-TransferDomain.html>+module Network.AWS.Route53Domains.TransferDomain+ (+ -- * Request+ TransferDomain+ -- ** Request constructor+ , transferDomain+ -- ** Request lenses+ , tdAdminContact+ , tdAuthCode+ , tdAutoRenew+ , tdDomainName+ , tdDurationInYears+ , tdIdnLangCode+ , tdNameservers+ , tdPrivacyProtectAdminContact+ , tdPrivacyProtectRegistrantContact+ , tdPrivacyProtectTechContact+ , tdRegistrantContact+ , tdTechContact++ -- * Response+ , TransferDomainResponse+ -- ** Response constructor+ , transferDomainResponse+ -- ** Response lenses+ , tdrOperationId+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.JSON+import Network.AWS.Route53Domains.Types+import qualified GHC.Exts++data TransferDomain = TransferDomain+ { _tdAdminContact :: ContactDetail+ , _tdAuthCode :: Maybe (Sensitive Text)+ , _tdAutoRenew :: Maybe Bool+ , _tdDomainName :: Text+ , _tdDurationInYears :: Nat+ , _tdIdnLangCode :: Maybe Text+ , _tdNameservers :: List "Nameservers" Nameserver+ , _tdPrivacyProtectAdminContact :: Maybe Bool+ , _tdPrivacyProtectRegistrantContact :: Maybe Bool+ , _tdPrivacyProtectTechContact :: Maybe Bool+ , _tdRegistrantContact :: ContactDetail+ , _tdTechContact :: ContactDetail+ } deriving (Eq, Show)++-- | 'TransferDomain' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'tdAdminContact' @::@ 'ContactDetail'+--+-- * 'tdAuthCode' @::@ 'Maybe' 'Text'+--+-- * 'tdAutoRenew' @::@ 'Maybe' 'Bool'+--+-- * 'tdDomainName' @::@ 'Text'+--+-- * 'tdDurationInYears' @::@ 'Natural'+--+-- * 'tdIdnLangCode' @::@ 'Maybe' 'Text'+--+-- * 'tdNameservers' @::@ ['Nameserver']+--+-- * 'tdPrivacyProtectAdminContact' @::@ 'Maybe' 'Bool'+--+-- * 'tdPrivacyProtectRegistrantContact' @::@ 'Maybe' 'Bool'+--+-- * 'tdPrivacyProtectTechContact' @::@ 'Maybe' 'Bool'+--+-- * 'tdRegistrantContact' @::@ 'ContactDetail'+--+-- * 'tdTechContact' @::@ 'ContactDetail'+--+transferDomain :: Text -- ^ 'tdDomainName'+ -> Natural -- ^ 'tdDurationInYears'+ -> ContactDetail -- ^ 'tdAdminContact'+ -> ContactDetail -- ^ 'tdRegistrantContact'+ -> ContactDetail -- ^ 'tdTechContact'+ -> TransferDomain+transferDomain p1 p2 p3 p4 p5 = TransferDomain+ { _tdDomainName = p1+ , _tdDurationInYears = withIso _Nat (const id) p2+ , _tdAdminContact = p3+ , _tdRegistrantContact = p4+ , _tdTechContact = p5+ , _tdIdnLangCode = Nothing+ , _tdNameservers = mempty+ , _tdAuthCode = Nothing+ , _tdAutoRenew = Nothing+ , _tdPrivacyProtectAdminContact = Nothing+ , _tdPrivacyProtectRegistrantContact = Nothing+ , _tdPrivacyProtectTechContact = Nothing+ }++-- | Provides detailed contact information. Type: Complex Children: FirstName,+-- MiddleName, LastName, ContactType, OrganizationName, AddressLine1,+-- AddressLine2, City, State, CountryCode, ZipCode, PhoneNumber, Email, Fax,+-- ExtraParams Required: Yes.+tdAdminContact :: Lens' TransferDomain ContactDetail+tdAdminContact = lens _tdAdminContact (\s a -> s { _tdAdminContact = a })++-- | The authorization code for the domain. You get this value from the+-- current registrar. Type: String Required: Yes.+tdAuthCode :: Lens' TransferDomain (Maybe Text)+tdAuthCode = lens _tdAuthCode (\s a -> s { _tdAuthCode = a }) . mapping _Sensitive++-- | Indicates whether the domain will be automatically renewed (true) or not+-- (false). Autorenewal only takes effect after the account is charged.+-- Type: Boolean Valid values: true | false Default: true Required: No.+tdAutoRenew :: Lens' TransferDomain (Maybe Bool)+tdAutoRenew = lens _tdAutoRenew (\s a -> s { _tdAutoRenew = a })++-- | The name of a domain. Type: String Default: None Constraints: The domain+-- name can contain only the letters a through z, the numbers 0 through 9,+-- and hyphen (-). Internationalized Domain Names are not supported.+-- Required: Yes.+tdDomainName :: Lens' TransferDomain Text+tdDomainName = lens _tdDomainName (\s a -> s { _tdDomainName = a })++-- | The number of years the domain will be registered. Domains are registered+-- for a minimum of one year. The maximum period depends on the top-level+-- domain. Type: Integer Default: 1 Valid values: Integer from 1 to 10+-- Required: Yes.+tdDurationInYears :: Lens' TransferDomain Natural+tdDurationInYears =+ lens _tdDurationInYears (\s a -> s { _tdDurationInYears = a })+ . _Nat++-- | Reserved for future use.+tdIdnLangCode :: Lens' TransferDomain (Maybe Text)+tdIdnLangCode = lens _tdIdnLangCode (\s a -> s { _tdIdnLangCode = a })++-- | Contains details for the host and glue IP addresses. Type: Complex+-- Children: GlueIps, Name.+tdNameservers :: Lens' TransferDomain [Nameserver]+tdNameservers = lens _tdNameservers (\s a -> s { _tdNameservers = a }) . _List++-- | Whether you want to conceal contact information from WHOIS queries. If+-- you specify true, WHOIS ("who is") queries will return contact+-- information for our registrar partner, Gandi, instead of the contact+-- information that you enter. Type: Boolean Default: true Valid values:+-- true | false Required: No.+tdPrivacyProtectAdminContact :: Lens' TransferDomain (Maybe Bool)+tdPrivacyProtectAdminContact =+ lens _tdPrivacyProtectAdminContact+ (\s a -> s { _tdPrivacyProtectAdminContact = a })++-- | Whether you want to conceal contact information from WHOIS queries. If+-- you specify true, WHOIS ("who is") queries will return contact+-- information for our registrar partner, Gandi, instead of the contact+-- information that you enter. Type: Boolean Default: true Valid values:+-- true | false Required: No.+tdPrivacyProtectRegistrantContact :: Lens' TransferDomain (Maybe Bool)+tdPrivacyProtectRegistrantContact =+ lens _tdPrivacyProtectRegistrantContact+ (\s a -> s { _tdPrivacyProtectRegistrantContact = a })++-- | Whether you want to conceal contact information from WHOIS queries. If+-- you specify true, WHOIS ("who is") queries will return contact+-- information for our registrar partner, Gandi, instead of the contact+-- information that you enter. Type: Boolean Default: true Valid values:+-- true | false Required: No.+tdPrivacyProtectTechContact :: Lens' TransferDomain (Maybe Bool)+tdPrivacyProtectTechContact =+ lens _tdPrivacyProtectTechContact+ (\s a -> s { _tdPrivacyProtectTechContact = a })++-- | Provides detailed contact information. Type: Complex Children: FirstName,+-- MiddleName, LastName, ContactType, OrganizationName, AddressLine1,+-- AddressLine2, City, State, CountryCode, ZipCode, PhoneNumber, Email, Fax,+-- ExtraParams Required: Yes.+tdRegistrantContact :: Lens' TransferDomain ContactDetail+tdRegistrantContact =+ lens _tdRegistrantContact (\s a -> s { _tdRegistrantContact = a })++-- | Provides detailed contact information. Type: Complex Children: FirstName,+-- MiddleName, LastName, ContactType, OrganizationName, AddressLine1,+-- AddressLine2, City, State, CountryCode, ZipCode, PhoneNumber, Email, Fax,+-- ExtraParams Required: Yes.+tdTechContact :: Lens' TransferDomain ContactDetail+tdTechContact = lens _tdTechContact (\s a -> s { _tdTechContact = a })++newtype TransferDomainResponse = TransferDomainResponse+ { _tdrOperationId :: Text+ } deriving (Eq, Ord, Show, Monoid, IsString)++-- | 'TransferDomainResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'tdrOperationId' @::@ 'Text'+--+transferDomainResponse :: Text -- ^ 'tdrOperationId'+ -> TransferDomainResponse+transferDomainResponse p1 = TransferDomainResponse+ { _tdrOperationId = p1+ }++-- | Identifier for tracking the progress of the request. To use this ID to+-- query the operation status, use GetOperationDetail. Type: String Default:+-- None Constraints: Maximum 255 characters.+tdrOperationId :: Lens' TransferDomainResponse Text+tdrOperationId = lens _tdrOperationId (\s a -> s { _tdrOperationId = a })++instance ToPath TransferDomain where+ toPath = const "/"++instance ToQuery TransferDomain where+ toQuery = const mempty++instance ToHeaders TransferDomain++instance ToJSON TransferDomain where+ toJSON TransferDomain{..} = object+ [ "DomainName" .= _tdDomainName+ , "IdnLangCode" .= _tdIdnLangCode+ , "DurationInYears" .= _tdDurationInYears+ , "Nameservers" .= _tdNameservers+ , "AuthCode" .= _tdAuthCode+ , "AutoRenew" .= _tdAutoRenew+ , "AdminContact" .= _tdAdminContact+ , "RegistrantContact" .= _tdRegistrantContact+ , "TechContact" .= _tdTechContact+ , "PrivacyProtectAdminContact" .= _tdPrivacyProtectAdminContact+ , "PrivacyProtectRegistrantContact" .= _tdPrivacyProtectRegistrantContact+ , "PrivacyProtectTechContact" .= _tdPrivacyProtectTechContact+ ]++instance AWSRequest TransferDomain where+ type Sv TransferDomain = Route53Domains+ type Rs TransferDomain = TransferDomainResponse++ request = post "TransferDomain"+ response = jsonResponse++instance FromJSON TransferDomainResponse where+ parseJSON = withObject "TransferDomainResponse" $ \o -> TransferDomainResponse+ <$> o .: "OperationId"
+ gen/Network/AWS/Route53Domains/Types.hs view
@@ -0,0 +1,1438 @@+{-# 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.Types+-- 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)++module Network.AWS.Route53Domains.Types+ (+ -- * Service+ Route53Domains+ -- ** Error+ , JSONError++ -- * DomainSummary+ , DomainSummary+ , domainSummary+ , dsAutoRenew+ , dsDomainName+ , dsExpiry+ , dsTransferLock++ -- * ExtraParamName+ , ExtraParamName (..)++ -- * Nameserver+ , Nameserver+ , nameserver+ , nGlueIps+ , nName++ -- * OperationStatus+ , OperationStatus (..)++ -- * DomainAvailability+ , DomainAvailability (..)++ -- * OperationType+ , OperationType (..)++ -- * CountryCode+ , CountryCode (..)++ -- * ExtraParam+ , ExtraParam+ , extraParam+ , epName+ , epValue++ -- * ContactType+ , ContactType (..)++ -- * ContactDetail+ , ContactDetail+ , contactDetail+ , cdAddressLine1+ , cdAddressLine2+ , cdCity+ , cdContactType+ , cdCountryCode+ , cdEmail+ , cdExtraParams+ , cdFax+ , cdFirstName+ , cdLastName+ , cdOrganizationName+ , cdPhoneNumber+ , cdState+ , cdZipCode++ -- * OperationSummary+ , OperationSummary+ , operationSummary+ , osOperationId+ , osStatus+ , osSubmittedDate+ , osType+ ) where++import Data.Char (isUpper)+import Network.AWS.Error+import Network.AWS.Prelude+import Network.AWS.Signing.V4+import qualified GHC.Exts++-- | Version @2014-05-15@ of the Amazon Route 53 Domains service.+data Route53Domains++instance AWSService Route53Domains where+ type Sg Route53Domains = V4+ type Er Route53Domains = JSONError++ service = Service+ { _svcEndpoint = regional+ , _svcAbbrev = "Route53Domains"+ , _svcPrefix = "route53domains"+ , _svcVersion = "2014-05-15"+ , _svcTargetPrefix = Just "Route53Domains_v20140515"+ , _svcJSONVersion = Just "1.1"+ }++ handle = jsonError statusSuccess++data DomainSummary = DomainSummary+ { _dsAutoRenew :: Maybe Bool+ , _dsDomainName :: Text+ , _dsExpiry :: Maybe RFC822+ , _dsTransferLock :: Maybe Bool+ } deriving (Eq, Ord, Show)++-- | 'DomainSummary' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'dsAutoRenew' @::@ 'Maybe' 'Bool'+--+-- * 'dsDomainName' @::@ 'Text'+--+-- * 'dsExpiry' @::@ 'Maybe' 'UTCTime'+--+-- * 'dsTransferLock' @::@ 'Maybe' 'Bool'+--+domainSummary :: Text -- ^ 'dsDomainName'+ -> DomainSummary+domainSummary p1 = DomainSummary+ { _dsDomainName = p1+ , _dsAutoRenew = Nothing+ , _dsTransferLock = Nothing+ , _dsExpiry = Nothing+ }++-- | Indicates whether the domain is automatically renewed upon expiration.+-- Type: Boolean Valid values: True | False.+dsAutoRenew :: Lens' DomainSummary (Maybe Bool)+dsAutoRenew = lens _dsAutoRenew (\s a -> s { _dsAutoRenew = a })++-- | The name of a domain. Type: String.+dsDomainName :: Lens' DomainSummary Text+dsDomainName = lens _dsDomainName (\s a -> s { _dsDomainName = a })++-- | Expiration date of the domain in Coordinated Universal Time (UTC). Type:+-- Long.+dsExpiry :: Lens' DomainSummary (Maybe UTCTime)+dsExpiry = lens _dsExpiry (\s a -> s { _dsExpiry = a }) . mapping _Time++-- | Indicates whether a domain is locked from unauthorized transfer to+-- another party. Type: Boolean Valid values: True | False.+dsTransferLock :: Lens' DomainSummary (Maybe Bool)+dsTransferLock = lens _dsTransferLock (\s a -> s { _dsTransferLock = a })++instance FromJSON DomainSummary where+ parseJSON = withObject "DomainSummary" $ \o -> DomainSummary+ <$> o .:? "AutoRenew"+ <*> o .: "DomainName"+ <*> o .:? "Expiry"+ <*> o .:? "TransferLock"++instance ToJSON DomainSummary where+ toJSON DomainSummary{..} = object+ [ "DomainName" .= _dsDomainName+ , "AutoRenew" .= _dsAutoRenew+ , "TransferLock" .= _dsTransferLock+ , "Expiry" .= _dsExpiry+ ]++data ExtraParamName+ = AuIdNumber -- ^ AU_ID_NUMBER+ | AuIdType -- ^ AU_ID_TYPE+ | BirthCity -- ^ BIRTH_CITY+ | BirthCountry -- ^ BIRTH_COUNTRY+ | BirthDateInYyyyMmDd -- ^ BIRTH_DATE_IN_YYYY_MM_DD+ | BirthDepartment -- ^ BIRTH_DEPARTMENT+ | BrandNumber -- ^ BRAND_NUMBER+ | CaLegalType -- ^ CA_LEGAL_TYPE+ | DocumentNumber -- ^ DOCUMENT_NUMBER+ | DunsNumber -- ^ DUNS_NUMBER+ | FiBusinessNumber -- ^ FI_BUSINESS_NUMBER+ | FiIdNumber -- ^ FI_ID_NUMBER+ | ItPin -- ^ IT_PIN+ | RuPassportData -- ^ RU_PASSPORT_DATA+ | SeIdNumber -- ^ SE_ID_NUMBER+ | SgIdNumber -- ^ SG_ID_NUMBER+ | VatNumber -- ^ VAT_NUMBER+ deriving (Eq, Ord, Show, Generic, Enum)++instance Hashable ExtraParamName++instance FromText ExtraParamName where+ parser = match "AU_ID_NUMBER" AuIdNumber+ <|> match "AU_ID_TYPE" AuIdType+ <|> match "BIRTH_CITY" BirthCity+ <|> match "BIRTH_COUNTRY" BirthCountry+ <|> match "BIRTH_DATE_IN_YYYY_MM_DD" BirthDateInYyyyMmDd+ <|> match "BIRTH_DEPARTMENT" BirthDepartment+ <|> match "BRAND_NUMBER" BrandNumber+ <|> match "CA_LEGAL_TYPE" CaLegalType+ <|> match "DOCUMENT_NUMBER" DocumentNumber+ <|> match "DUNS_NUMBER" DunsNumber+ <|> match "FI_BUSINESS_NUMBER" FiBusinessNumber+ <|> match "FI_ID_NUMBER" FiIdNumber+ <|> match "IT_PIN" ItPin+ <|> match "RU_PASSPORT_DATA" RuPassportData+ <|> match "SE_ID_NUMBER" SeIdNumber+ <|> match "SG_ID_NUMBER" SgIdNumber+ <|> match "VAT_NUMBER" VatNumber++instance ToText ExtraParamName where+ toText = \case+ AuIdNumber -> "AU_ID_NUMBER"+ AuIdType -> "AU_ID_TYPE"+ BirthCity -> "BIRTH_CITY"+ BirthCountry -> "BIRTH_COUNTRY"+ BirthDateInYyyyMmDd -> "BIRTH_DATE_IN_YYYY_MM_DD"+ BirthDepartment -> "BIRTH_DEPARTMENT"+ BrandNumber -> "BRAND_NUMBER"+ CaLegalType -> "CA_LEGAL_TYPE"+ DocumentNumber -> "DOCUMENT_NUMBER"+ DunsNumber -> "DUNS_NUMBER"+ FiBusinessNumber -> "FI_BUSINESS_NUMBER"+ FiIdNumber -> "FI_ID_NUMBER"+ ItPin -> "IT_PIN"+ RuPassportData -> "RU_PASSPORT_DATA"+ SeIdNumber -> "SE_ID_NUMBER"+ SgIdNumber -> "SG_ID_NUMBER"+ VatNumber -> "VAT_NUMBER"++instance FromJSON ExtraParamName where+ parseJSON = parseJSONText "ExtraParamName"++instance ToJSON ExtraParamName where+ toJSON = toJSONText++data Nameserver = Nameserver+ { _nGlueIps :: List "GlueIps" Text+ , _nName :: Text+ } deriving (Eq, Ord, Show)++-- | 'Nameserver' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'nGlueIps' @::@ ['Text']+--+-- * 'nName' @::@ 'Text'+--+nameserver :: Text -- ^ 'nName'+ -> Nameserver+nameserver p1 = Nameserver+ { _nName = p1+ , _nGlueIps = mempty+ }++-- | Glue IP address of a name server entry. Glue IP addresses are required+-- only when the name of the name server is a subdomain of the domain. For+-- example, if your domain is example.com and the name server for the domain+-- is ns.example.com, you need to specify the IP address for ns.example.com.+-- Type: List of IP addresses. Constraints: The list can contain only one+-- IPv4 and one IPv6 address. Parent: Nameservers.+nGlueIps :: Lens' Nameserver [Text]+nGlueIps = lens _nGlueIps (\s a -> s { _nGlueIps = a }) . _List++-- | The fully qualified host name of the name server. Type: String+-- Constraint: Maximum 255 characterss Parent: Nameservers.+nName :: Lens' Nameserver Text+nName = lens _nName (\s a -> s { _nName = a })++instance FromJSON Nameserver where+ parseJSON = withObject "Nameserver" $ \o -> Nameserver+ <$> o .: "GlueIps"+ <*> o .: "Name"++instance ToJSON Nameserver where+ toJSON Nameserver{..} = object+ [ "Name" .= _nName+ , "GlueIps" .= _nGlueIps+ ]++data OperationStatus+ = Error -- ^ ERROR+ | Failed -- ^ FAILED+ | InProgress -- ^ IN_PROGRESS+ | Submitted -- ^ SUBMITTED+ | Successful -- ^ SUCCESSFUL+ deriving (Eq, Ord, Show, Generic, Enum)++instance Hashable OperationStatus++instance FromText OperationStatus where+ parser = match "ERROR" Error+ <|> match "FAILED" Failed+ <|> match "IN_PROGRESS" InProgress+ <|> match "SUBMITTED" Submitted+ <|> match "SUCCESSFUL" Successful++instance ToText OperationStatus where+ toText = \case+ Error -> "ERROR"+ Failed -> "FAILED"+ InProgress -> "IN_PROGRESS"+ Submitted -> "SUBMITTED"+ Successful -> "SUCCESSFUL"++instance FromJSON OperationStatus where+ parseJSON = parseJSONText "OperationStatus"++instance ToJSON OperationStatus where+ toJSON = toJSONText++data DomainAvailability+ = Available -- ^ AVAILABLE+ | AvailablePreorder -- ^ AVAILABLE_PREORDER+ | AvailableReserved -- ^ AVAILABLE_RESERVED+ | Reserved -- ^ RESERVED+ | Unavailable -- ^ UNAVAILABLE+ | UnavailablePremium -- ^ UNAVAILABLE_PREMIUM+ | UnavailableRestricted -- ^ UNAVAILABLE_RESTRICTED+ deriving (Eq, Ord, Show, Generic, Enum)++instance Hashable DomainAvailability++instance FromText DomainAvailability where+ parser = match "AVAILABLE" Available+ <|> match "AVAILABLE_PREORDER" AvailablePreorder+ <|> match "AVAILABLE_RESERVED" AvailableReserved+ <|> match "RESERVED" Reserved+ <|> match "UNAVAILABLE" Unavailable+ <|> match "UNAVAILABLE_PREMIUM" UnavailablePremium+ <|> match "UNAVAILABLE_RESTRICTED" UnavailableRestricted++instance ToText DomainAvailability where+ toText = \case+ Available -> "AVAILABLE"+ AvailablePreorder -> "AVAILABLE_PREORDER"+ AvailableReserved -> "AVAILABLE_RESERVED"+ Reserved -> "RESERVED"+ Unavailable -> "UNAVAILABLE"+ UnavailablePremium -> "UNAVAILABLE_PREMIUM"+ UnavailableRestricted -> "UNAVAILABLE_RESTRICTED"++instance FromJSON DomainAvailability where+ parseJSON = parseJSONText "DomainAvailability"++instance ToJSON DomainAvailability where+ toJSON = toJSONText++data OperationType+ = OTChangePrivacyProtection -- ^ CHANGE_PRIVACY_PROTECTION+ | OTDeleteDomain -- ^ DELETE_DOMAIN+ | OTDomainLock -- ^ DOMAIN_LOCK+ | OTRegisterDomain -- ^ REGISTER_DOMAIN+ | OTTransferInDomain -- ^ TRANSFER_IN_DOMAIN+ | OTUpdateDomainContact -- ^ UPDATE_DOMAIN_CONTACT+ | OTUpdateNameserver -- ^ UPDATE_NAMESERVER+ deriving (Eq, Ord, Show, Generic, Enum)++instance Hashable OperationType++instance FromText OperationType where+ parser = match "CHANGE_PRIVACY_PROTECTION" OTChangePrivacyProtection+ <|> match "DELETE_DOMAIN" OTDeleteDomain+ <|> match "DOMAIN_LOCK" OTDomainLock+ <|> match "REGISTER_DOMAIN" OTRegisterDomain+ <|> match "TRANSFER_IN_DOMAIN" OTTransferInDomain+ <|> match "UPDATE_DOMAIN_CONTACT" OTUpdateDomainContact+ <|> match "UPDATE_NAMESERVER" OTUpdateNameserver++instance ToText OperationType where+ toText = \case+ OTChangePrivacyProtection -> "CHANGE_PRIVACY_PROTECTION"+ OTDeleteDomain -> "DELETE_DOMAIN"+ OTDomainLock -> "DOMAIN_LOCK"+ OTRegisterDomain -> "REGISTER_DOMAIN"+ OTTransferInDomain -> "TRANSFER_IN_DOMAIN"+ OTUpdateDomainContact -> "UPDATE_DOMAIN_CONTACT"+ OTUpdateNameserver -> "UPDATE_NAMESERVER"++instance FromJSON OperationType where+ parseJSON = parseJSONText "OperationType"++instance ToJSON OperationType where+ toJSON = toJSONText++data CountryCode+ = Ad -- ^ AD+ | Ae -- ^ AE+ | Af -- ^ AF+ | Ag -- ^ AG+ | Ai -- ^ AI+ | Al -- ^ AL+ | Am -- ^ AM+ | An -- ^ AN+ | Ao -- ^ AO+ | Aq -- ^ AQ+ | Ar -- ^ AR+ | As -- ^ AS+ | At -- ^ AT+ | Au -- ^ AU+ | Aw -- ^ AW+ | Az -- ^ AZ+ | Ba -- ^ BA+ | Bb -- ^ BB+ | Bd -- ^ BD+ | Be -- ^ BE+ | Bf -- ^ BF+ | Bg -- ^ BG+ | Bh -- ^ BH+ | Bi -- ^ BI+ | Bj -- ^ BJ+ | Bl -- ^ BL+ | Bm -- ^ BM+ | Bn -- ^ BN+ | Bo -- ^ BO+ | Br -- ^ BR+ | Bs -- ^ BS+ | Bt -- ^ BT+ | Bw -- ^ BW+ | By -- ^ BY+ | Bz -- ^ BZ+ | Ca -- ^ CA+ | Cc -- ^ CC+ | Cd -- ^ CD+ | Cf -- ^ CF+ | Cg -- ^ CG+ | Ch -- ^ CH+ | Ci -- ^ CI+ | Ck -- ^ CK+ | Cl -- ^ CL+ | Cm -- ^ CM+ | Cn -- ^ CN+ | Co -- ^ CO+ | Cr -- ^ CR+ | Cu -- ^ CU+ | Cv -- ^ CV+ | Cx -- ^ CX+ | Cy -- ^ CY+ | Cz -- ^ CZ+ | De -- ^ DE+ | Dj -- ^ DJ+ | Dk -- ^ DK+ | Dm -- ^ DM+ | Do' -- ^ DO+ | Dz -- ^ DZ+ | Ec -- ^ EC+ | Ee -- ^ EE+ | Eg -- ^ EG+ | Er -- ^ ER+ | Es -- ^ ES+ | Et -- ^ ET+ | Fi -- ^ FI+ | Fj -- ^ FJ+ | Fk -- ^ FK+ | Fm -- ^ FM+ | Fo -- ^ FO+ | Fr -- ^ FR+ | Ga -- ^ GA+ | Gb -- ^ GB+ | Gd -- ^ GD+ | Ge -- ^ GE+ | Gh -- ^ GH+ | Gi -- ^ GI+ | Gl -- ^ GL+ | Gm -- ^ GM+ | Gn -- ^ GN+ | Gq -- ^ GQ+ | Gr -- ^ GR+ | Gt -- ^ GT+ | Gu -- ^ GU+ | Gw -- ^ GW+ | Gy -- ^ GY+ | Hk -- ^ HK+ | Hn -- ^ HN+ | Hr -- ^ HR+ | Ht -- ^ HT+ | Hu -- ^ HU+ | Id -- ^ ID+ | Ie -- ^ IE+ | Il -- ^ IL+ | Im -- ^ IM+ | In' -- ^ IN+ | Iq -- ^ IQ+ | Ir -- ^ IR+ | Is -- ^ IS+ | It -- ^ IT+ | Jm -- ^ JM+ | Jo -- ^ JO+ | Jp -- ^ JP+ | Ke -- ^ KE+ | Kg -- ^ KG+ | Kh -- ^ KH+ | Ki -- ^ KI+ | Km -- ^ KM+ | Kn -- ^ KN+ | Kp -- ^ KP+ | Kr -- ^ KR+ | Kw -- ^ KW+ | Ky -- ^ KY+ | Kz -- ^ KZ+ | La -- ^ LA+ | Lb -- ^ LB+ | Lc -- ^ LC+ | Li -- ^ LI+ | Lk -- ^ LK+ | Lr -- ^ LR+ | Ls -- ^ LS+ | Lt -- ^ LT+ | Lu -- ^ LU+ | Lv -- ^ LV+ | Ly -- ^ LY+ | Ma -- ^ MA+ | Mc -- ^ MC+ | Md -- ^ MD+ | Me -- ^ ME+ | Mf -- ^ MF+ | Mg -- ^ MG+ | Mh -- ^ MH+ | Mk -- ^ MK+ | Ml -- ^ ML+ | Mm -- ^ MM+ | Mn -- ^ MN+ | Mo -- ^ MO+ | Mp -- ^ MP+ | Mr -- ^ MR+ | Ms -- ^ MS+ | Mt -- ^ MT+ | Mu -- ^ MU+ | Mv -- ^ MV+ | Mw -- ^ MW+ | Mx -- ^ MX+ | My -- ^ MY+ | Mz -- ^ MZ+ | Na -- ^ NA+ | Nc -- ^ NC+ | Ne -- ^ NE+ | Ng -- ^ NG+ | Ni -- ^ NI+ | Nl -- ^ NL+ | No -- ^ NO+ | Np -- ^ NP+ | Nr -- ^ NR+ | Nu -- ^ NU+ | Nz -- ^ NZ+ | Om -- ^ OM+ | Pa -- ^ PA+ | Pe -- ^ PE+ | Pf -- ^ PF+ | Pg -- ^ PG+ | Ph -- ^ PH+ | Pk -- ^ PK+ | Pl -- ^ PL+ | Pm -- ^ PM+ | Pn -- ^ PN+ | Pr -- ^ PR+ | Pt -- ^ PT+ | Pw -- ^ PW+ | Py -- ^ PY+ | Qa -- ^ QA+ | Ro -- ^ RO+ | Rs -- ^ RS+ | Ru -- ^ RU+ | Rw -- ^ RW+ | Sa -- ^ SA+ | Sb -- ^ SB+ | Sc -- ^ SC+ | Sd -- ^ SD+ | Se -- ^ SE+ | Sg -- ^ SG+ | Sh -- ^ SH+ | Si -- ^ SI+ | Sk -- ^ SK+ | Sl -- ^ SL+ | Sm -- ^ SM+ | Sn -- ^ SN+ | So -- ^ SO+ | Sr -- ^ SR+ | St -- ^ ST+ | Sv -- ^ SV+ | Sy -- ^ SY+ | Sz -- ^ SZ+ | Tc -- ^ TC+ | Td -- ^ TD+ | Tg -- ^ TG+ | Th -- ^ TH+ | Tj -- ^ TJ+ | Tk -- ^ TK+ | Tl -- ^ TL+ | Tm -- ^ TM+ | Tn -- ^ TN+ | To -- ^ TO+ | Tr -- ^ TR+ | Tt -- ^ TT+ | Tv -- ^ TV+ | Tw -- ^ TW+ | Tz -- ^ TZ+ | Ua -- ^ UA+ | Ug -- ^ UG+ | Us -- ^ US+ | Uy -- ^ UY+ | Uz -- ^ UZ+ | Va -- ^ VA+ | Vc -- ^ VC+ | Ve -- ^ VE+ | Vg -- ^ VG+ | Vi -- ^ VI+ | Vn -- ^ VN+ | Vu -- ^ VU+ | Wf -- ^ WF+ | Ws -- ^ WS+ | Ye -- ^ YE+ | Yt -- ^ YT+ | Za -- ^ ZA+ | Zm -- ^ ZM+ | Zw -- ^ ZW+ deriving (Eq, Ord, Show, Generic, Enum)++instance Hashable CountryCode++instance FromText CountryCode where+ parser = match "AD" Ad+ <|> match "AE" Ae+ <|> match "AF" Af+ <|> match "AG" Ag+ <|> match "AI" Ai+ <|> match "AL" Al+ <|> match "AM" Am+ <|> match "AN" An+ <|> match "AO" Ao+ <|> match "AQ" Aq+ <|> match "AR" Ar+ <|> match "AS" As+ <|> match "AT" At+ <|> match "AU" Au+ <|> match "AW" Aw+ <|> match "AZ" Az+ <|> match "BA" Ba+ <|> match "BB" Bb+ <|> match "BD" Bd+ <|> match "BE" Be+ <|> match "BF" Bf+ <|> match "BG" Bg+ <|> match "BH" Bh+ <|> match "BI" Bi+ <|> match "BJ" Bj+ <|> match "BL" Bl+ <|> match "BM" Bm+ <|> match "BN" Bn+ <|> match "BO" Bo+ <|> match "BR" Br+ <|> match "BS" Bs+ <|> match "BT" Bt+ <|> match "BW" Bw+ <|> match "BY" By+ <|> match "BZ" Bz+ <|> match "CA" Ca+ <|> match "CC" Cc+ <|> match "CD" Cd+ <|> match "CF" Cf+ <|> match "CG" Cg+ <|> match "CH" Ch+ <|> match "CI" Ci+ <|> match "CK" Ck+ <|> match "CL" Cl+ <|> match "CM" Cm+ <|> match "CN" Cn+ <|> match "CO" Co+ <|> match "CR" Cr+ <|> match "CU" Cu+ <|> match "CV" Cv+ <|> match "CX" Cx+ <|> match "CY" Cy+ <|> match "CZ" Cz+ <|> match "DE" De+ <|> match "DJ" Dj+ <|> match "DK" Dk+ <|> match "DM" Dm+ <|> match "DO" Do'+ <|> match "DZ" Dz+ <|> match "EC" Ec+ <|> match "EE" Ee+ <|> match "EG" Eg+ <|> match "ER" Er+ <|> match "ES" Es+ <|> match "ET" Et+ <|> match "FI" Fi+ <|> match "FJ" Fj+ <|> match "FK" Fk+ <|> match "FM" Fm+ <|> match "FO" Fo+ <|> match "FR" Fr+ <|> match "GA" Ga+ <|> match "GB" Gb+ <|> match "GD" Gd+ <|> match "GE" Ge+ <|> match "GH" Gh+ <|> match "GI" Gi+ <|> match "GL" Gl+ <|> match "GM" Gm+ <|> match "GN" Gn+ <|> match "GQ" Gq+ <|> match "GR" Gr+ <|> match "GT" Gt+ <|> match "GU" Gu+ <|> match "GW" Gw+ <|> match "GY" Gy+ <|> match "HK" Hk+ <|> match "HN" Hn+ <|> match "HR" Hr+ <|> match "HT" Ht+ <|> match "HU" Hu+ <|> match "ID" Id+ <|> match "IE" Ie+ <|> match "IL" Il+ <|> match "IM" Im+ <|> match "IN" In'+ <|> match "IQ" Iq+ <|> match "IR" Ir+ <|> match "IS" Is+ <|> match "IT" It+ <|> match "JM" Jm+ <|> match "JO" Jo+ <|> match "JP" Jp+ <|> match "KE" Ke+ <|> match "KG" Kg+ <|> match "KH" Kh+ <|> match "KI" Ki+ <|> match "KM" Km+ <|> match "KN" Kn+ <|> match "KP" Kp+ <|> match "KR" Kr+ <|> match "KW" Kw+ <|> match "KY" Ky+ <|> match "KZ" Kz+ <|> match "LA" La+ <|> match "LB" Lb+ <|> match "LC" Lc+ <|> match "LI" Li+ <|> match "LK" Lk+ <|> match "LR" Lr+ <|> match "LS" Ls+ <|> match "LT" Lt+ <|> match "LU" Lu+ <|> match "LV" Lv+ <|> match "LY" Ly+ <|> match "MA" Ma+ <|> match "MC" Mc+ <|> match "MD" Md+ <|> match "ME" Me+ <|> match "MF" Mf+ <|> match "MG" Mg+ <|> match "MH" Mh+ <|> match "MK" Mk+ <|> match "ML" Ml+ <|> match "MM" Mm+ <|> match "MN" Mn+ <|> match "MO" Mo+ <|> match "MP" Mp+ <|> match "MR" Mr+ <|> match "MS" Ms+ <|> match "MT" Mt+ <|> match "MU" Mu+ <|> match "MV" Mv+ <|> match "MW" Mw+ <|> match "MX" Mx+ <|> match "MY" My+ <|> match "MZ" Mz+ <|> match "NA" Na+ <|> match "NC" Nc+ <|> match "NE" Ne+ <|> match "NG" Ng+ <|> match "NI" Ni+ <|> match "NL" Nl+ <|> match "NO" No+ <|> match "NP" Np+ <|> match "NR" Nr+ <|> match "NU" Nu+ <|> match "NZ" Nz+ <|> match "OM" Om+ <|> match "PA" Pa+ <|> match "PE" Pe+ <|> match "PF" Pf+ <|> match "PG" Pg+ <|> match "PH" Ph+ <|> match "PK" Pk+ <|> match "PL" Pl+ <|> match "PM" Pm+ <|> match "PN" Pn+ <|> match "PR" Pr+ <|> match "PT" Pt+ <|> match "PW" Pw+ <|> match "PY" Py+ <|> match "QA" Qa+ <|> match "RO" Ro+ <|> match "RS" Rs+ <|> match "RU" Ru+ <|> match "RW" Rw+ <|> match "SA" Sa+ <|> match "SB" Sb+ <|> match "SC" Sc+ <|> match "SD" Sd+ <|> match "SE" Se+ <|> match "SG" Sg+ <|> match "SH" Sh+ <|> match "SI" Si+ <|> match "SK" Sk+ <|> match "SL" Sl+ <|> match "SM" Sm+ <|> match "SN" Sn+ <|> match "SO" So+ <|> match "SR" Sr+ <|> match "ST" St+ <|> match "SV" Sv+ <|> match "SY" Sy+ <|> match "SZ" Sz+ <|> match "TC" Tc+ <|> match "TD" Td+ <|> match "TG" Tg+ <|> match "TH" Th+ <|> match "TJ" Tj+ <|> match "TK" Tk+ <|> match "TL" Tl+ <|> match "TM" Tm+ <|> match "TN" Tn+ <|> match "TO" To+ <|> match "TR" Tr+ <|> match "TT" Tt+ <|> match "TV" Tv+ <|> match "TW" Tw+ <|> match "TZ" Tz+ <|> match "UA" Ua+ <|> match "UG" Ug+ <|> match "US" Us+ <|> match "UY" Uy+ <|> match "UZ" Uz+ <|> match "VA" Va+ <|> match "VC" Vc+ <|> match "VE" Ve+ <|> match "VG" Vg+ <|> match "VI" Vi+ <|> match "VN" Vn+ <|> match "VU" Vu+ <|> match "WF" Wf+ <|> match "WS" Ws+ <|> match "YE" Ye+ <|> match "YT" Yt+ <|> match "ZA" Za+ <|> match "ZM" Zm+ <|> match "ZW" Zw++instance ToText CountryCode where+ toText = \case+ Ad -> "AD"+ Ae -> "AE"+ Af -> "AF"+ Ag -> "AG"+ Ai -> "AI"+ Al -> "AL"+ Am -> "AM"+ An -> "AN"+ Ao -> "AO"+ Aq -> "AQ"+ Ar -> "AR"+ As -> "AS"+ At -> "AT"+ Au -> "AU"+ Aw -> "AW"+ Az -> "AZ"+ Ba -> "BA"+ Bb -> "BB"+ Bd -> "BD"+ Be -> "BE"+ Bf -> "BF"+ Bg -> "BG"+ Bh -> "BH"+ Bi -> "BI"+ Bj -> "BJ"+ Bl -> "BL"+ Bm -> "BM"+ Bn -> "BN"+ Bo -> "BO"+ Br -> "BR"+ Bs -> "BS"+ Bt -> "BT"+ Bw -> "BW"+ By -> "BY"+ Bz -> "BZ"+ Ca -> "CA"+ Cc -> "CC"+ Cd -> "CD"+ Cf -> "CF"+ Cg -> "CG"+ Ch -> "CH"+ Ci -> "CI"+ Ck -> "CK"+ Cl -> "CL"+ Cm -> "CM"+ Cn -> "CN"+ Co -> "CO"+ Cr -> "CR"+ Cu -> "CU"+ Cv -> "CV"+ Cx -> "CX"+ Cy -> "CY"+ Cz -> "CZ"+ De -> "DE"+ Dj -> "DJ"+ Dk -> "DK"+ Dm -> "DM"+ Do' -> "DO"+ Dz -> "DZ"+ Ec -> "EC"+ Ee -> "EE"+ Eg -> "EG"+ Er -> "ER"+ Es -> "ES"+ Et -> "ET"+ Fi -> "FI"+ Fj -> "FJ"+ Fk -> "FK"+ Fm -> "FM"+ Fo -> "FO"+ Fr -> "FR"+ Ga -> "GA"+ Gb -> "GB"+ Gd -> "GD"+ Ge -> "GE"+ Gh -> "GH"+ Gi -> "GI"+ Gl -> "GL"+ Gm -> "GM"+ Gn -> "GN"+ Gq -> "GQ"+ Gr -> "GR"+ Gt -> "GT"+ Gu -> "GU"+ Gw -> "GW"+ Gy -> "GY"+ Hk -> "HK"+ Hn -> "HN"+ Hr -> "HR"+ Ht -> "HT"+ Hu -> "HU"+ Id -> "ID"+ Ie -> "IE"+ Il -> "IL"+ Im -> "IM"+ In' -> "IN"+ Iq -> "IQ"+ Ir -> "IR"+ Is -> "IS"+ It -> "IT"+ Jm -> "JM"+ Jo -> "JO"+ Jp -> "JP"+ Ke -> "KE"+ Kg -> "KG"+ Kh -> "KH"+ Ki -> "KI"+ Km -> "KM"+ Kn -> "KN"+ Kp -> "KP"+ Kr -> "KR"+ Kw -> "KW"+ Ky -> "KY"+ Kz -> "KZ"+ La -> "LA"+ Lb -> "LB"+ Lc -> "LC"+ Li -> "LI"+ Lk -> "LK"+ Lr -> "LR"+ Ls -> "LS"+ Lt -> "LT"+ Lu -> "LU"+ Lv -> "LV"+ Ly -> "LY"+ Ma -> "MA"+ Mc -> "MC"+ Md -> "MD"+ Me -> "ME"+ Mf -> "MF"+ Mg -> "MG"+ Mh -> "MH"+ Mk -> "MK"+ Ml -> "ML"+ Mm -> "MM"+ Mn -> "MN"+ Mo -> "MO"+ Mp -> "MP"+ Mr -> "MR"+ Ms -> "MS"+ Mt -> "MT"+ Mu -> "MU"+ Mv -> "MV"+ Mw -> "MW"+ Mx -> "MX"+ My -> "MY"+ Mz -> "MZ"+ Na -> "NA"+ Nc -> "NC"+ Ne -> "NE"+ Ng -> "NG"+ Ni -> "NI"+ Nl -> "NL"+ No -> "NO"+ Np -> "NP"+ Nr -> "NR"+ Nu -> "NU"+ Nz -> "NZ"+ Om -> "OM"+ Pa -> "PA"+ Pe -> "PE"+ Pf -> "PF"+ Pg -> "PG"+ Ph -> "PH"+ Pk -> "PK"+ Pl -> "PL"+ Pm -> "PM"+ Pn -> "PN"+ Pr -> "PR"+ Pt -> "PT"+ Pw -> "PW"+ Py -> "PY"+ Qa -> "QA"+ Ro -> "RO"+ Rs -> "RS"+ Ru -> "RU"+ Rw -> "RW"+ Sa -> "SA"+ Sb -> "SB"+ Sc -> "SC"+ Sd -> "SD"+ Se -> "SE"+ Sg -> "SG"+ Sh -> "SH"+ Si -> "SI"+ Sk -> "SK"+ Sl -> "SL"+ Sm -> "SM"+ Sn -> "SN"+ So -> "SO"+ Sr -> "SR"+ St -> "ST"+ Sv -> "SV"+ Sy -> "SY"+ Sz -> "SZ"+ Tc -> "TC"+ Td -> "TD"+ Tg -> "TG"+ Th -> "TH"+ Tj -> "TJ"+ Tk -> "TK"+ Tl -> "TL"+ Tm -> "TM"+ Tn -> "TN"+ To -> "TO"+ Tr -> "TR"+ Tt -> "TT"+ Tv -> "TV"+ Tw -> "TW"+ Tz -> "TZ"+ Ua -> "UA"+ Ug -> "UG"+ Us -> "US"+ Uy -> "UY"+ Uz -> "UZ"+ Va -> "VA"+ Vc -> "VC"+ Ve -> "VE"+ Vg -> "VG"+ Vi -> "VI"+ Vn -> "VN"+ Vu -> "VU"+ Wf -> "WF"+ Ws -> "WS"+ Ye -> "YE"+ Yt -> "YT"+ Za -> "ZA"+ Zm -> "ZM"+ Zw -> "ZW"++instance FromJSON CountryCode where+ parseJSON = parseJSONText "CountryCode"++instance ToJSON CountryCode where+ toJSON = toJSONText++data ExtraParam = ExtraParam+ { _epName :: Text+ , _epValue :: Text+ } deriving (Eq, Ord, Show)++-- | 'ExtraParam' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'epName' @::@ 'Text'+--+-- * 'epValue' @::@ 'Text'+--+extraParam :: Text -- ^ 'epName'+ -> Text -- ^ 'epValue'+ -> ExtraParam+extraParam p1 p2 = ExtraParam+ { _epName = p1+ , _epValue = p2+ }++-- | Name of the additional parameter required by the top-level domain. Type:+-- String Default: None Valid values: DUNS_NUMBER | BRAND_NUMBER |+-- BIRTH_DEPARTMENT | BIRTH_DATE_IN_YYYY_MM_DD | BIRTH_COUNTRY | BIRTH_CITY+-- | DOCUMENT_NUMBER | AU_ID_NUMBER | AU_ID_TYPE | CA_LEGAL_TYPE |+-- FI_BUSINESS_NUMBER | FI_ID_NUMBER | IT_PIN | RU_PASSPORT_DATA |+-- SE_ID_NUMBER | SG_ID_NUMBER | VAT_NUMBER Parent: ExtraParams Required:+-- Yes.+epName :: Lens' ExtraParam Text+epName = lens _epName (\s a -> s { _epName = a })++-- | Values corresponding to the additional parameter names required by some+-- top-level domains. Type: String Default: None Constraints: Maximum 2048+-- characters. Parent: ExtraParams Required: Yes.+epValue :: Lens' ExtraParam Text+epValue = lens _epValue (\s a -> s { _epValue = a })++instance FromJSON ExtraParam where+ parseJSON = withObject "ExtraParam" $ \o -> ExtraParam+ <$> o .: "Name"+ <*> o .: "Value"++instance ToJSON ExtraParam where+ toJSON ExtraParam{..} = object+ [ "Name" .= _epName+ , "Value" .= _epValue+ ]++data ContactType+ = CTAssociation -- ^ ASSOCIATION+ | CTCompany -- ^ COMPANY+ | CTPerson -- ^ PERSON+ | CTPublicBody -- ^ PUBLIC_BODY+ | CTReseller -- ^ RESELLER+ deriving (Eq, Ord, Show, Generic, Enum)++instance Hashable ContactType++instance FromText ContactType where+ parser = match "ASSOCIATION" CTAssociation+ <|> match "COMPANY" CTCompany+ <|> match "PERSON" CTPerson+ <|> match "PUBLIC_BODY" CTPublicBody+ <|> match "RESELLER" CTReseller++instance ToText ContactType where+ toText = \case+ CTAssociation -> "ASSOCIATION"+ CTCompany -> "COMPANY"+ CTPerson -> "PERSON"+ CTPublicBody -> "PUBLIC_BODY"+ CTReseller -> "RESELLER"++instance FromJSON ContactType where+ parseJSON = parseJSONText "ContactType"++instance ToJSON ContactType where+ toJSON = toJSONText++data ContactDetail = ContactDetail+ { _cdAddressLine1 :: Maybe Text+ , _cdAddressLine2 :: Maybe Text+ , _cdCity :: Maybe Text+ , _cdContactType :: Maybe Text+ , _cdCountryCode :: Maybe Text+ , _cdEmail :: Maybe Text+ , _cdExtraParams :: List "ExtraParams" ExtraParam+ , _cdFax :: Maybe Text+ , _cdFirstName :: Maybe Text+ , _cdLastName :: Maybe Text+ , _cdOrganizationName :: Maybe Text+ , _cdPhoneNumber :: Maybe Text+ , _cdState :: Maybe Text+ , _cdZipCode :: Maybe Text+ } deriving (Eq, Show)++-- | 'ContactDetail' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'cdAddressLine1' @::@ 'Maybe' 'Text'+--+-- * 'cdAddressLine2' @::@ 'Maybe' 'Text'+--+-- * 'cdCity' @::@ 'Maybe' 'Text'+--+-- * 'cdContactType' @::@ 'Maybe' 'Text'+--+-- * 'cdCountryCode' @::@ 'Maybe' 'Text'+--+-- * 'cdEmail' @::@ 'Maybe' 'Text'+--+-- * 'cdExtraParams' @::@ ['ExtraParam']+--+-- * 'cdFax' @::@ 'Maybe' 'Text'+--+-- * 'cdFirstName' @::@ 'Maybe' 'Text'+--+-- * 'cdLastName' @::@ 'Maybe' 'Text'+--+-- * 'cdOrganizationName' @::@ 'Maybe' 'Text'+--+-- * 'cdPhoneNumber' @::@ 'Maybe' 'Text'+--+-- * 'cdState' @::@ 'Maybe' 'Text'+--+-- * 'cdZipCode' @::@ 'Maybe' 'Text'+--+contactDetail :: ContactDetail+contactDetail = ContactDetail+ { _cdFirstName = Nothing+ , _cdLastName = Nothing+ , _cdContactType = Nothing+ , _cdOrganizationName = Nothing+ , _cdAddressLine1 = Nothing+ , _cdAddressLine2 = Nothing+ , _cdCity = Nothing+ , _cdState = Nothing+ , _cdCountryCode = Nothing+ , _cdZipCode = Nothing+ , _cdPhoneNumber = Nothing+ , _cdEmail = Nothing+ , _cdFax = Nothing+ , _cdExtraParams = mempty+ }++-- | First line of the contact's address. Type: String Default: None+-- Constraints: Maximum 255 characters. Parents: RegistrantContact,+-- AdminContact, TechContact Required: Yes.+cdAddressLine1 :: Lens' ContactDetail (Maybe Text)+cdAddressLine1 = lens _cdAddressLine1 (\s a -> s { _cdAddressLine1 = a })++-- | Second line of contact's address, if any. Type: String Default: None+-- Constraints: Maximum 255 characters. Parents: RegistrantContact,+-- AdminContact, TechContact Required: No.+cdAddressLine2 :: Lens' ContactDetail (Maybe Text)+cdAddressLine2 = lens _cdAddressLine2 (\s a -> s { _cdAddressLine2 = a })++-- | The city of the contact's address. Type: String Default: None+-- Constraints: Maximum 255 characters. Parents: RegistrantContact,+-- AdminContact, TechContact Required: Yes.+cdCity :: Lens' ContactDetail (Maybe Text)+cdCity = lens _cdCity (\s a -> s { _cdCity = a })++-- | Indicates whether the contact is a person, company, association, or+-- public organization. If you choose an option other than PERSON, you must+-- enter an organization name, and you can't enable privacy protection for+-- the contact. Type: String Default: None Constraints: Maximum 255+-- characters. Valid values: PERSON | COMPANY | ASSOCIATION | PUBLIC_BODY+-- Parents: RegistrantContact, AdminContact, TechContact Required: Yes.+cdContactType :: Lens' ContactDetail (Maybe Text)+cdContactType = lens _cdContactType (\s a -> s { _cdContactType = a })++-- | Code for the country of the contact's address. Type: String Default: None+-- Constraints: Maximum 255 characters. Parents: RegistrantContact,+-- AdminContact, TechContact Required: Yes.+cdCountryCode :: Lens' ContactDetail (Maybe Text)+cdCountryCode = lens _cdCountryCode (\s a -> s { _cdCountryCode = a })++-- | Email address of the contact. Type: String Default: None Constraints:+-- Maximum 254 characters. Parents: RegistrantContact, AdminContact,+-- TechContact Required: Yes.+cdEmail :: Lens' ContactDetail (Maybe Text)+cdEmail = lens _cdEmail (\s a -> s { _cdEmail = a })++-- | A list of name-value pairs for parameters required by certain top-level+-- domains. Type: Complex Default: None Parents: RegistrantContact,+-- AdminContact, TechContact Children: Name, Value Required: No.+cdExtraParams :: Lens' ContactDetail [ExtraParam]+cdExtraParams = lens _cdExtraParams (\s a -> s { _cdExtraParams = a }) . _List++-- | Fax number of the contact. Type: String Default: None Constraints: Phone+-- number must be specified in the format "+[country dialing code].[number+-- including any area code]". For example, a US phone number might appear as+-- "+1.1234567890". Parents: RegistrantContact, AdminContact, TechContact+-- Required: No.+cdFax :: Lens' ContactDetail (Maybe Text)+cdFax = lens _cdFax (\s a -> s { _cdFax = a })++-- | First name of contact. Type: String Default: None Constraints: Maximum+-- 255 characters. Parents: RegistrantContact, AdminContact, TechContact+-- Required: Yes.+cdFirstName :: Lens' ContactDetail (Maybe Text)+cdFirstName = lens _cdFirstName (\s a -> s { _cdFirstName = a })++-- | Last name of contact. Type: String Default: None Constraints: Maximum 255+-- characters. Parents: RegistrantContact, AdminContact, TechContact+-- Required: Yes.+cdLastName :: Lens' ContactDetail (Maybe Text)+cdLastName = lens _cdLastName (\s a -> s { _cdLastName = a })++-- | Name of the organization for contact types other than PERSON. Type:+-- String Default: None Constraints: Maximum 255 characters. Contact type+-- must not be PERSON. Parents: RegistrantContact, AdminContact, TechContact+-- Required: No.+cdOrganizationName :: Lens' ContactDetail (Maybe Text)+cdOrganizationName =+ lens _cdOrganizationName (\s a -> s { _cdOrganizationName = a })++-- | The phone number of the contact. Type: String Default: None Constraints:+-- Phone number must be specified in the format "+[country dialing+-- code].[number including any area code>]". For example, a US phone+-- number might appear as "+1.1234567890". Parents: RegistrantContact,+-- AdminContact, TechContact Required: Yes.+cdPhoneNumber :: Lens' ContactDetail (Maybe Text)+cdPhoneNumber = lens _cdPhoneNumber (\s a -> s { _cdPhoneNumber = a })++-- | The state or province of the contact's city. Type: String Default: None+-- Constraints: Maximum 255 characters. Parents: RegistrantContact,+-- AdminContact, TechContact Required: No.+cdState :: Lens' ContactDetail (Maybe Text)+cdState = lens _cdState (\s a -> s { _cdState = a })++-- | The zip or postal code of the contact's address. Type: String Default:+-- None Constraints: Maximum 255 characters. Parents: RegistrantContact,+-- AdminContact, TechContact Required: No.+cdZipCode :: Lens' ContactDetail (Maybe Text)+cdZipCode = lens _cdZipCode (\s a -> s { _cdZipCode = a })++instance FromJSON ContactDetail where+ parseJSON = withObject "ContactDetail" $ \o -> ContactDetail+ <$> o .:? "AddressLine1"+ <*> o .:? "AddressLine2"+ <*> o .:? "City"+ <*> o .:? "ContactType"+ <*> o .:? "CountryCode"+ <*> o .:? "Email"+ <*> o .: "ExtraParams"+ <*> o .:? "Fax"+ <*> o .:? "FirstName"+ <*> o .:? "LastName"+ <*> o .:? "OrganizationName"+ <*> o .:? "PhoneNumber"+ <*> o .:? "State"+ <*> o .:? "ZipCode"++instance ToJSON ContactDetail where+ toJSON ContactDetail{..} = object+ [ "FirstName" .= _cdFirstName+ , "LastName" .= _cdLastName+ , "ContactType" .= _cdContactType+ , "OrganizationName" .= _cdOrganizationName+ , "AddressLine1" .= _cdAddressLine1+ , "AddressLine2" .= _cdAddressLine2+ , "City" .= _cdCity+ , "State" .= _cdState+ , "CountryCode" .= _cdCountryCode+ , "ZipCode" .= _cdZipCode+ , "PhoneNumber" .= _cdPhoneNumber+ , "Email" .= _cdEmail+ , "Fax" .= _cdFax+ , "ExtraParams" .= _cdExtraParams+ ]++data OperationSummary = OperationSummary+ { _osOperationId :: Text+ , _osStatus :: Text+ , _osSubmittedDate :: RFC822+ , _osType :: Text+ } deriving (Eq, Ord, Show)++-- | 'OperationSummary' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'osOperationId' @::@ 'Text'+--+-- * 'osStatus' @::@ 'Text'+--+-- * 'osSubmittedDate' @::@ 'UTCTime'+--+-- * 'osType' @::@ 'Text'+--+operationSummary :: Text -- ^ 'osOperationId'+ -> Text -- ^ 'osStatus'+ -> Text -- ^ 'osType'+ -> UTCTime -- ^ 'osSubmittedDate'+ -> OperationSummary+operationSummary p1 p2 p3 p4 = OperationSummary+ { _osOperationId = p1+ , _osStatus = p2+ , _osType = p3+ , _osSubmittedDate = withIso _Time (const id) p4+ }++-- | Identifier returned to track the requested action. Type: String.+osOperationId :: Lens' OperationSummary Text+osOperationId = lens _osOperationId (\s a -> s { _osOperationId = a })++-- | The current status of the requested operation in the system. Type:+-- String.+osStatus :: Lens' OperationSummary Text+osStatus = lens _osStatus (\s a -> s { _osStatus = a })++-- | The date when the request was submitted.+osSubmittedDate :: Lens' OperationSummary UTCTime+osSubmittedDate = lens _osSubmittedDate (\s a -> s { _osSubmittedDate = a }) . _Time++-- | Type of the action requested. Type: String Valid values: REGISTER_DOMAIN+-- | DELETE_DOMAIN | TRANSFER_IN_DOMAIN | UPDATE_DOMAIN_CONTACT |+-- UPDATE_NAMESERVER | CHANGE_PRIVACY_PROTECTION | DOMAIN_LOCK.+osType :: Lens' OperationSummary Text+osType = lens _osType (\s a -> s { _osType = a })++instance FromJSON OperationSummary where+ parseJSON = withObject "OperationSummary" $ \o -> OperationSummary+ <$> o .: "OperationId"+ <*> o .: "Status"+ <*> o .: "SubmittedDate"+ <*> o .: "Type"++instance ToJSON OperationSummary where+ toJSON OperationSummary{..} = object+ [ "OperationId" .= _osOperationId+ , "Status" .= _osStatus+ , "Type" .= _osType+ , "SubmittedDate" .= _osSubmittedDate+ ]
+ gen/Network/AWS/Route53Domains/UpdateDomainContact.hs view
@@ -0,0 +1,160 @@+{-# 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.UpdateDomainContact+-- 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 updates the contact information for a particular domain.+-- Information for at least one contact (registrant, administrator, or+-- technical) must be supplied for update. If the update is successful, this+-- method returns an operation ID that you can use to track the progress and+-- completion of the action. If the request is not completed successfully, the+-- domain registrant will be notified by email.+--+-- <http://docs.aws.amazon.com/Route53/latest/APIReference/api-UpdateDomainContact.html>+module Network.AWS.Route53Domains.UpdateDomainContact+ (+ -- * Request+ UpdateDomainContact+ -- ** Request constructor+ , updateDomainContact+ -- ** Request lenses+ , udcAdminContact+ , udcDomainName+ , udcRegistrantContact+ , udcTechContact++ -- * Response+ , UpdateDomainContactResponse+ -- ** Response constructor+ , updateDomainContactResponse+ -- ** Response lenses+ , udcrOperationId+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.JSON+import Network.AWS.Route53Domains.Types+import qualified GHC.Exts++data UpdateDomainContact = UpdateDomainContact+ { _udcAdminContact :: Maybe ContactDetail+ , _udcDomainName :: Text+ , _udcRegistrantContact :: Maybe ContactDetail+ , _udcTechContact :: Maybe ContactDetail+ } deriving (Eq, Show)++-- | 'UpdateDomainContact' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'udcAdminContact' @::@ 'Maybe' 'ContactDetail'+--+-- * 'udcDomainName' @::@ 'Text'+--+-- * 'udcRegistrantContact' @::@ 'Maybe' 'ContactDetail'+--+-- * 'udcTechContact' @::@ 'Maybe' 'ContactDetail'+--+updateDomainContact :: Text -- ^ 'udcDomainName'+ -> UpdateDomainContact+updateDomainContact p1 = UpdateDomainContact+ { _udcDomainName = p1+ , _udcAdminContact = Nothing+ , _udcRegistrantContact = Nothing+ , _udcTechContact = Nothing+ }++-- | Provides detailed contact information. Type: Complex Children: FirstName,+-- MiddleName, LastName, ContactType, OrganizationName, AddressLine1,+-- AddressLine2, City, State, CountryCode, ZipCode, PhoneNumber, Email, Fax,+-- ExtraParams Required: Yes.+udcAdminContact :: Lens' UpdateDomainContact (Maybe ContactDetail)+udcAdminContact = lens _udcAdminContact (\s a -> s { _udcAdminContact = a })++-- | The name of a domain. Type: String Default: None Constraints: The domain+-- name can contain only the letters a through z, the numbers 0 through 9,+-- and hyphen (-). Internationalized Domain Names are not supported.+-- Required: Yes.+udcDomainName :: Lens' UpdateDomainContact Text+udcDomainName = lens _udcDomainName (\s a -> s { _udcDomainName = a })++-- | Provides detailed contact information. Type: Complex Children: FirstName,+-- MiddleName, LastName, ContactType, OrganizationName, AddressLine1,+-- AddressLine2, City, State, CountryCode, ZipCode, PhoneNumber, Email, Fax,+-- ExtraParams Required: Yes.+udcRegistrantContact :: Lens' UpdateDomainContact (Maybe ContactDetail)+udcRegistrantContact =+ lens _udcRegistrantContact (\s a -> s { _udcRegistrantContact = a })++-- | Provides detailed contact information. Type: Complex Children: FirstName,+-- MiddleName, LastName, ContactType, OrganizationName, AddressLine1,+-- AddressLine2, City, State, CountryCode, ZipCode, PhoneNumber, Email, Fax,+-- ExtraParams Required: Yes.+udcTechContact :: Lens' UpdateDomainContact (Maybe ContactDetail)+udcTechContact = lens _udcTechContact (\s a -> s { _udcTechContact = a })++newtype UpdateDomainContactResponse = UpdateDomainContactResponse+ { _udcrOperationId :: Text+ } deriving (Eq, Ord, Show, Monoid, IsString)++-- | 'UpdateDomainContactResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'udcrOperationId' @::@ 'Text'+--+updateDomainContactResponse :: Text -- ^ 'udcrOperationId'+ -> UpdateDomainContactResponse+updateDomainContactResponse p1 = UpdateDomainContactResponse+ { _udcrOperationId = p1+ }++-- | Identifier for tracking the progress of the request. To use this ID to+-- query the operation status, use GetOperationDetail. Type: String Default:+-- None Constraints: Maximum 255 characters.+udcrOperationId :: Lens' UpdateDomainContactResponse Text+udcrOperationId = lens _udcrOperationId (\s a -> s { _udcrOperationId = a })++instance ToPath UpdateDomainContact where+ toPath = const "/"++instance ToQuery UpdateDomainContact where+ toQuery = const mempty++instance ToHeaders UpdateDomainContact++instance ToJSON UpdateDomainContact where+ toJSON UpdateDomainContact{..} = object+ [ "DomainName" .= _udcDomainName+ , "AdminContact" .= _udcAdminContact+ , "RegistrantContact" .= _udcRegistrantContact+ , "TechContact" .= _udcTechContact+ ]++instance AWSRequest UpdateDomainContact where+ type Sv UpdateDomainContact = Route53Domains+ type Rs UpdateDomainContact = UpdateDomainContactResponse++ request = post "UpdateDomainContact"+ response = jsonResponse++instance FromJSON UpdateDomainContactResponse where+ parseJSON = withObject "UpdateDomainContactResponse" $ \o -> UpdateDomainContactResponse+ <$> o .: "OperationId"
+ gen/Network/AWS/Route53Domains/UpdateDomainContactPrivacy.hs view
@@ -0,0 +1,166 @@+{-# 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.UpdateDomainContactPrivacy+-- 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 updates the specified domain contact's privacy setting. When+-- the privacy option is enabled, personal information such as postal or email+-- address is hidden from the results of a public WHOIS query. The privacy+-- services are provided by the AWS registrar, Gandi. For more information,+-- see the Gandi privacy features. This operation only affects the privacy of+-- the specified contact type (registrant, administrator, or tech). Successful+-- acceptance returns an operation ID that you can use with GetOperationDetail+-- to track the progress and completion of the action. If the request is not+-- completed successfully, the domain registrant will be notified by email.+--+-- <http://docs.aws.amazon.com/Route53/latest/APIReference/api-UpdateDomainContactPrivacy.html>+module Network.AWS.Route53Domains.UpdateDomainContactPrivacy+ (+ -- * Request+ UpdateDomainContactPrivacy+ -- ** Request constructor+ , updateDomainContactPrivacy+ -- ** Request lenses+ , udcpAdminPrivacy+ , udcpDomainName+ , udcpRegistrantPrivacy+ , udcpTechPrivacy++ -- * Response+ , UpdateDomainContactPrivacyResponse+ -- ** Response constructor+ , updateDomainContactPrivacyResponse+ -- ** Response lenses+ , udcprOperationId+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.JSON+import Network.AWS.Route53Domains.Types+import qualified GHC.Exts++data UpdateDomainContactPrivacy = UpdateDomainContactPrivacy+ { _udcpAdminPrivacy :: Maybe Bool+ , _udcpDomainName :: Text+ , _udcpRegistrantPrivacy :: Maybe Bool+ , _udcpTechPrivacy :: Maybe Bool+ } deriving (Eq, Ord, Show)++-- | 'UpdateDomainContactPrivacy' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'udcpAdminPrivacy' @::@ 'Maybe' 'Bool'+--+-- * 'udcpDomainName' @::@ 'Text'+--+-- * 'udcpRegistrantPrivacy' @::@ 'Maybe' 'Bool'+--+-- * 'udcpTechPrivacy' @::@ 'Maybe' 'Bool'+--+updateDomainContactPrivacy :: Text -- ^ 'udcpDomainName'+ -> UpdateDomainContactPrivacy+updateDomainContactPrivacy p1 = UpdateDomainContactPrivacy+ { _udcpDomainName = p1+ , _udcpAdminPrivacy = Nothing+ , _udcpRegistrantPrivacy = Nothing+ , _udcpTechPrivacy = Nothing+ }++-- | Whether you want to conceal contact information from WHOIS queries. If+-- you specify true, WHOIS ("who is") queries will return contact+-- information for our registrar partner, Gandi, instead of the contact+-- information that you enter. Type: Boolean Default: None Valid values:+-- true | false Required: No.+udcpAdminPrivacy :: Lens' UpdateDomainContactPrivacy (Maybe Bool)+udcpAdminPrivacy = lens _udcpAdminPrivacy (\s a -> s { _udcpAdminPrivacy = a })++-- | The name of a domain. Type: String Default: None Constraints: The domain+-- name can contain only the letters a through z, the numbers 0 through 9,+-- and hyphen (-). Internationalized Domain Names are not supported.+-- Required: Yes.+udcpDomainName :: Lens' UpdateDomainContactPrivacy Text+udcpDomainName = lens _udcpDomainName (\s a -> s { _udcpDomainName = a })++-- | Whether you want to conceal contact information from WHOIS queries. If+-- you specify true, WHOIS ("who is") queries will return contact+-- information for our registrar partner, Gandi, instead of the contact+-- information that you enter. Type: Boolean Default: None Valid values:+-- true | false Required: No.+udcpRegistrantPrivacy :: Lens' UpdateDomainContactPrivacy (Maybe Bool)+udcpRegistrantPrivacy =+ lens _udcpRegistrantPrivacy (\s a -> s { _udcpRegistrantPrivacy = a })++-- | Whether you want to conceal contact information from WHOIS queries. If+-- you specify true, WHOIS ("who is") queries will return contact+-- information for our registrar partner, Gandi, instead of the contact+-- information that you enter. Type: Boolean Default: None Valid values:+-- true | false Required: No.+udcpTechPrivacy :: Lens' UpdateDomainContactPrivacy (Maybe Bool)+udcpTechPrivacy = lens _udcpTechPrivacy (\s a -> s { _udcpTechPrivacy = a })++newtype UpdateDomainContactPrivacyResponse = UpdateDomainContactPrivacyResponse+ { _udcprOperationId :: Text+ } deriving (Eq, Ord, Show, Monoid, IsString)++-- | 'UpdateDomainContactPrivacyResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'udcprOperationId' @::@ 'Text'+--+updateDomainContactPrivacyResponse :: Text -- ^ 'udcprOperationId'+ -> UpdateDomainContactPrivacyResponse+updateDomainContactPrivacyResponse p1 = UpdateDomainContactPrivacyResponse+ { _udcprOperationId = p1+ }++-- | Identifier for tracking the progress of the request. To use this ID to+-- query the operation status, use GetOperationDetail. Type: String Default:+-- None Constraints: Maximum 255 characters.+udcprOperationId :: Lens' UpdateDomainContactPrivacyResponse Text+udcprOperationId = lens _udcprOperationId (\s a -> s { _udcprOperationId = a })++instance ToPath UpdateDomainContactPrivacy where+ toPath = const "/"++instance ToQuery UpdateDomainContactPrivacy where+ toQuery = const mempty++instance ToHeaders UpdateDomainContactPrivacy++instance ToJSON UpdateDomainContactPrivacy where+ toJSON UpdateDomainContactPrivacy{..} = object+ [ "DomainName" .= _udcpDomainName+ , "AdminPrivacy" .= _udcpAdminPrivacy+ , "RegistrantPrivacy" .= _udcpRegistrantPrivacy+ , "TechPrivacy" .= _udcpTechPrivacy+ ]++instance AWSRequest UpdateDomainContactPrivacy where+ type Sv UpdateDomainContactPrivacy = Route53Domains+ type Rs UpdateDomainContactPrivacy = UpdateDomainContactPrivacyResponse++ request = post "UpdateDomainContactPrivacy"+ response = jsonResponse++instance FromJSON UpdateDomainContactPrivacyResponse where+ parseJSON = withObject "UpdateDomainContactPrivacyResponse" $ \o -> UpdateDomainContactPrivacyResponse+ <$> o .: "OperationId"
+ gen/Network/AWS/Route53Domains/UpdateDomainNameservers.hs view
@@ -0,0 +1,132 @@+{-# 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.UpdateDomainNameservers+-- 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 replaces the current set of name servers for the domain with+-- the specified set of name servers. If you use Amazon Route 53 as your DNS+-- service, specify the four name servers in the delegation set for the hosted+-- zone for the domain. If successful, this operation returns an operation ID+-- that you can use to track the progress and completion of the action. If the+-- request is not completed successfully, the domain registrant will be+-- notified by email.+--+-- <http://docs.aws.amazon.com/Route53/latest/APIReference/api-UpdateDomainNameservers.html>+module Network.AWS.Route53Domains.UpdateDomainNameservers+ (+ -- * Request+ UpdateDomainNameservers+ -- ** Request constructor+ , updateDomainNameservers+ -- ** Request lenses+ , udnDomainName+ , udnNameservers++ -- * Response+ , UpdateDomainNameserversResponse+ -- ** Response constructor+ , updateDomainNameserversResponse+ -- ** Response lenses+ , udnrOperationId+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.JSON+import Network.AWS.Route53Domains.Types+import qualified GHC.Exts++data UpdateDomainNameservers = UpdateDomainNameservers+ { _udnDomainName :: Text+ , _udnNameservers :: List "Nameservers" Nameserver+ } deriving (Eq, Show)++-- | 'UpdateDomainNameservers' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'udnDomainName' @::@ 'Text'+--+-- * 'udnNameservers' @::@ ['Nameserver']+--+updateDomainNameservers :: Text -- ^ 'udnDomainName'+ -> UpdateDomainNameservers+updateDomainNameservers p1 = UpdateDomainNameservers+ { _udnDomainName = p1+ , _udnNameservers = mempty+ }++-- | The name of a domain. Type: String Default: None Constraints: The domain+-- name can contain only the letters a through z, the numbers 0 through 9,+-- and hyphen (-). Internationalized Domain Names are not supported.+-- Required: Yes.+udnDomainName :: Lens' UpdateDomainNameservers Text+udnDomainName = lens _udnDomainName (\s a -> s { _udnDomainName = a })++-- | A list of new name servers for the domain. Type: Complex Children: Name,+-- GlueIps Required: Yes.+udnNameservers :: Lens' UpdateDomainNameservers [Nameserver]+udnNameservers = lens _udnNameservers (\s a -> s { _udnNameservers = a }) . _List++newtype UpdateDomainNameserversResponse = UpdateDomainNameserversResponse+ { _udnrOperationId :: Text+ } deriving (Eq, Ord, Show, Monoid, IsString)++-- | 'UpdateDomainNameserversResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'udnrOperationId' @::@ 'Text'+--+updateDomainNameserversResponse :: Text -- ^ 'udnrOperationId'+ -> UpdateDomainNameserversResponse+updateDomainNameserversResponse p1 = UpdateDomainNameserversResponse+ { _udnrOperationId = p1+ }++-- | Identifier for tracking the progress of the request. To use this ID to+-- query the operation status, use GetOperationDetail. Type: String Default:+-- None Constraints: Maximum 255 characters.+udnrOperationId :: Lens' UpdateDomainNameserversResponse Text+udnrOperationId = lens _udnrOperationId (\s a -> s { _udnrOperationId = a })++instance ToPath UpdateDomainNameservers where+ toPath = const "/"++instance ToQuery UpdateDomainNameservers where+ toQuery = const mempty++instance ToHeaders UpdateDomainNameservers++instance ToJSON UpdateDomainNameservers where+ toJSON UpdateDomainNameservers{..} = object+ [ "DomainName" .= _udnDomainName+ , "Nameservers" .= _udnNameservers+ ]++instance AWSRequest UpdateDomainNameservers where+ type Sv UpdateDomainNameservers = Route53Domains+ type Rs UpdateDomainNameservers = UpdateDomainNameserversResponse++ request = post "UpdateDomainNameservers"+ response = jsonResponse++instance FromJSON UpdateDomainNameserversResponse where+ parseJSON = withObject "UpdateDomainNameserversResponse" $ \o -> UpdateDomainNameserversResponse+ <$> o .: "OperationId"