packages feed

gogol-dns (empty) → 0.0.1

raw patch · 17 files changed

+2575/−0 lines, 17 filesdep +basedep +gogol-coresetup-changed

Dependencies added: base, gogol-core

Files

+ LICENSE view
@@ -0,0 +1,367 @@+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.
+ README.md view
@@ -0,0 +1,28 @@+# gogol-dns++* [Version](#version)+* [Description](#description)+* [Contribute](#contribute)+* [Licence](#licence)+++## Version++`0.0.1`+++## Description++A client library for the Google Cloud DNS.+++## 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++`gogol-dns` 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
+ gen/Network/Google/DNS.hs view
@@ -0,0 +1,162 @@+{-# LANGUAGE DataKinds         #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE TypeOperators     #-}++{-# OPTIONS_GHC -fno-warn-unused-imports    #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}++-- |+-- Module      : Network.Google.DNS+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- The Google Cloud DNS API provides services for configuring and serving+-- authoritative DNS records.+--+-- /See:/ <https://developers.google.com/cloud-dns Google Cloud DNS API Reference>+module Network.Google.DNS+    (+    -- * Service Configuration+      dNSService++    -- * API Declaration+    , DNSAPI++    -- * Resources++    -- ** dns.changes.create+    , module Network.Google.Resource.DNS.Changes.Create++    -- ** dns.changes.get+    , module Network.Google.Resource.DNS.Changes.Get++    -- ** dns.changes.list+    , module Network.Google.Resource.DNS.Changes.List++    -- ** dns.managedZones.create+    , module Network.Google.Resource.DNS.ManagedZones.Create++    -- ** dns.managedZones.delete+    , module Network.Google.Resource.DNS.ManagedZones.Delete++    -- ** dns.managedZones.get+    , module Network.Google.Resource.DNS.ManagedZones.Get++    -- ** dns.managedZones.list+    , module Network.Google.Resource.DNS.ManagedZones.List++    -- ** dns.projects.get+    , module Network.Google.Resource.DNS.Projects.Get++    -- ** dns.resourceRecordSets.list+    , module Network.Google.Resource.DNS.ResourceRecordSets.List++    -- * Types++    -- ** ChangesListResponse+    , ChangesListResponse+    , changesListResponse+    , clrNextPageToken+    , clrChanges+    , clrKind++    -- ** Project+    , Project+    , project+    , pKind+    , pId+    , pNumber+    , pQuota++    -- ** ChangesListSortBy+    , ChangesListSortBy (..)++    -- ** Change+    , Change+    , change+    , cStatus+    , cAdditions+    , cStartTime+    , cKind+    , cDeletions+    , cId++    -- ** ResourceRecordSetsListResponse+    , ResourceRecordSetsListResponse+    , resourceRecordSetsListResponse+    , rrslrNextPageToken+    , rrslrKind+    , rrslrRrSets++    -- ** ChangeStatus+    , ChangeStatus (..)++    -- ** ResourceRecordSet+    , ResourceRecordSet+    , resourceRecordSet+    , rrsTtl+    , rrsKind+    , rrsName+    , rrsType+    , rrsRrDatas++    -- ** ManagedZone+    , ManagedZone+    , managedZone+    , mzCreationTime+    , mzKind+    , mzNameServerSet+    , mzName+    , mzId+    , mzDNSName+    , mzDescription+    , mzNameServers++    -- ** Quota+    , Quota+    , quota+    , qRrSetDeletionsPerChange+    , qRrSetsPerManagedZone+    , qKind+    , qResourceRecordsPerRrSet+    , qRrSetAdditionsPerChange+    , qManagedZones+    , qTotalRrDataSizePerChange++    -- ** ManagedZonesListResponse+    , ManagedZonesListResponse+    , managedZonesListResponse+    , mzlrNextPageToken+    , mzlrKind+    , mzlrManagedZones+    ) where++import           Network.Google.DNS.Types+import           Network.Google.Prelude+import           Network.Google.Resource.DNS.Changes.Create+import           Network.Google.Resource.DNS.Changes.Get+import           Network.Google.Resource.DNS.Changes.List+import           Network.Google.Resource.DNS.ManagedZones.Create+import           Network.Google.Resource.DNS.ManagedZones.Delete+import           Network.Google.Resource.DNS.ManagedZones.Get+import           Network.Google.Resource.DNS.ManagedZones.List+import           Network.Google.Resource.DNS.Projects.Get+import           Network.Google.Resource.DNS.ResourceRecordSets.List++{- $resources+TODO+-}++-- | Represents the entirety of the methods and resources available for the Google Cloud DNS API service.+type DNSAPI =+     ChangesListResource :<|> ChangesGetResource :<|>+       ChangesCreateResource+       :<|> ResourceRecordSetsListResource+       :<|> ManagedZonesListResource+       :<|> ManagedZonesGetResource+       :<|> ManagedZonesCreateResource+       :<|> ManagedZonesDeleteResource+       :<|> ProjectsGetResource
+ gen/Network/Google/DNS/Types.hs view
@@ -0,0 +1,129 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module      : Network.Google.DNS.Types+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+module Network.Google.DNS.Types+    (+    -- * Service Configuration+      dNSService++    -- * OAuth Scopes+    , ndevClouddnsReadonlyScope+    , cloudPlatformReadOnlyScope+    , ndevClouddnsReadwriteScope+    , cloudPlatformScope++    -- * ChangesListResponse+    , ChangesListResponse+    , changesListResponse+    , clrNextPageToken+    , clrChanges+    , clrKind++    -- * Project+    , Project+    , project+    , pKind+    , pId+    , pNumber+    , pQuota++    -- * ChangesListSortBy+    , ChangesListSortBy (..)++    -- * Change+    , Change+    , change+    , cStatus+    , cAdditions+    , cStartTime+    , cKind+    , cDeletions+    , cId++    -- * ResourceRecordSetsListResponse+    , ResourceRecordSetsListResponse+    , resourceRecordSetsListResponse+    , rrslrNextPageToken+    , rrslrKind+    , rrslrRrSets++    -- * ChangeStatus+    , ChangeStatus (..)++    -- * ResourceRecordSet+    , ResourceRecordSet+    , resourceRecordSet+    , rrsTtl+    , rrsKind+    , rrsName+    , rrsType+    , rrsRrDatas++    -- * ManagedZone+    , ManagedZone+    , managedZone+    , mzCreationTime+    , mzKind+    , mzNameServerSet+    , mzName+    , mzId+    , mzDNSName+    , mzDescription+    , mzNameServers++    -- * Quota+    , Quota+    , quota+    , qRrSetDeletionsPerChange+    , qRrSetsPerManagedZone+    , qKind+    , qResourceRecordsPerRrSet+    , qRrSetAdditionsPerChange+    , qManagedZones+    , qTotalRrDataSizePerChange++    -- * ManagedZonesListResponse+    , ManagedZonesListResponse+    , managedZonesListResponse+    , mzlrNextPageToken+    , mzlrKind+    , mzlrManagedZones+    ) where++import           Network.Google.DNS.Types.Product+import           Network.Google.DNS.Types.Sum+import           Network.Google.Prelude++-- | Default request referring to version 'v1' of the Google Cloud DNS API. This contains the host and root path used as a starting point for constructing service requests.+dNSService :: Service+dNSService+  = defaultService (ServiceId "dns:v1")+      "www.googleapis.com"++-- | View your DNS records hosted by Google Cloud DNS+ndevClouddnsReadonlyScope :: OAuthScope+ndevClouddnsReadonlyScope = "https://www.googleapis.com/auth/ndev.clouddns.readonly";++-- | View your data across Google Cloud Platform services+cloudPlatformReadOnlyScope :: OAuthScope+cloudPlatformReadOnlyScope = "https://www.googleapis.com/auth/cloud-platform.read-only";++-- | View and manage your DNS records hosted by Google Cloud DNS+ndevClouddnsReadwriteScope :: OAuthScope+ndevClouddnsReadwriteScope = "https://www.googleapis.com/auth/ndev.clouddns.readwrite";++-- | View and manage your data across Google Cloud Platform services+cloudPlatformScope :: OAuthScope+cloudPlatformScope = "https://www.googleapis.com/auth/cloud-platform";
+ gen/Network/Google/DNS/Types/Product.hs view
@@ -0,0 +1,730 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}++{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module      : Network.Google.DNS.Types.Product+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+module Network.Google.DNS.Types.Product where++import           Network.Google.DNS.Types.Sum+import           Network.Google.Prelude++-- | The response to a request to enumerate Changes to a ResourceRecordSets+-- collection.+--+-- /See:/ 'changesListResponse' smart constructor.+data ChangesListResponse = ChangesListResponse+    { _clrNextPageToken :: !(Maybe Text)+    , _clrChanges       :: !(Maybe [Change])+    , _clrKind          :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ChangesListResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'clrNextPageToken'+--+-- * 'clrChanges'+--+-- * 'clrKind'+changesListResponse+    :: ChangesListResponse+changesListResponse =+    ChangesListResponse+    { _clrNextPageToken = Nothing+    , _clrChanges = Nothing+    , _clrKind = "dns#changesListResponse"+    }++-- | The presence of this field indicates that there exist more results+-- following your last page of results in pagination order. To fetch them,+-- make another list request using this value as your pagination token. In+-- this way you can retrieve the complete contents of even very large+-- collections one page at a time. However, if the contents of the+-- collection change between the first and last paginated list request, the+-- set of all elements returned will be an inconsistent view of the+-- collection. There is no way to retrieve a \"snapshot\" of collections+-- larger than the maximum page size.+clrNextPageToken :: Lens' ChangesListResponse (Maybe Text)+clrNextPageToken+  = lens _clrNextPageToken+      (\ s a -> s{_clrNextPageToken = a})++-- | The requested changes.+clrChanges :: Lens' ChangesListResponse [Change]+clrChanges+  = lens _clrChanges (\ s a -> s{_clrChanges = a}) .+      _Default+      . _Coerce++-- | Type of resource.+clrKind :: Lens' ChangesListResponse Text+clrKind = lens _clrKind (\ s a -> s{_clrKind = a})++instance FromJSON ChangesListResponse where+        parseJSON+          = withObject "ChangesListResponse"+              (\ o ->+                 ChangesListResponse <$>+                   (o .:? "nextPageToken") <*>+                     (o .:? "changes" .!= mempty)+                     <*> (o .:? "kind" .!= "dns#changesListResponse"))++instance ToJSON ChangesListResponse where+        toJSON ChangesListResponse{..}+          = object+              (catMaybes+                 [("nextPageToken" .=) <$> _clrNextPageToken,+                  ("changes" .=) <$> _clrChanges,+                  Just ("kind" .= _clrKind)])++-- | A project resource. The project is a top level container for resources+-- including Cloud DNS ManagedZones. Projects can be created only in the+-- APIs console.+--+-- /See:/ 'project' smart constructor.+data Project = Project+    { _pKind   :: !Text+    , _pId     :: !(Maybe Text)+    , _pNumber :: !(Maybe (Textual Word64))+    , _pQuota  :: !(Maybe Quota)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Project' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pKind'+--+-- * 'pId'+--+-- * 'pNumber'+--+-- * 'pQuota'+project+    :: Project+project =+    Project+    { _pKind = "dns#project"+    , _pId = Nothing+    , _pNumber = Nothing+    , _pQuota = Nothing+    }++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"dns#project\".+pKind :: Lens' Project Text+pKind = lens _pKind (\ s a -> s{_pKind = a})++-- | User assigned unique identifier for the resource (output only).+pId :: Lens' Project (Maybe Text)+pId = lens _pId (\ s a -> s{_pId = a})++-- | Unique numeric identifier for the resource; defined by the server+-- (output only).+pNumber :: Lens' Project (Maybe Word64)+pNumber+  = lens _pNumber (\ s a -> s{_pNumber = a}) .+      mapping _Coerce++-- | Quotas assigned to this project (output only).+pQuota :: Lens' Project (Maybe Quota)+pQuota = lens _pQuota (\ s a -> s{_pQuota = a})++instance FromJSON Project where+        parseJSON+          = withObject "Project"+              (\ o ->+                 Project <$>+                   (o .:? "kind" .!= "dns#project") <*> (o .:? "id") <*>+                     (o .:? "number")+                     <*> (o .:? "quota"))++instance ToJSON Project where+        toJSON Project{..}+          = object+              (catMaybes+                 [Just ("kind" .= _pKind), ("id" .=) <$> _pId,+                  ("number" .=) <$> _pNumber,+                  ("quota" .=) <$> _pQuota])++-- | An atomic update to a collection of ResourceRecordSets.+--+-- /See:/ 'change' smart constructor.+data Change = Change+    { _cStatus    :: !(Maybe ChangeStatus)+    , _cAdditions :: !(Maybe [ResourceRecordSet])+    , _cStartTime :: !(Maybe Text)+    , _cKind      :: !Text+    , _cDeletions :: !(Maybe [ResourceRecordSet])+    , _cId        :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Change' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cStatus'+--+-- * 'cAdditions'+--+-- * 'cStartTime'+--+-- * 'cKind'+--+-- * 'cDeletions'+--+-- * 'cId'+change+    :: Change+change =+    Change+    { _cStatus = Nothing+    , _cAdditions = Nothing+    , _cStartTime = Nothing+    , _cKind = "dns#change"+    , _cDeletions = Nothing+    , _cId = Nothing+    }++-- | Status of the operation (output only).+cStatus :: Lens' Change (Maybe ChangeStatus)+cStatus = lens _cStatus (\ s a -> s{_cStatus = a})++-- | Which ResourceRecordSets to add?+cAdditions :: Lens' Change [ResourceRecordSet]+cAdditions+  = lens _cAdditions (\ s a -> s{_cAdditions = a}) .+      _Default+      . _Coerce++-- | The time that this operation was started by the server. This is in+-- RFC3339 text format.+cStartTime :: Lens' Change (Maybe Text)+cStartTime+  = lens _cStartTime (\ s a -> s{_cStartTime = a})++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"dns#change\".+cKind :: Lens' Change Text+cKind = lens _cKind (\ s a -> s{_cKind = a})++-- | Which ResourceRecordSets to remove? Must match existing data exactly.+cDeletions :: Lens' Change [ResourceRecordSet]+cDeletions+  = lens _cDeletions (\ s a -> s{_cDeletions = a}) .+      _Default+      . _Coerce++-- | Unique identifier for the resource; defined by the server (output only).+cId :: Lens' Change (Maybe Text)+cId = lens _cId (\ s a -> s{_cId = a})++instance FromJSON Change where+        parseJSON+          = withObject "Change"+              (\ o ->+                 Change <$>+                   (o .:? "status") <*> (o .:? "additions" .!= mempty)+                     <*> (o .:? "startTime")+                     <*> (o .:? "kind" .!= "dns#change")+                     <*> (o .:? "deletions" .!= mempty)+                     <*> (o .:? "id"))++instance ToJSON Change where+        toJSON Change{..}+          = object+              (catMaybes+                 [("status" .=) <$> _cStatus,+                  ("additions" .=) <$> _cAdditions,+                  ("startTime" .=) <$> _cStartTime,+                  Just ("kind" .= _cKind),+                  ("deletions" .=) <$> _cDeletions,+                  ("id" .=) <$> _cId])++--+-- /See:/ 'resourceRecordSetsListResponse' smart constructor.+data ResourceRecordSetsListResponse = ResourceRecordSetsListResponse+    { _rrslrNextPageToken :: !(Maybe Text)+    , _rrslrKind          :: !Text+    , _rrslrRrSets        :: !(Maybe [ResourceRecordSet])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ResourceRecordSetsListResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rrslrNextPageToken'+--+-- * 'rrslrKind'+--+-- * 'rrslrRrSets'+resourceRecordSetsListResponse+    :: ResourceRecordSetsListResponse+resourceRecordSetsListResponse =+    ResourceRecordSetsListResponse+    { _rrslrNextPageToken = Nothing+    , _rrslrKind = "dns#resourceRecordSetsListResponse"+    , _rrslrRrSets = Nothing+    }++-- | The presence of this field indicates that there exist more results+-- following your last page of results in pagination order. To fetch them,+-- make another list request using this value as your pagination token. In+-- this way you can retrieve the complete contents of even very large+-- collections one page at a time. However, if the contents of the+-- collection change between the first and last paginated list request, the+-- set of all elements returned will be an inconsistent view of the+-- collection. There is no way to retrieve a consistent snapshot of a+-- collection larger than the maximum page size.+rrslrNextPageToken :: Lens' ResourceRecordSetsListResponse (Maybe Text)+rrslrNextPageToken+  = lens _rrslrNextPageToken+      (\ s a -> s{_rrslrNextPageToken = a})++-- | Type of resource.+rrslrKind :: Lens' ResourceRecordSetsListResponse Text+rrslrKind+  = lens _rrslrKind (\ s a -> s{_rrslrKind = a})++-- | The resource record set resources.+rrslrRrSets :: Lens' ResourceRecordSetsListResponse [ResourceRecordSet]+rrslrRrSets+  = lens _rrslrRrSets (\ s a -> s{_rrslrRrSets = a}) .+      _Default+      . _Coerce++instance FromJSON ResourceRecordSetsListResponse+         where+        parseJSON+          = withObject "ResourceRecordSetsListResponse"+              (\ o ->+                 ResourceRecordSetsListResponse <$>+                   (o .:? "nextPageToken") <*>+                     (o .:? "kind" .!=+                        "dns#resourceRecordSetsListResponse")+                     <*> (o .:? "rrsets" .!= mempty))++instance ToJSON ResourceRecordSetsListResponse where+        toJSON ResourceRecordSetsListResponse{..}+          = object+              (catMaybes+                 [("nextPageToken" .=) <$> _rrslrNextPageToken,+                  Just ("kind" .= _rrslrKind),+                  ("rrsets" .=) <$> _rrslrRrSets])++-- | A unit of data that will be returned by the DNS servers.+--+-- /See:/ 'resourceRecordSet' smart constructor.+data ResourceRecordSet = ResourceRecordSet+    { _rrsTtl     :: !(Maybe (Textual Int32))+    , _rrsKind    :: !Text+    , _rrsName    :: !(Maybe Text)+    , _rrsType    :: !(Maybe Text)+    , _rrsRrDatas :: !(Maybe [Text])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ResourceRecordSet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rrsTtl'+--+-- * 'rrsKind'+--+-- * 'rrsName'+--+-- * 'rrsType'+--+-- * 'rrsRrDatas'+resourceRecordSet+    :: ResourceRecordSet+resourceRecordSet =+    ResourceRecordSet+    { _rrsTtl = Nothing+    , _rrsKind = "dns#resourceRecordSet"+    , _rrsName = Nothing+    , _rrsType = Nothing+    , _rrsRrDatas = Nothing+    }++-- | Number of seconds that this ResourceRecordSet can be cached by+-- resolvers.+rrsTtl :: Lens' ResourceRecordSet (Maybe Int32)+rrsTtl+  = lens _rrsTtl (\ s a -> s{_rrsTtl = a}) .+      mapping _Coerce++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"dns#resourceRecordSet\".+rrsKind :: Lens' ResourceRecordSet Text+rrsKind = lens _rrsKind (\ s a -> s{_rrsKind = a})++-- | For example, www.example.com.+rrsName :: Lens' ResourceRecordSet (Maybe Text)+rrsName = lens _rrsName (\ s a -> s{_rrsName = a})++-- | The identifier of a supported record type, for example, A, AAAA, MX,+-- TXT, and so on.+rrsType :: Lens' ResourceRecordSet (Maybe Text)+rrsType = lens _rrsType (\ s a -> s{_rrsType = a})++-- | As defined in RFC 1035 (section 5) and RFC 1034 (section 3.6.1).+rrsRrDatas :: Lens' ResourceRecordSet [Text]+rrsRrDatas+  = lens _rrsRrDatas (\ s a -> s{_rrsRrDatas = a}) .+      _Default+      . _Coerce++instance FromJSON ResourceRecordSet where+        parseJSON+          = withObject "ResourceRecordSet"+              (\ o ->+                 ResourceRecordSet <$>+                   (o .:? "ttl") <*>+                     (o .:? "kind" .!= "dns#resourceRecordSet")+                     <*> (o .:? "name")+                     <*> (o .:? "type")+                     <*> (o .:? "rrdatas" .!= mempty))++instance ToJSON ResourceRecordSet where+        toJSON ResourceRecordSet{..}+          = object+              (catMaybes+                 [("ttl" .=) <$> _rrsTtl, Just ("kind" .= _rrsKind),+                  ("name" .=) <$> _rrsName, ("type" .=) <$> _rrsType,+                  ("rrdatas" .=) <$> _rrsRrDatas])++-- | A zone is a subtree of the DNS namespace under one administrative+-- responsibility. A ManagedZone is a resource that represents a DNS zone+-- hosted by the Cloud DNS service.+--+-- /See:/ 'managedZone' smart constructor.+data ManagedZone = ManagedZone+    { _mzCreationTime  :: !(Maybe Text)+    , _mzKind          :: !Text+    , _mzNameServerSet :: !(Maybe Text)+    , _mzName          :: !(Maybe Text)+    , _mzId            :: !(Maybe (Textual Word64))+    , _mzDNSName       :: !(Maybe Text)+    , _mzDescription   :: !(Maybe Text)+    , _mzNameServers   :: !(Maybe [Text])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ManagedZone' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mzCreationTime'+--+-- * 'mzKind'+--+-- * 'mzNameServerSet'+--+-- * 'mzName'+--+-- * 'mzId'+--+-- * 'mzDNSName'+--+-- * 'mzDescription'+--+-- * 'mzNameServers'+managedZone+    :: ManagedZone+managedZone =+    ManagedZone+    { _mzCreationTime = Nothing+    , _mzKind = "dns#managedZone"+    , _mzNameServerSet = Nothing+    , _mzName = Nothing+    , _mzId = Nothing+    , _mzDNSName = Nothing+    , _mzDescription = Nothing+    , _mzNameServers = Nothing+    }++-- | The time that this resource was created on the server. This is in+-- RFC3339 text format. Output only.+mzCreationTime :: Lens' ManagedZone (Maybe Text)+mzCreationTime+  = lens _mzCreationTime+      (\ s a -> s{_mzCreationTime = a})++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"dns#managedZone\".+mzKind :: Lens' ManagedZone Text+mzKind = lens _mzKind (\ s a -> s{_mzKind = a})++-- | Optionally specifies the NameServerSet for this ManagedZone. A+-- NameServerSet is a set of DNS name servers that all host the same+-- ManagedZones. Most users will leave this field unset.+mzNameServerSet :: Lens' ManagedZone (Maybe Text)+mzNameServerSet+  = lens _mzNameServerSet+      (\ s a -> s{_mzNameServerSet = a})++-- | User assigned name for this resource. Must be unique within the project.+-- The name must be 1-32 characters long, must begin with a letter, end+-- with a letter or digit, and only contain lowercase letters, digits or+-- dashes.+mzName :: Lens' ManagedZone (Maybe Text)+mzName = lens _mzName (\ s a -> s{_mzName = a})++-- | Unique identifier for the resource; defined by the server (output only)+mzId :: Lens' ManagedZone (Maybe Word64)+mzId+  = lens _mzId (\ s a -> s{_mzId = a}) .+      mapping _Coerce++-- | The DNS name of this managed zone, for instance \"example.com.\".+mzDNSName :: Lens' ManagedZone (Maybe Text)+mzDNSName+  = lens _mzDNSName (\ s a -> s{_mzDNSName = a})++-- | A mutable string of at most 1024 characters associated with this+-- resource for the user\'s convenience. Has no effect on the managed+-- zone\'s function.+mzDescription :: Lens' ManagedZone (Maybe Text)+mzDescription+  = lens _mzDescription+      (\ s a -> s{_mzDescription = a})++-- | Delegate your managed_zone to these virtual name servers; defined by the+-- server (output only)+mzNameServers :: Lens' ManagedZone [Text]+mzNameServers+  = lens _mzNameServers+      (\ s a -> s{_mzNameServers = a})+      . _Default+      . _Coerce++instance FromJSON ManagedZone where+        parseJSON+          = withObject "ManagedZone"+              (\ o ->+                 ManagedZone <$>+                   (o .:? "creationTime") <*>+                     (o .:? "kind" .!= "dns#managedZone")+                     <*> (o .:? "nameServerSet")+                     <*> (o .:? "name")+                     <*> (o .:? "id")+                     <*> (o .:? "dnsName")+                     <*> (o .:? "description")+                     <*> (o .:? "nameServers" .!= mempty))++instance ToJSON ManagedZone where+        toJSON ManagedZone{..}+          = object+              (catMaybes+                 [("creationTime" .=) <$> _mzCreationTime,+                  Just ("kind" .= _mzKind),+                  ("nameServerSet" .=) <$> _mzNameServerSet,+                  ("name" .=) <$> _mzName, ("id" .=) <$> _mzId,+                  ("dnsName" .=) <$> _mzDNSName,+                  ("description" .=) <$> _mzDescription,+                  ("nameServers" .=) <$> _mzNameServers])++-- | Limits associated with a Project.+--+-- /See:/ 'quota' smart constructor.+data Quota = Quota+    { _qRrSetDeletionsPerChange  :: !(Maybe (Textual Int32))+    , _qRrSetsPerManagedZone     :: !(Maybe (Textual Int32))+    , _qKind                     :: !Text+    , _qResourceRecordsPerRrSet  :: !(Maybe (Textual Int32))+    , _qRrSetAdditionsPerChange  :: !(Maybe (Textual Int32))+    , _qManagedZones             :: !(Maybe (Textual Int32))+    , _qTotalRrDataSizePerChange :: !(Maybe (Textual Int32))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Quota' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'qRrSetDeletionsPerChange'+--+-- * 'qRrSetsPerManagedZone'+--+-- * 'qKind'+--+-- * 'qResourceRecordsPerRrSet'+--+-- * 'qRrSetAdditionsPerChange'+--+-- * 'qManagedZones'+--+-- * 'qTotalRrDataSizePerChange'+quota+    :: Quota+quota =+    Quota+    { _qRrSetDeletionsPerChange = Nothing+    , _qRrSetsPerManagedZone = Nothing+    , _qKind = "dns#quota"+    , _qResourceRecordsPerRrSet = Nothing+    , _qRrSetAdditionsPerChange = Nothing+    , _qManagedZones = Nothing+    , _qTotalRrDataSizePerChange = Nothing+    }++-- | Maximum allowed number of ResourceRecordSets to delete per+-- ChangesCreateRequest.+qRrSetDeletionsPerChange :: Lens' Quota (Maybe Int32)+qRrSetDeletionsPerChange+  = lens _qRrSetDeletionsPerChange+      (\ s a -> s{_qRrSetDeletionsPerChange = a})+      . mapping _Coerce++-- | Maximum allowed number of ResourceRecordSets per zone in the project.+qRrSetsPerManagedZone :: Lens' Quota (Maybe Int32)+qRrSetsPerManagedZone+  = lens _qRrSetsPerManagedZone+      (\ s a -> s{_qRrSetsPerManagedZone = a})+      . mapping _Coerce++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"dns#quota\".+qKind :: Lens' Quota Text+qKind = lens _qKind (\ s a -> s{_qKind = a})++-- | Maximum allowed number of ResourceRecords per ResourceRecordSet.+qResourceRecordsPerRrSet :: Lens' Quota (Maybe Int32)+qResourceRecordsPerRrSet+  = lens _qResourceRecordsPerRrSet+      (\ s a -> s{_qResourceRecordsPerRrSet = a})+      . mapping _Coerce++-- | Maximum allowed number of ResourceRecordSets to add per+-- ChangesCreateRequest.+qRrSetAdditionsPerChange :: Lens' Quota (Maybe Int32)+qRrSetAdditionsPerChange+  = lens _qRrSetAdditionsPerChange+      (\ s a -> s{_qRrSetAdditionsPerChange = a})+      . mapping _Coerce++-- | Maximum allowed number of managed zones in the project.+qManagedZones :: Lens' Quota (Maybe Int32)+qManagedZones+  = lens _qManagedZones+      (\ s a -> s{_qManagedZones = a})+      . mapping _Coerce++-- | Maximum allowed size for total rrdata in one ChangesCreateRequest in+-- bytes.+qTotalRrDataSizePerChange :: Lens' Quota (Maybe Int32)+qTotalRrDataSizePerChange+  = lens _qTotalRrDataSizePerChange+      (\ s a -> s{_qTotalRrDataSizePerChange = a})+      . mapping _Coerce++instance FromJSON Quota where+        parseJSON+          = withObject "Quota"+              (\ o ->+                 Quota <$>+                   (o .:? "rrsetDeletionsPerChange") <*>+                     (o .:? "rrsetsPerManagedZone")+                     <*> (o .:? "kind" .!= "dns#quota")+                     <*> (o .:? "resourceRecordsPerRrset")+                     <*> (o .:? "rrsetAdditionsPerChange")+                     <*> (o .:? "managedZones")+                     <*> (o .:? "totalRrdataSizePerChange"))++instance ToJSON Quota where+        toJSON Quota{..}+          = object+              (catMaybes+                 [("rrsetDeletionsPerChange" .=) <$>+                    _qRrSetDeletionsPerChange,+                  ("rrsetsPerManagedZone" .=) <$>+                    _qRrSetsPerManagedZone,+                  Just ("kind" .= _qKind),+                  ("resourceRecordsPerRrset" .=) <$>+                    _qResourceRecordsPerRrSet,+                  ("rrsetAdditionsPerChange" .=) <$>+                    _qRrSetAdditionsPerChange,+                  ("managedZones" .=) <$> _qManagedZones,+                  ("totalRrdataSizePerChange" .=) <$>+                    _qTotalRrDataSizePerChange])++--+-- /See:/ 'managedZonesListResponse' smart constructor.+data ManagedZonesListResponse = ManagedZonesListResponse+    { _mzlrNextPageToken :: !(Maybe Text)+    , _mzlrKind          :: !Text+    , _mzlrManagedZones  :: !(Maybe [ManagedZone])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ManagedZonesListResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mzlrNextPageToken'+--+-- * 'mzlrKind'+--+-- * 'mzlrManagedZones'+managedZonesListResponse+    :: ManagedZonesListResponse+managedZonesListResponse =+    ManagedZonesListResponse+    { _mzlrNextPageToken = Nothing+    , _mzlrKind = "dns#managedZonesListResponse"+    , _mzlrManagedZones = Nothing+    }++-- | The presence of this field indicates that there exist more results+-- following your last page of results in pagination order. To fetch them,+-- make another list request using this value as your page token. In this+-- way you can retrieve the complete contents of even very large+-- collections one page at a time. However, if the contents of the+-- collection change between the first and last paginated list request, the+-- set of all elements returned will be an inconsistent view of the+-- collection. There is no way to retrieve a consistent snapshot of a+-- collection larger than the maximum page size.+mzlrNextPageToken :: Lens' ManagedZonesListResponse (Maybe Text)+mzlrNextPageToken+  = lens _mzlrNextPageToken+      (\ s a -> s{_mzlrNextPageToken = a})++-- | Type of resource.+mzlrKind :: Lens' ManagedZonesListResponse Text+mzlrKind = lens _mzlrKind (\ s a -> s{_mzlrKind = a})++-- | The managed zone resources.+mzlrManagedZones :: Lens' ManagedZonesListResponse [ManagedZone]+mzlrManagedZones+  = lens _mzlrManagedZones+      (\ s a -> s{_mzlrManagedZones = a})+      . _Default+      . _Coerce++instance FromJSON ManagedZonesListResponse where+        parseJSON+          = withObject "ManagedZonesListResponse"+              (\ o ->+                 ManagedZonesListResponse <$>+                   (o .:? "nextPageToken") <*>+                     (o .:? "kind" .!= "dns#managedZonesListResponse")+                     <*> (o .:? "managedZones" .!= mempty))++instance ToJSON ManagedZonesListResponse where+        toJSON ManagedZonesListResponse{..}+          = object+              (catMaybes+                 [("nextPageToken" .=) <$> _mzlrNextPageToken,+                  Just ("kind" .= _mzlrKind),+                  ("managedZones" .=) <$> _mzlrManagedZones])
+ gen/Network/Google/DNS/Types/Sum.hs view
@@ -0,0 +1,69 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE LambdaCase         #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module      : Network.Google.DNS.Types.Sum+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+module Network.Google.DNS.Types.Sum where++import           Network.Google.Prelude++-- | Sorting criterion. The only supported value is change sequence.+data ChangesListSortBy+    = ChangeSequence+      -- ^ @changeSequence@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable ChangesListSortBy++instance FromText ChangesListSortBy where+    fromText = \case+        "changeSequence" -> Just ChangeSequence+        _ -> Nothing++instance ToText ChangesListSortBy where+    toText = \case+        ChangeSequence -> "changeSequence"++instance FromJSON ChangesListSortBy where+    parseJSON = parseJSONText "ChangesListSortBy"++instance ToJSON ChangesListSortBy where+    toJSON = toJSONText++-- | Status of the operation (output only).+data ChangeStatus+    = Done+      -- ^ @done@+    | Pending+      -- ^ @pending@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable ChangeStatus++instance FromText ChangeStatus where+    fromText = \case+        "done" -> Just Done+        "pending" -> Just Pending+        _ -> Nothing++instance ToText ChangeStatus where+    toText = \case+        Done -> "done"+        Pending -> "pending"++instance FromJSON ChangeStatus where+    parseJSON = parseJSONText "ChangeStatus"++instance ToJSON ChangeStatus where+    toJSON = toJSONText
+ gen/Network/Google/Resource/DNS/Changes/Create.hs view
@@ -0,0 +1,112 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.DNS.Changes.Create+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Atomically update the ResourceRecordSet collection.+--+-- /See:/ <https://developers.google.com/cloud-dns Google Cloud DNS API Reference> for @dns.changes.create@.+module Network.Google.Resource.DNS.Changes.Create+    (+    -- * REST Resource+      ChangesCreateResource++    -- * Creating a Request+    , changesCreate+    , ChangesCreate++    -- * Request Lenses+    , ccProject+    , ccPayload+    , ccManagedZone+    ) where++import           Network.Google.DNS.Types+import           Network.Google.Prelude++-- | A resource alias for @dns.changes.create@ method which the+-- 'ChangesCreate' request conforms to.+type ChangesCreateResource =+     "dns" :>+       "v1" :>+         "projects" :>+           Capture "project" Text :>+             "managedZones" :>+               Capture "managedZone" Text :>+                 "changes" :>+                   QueryParam "alt" AltJSON :>+                     ReqBody '[JSON] Change :> Post '[JSON] Change++-- | Atomically update the ResourceRecordSet collection.+--+-- /See:/ 'changesCreate' smart constructor.+data ChangesCreate = ChangesCreate+    { _ccProject     :: !Text+    , _ccPayload     :: !Change+    , _ccManagedZone :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ChangesCreate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ccProject'+--+-- * 'ccPayload'+--+-- * 'ccManagedZone'+changesCreate+    :: Text -- ^ 'ccProject'+    -> Change -- ^ 'ccPayload'+    -> Text -- ^ 'ccManagedZone'+    -> ChangesCreate+changesCreate pCcProject_ pCcPayload_ pCcManagedZone_ =+    ChangesCreate+    { _ccProject = pCcProject_+    , _ccPayload = pCcPayload_+    , _ccManagedZone = pCcManagedZone_+    }++-- | Identifies the project addressed by this request.+ccProject :: Lens' ChangesCreate Text+ccProject+  = lens _ccProject (\ s a -> s{_ccProject = a})++-- | Multipart request metadata.+ccPayload :: Lens' ChangesCreate Change+ccPayload+  = lens _ccPayload (\ s a -> s{_ccPayload = a})++-- | Identifies the managed zone addressed by this request. Can be the+-- managed zone name or id.+ccManagedZone :: Lens' ChangesCreate Text+ccManagedZone+  = lens _ccManagedZone+      (\ s a -> s{_ccManagedZone = a})++instance GoogleRequest ChangesCreate where+        type Rs ChangesCreate = Change+        requestClient ChangesCreate{..}+          = go _ccProject _ccManagedZone (Just AltJSON)+              _ccPayload+              dNSService+          where go+                  = buildClient (Proxy :: Proxy ChangesCreateResource)+                      mempty
+ gen/Network/Google/Resource/DNS/Changes/Get.hs view
@@ -0,0 +1,113 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.DNS.Changes.Get+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Fetch the representation of an existing Change.+--+-- /See:/ <https://developers.google.com/cloud-dns Google Cloud DNS API Reference> for @dns.changes.get@.+module Network.Google.Resource.DNS.Changes.Get+    (+    -- * REST Resource+      ChangesGetResource++    -- * Creating a Request+    , changesGet+    , ChangesGet++    -- * Request Lenses+    , cgProject+    , cgChangeId+    , cgManagedZone+    ) where++import           Network.Google.DNS.Types+import           Network.Google.Prelude++-- | A resource alias for @dns.changes.get@ method which the+-- 'ChangesGet' request conforms to.+type ChangesGetResource =+     "dns" :>+       "v1" :>+         "projects" :>+           Capture "project" Text :>+             "managedZones" :>+               Capture "managedZone" Text :>+                 "changes" :>+                   Capture "changeId" Text :>+                     QueryParam "alt" AltJSON :> Get '[JSON] Change++-- | Fetch the representation of an existing Change.+--+-- /See:/ 'changesGet' smart constructor.+data ChangesGet = ChangesGet+    { _cgProject     :: !Text+    , _cgChangeId    :: !Text+    , _cgManagedZone :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ChangesGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cgProject'+--+-- * 'cgChangeId'+--+-- * 'cgManagedZone'+changesGet+    :: Text -- ^ 'cgProject'+    -> Text -- ^ 'cgChangeId'+    -> Text -- ^ 'cgManagedZone'+    -> ChangesGet+changesGet pCgProject_ pCgChangeId_ pCgManagedZone_ =+    ChangesGet+    { _cgProject = pCgProject_+    , _cgChangeId = pCgChangeId_+    , _cgManagedZone = pCgManagedZone_+    }++-- | Identifies the project addressed by this request.+cgProject :: Lens' ChangesGet Text+cgProject+  = lens _cgProject (\ s a -> s{_cgProject = a})++-- | The identifier of the requested change, from a previous+-- ResourceRecordSetsChangeResponse.+cgChangeId :: Lens' ChangesGet Text+cgChangeId+  = lens _cgChangeId (\ s a -> s{_cgChangeId = a})++-- | Identifies the managed zone addressed by this request. Can be the+-- managed zone name or id.+cgManagedZone :: Lens' ChangesGet Text+cgManagedZone+  = lens _cgManagedZone+      (\ s a -> s{_cgManagedZone = a})++instance GoogleRequest ChangesGet where+        type Rs ChangesGet = Change+        requestClient ChangesGet{..}+          = go _cgProject _cgManagedZone _cgChangeId+              (Just AltJSON)+              dNSService+          where go+                  = buildClient (Proxy :: Proxy ChangesGetResource)+                      mempty
+ gen/Network/Google/Resource/DNS/Changes/List.hs view
@@ -0,0 +1,150 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.DNS.Changes.List+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Enumerate Changes to a ResourceRecordSet collection.+--+-- /See:/ <https://developers.google.com/cloud-dns Google Cloud DNS API Reference> for @dns.changes.list@.+module Network.Google.Resource.DNS.Changes.List+    (+    -- * REST Resource+      ChangesListResource++    -- * Creating a Request+    , changesList+    , ChangesList++    -- * Request Lenses+    , clProject+    , clSortOrder+    , clPageToken+    , clManagedZone+    , clMaxResults+    , clSortBy+    ) where++import           Network.Google.DNS.Types+import           Network.Google.Prelude++-- | A resource alias for @dns.changes.list@ method which the+-- 'ChangesList' request conforms to.+type ChangesListResource =+     "dns" :>+       "v1" :>+         "projects" :>+           Capture "project" Text :>+             "managedZones" :>+               Capture "managedZone" Text :>+                 "changes" :>+                   QueryParam "sortOrder" Text :>+                     QueryParam "pageToken" Text :>+                       QueryParam "maxResults" (Textual Int32) :>+                         QueryParam "sortBy" ChangesListSortBy :>+                           QueryParam "alt" AltJSON :>+                             Get '[JSON] ChangesListResponse++-- | Enumerate Changes to a ResourceRecordSet collection.+--+-- /See:/ 'changesList' smart constructor.+data ChangesList = ChangesList+    { _clProject     :: !Text+    , _clSortOrder   :: !(Maybe Text)+    , _clPageToken   :: !(Maybe Text)+    , _clManagedZone :: !Text+    , _clMaxResults  :: !(Maybe (Textual Int32))+    , _clSortBy      :: !ChangesListSortBy+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ChangesList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'clProject'+--+-- * 'clSortOrder'+--+-- * 'clPageToken'+--+-- * 'clManagedZone'+--+-- * 'clMaxResults'+--+-- * 'clSortBy'+changesList+    :: Text -- ^ 'clProject'+    -> Text -- ^ 'clManagedZone'+    -> ChangesList+changesList pClProject_ pClManagedZone_ =+    ChangesList+    { _clProject = pClProject_+    , _clSortOrder = Nothing+    , _clPageToken = Nothing+    , _clManagedZone = pClManagedZone_+    , _clMaxResults = Nothing+    , _clSortBy = ChangeSequence+    }++-- | Identifies the project addressed by this request.+clProject :: Lens' ChangesList Text+clProject+  = lens _clProject (\ s a -> s{_clProject = a})++-- | Sorting order direction: \'ascending\' or \'descending\'.+clSortOrder :: Lens' ChangesList (Maybe Text)+clSortOrder+  = lens _clSortOrder (\ s a -> s{_clSortOrder = a})++-- | Optional. A tag returned by a previous list request that was truncated.+-- Use this parameter to continue a previous list request.+clPageToken :: Lens' ChangesList (Maybe Text)+clPageToken+  = lens _clPageToken (\ s a -> s{_clPageToken = a})++-- | Identifies the managed zone addressed by this request. Can be the+-- managed zone name or id.+clManagedZone :: Lens' ChangesList Text+clManagedZone+  = lens _clManagedZone+      (\ s a -> s{_clManagedZone = a})++-- | Optional. Maximum number of results to be returned. If unspecified, the+-- server will decide how many results to return.+clMaxResults :: Lens' ChangesList (Maybe Int32)+clMaxResults+  = lens _clMaxResults (\ s a -> s{_clMaxResults = a})+      . mapping _Coerce++-- | Sorting criterion. The only supported value is change sequence.+clSortBy :: Lens' ChangesList ChangesListSortBy+clSortBy = lens _clSortBy (\ s a -> s{_clSortBy = a})++instance GoogleRequest ChangesList where+        type Rs ChangesList = ChangesListResponse+        requestClient ChangesList{..}+          = go _clProject _clManagedZone _clSortOrder+              _clPageToken+              _clMaxResults+              (Just _clSortBy)+              (Just AltJSON)+              dNSService+          where go+                  = buildClient (Proxy :: Proxy ChangesListResource)+                      mempty
+ gen/Network/Google/Resource/DNS/ManagedZones/Create.hs view
@@ -0,0 +1,98 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.DNS.ManagedZones.Create+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Create a new ManagedZone.+--+-- /See:/ <https://developers.google.com/cloud-dns Google Cloud DNS API Reference> for @dns.managedZones.create@.+module Network.Google.Resource.DNS.ManagedZones.Create+    (+    -- * REST Resource+      ManagedZonesCreateResource++    -- * Creating a Request+    , managedZonesCreate+    , ManagedZonesCreate++    -- * Request Lenses+    , mzcProject+    , mzcPayload+    ) where++import           Network.Google.DNS.Types+import           Network.Google.Prelude++-- | A resource alias for @dns.managedZones.create@ method which the+-- 'ManagedZonesCreate' request conforms to.+type ManagedZonesCreateResource =+     "dns" :>+       "v1" :>+         "projects" :>+           Capture "project" Text :>+             "managedZones" :>+               QueryParam "alt" AltJSON :>+                 ReqBody '[JSON] ManagedZone :>+                   Post '[JSON] ManagedZone++-- | Create a new ManagedZone.+--+-- /See:/ 'managedZonesCreate' smart constructor.+data ManagedZonesCreate = ManagedZonesCreate+    { _mzcProject :: !Text+    , _mzcPayload :: !ManagedZone+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ManagedZonesCreate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mzcProject'+--+-- * 'mzcPayload'+managedZonesCreate+    :: Text -- ^ 'mzcProject'+    -> ManagedZone -- ^ 'mzcPayload'+    -> ManagedZonesCreate+managedZonesCreate pMzcProject_ pMzcPayload_ =+    ManagedZonesCreate+    { _mzcProject = pMzcProject_+    , _mzcPayload = pMzcPayload_+    }++-- | Identifies the project addressed by this request.+mzcProject :: Lens' ManagedZonesCreate Text+mzcProject+  = lens _mzcProject (\ s a -> s{_mzcProject = a})++-- | Multipart request metadata.+mzcPayload :: Lens' ManagedZonesCreate ManagedZone+mzcPayload+  = lens _mzcPayload (\ s a -> s{_mzcPayload = a})++instance GoogleRequest ManagedZonesCreate where+        type Rs ManagedZonesCreate = ManagedZone+        requestClient ManagedZonesCreate{..}+          = go _mzcProject (Just AltJSON) _mzcPayload+              dNSService+          where go+                  = buildClient+                      (Proxy :: Proxy ManagedZonesCreateResource)+                      mempty
+ gen/Network/Google/Resource/DNS/ManagedZones/Delete.hs view
@@ -0,0 +1,99 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.DNS.ManagedZones.Delete+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Delete a previously created ManagedZone.+--+-- /See:/ <https://developers.google.com/cloud-dns Google Cloud DNS API Reference> for @dns.managedZones.delete@.+module Network.Google.Resource.DNS.ManagedZones.Delete+    (+    -- * REST Resource+      ManagedZonesDeleteResource++    -- * Creating a Request+    , managedZonesDelete+    , ManagedZonesDelete++    -- * Request Lenses+    , mzdProject+    , mzdManagedZone+    ) where++import           Network.Google.DNS.Types+import           Network.Google.Prelude++-- | A resource alias for @dns.managedZones.delete@ method which the+-- 'ManagedZonesDelete' request conforms to.+type ManagedZonesDeleteResource =+     "dns" :>+       "v1" :>+         "projects" :>+           Capture "project" Text :>+             "managedZones" :>+               Capture "managedZone" Text :>+                 QueryParam "alt" AltJSON :> Delete '[JSON] ()++-- | Delete a previously created ManagedZone.+--+-- /See:/ 'managedZonesDelete' smart constructor.+data ManagedZonesDelete = ManagedZonesDelete+    { _mzdProject     :: !Text+    , _mzdManagedZone :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ManagedZonesDelete' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mzdProject'+--+-- * 'mzdManagedZone'+managedZonesDelete+    :: Text -- ^ 'mzdProject'+    -> Text -- ^ 'mzdManagedZone'+    -> ManagedZonesDelete+managedZonesDelete pMzdProject_ pMzdManagedZone_ =+    ManagedZonesDelete+    { _mzdProject = pMzdProject_+    , _mzdManagedZone = pMzdManagedZone_+    }++-- | Identifies the project addressed by this request.+mzdProject :: Lens' ManagedZonesDelete Text+mzdProject+  = lens _mzdProject (\ s a -> s{_mzdProject = a})++-- | Identifies the managed zone addressed by this request. Can be the+-- managed zone name or id.+mzdManagedZone :: Lens' ManagedZonesDelete Text+mzdManagedZone+  = lens _mzdManagedZone+      (\ s a -> s{_mzdManagedZone = a})++instance GoogleRequest ManagedZonesDelete where+        type Rs ManagedZonesDelete = ()+        requestClient ManagedZonesDelete{..}+          = go _mzdProject _mzdManagedZone (Just AltJSON)+              dNSService+          where go+                  = buildClient+                      (Proxy :: Proxy ManagedZonesDeleteResource)+                      mempty
+ gen/Network/Google/Resource/DNS/ManagedZones/Get.hs view
@@ -0,0 +1,99 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.DNS.ManagedZones.Get+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Fetch the representation of an existing ManagedZone.+--+-- /See:/ <https://developers.google.com/cloud-dns Google Cloud DNS API Reference> for @dns.managedZones.get@.+module Network.Google.Resource.DNS.ManagedZones.Get+    (+    -- * REST Resource+      ManagedZonesGetResource++    -- * Creating a Request+    , managedZonesGet+    , ManagedZonesGet++    -- * Request Lenses+    , mzgProject+    , mzgManagedZone+    ) where++import           Network.Google.DNS.Types+import           Network.Google.Prelude++-- | A resource alias for @dns.managedZones.get@ method which the+-- 'ManagedZonesGet' request conforms to.+type ManagedZonesGetResource =+     "dns" :>+       "v1" :>+         "projects" :>+           Capture "project" Text :>+             "managedZones" :>+               Capture "managedZone" Text :>+                 QueryParam "alt" AltJSON :> Get '[JSON] ManagedZone++-- | Fetch the representation of an existing ManagedZone.+--+-- /See:/ 'managedZonesGet' smart constructor.+data ManagedZonesGet = ManagedZonesGet+    { _mzgProject     :: !Text+    , _mzgManagedZone :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ManagedZonesGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mzgProject'+--+-- * 'mzgManagedZone'+managedZonesGet+    :: Text -- ^ 'mzgProject'+    -> Text -- ^ 'mzgManagedZone'+    -> ManagedZonesGet+managedZonesGet pMzgProject_ pMzgManagedZone_ =+    ManagedZonesGet+    { _mzgProject = pMzgProject_+    , _mzgManagedZone = pMzgManagedZone_+    }++-- | Identifies the project addressed by this request.+mzgProject :: Lens' ManagedZonesGet Text+mzgProject+  = lens _mzgProject (\ s a -> s{_mzgProject = a})++-- | Identifies the managed zone addressed by this request. Can be the+-- managed zone name or id.+mzgManagedZone :: Lens' ManagedZonesGet Text+mzgManagedZone+  = lens _mzgManagedZone+      (\ s a -> s{_mzgManagedZone = a})++instance GoogleRequest ManagedZonesGet where+        type Rs ManagedZonesGet = ManagedZone+        requestClient ManagedZonesGet{..}+          = go _mzgProject _mzgManagedZone (Just AltJSON)+              dNSService+          where go+                  = buildClient+                      (Proxy :: Proxy ManagedZonesGetResource)+                      mempty
+ gen/Network/Google/Resource/DNS/ManagedZones/List.hs view
@@ -0,0 +1,125 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.DNS.ManagedZones.List+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Enumerate ManagedZones that have been created but not yet deleted.+--+-- /See:/ <https://developers.google.com/cloud-dns Google Cloud DNS API Reference> for @dns.managedZones.list@.+module Network.Google.Resource.DNS.ManagedZones.List+    (+    -- * REST Resource+      ManagedZonesListResource++    -- * Creating a Request+    , managedZonesList+    , ManagedZonesList++    -- * Request Lenses+    , mzlProject+    , mzlPageToken+    , mzlDNSName+    , mzlMaxResults+    ) where++import           Network.Google.DNS.Types+import           Network.Google.Prelude++-- | A resource alias for @dns.managedZones.list@ method which the+-- 'ManagedZonesList' request conforms to.+type ManagedZonesListResource =+     "dns" :>+       "v1" :>+         "projects" :>+           Capture "project" Text :>+             "managedZones" :>+               QueryParam "pageToken" Text :>+                 QueryParam "dnsName" Text :>+                   QueryParam "maxResults" (Textual Int32) :>+                     QueryParam "alt" AltJSON :>+                       Get '[JSON] ManagedZonesListResponse++-- | Enumerate ManagedZones that have been created but not yet deleted.+--+-- /See:/ 'managedZonesList' smart constructor.+data ManagedZonesList = ManagedZonesList+    { _mzlProject    :: !Text+    , _mzlPageToken  :: !(Maybe Text)+    , _mzlDNSName    :: !(Maybe Text)+    , _mzlMaxResults :: !(Maybe (Textual Int32))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ManagedZonesList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mzlProject'+--+-- * 'mzlPageToken'+--+-- * 'mzlDNSName'+--+-- * 'mzlMaxResults'+managedZonesList+    :: Text -- ^ 'mzlProject'+    -> ManagedZonesList+managedZonesList pMzlProject_ =+    ManagedZonesList+    { _mzlProject = pMzlProject_+    , _mzlPageToken = Nothing+    , _mzlDNSName = Nothing+    , _mzlMaxResults = Nothing+    }++-- | Identifies the project addressed by this request.+mzlProject :: Lens' ManagedZonesList Text+mzlProject+  = lens _mzlProject (\ s a -> s{_mzlProject = a})++-- | Optional. A tag returned by a previous list request that was truncated.+-- Use this parameter to continue a previous list request.+mzlPageToken :: Lens' ManagedZonesList (Maybe Text)+mzlPageToken+  = lens _mzlPageToken (\ s a -> s{_mzlPageToken = a})++-- | Restricts the list to return only zones with this domain name.+mzlDNSName :: Lens' ManagedZonesList (Maybe Text)+mzlDNSName+  = lens _mzlDNSName (\ s a -> s{_mzlDNSName = a})++-- | Optional. Maximum number of results to be returned. If unspecified, the+-- server will decide how many results to return.+mzlMaxResults :: Lens' ManagedZonesList (Maybe Int32)+mzlMaxResults+  = lens _mzlMaxResults+      (\ s a -> s{_mzlMaxResults = a})+      . mapping _Coerce++instance GoogleRequest ManagedZonesList where+        type Rs ManagedZonesList = ManagedZonesListResponse+        requestClient ManagedZonesList{..}+          = go _mzlProject _mzlPageToken _mzlDNSName+              _mzlMaxResults+              (Just AltJSON)+              dNSService+          where go+                  = buildClient+                      (Proxy :: Proxy ManagedZonesListResource)+                      mempty
+ gen/Network/Google/Resource/DNS/Projects/Get.hs view
@@ -0,0 +1,82 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.DNS.Projects.Get+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Fetch the representation of an existing Project.+--+-- /See:/ <https://developers.google.com/cloud-dns Google Cloud DNS API Reference> for @dns.projects.get@.+module Network.Google.Resource.DNS.Projects.Get+    (+    -- * REST Resource+      ProjectsGetResource++    -- * Creating a Request+    , projectsGet+    , ProjectsGet++    -- * Request Lenses+    , pgProject+    ) where++import           Network.Google.DNS.Types+import           Network.Google.Prelude++-- | A resource alias for @dns.projects.get@ method which the+-- 'ProjectsGet' request conforms to.+type ProjectsGetResource =+     "dns" :>+       "v1" :>+         "projects" :>+           Capture "project" Text :>+             QueryParam "alt" AltJSON :> Get '[JSON] Project++-- | Fetch the representation of an existing Project.+--+-- /See:/ 'projectsGet' smart constructor.+newtype ProjectsGet = ProjectsGet+    { _pgProject :: Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProjectsGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pgProject'+projectsGet+    :: Text -- ^ 'pgProject'+    -> ProjectsGet+projectsGet pPgProject_ =+    ProjectsGet+    { _pgProject = pPgProject_+    }++-- | Identifies the project addressed by this request.+pgProject :: Lens' ProjectsGet Text+pgProject+  = lens _pgProject (\ s a -> s{_pgProject = a})++instance GoogleRequest ProjectsGet where+        type Rs ProjectsGet = Project+        requestClient ProjectsGet{..}+          = go _pgProject (Just AltJSON) dNSService+          where go+                  = buildClient (Proxy :: Proxy ProjectsGetResource)+                      mempty
+ gen/Network/Google/Resource/DNS/ResourceRecordSets/List.hs view
@@ -0,0 +1,155 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.DNS.ResourceRecordSets.List+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Enumerate ResourceRecordSets that have been created but not yet deleted.+--+-- /See:/ <https://developers.google.com/cloud-dns Google Cloud DNS API Reference> for @dns.resourceRecordSets.list@.+module Network.Google.Resource.DNS.ResourceRecordSets.List+    (+    -- * REST Resource+      ResourceRecordSetsListResource++    -- * Creating a Request+    , resourceRecordSetsList+    , ResourceRecordSetsList++    -- * Request Lenses+    , rrslProject+    , rrslName+    , rrslPageToken+    , rrslType+    , rrslManagedZone+    , rrslMaxResults+    ) where++import           Network.Google.DNS.Types+import           Network.Google.Prelude++-- | A resource alias for @dns.resourceRecordSets.list@ method which the+-- 'ResourceRecordSetsList' request conforms to.+type ResourceRecordSetsListResource =+     "dns" :>+       "v1" :>+         "projects" :>+           Capture "project" Text :>+             "managedZones" :>+               Capture "managedZone" Text :>+                 "rrsets" :>+                   QueryParam "name" Text :>+                     QueryParam "pageToken" Text :>+                       QueryParam "type" Text :>+                         QueryParam "maxResults" (Textual Int32) :>+                           QueryParam "alt" AltJSON :>+                             Get '[JSON] ResourceRecordSetsListResponse++-- | Enumerate ResourceRecordSets that have been created but not yet deleted.+--+-- /See:/ 'resourceRecordSetsList' smart constructor.+data ResourceRecordSetsList = ResourceRecordSetsList+    { _rrslProject     :: !Text+    , _rrslName        :: !(Maybe Text)+    , _rrslPageToken   :: !(Maybe Text)+    , _rrslType        :: !(Maybe Text)+    , _rrslManagedZone :: !Text+    , _rrslMaxResults  :: !(Maybe (Textual Int32))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ResourceRecordSetsList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rrslProject'+--+-- * 'rrslName'+--+-- * 'rrslPageToken'+--+-- * 'rrslType'+--+-- * 'rrslManagedZone'+--+-- * 'rrslMaxResults'+resourceRecordSetsList+    :: Text -- ^ 'rrslProject'+    -> Text -- ^ 'rrslManagedZone'+    -> ResourceRecordSetsList+resourceRecordSetsList pRrslProject_ pRrslManagedZone_ =+    ResourceRecordSetsList+    { _rrslProject = pRrslProject_+    , _rrslName = Nothing+    , _rrslPageToken = Nothing+    , _rrslType = Nothing+    , _rrslManagedZone = pRrslManagedZone_+    , _rrslMaxResults = Nothing+    }++-- | Identifies the project addressed by this request.+rrslProject :: Lens' ResourceRecordSetsList Text+rrslProject+  = lens _rrslProject (\ s a -> s{_rrslProject = a})++-- | Restricts the list to return only records with this fully qualified+-- domain name.+rrslName :: Lens' ResourceRecordSetsList (Maybe Text)+rrslName = lens _rrslName (\ s a -> s{_rrslName = a})++-- | Optional. A tag returned by a previous list request that was truncated.+-- Use this parameter to continue a previous list request.+rrslPageToken :: Lens' ResourceRecordSetsList (Maybe Text)+rrslPageToken+  = lens _rrslPageToken+      (\ s a -> s{_rrslPageToken = a})++-- | Restricts the list to return only records of this type. If present, the+-- \"name\" parameter must also be present.+rrslType :: Lens' ResourceRecordSetsList (Maybe Text)+rrslType = lens _rrslType (\ s a -> s{_rrslType = a})++-- | Identifies the managed zone addressed by this request. Can be the+-- managed zone name or id.+rrslManagedZone :: Lens' ResourceRecordSetsList Text+rrslManagedZone+  = lens _rrslManagedZone+      (\ s a -> s{_rrslManagedZone = a})++-- | Optional. Maximum number of results to be returned. If unspecified, the+-- server will decide how many results to return.+rrslMaxResults :: Lens' ResourceRecordSetsList (Maybe Int32)+rrslMaxResults+  = lens _rrslMaxResults+      (\ s a -> s{_rrslMaxResults = a})+      . mapping _Coerce++instance GoogleRequest ResourceRecordSetsList where+        type Rs ResourceRecordSetsList =+             ResourceRecordSetsListResponse+        requestClient ResourceRecordSetsList{..}+          = go _rrslProject _rrslManagedZone _rrslName+              _rrslPageToken+              _rrslType+              _rrslMaxResults+              (Just AltJSON)+              dNSService+          where go+                  = buildClient+                      (Proxy :: Proxy ResourceRecordSetsListResource)+                      mempty
+ gogol-dns.cabal view
@@ -0,0 +1,55 @@+name:                  gogol-dns+version:               0.0.1+synopsis:              Google Cloud DNS SDK.+homepage:              https://github.com/brendanhay/gogol+bug-reports:           https://github.com/brendanhay/gogol/issues+license:               OtherLicense+license-file:          LICENSE+author:                Brendan Hay+maintainer:            Brendan Hay <brendan.g.hay@gmail.com>+copyright:             Copyright (c) 2015 Brendan Hay+category:              Network, Google, Cloud+build-type:            Simple+cabal-version:         >= 1.10+extra-source-files:    README.md++description:+    The Google Cloud DNS API provides services for configuring and serving+    authoritative DNS records.+    .+    /Warning:/ This is an experimental prototype/preview release which is still+    under exploratory development and not intended for public use, caveat emptor!+    .+    This library is compatible with version @v1@+    of the API.++source-repository head+    type:     git+    location: git://github.com/brendanhay/gogol.git++library+    default-language:  Haskell2010+    hs-source-dirs:    src gen++    ghc-options:       -Wall++    exposed-modules:+          Network.Google.DNS+        , Network.Google.DNS.Types+        , Network.Google.Resource.DNS.Changes.Create+        , Network.Google.Resource.DNS.Changes.Get+        , Network.Google.Resource.DNS.Changes.List+        , Network.Google.Resource.DNS.ManagedZones.Create+        , Network.Google.Resource.DNS.ManagedZones.Delete+        , Network.Google.Resource.DNS.ManagedZones.Get+        , Network.Google.Resource.DNS.ManagedZones.List+        , Network.Google.Resource.DNS.Projects.Get+        , Network.Google.Resource.DNS.ResourceRecordSets.List++    other-modules:+          Network.Google.DNS.Types.Product+        , Network.Google.DNS.Types.Sum++    build-depends:+          gogol-core == 0.0.1.*+        , base       >= 4.7 && < 5