packages feed

gogol-maps-engine (empty) → 0.0.1

raw patch · 85 files changed

+18003/−0 lines, 85 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-maps-engine++* [Version](#version)+* [Description](#description)+* [Contribute](#contribute)+* [Licence](#licence)+++## Version++`0.0.1`+++## Description++A client library for the Google Maps Engine.+++## 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-maps-engine` 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/MapsEngine.hs view
@@ -0,0 +1,1161 @@+{-# LANGUAGE DataKinds         #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE TypeOperators     #-}++{-# OPTIONS_GHC -fno-warn-unused-imports    #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}++-- |+-- Module      : Network.Google.MapsEngine+-- 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 Maps Engine API allows developers to store and query+-- geospatial vector and raster data.+--+-- /See:/ <https://developers.google.com/maps-engine/ Google Maps Engine API Reference>+module Network.Google.MapsEngine+    (+    -- * Service Configuration+      mapsEngineService++    -- * API Declaration+    , MapsEngineAPI++    -- * Resources++    -- ** mapsengine.assets.get+    , module Network.Google.Resource.MapsEngine.Assets.Get++    -- ** mapsengine.assets.list+    , module Network.Google.Resource.MapsEngine.Assets.List++    -- ** mapsengine.assets.parents.list+    , module Network.Google.Resource.MapsEngine.Assets.Parents.List++    -- ** mapsengine.assets.permissions.list+    , module Network.Google.Resource.MapsEngine.Assets.Permissions.List++    -- ** mapsengine.layers.cancelProcessing+    , module Network.Google.Resource.MapsEngine.Layers.CancelProcessing++    -- ** mapsengine.layers.create+    , module Network.Google.Resource.MapsEngine.Layers.Create++    -- ** mapsengine.layers.delete+    , module Network.Google.Resource.MapsEngine.Layers.Delete++    -- ** mapsengine.layers.get+    , module Network.Google.Resource.MapsEngine.Layers.Get++    -- ** mapsengine.layers.getPublished+    , module Network.Google.Resource.MapsEngine.Layers.GetPublished++    -- ** mapsengine.layers.list+    , module Network.Google.Resource.MapsEngine.Layers.List++    -- ** mapsengine.layers.listPublished+    , module Network.Google.Resource.MapsEngine.Layers.ListPublished++    -- ** mapsengine.layers.parents.list+    , module Network.Google.Resource.MapsEngine.Layers.Parents.List++    -- ** mapsengine.layers.patch+    , module Network.Google.Resource.MapsEngine.Layers.Patch++    -- ** mapsengine.layers.permissions.batchDelete+    , module Network.Google.Resource.MapsEngine.Layers.Permissions.BatchDelete++    -- ** mapsengine.layers.permissions.batchUpdate+    , module Network.Google.Resource.MapsEngine.Layers.Permissions.BatchUpdate++    -- ** mapsengine.layers.permissions.list+    , module Network.Google.Resource.MapsEngine.Layers.Permissions.List++    -- ** mapsengine.layers.process+    , module Network.Google.Resource.MapsEngine.Layers.Process++    -- ** mapsengine.layers.publish+    , module Network.Google.Resource.MapsEngine.Layers.Publish++    -- ** mapsengine.layers.unpublish+    , module Network.Google.Resource.MapsEngine.Layers.UnPublish++    -- ** mapsengine.maps.create+    , module Network.Google.Resource.MapsEngine.Maps.Create++    -- ** mapsengine.maps.delete+    , module Network.Google.Resource.MapsEngine.Maps.Delete++    -- ** mapsengine.maps.get+    , module Network.Google.Resource.MapsEngine.Maps.Get++    -- ** mapsengine.maps.getPublished+    , module Network.Google.Resource.MapsEngine.Maps.GetPublished++    -- ** mapsengine.maps.list+    , module Network.Google.Resource.MapsEngine.Maps.List++    -- ** mapsengine.maps.listPublished+    , module Network.Google.Resource.MapsEngine.Maps.ListPublished++    -- ** mapsengine.maps.patch+    , module Network.Google.Resource.MapsEngine.Maps.Patch++    -- ** mapsengine.maps.permissions.batchDelete+    , module Network.Google.Resource.MapsEngine.Maps.Permissions.BatchDelete++    -- ** mapsengine.maps.permissions.batchUpdate+    , module Network.Google.Resource.MapsEngine.Maps.Permissions.BatchUpdate++    -- ** mapsengine.maps.permissions.list+    , module Network.Google.Resource.MapsEngine.Maps.Permissions.List++    -- ** mapsengine.maps.publish+    , module Network.Google.Resource.MapsEngine.Maps.Publish++    -- ** mapsengine.maps.unpublish+    , module Network.Google.Resource.MapsEngine.Maps.UnPublish++    -- ** mapsengine.projects.icons.create+    , module Network.Google.Resource.MapsEngine.Projects.Icons.Create++    -- ** mapsengine.projects.icons.get+    , module Network.Google.Resource.MapsEngine.Projects.Icons.Get++    -- ** mapsengine.projects.icons.list+    , module Network.Google.Resource.MapsEngine.Projects.Icons.List++    -- ** mapsengine.projects.list+    , module Network.Google.Resource.MapsEngine.Projects.List++    -- ** mapsengine.rasterCollections.cancelProcessing+    , module Network.Google.Resource.MapsEngine.RasterCollections.CancelProcessing++    -- ** mapsengine.rasterCollections.create+    , module Network.Google.Resource.MapsEngine.RasterCollections.Create++    -- ** mapsengine.rasterCollections.delete+    , module Network.Google.Resource.MapsEngine.RasterCollections.Delete++    -- ** mapsengine.rasterCollections.get+    , module Network.Google.Resource.MapsEngine.RasterCollections.Get++    -- ** mapsengine.rasterCollections.list+    , module Network.Google.Resource.MapsEngine.RasterCollections.List++    -- ** mapsengine.rasterCollections.parents.list+    , module Network.Google.Resource.MapsEngine.RasterCollections.Parents.List++    -- ** mapsengine.rasterCollections.patch+    , module Network.Google.Resource.MapsEngine.RasterCollections.Patch++    -- ** mapsengine.rasterCollections.permissions.batchDelete+    , module Network.Google.Resource.MapsEngine.RasterCollections.Permissions.BatchDelete++    -- ** mapsengine.rasterCollections.permissions.batchUpdate+    , module Network.Google.Resource.MapsEngine.RasterCollections.Permissions.BatchUpdate++    -- ** mapsengine.rasterCollections.permissions.list+    , module Network.Google.Resource.MapsEngine.RasterCollections.Permissions.List++    -- ** mapsengine.rasterCollections.process+    , module Network.Google.Resource.MapsEngine.RasterCollections.Process++    -- ** mapsengine.rasterCollections.rasters.batchDelete+    , module Network.Google.Resource.MapsEngine.RasterCollections.Rasters.BatchDelete++    -- ** mapsengine.rasterCollections.rasters.batchInsert+    , module Network.Google.Resource.MapsEngine.RasterCollections.Rasters.BatchInsert++    -- ** mapsengine.rasterCollections.rasters.list+    , module Network.Google.Resource.MapsEngine.RasterCollections.Rasters.List++    -- ** mapsengine.rasters.delete+    , module Network.Google.Resource.MapsEngine.Rasters.Delete++    -- ** mapsengine.rasters.files.insert+    , module Network.Google.Resource.MapsEngine.Rasters.Files.Insert++    -- ** mapsengine.rasters.get+    , module Network.Google.Resource.MapsEngine.Rasters.Get++    -- ** mapsengine.rasters.list+    , module Network.Google.Resource.MapsEngine.Rasters.List++    -- ** mapsengine.rasters.parents.list+    , module Network.Google.Resource.MapsEngine.Rasters.Parents.List++    -- ** mapsengine.rasters.patch+    , module Network.Google.Resource.MapsEngine.Rasters.Patch++    -- ** mapsengine.rasters.permissions.batchDelete+    , module Network.Google.Resource.MapsEngine.Rasters.Permissions.BatchDelete++    -- ** mapsengine.rasters.permissions.batchUpdate+    , module Network.Google.Resource.MapsEngine.Rasters.Permissions.BatchUpdate++    -- ** mapsengine.rasters.permissions.list+    , module Network.Google.Resource.MapsEngine.Rasters.Permissions.List++    -- ** mapsengine.rasters.process+    , module Network.Google.Resource.MapsEngine.Rasters.Process++    -- ** mapsengine.rasters.upload+    , module Network.Google.Resource.MapsEngine.Rasters.Upload++    -- ** mapsengine.tables.create+    , module Network.Google.Resource.MapsEngine.Tables.Create++    -- ** mapsengine.tables.delete+    , module Network.Google.Resource.MapsEngine.Tables.Delete++    -- ** mapsengine.tables.features.batchDelete+    , module Network.Google.Resource.MapsEngine.Tables.Features.BatchDelete++    -- ** mapsengine.tables.features.batchInsert+    , module Network.Google.Resource.MapsEngine.Tables.Features.BatchInsert++    -- ** mapsengine.tables.features.batchPatch+    , module Network.Google.Resource.MapsEngine.Tables.Features.BatchPatch++    -- ** mapsengine.tables.features.get+    , module Network.Google.Resource.MapsEngine.Tables.Features.Get++    -- ** mapsengine.tables.features.list+    , module Network.Google.Resource.MapsEngine.Tables.Features.List++    -- ** mapsengine.tables.files.insert+    , module Network.Google.Resource.MapsEngine.Tables.Files.Insert++    -- ** mapsengine.tables.get+    , module Network.Google.Resource.MapsEngine.Tables.Get++    -- ** mapsengine.tables.list+    , module Network.Google.Resource.MapsEngine.Tables.List++    -- ** mapsengine.tables.parents.list+    , module Network.Google.Resource.MapsEngine.Tables.Parents.List++    -- ** mapsengine.tables.patch+    , module Network.Google.Resource.MapsEngine.Tables.Patch++    -- ** mapsengine.tables.permissions.batchDelete+    , module Network.Google.Resource.MapsEngine.Tables.Permissions.BatchDelete++    -- ** mapsengine.tables.permissions.batchUpdate+    , module Network.Google.Resource.MapsEngine.Tables.Permissions.BatchUpdate++    -- ** mapsengine.tables.permissions.list+    , module Network.Google.Resource.MapsEngine.Tables.Permissions.List++    -- ** mapsengine.tables.process+    , module Network.Google.Resource.MapsEngine.Tables.Process++    -- ** mapsengine.tables.upload+    , module Network.Google.Resource.MapsEngine.Tables.Upload++    -- * Types++    -- ** ValueRange+    , ValueRange+    , valueRange+    , vrMax+    , vrMin++    -- ** GeoJSONProperties+    , GeoJSONProperties+    , geoJSONProperties+    , gjpAddtional++    -- ** Feature+    , Feature+    , feature+    , fGeometry+    , fType+    , fProperties++    -- ** Parent+    , Parent+    , parent+    , pId++    -- ** FeaturesBatchPatchRequest+    , FeaturesBatchPatchRequest+    , featuresBatchPatchRequest+    , fbprFeatures+    , fbprNormalizeGeometries++    -- ** PermissionsBatchUpdateRequest+    , PermissionsBatchUpdateRequest+    , permissionsBatchUpdateRequest+    , pburPermissions++    -- ** RasterProcessingStatus+    , RasterProcessingStatus (..)++    -- ** LayerProcessingStatus+    , LayerProcessingStatus (..)++    -- ** ScaledShapeShape+    , ScaledShapeShape (..)++    -- ** PermissionsBatchDeleteRequest+    , PermissionsBatchDeleteRequest+    , permissionsBatchDeleteRequest+    , pbdrIds++    -- ** RasterCollectionsListResponse+    , RasterCollectionsListResponse+    , rasterCollectionsListResponse+    , rclrNextPageToken+    , rclrRasterCollections++    -- ** GeoJSONMultiLineStringType+    , GeoJSONMultiLineStringType (..)++    -- ** PermissionRole+    , PermissionRole (..)++    -- ** ProjectsListResponse+    , ProjectsListResponse+    , projectsListResponse+    , plrProjects++    -- ** GeoJSONGeometry+    , GeoJSONGeometry+    , geoJSONGeometry++    -- ** MapLayer+    , MapLayer+    , mapLayer+    , mlDefaultViewport+    , mlVisibility+    , mlKey+    , mlName+    , mlId+    , mlType++    -- ** ZoomLevels+    , ZoomLevels+    , zoomLevels+    , zlMax+    , zlMin++    -- ** FeatureInfo+    , FeatureInfo+    , featureInfo+    , fiContent++    -- ** AcquisitionTimePrecision+    , AcquisitionTimePrecision (..)++    -- ** SizeRange+    , SizeRange+    , sizeRange+    , srMax+    , srMin++    -- ** ScalingFunctionScalingType+    , ScalingFunctionScalingType (..)++    -- ** MapFolder+    , MapFolder+    , mapFolder+    , mfExpandable+    , mfDefaultViewport+    , mfContents+    , mfVisibility+    , mfKey+    , mfName+    , mfType++    -- ** AssetsListRole+    , AssetsListRole (..)++    -- ** RastersListProcessingStatus+    , RastersListProcessingStatus (..)++    -- ** Project+    , Project+    , project+    , proName+    , proId++    -- ** Color+    , Color+    , color+    , cColor+    , cOpacity++    -- ** LayersListProcessingStatus+    , LayersListProcessingStatus (..)++    -- ** RasterCollection+    , RasterCollection+    , rasterCollection+    , rcCreationTime+    , rcWritersCanEditPermissions+    , rcEtag+    , rcCreatorEmail+    , rcRasterType+    , rcLastModifiedTime+    , rcLastModifierEmail+    , rcName+    , rcBbox+    , rcProcessingStatus+    , rcMosaic+    , rcId+    , rcProjectId+    , rcDraftAccessList+    , rcDescription+    , rcAttribution+    , rcTags++    -- ** LineStyleStroke+    , LineStyleStroke+    , lineStyleStroke+    , lssColor+    , lssWidth+    , lssOpacity++    -- ** RasterCollectionsRastersListRole+    , RasterCollectionsRastersListRole (..)++    -- ** GeoJSONMultiPolygonType+    , GeoJSONMultiPolygonType (..)++    -- ** GeoJSONMultiPointType+    , GeoJSONMultiPointType (..)++    -- ** RasterCollectionsRastersBatchDeleteResponse+    , RasterCollectionsRastersBatchDeleteResponse+    , rasterCollectionsRastersBatchDeleteResponse++    -- ** ProcessResponse+    , ProcessResponse+    , processResponse++    -- ** TableColumn+    , TableColumn+    , tableColumn+    , tcName+    , tcType++    -- ** PublishedLayerLayerType+    , PublishedLayerLayerType (..)++    -- ** TablesListProcessingStatus+    , TablesListProcessingStatus (..)++    -- ** Asset+    , Asset+    , asset+    , aCreationTime+    , aWritersCanEditPermissions+    , aEtag+    , aCreatorEmail+    , aLastModifiedTime+    , aLastModifierEmail+    , aName+    , aBbox+    , aResource+    , aId+    , aProjectId+    , aType+    , aDescription+    , aTags++    -- ** LayerLayerType+    , LayerLayerType (..)++    -- ** ScaledShape+    , ScaledShape+    , scaledShape+    , ssBOrder+    , ssFill+    , ssShape++    -- ** PermissionType+    , PermissionType (..)++    -- ** MapProcessingStatus+    , MapProcessingStatus (..)++    -- ** FeaturesBatchDeleteRequest+    , FeaturesBatchDeleteRequest+    , featuresBatchDeleteRequest+    , fbdrPrimaryKeys+    , fbdrGxIds++    -- ** MapsGetVersion+    , MapsGetVersion (..)++    -- ** TablesListRole+    , TablesListRole (..)++    -- ** Icon+    , Icon+    , icon+    , iName+    , iId+    , iDescription++    -- ** VectorStyleType+    , VectorStyleType (..)++    -- ** GeoJSONLineStringType+    , GeoJSONLineStringType (..)++    -- ** ParentsListResponse+    , ParentsListResponse+    , parentsListResponse+    , plrNextPageToken+    , plrParents++    -- ** FeaturesListResponse+    , FeaturesListResponse+    , featuresListResponse+    , flrNextPageToken+    , flrAllowedQueriesPerSecond+    , flrSchema+    , flrFeatures+    , flrType++    -- ** RasterCollectionsRastersBatchInsertResponse+    , RasterCollectionsRastersBatchInsertResponse+    , rasterCollectionsRastersBatchInsertResponse++    -- ** LayerPublishingStatus+    , LayerPublishingStatus (..)++    -- ** MapKmlLinkType+    , MapKmlLinkType (..)++    -- ** LayerDatasourceType+    , LayerDatasourceType (..)++    -- ** GeoJSONGeometryCollectionType+    , GeoJSONGeometryCollectionType (..)++    -- ** IconsListResponse+    , IconsListResponse+    , iconsListResponse+    , ilrNextPageToken+    , ilrIcons++    -- ** LabelStyle+    , LabelStyle+    , labelStyle+    , lsFontStyle+    , lsColor+    , lsSize+    , lsOpacity+    , lsOutline+    , lsFontWeight+    , lsColumn++    -- ** RasterCollectionsRasterBatchDeleteRequest+    , RasterCollectionsRasterBatchDeleteRequest+    , rasterCollectionsRasterBatchDeleteRequest+    , rcrbdrIds++    -- ** Schema+    , Schema+    , schema+    , sPrimaryKey+    , sColumns+    , sPrimaryGeometry++    -- ** MapItem+    , MapItem+    , mapItem++    -- ** GeoJSONPointType+    , GeoJSONPointType (..)++    -- ** GeoJSONPolygonType+    , GeoJSONPolygonType (..)++    -- ** RasterCollectionsRastersBatchInsertRequest+    , RasterCollectionsRastersBatchInsertRequest+    , rasterCollectionsRastersBatchInsertRequest+    , rcrbirIds++    -- ** PublishedMap+    , PublishedMap+    , publishedMap+    , pmDefaultViewport+    , pmContents+    , pmName+    , pmId+    , pmProjectId+    , pmDescription++    -- ** AcquisitionTime+    , AcquisitionTime+    , acquisitionTime+    , atStart+    , atPrecision+    , atEnd++    -- ** LayersGetVersion+    , LayersGetVersion (..)++    -- ** TablesListResponse+    , TablesListResponse+    , tablesListResponse+    , tlrNextPageToken+    , tlrTables++    -- ** IconStyle+    , IconStyle+    , iconStyle+    , isScaledShape+    , isScalingFunction+    , isName+    , isId++    -- ** DisplayRule+    , DisplayRule+    , displayRule+    , drPointOptions+    , drPolygonOptions+    , drZoomLevels+    , drFilters+    , drName+    , drLineOptions++    -- ** BOrder+    , BOrder+    , bOrder+    , boColor+    , boWidth+    , boOpacity++    -- ** Map+    , Map+    , map'+    , mCreationTime+    , mWritersCanEditPermissions+    , mEtag+    , mDefaultViewport+    , mContents+    , mPublishingStatus+    , mCreatorEmail+    , mLastModifiedTime+    , mLastModifierEmail+    , mVersions+    , mName+    , mBbox+    , mProcessingStatus+    , mId+    , mProjectId+    , mDraftAccessList+    , mPublishedAccessList+    , mDescription+    , mTags++    -- ** MapLayerType+    , MapLayerType (..)++    -- ** RasterCollectionsRastersListResponse+    , RasterCollectionsRastersListResponse+    , rasterCollectionsRastersListResponse+    , rcrlrNextPageToken+    , rcrlrRasters++    -- ** GeoJSONMultiLineString+    , GeoJSONMultiLineString+    , geoJSONMultiLineString+    , gjmlsCoordinates+    , gjmlsType++    -- ** ScalingFunction+    , ScalingFunction+    , scalingFunction+    , sfValueRange+    , sfSizeRange+    , sfScalingType+    , sfColumn++    -- ** LabelStyleFontWeight+    , LabelStyleFontWeight (..)++    -- ** MapFolderType+    , MapFolderType (..)++    -- ** RasterCollectionProcessingStatus+    , RasterCollectionProcessingStatus (..)++    -- ** TablesFeaturesListVersion+    , TablesFeaturesListVersion (..)++    -- ** MapsListProcessingStatus+    , MapsListProcessingStatus (..)++    -- ** AssetsListResponse+    , AssetsListResponse+    , assetsListResponse+    , alrNextPageToken+    , alrAssets++    -- ** PublishResponse+    , PublishResponse+    , publishResponse++    -- ** FeaturesBatchInsertRequest+    , FeaturesBatchInsertRequest+    , featuresBatchInsertRequest+    , fbirFeatures+    , fbirNormalizeGeometries++    -- ** Datasource+    , Datasource+    , datasource+    , dId++    -- ** LabelStyleFontStyle+    , LabelStyleFontStyle (..)++    -- ** RasterCollectionsRaster+    , RasterCollectionsRaster+    , rasterCollectionsRaster+    , rcrCreationTime+    , rcrRasterType+    , rcrLastModifiedTime+    , rcrName+    , rcrBbox+    , rcrId+    , rcrProjectId+    , rcrDescription+    , rcrTags++    -- ** Filter+    , Filter+    , filter'+    , fOperator+    , fValue+    , fColumn++    -- ** GeoJSONMultiPoint+    , GeoJSONMultiPoint+    , geoJSONMultiPoint+    , gjmpCoordinates+    , gjmpType++    -- ** AssetType+    , AssetType (..)++    -- ** RasterRasterType+    , RasterRasterType (..)++    -- ** RasterCollectionsListRole+    , RasterCollectionsListRole (..)++    -- ** FilterOperator+    , FilterOperator (..)++    -- ** TableColumnType+    , TableColumnType (..)++    -- ** GeoJSONMultiPolygon+    , GeoJSONMultiPolygon+    , geoJSONMultiPolygon+    , gjsonmpCoordinates+    , gjsonmpType++    -- ** Layer+    , Layer+    , layer+    , layCreationTime+    , layWritersCanEditPermissions+    , layStyle+    , layEtag+    , layDatasourceType+    , layPublishingStatus+    , layCreatorEmail+    , layLayerType+    , layLastModifiedTime+    , layDatasources+    , layLastModifierEmail+    , layName+    , layBbox+    , layProcessingStatus+    , layId+    , layProjectId+    , layDraftAccessList+    , layPublishedAccessList+    , layDescription+    , layTags++    -- ** PointStyle+    , PointStyle+    , pointStyle+    , psIcon+    , psLabel++    -- ** RasterCollectionsListProcessingStatus+    , RasterCollectionsListProcessingStatus (..)++    -- ** Raster+    , Raster+    , raster+    , rrCreationTime+    , rrWritersCanEditPermissions+    , rrMaskType+    , rrEtag+    , rrCreatorEmail+    , rrRasterType+    , rrLastModifiedTime+    , rrLastModifierEmail+    , rrAcquisitionTime+    , rrName+    , rrBbox+    , rrProcessingStatus+    , rrFiles+    , rrId+    , rrProjectId+    , rrDraftAccessList+    , rrDescription+    , rrAttribution+    , rrTags++    -- ** PolygonStyle+    , PolygonStyle+    , polygonStyle+    , pStroke+    , pFill+    , pLabel++    -- ** Permission+    , Permission+    , permission+    , perRole+    , perId+    , perType+    , perDiscoverable++    -- ** PublishedLayer+    , PublishedLayer+    , publishedLayer+    , plLayerType+    , plName+    , plId+    , plProjectId+    , plDescription++    -- ** LayersListRole+    , LayersListRole (..)++    -- ** Table+    , Table+    , table+    , tabCreationTime+    , tabWritersCanEditPermissions+    , tabEtag+    , tabCreatorEmail+    , tabLastModifiedTime+    , tabSchema+    , tabLastModifierEmail+    , tabName+    , tabBbox+    , tabProcessingStatus+    , tabFiles+    , tabId+    , tabProjectId+    , tabDraftAccessList+    , tabPublishedAccessList+    , tabSourceEncoding+    , tabDescription+    , tabTags++    -- ** File+    , File+    , file+    , fSize+    , fUploadStatus+    , fFilename++    -- ** VectorStyle+    , VectorStyle+    , vectorStyle+    , vsDisplayRules+    , vsFeatureInfo+    , vsType++    -- ** PermissionsBatchDeleteResponse+    , PermissionsBatchDeleteResponse+    , permissionsBatchDeleteResponse++    -- ** TablesFeaturesGetVersion+    , TablesFeaturesGetVersion (..)++    -- ** MapKmlLink+    , MapKmlLink+    , mapKmlLink+    , mklDefaultViewport+    , mklVisibility+    , mklName+    , mklType+    , mklKmlURL++    -- ** RasterCollectionRasterType+    , RasterCollectionRasterType (..)++    -- ** RastersListRole+    , RastersListRole (..)++    -- ** PermissionsBatchUpdateResponse+    , PermissionsBatchUpdateResponse+    , permissionsBatchUpdateResponse++    -- ** GeoJSONLineString+    , GeoJSONLineString+    , geoJSONLineString+    , gjlsCoordinates+    , gjlsType++    -- ** PublishedMapsListResponse+    , PublishedMapsListResponse+    , publishedMapsListResponse+    , pmlrMaps+    , pmlrNextPageToken++    -- ** MapsListResponse+    , MapsListResponse+    , mapsListResponse+    , mlrMaps+    , mlrNextPageToken++    -- ** MapPublishingStatus+    , MapPublishingStatus (..)++    -- ** GeoJSONGeometryCollection+    , GeoJSONGeometryCollection+    , geoJSONGeometryCollection+    , gjgcGeometries+    , gjgcType++    -- ** GeoJSONPolygon+    , GeoJSONPolygon+    , geoJSONPolygon+    , gjpCoordinates+    , gjpType++    -- ** GeoJSONPoint+    , GeoJSONPoint+    , geoJSONPoint+    , gjsonpCoordinates+    , gjsonpType++    -- ** LayersListResponse+    , LayersListResponse+    , layersListResponse+    , llrNextPageToken+    , llrLayers++    -- ** RastersListResponse+    , RastersListResponse+    , rastersListResponse+    , rlrNextPageToken+    , rlrRasters++    -- ** FileUploadStatus+    , FileUploadStatus (..)++    -- ** MapsListRole+    , MapsListRole (..)++    -- ** TablesGetVersion+    , TablesGetVersion (..)++    -- ** PermissionsListResponse+    , PermissionsListResponse+    , permissionsListResponse+    , plrPermissions++    -- ** TableProcessingStatus+    , TableProcessingStatus (..)++    -- ** LineStyle+    , LineStyle+    , lineStyle+    , lsStroke+    , lsBOrder+    , lsDash+    , lsLabel++    -- ** PublishedLayersListResponse+    , PublishedLayersListResponse+    , publishedLayersListResponse+    , pllrNextPageToken+    , pllrLayers+    ) where++import           Network.Google.MapsEngine.Types+import           Network.Google.Prelude+import           Network.Google.Resource.MapsEngine.Assets.Get+import           Network.Google.Resource.MapsEngine.Assets.List+import           Network.Google.Resource.MapsEngine.Assets.Parents.List+import           Network.Google.Resource.MapsEngine.Assets.Permissions.List+import           Network.Google.Resource.MapsEngine.Layers.CancelProcessing+import           Network.Google.Resource.MapsEngine.Layers.Create+import           Network.Google.Resource.MapsEngine.Layers.Delete+import           Network.Google.Resource.MapsEngine.Layers.Get+import           Network.Google.Resource.MapsEngine.Layers.GetPublished+import           Network.Google.Resource.MapsEngine.Layers.List+import           Network.Google.Resource.MapsEngine.Layers.ListPublished+import           Network.Google.Resource.MapsEngine.Layers.Parents.List+import           Network.Google.Resource.MapsEngine.Layers.Patch+import           Network.Google.Resource.MapsEngine.Layers.Permissions.BatchDelete+import           Network.Google.Resource.MapsEngine.Layers.Permissions.BatchUpdate+import           Network.Google.Resource.MapsEngine.Layers.Permissions.List+import           Network.Google.Resource.MapsEngine.Layers.Process+import           Network.Google.Resource.MapsEngine.Layers.Publish+import           Network.Google.Resource.MapsEngine.Layers.UnPublish+import           Network.Google.Resource.MapsEngine.Maps.Create+import           Network.Google.Resource.MapsEngine.Maps.Delete+import           Network.Google.Resource.MapsEngine.Maps.Get+import           Network.Google.Resource.MapsEngine.Maps.GetPublished+import           Network.Google.Resource.MapsEngine.Maps.List+import           Network.Google.Resource.MapsEngine.Maps.ListPublished+import           Network.Google.Resource.MapsEngine.Maps.Patch+import           Network.Google.Resource.MapsEngine.Maps.Permissions.BatchDelete+import           Network.Google.Resource.MapsEngine.Maps.Permissions.BatchUpdate+import           Network.Google.Resource.MapsEngine.Maps.Permissions.List+import           Network.Google.Resource.MapsEngine.Maps.Publish+import           Network.Google.Resource.MapsEngine.Maps.UnPublish+import           Network.Google.Resource.MapsEngine.Projects.Icons.Create+import           Network.Google.Resource.MapsEngine.Projects.Icons.Get+import           Network.Google.Resource.MapsEngine.Projects.Icons.List+import           Network.Google.Resource.MapsEngine.Projects.List+import           Network.Google.Resource.MapsEngine.RasterCollections.CancelProcessing+import           Network.Google.Resource.MapsEngine.RasterCollections.Create+import           Network.Google.Resource.MapsEngine.RasterCollections.Delete+import           Network.Google.Resource.MapsEngine.RasterCollections.Get+import           Network.Google.Resource.MapsEngine.RasterCollections.List+import           Network.Google.Resource.MapsEngine.RasterCollections.Parents.List+import           Network.Google.Resource.MapsEngine.RasterCollections.Patch+import           Network.Google.Resource.MapsEngine.RasterCollections.Permissions.BatchDelete+import           Network.Google.Resource.MapsEngine.RasterCollections.Permissions.BatchUpdate+import           Network.Google.Resource.MapsEngine.RasterCollections.Permissions.List+import           Network.Google.Resource.MapsEngine.RasterCollections.Process+import           Network.Google.Resource.MapsEngine.RasterCollections.Rasters.BatchDelete+import           Network.Google.Resource.MapsEngine.RasterCollections.Rasters.BatchInsert+import           Network.Google.Resource.MapsEngine.RasterCollections.Rasters.List+import           Network.Google.Resource.MapsEngine.Rasters.Delete+import           Network.Google.Resource.MapsEngine.Rasters.Files.Insert+import           Network.Google.Resource.MapsEngine.Rasters.Get+import           Network.Google.Resource.MapsEngine.Rasters.List+import           Network.Google.Resource.MapsEngine.Rasters.Parents.List+import           Network.Google.Resource.MapsEngine.Rasters.Patch+import           Network.Google.Resource.MapsEngine.Rasters.Permissions.BatchDelete+import           Network.Google.Resource.MapsEngine.Rasters.Permissions.BatchUpdate+import           Network.Google.Resource.MapsEngine.Rasters.Permissions.List+import           Network.Google.Resource.MapsEngine.Rasters.Process+import           Network.Google.Resource.MapsEngine.Rasters.Upload+import           Network.Google.Resource.MapsEngine.Tables.Create+import           Network.Google.Resource.MapsEngine.Tables.Delete+import           Network.Google.Resource.MapsEngine.Tables.Features.BatchDelete+import           Network.Google.Resource.MapsEngine.Tables.Features.BatchInsert+import           Network.Google.Resource.MapsEngine.Tables.Features.BatchPatch+import           Network.Google.Resource.MapsEngine.Tables.Features.Get+import           Network.Google.Resource.MapsEngine.Tables.Features.List+import           Network.Google.Resource.MapsEngine.Tables.Files.Insert+import           Network.Google.Resource.MapsEngine.Tables.Get+import           Network.Google.Resource.MapsEngine.Tables.List+import           Network.Google.Resource.MapsEngine.Tables.Parents.List+import           Network.Google.Resource.MapsEngine.Tables.Patch+import           Network.Google.Resource.MapsEngine.Tables.Permissions.BatchDelete+import           Network.Google.Resource.MapsEngine.Tables.Permissions.BatchUpdate+import           Network.Google.Resource.MapsEngine.Tables.Permissions.List+import           Network.Google.Resource.MapsEngine.Tables.Process+import           Network.Google.Resource.MapsEngine.Tables.Upload++{- $resources+TODO+-}++-- | Represents the entirety of the methods and resources available for the Google Maps Engine API service.+type MapsEngineAPI =+     MapsPermissionsListResource :<|>+       MapsPermissionsBatchUpdateResource+       :<|> MapsPermissionsBatchDeleteResource+       :<|> MapsListResource+       :<|> MapsListPublishedResource+       :<|> MapsPatchResource+       :<|> MapsGetResource+       :<|> MapsGetPublishedResource+       :<|> MapsCreateResource+       :<|> MapsUnPublishResource+       :<|> MapsDeleteResource+       :<|> MapsPublishResource+       :<|> TablesParentsListResource+       :<|> TablesFeaturesListResource+       :<|> TablesFeaturesBatchInsertResource+       :<|> TablesFeaturesGetResource+       :<|> TablesFeaturesBatchPatchResource+       :<|> TablesFeaturesBatchDeleteResource+       :<|> TablesFilesInsertResource+       :<|> TablesPermissionsListResource+       :<|> TablesPermissionsBatchUpdateResource+       :<|> TablesPermissionsBatchDeleteResource+       :<|> TablesListResource+       :<|> TablesProcessResource+       :<|> TablesPatchResource+       :<|> TablesGetResource+       :<|> TablesCreateResource+       :<|> TablesUploadResource+       :<|> TablesDeleteResource+       :<|> LayersParentsListResource+       :<|> LayersPermissionsListResource+       :<|> LayersPermissionsBatchUpdateResource+       :<|> LayersPermissionsBatchDeleteResource+       :<|> LayersListResource+       :<|> LayersListPublishedResource+       :<|> LayersProcessResource+       :<|> LayersPatchResource+       :<|> LayersGetResource+       :<|> LayersGetPublishedResource+       :<|> LayersCreateResource+       :<|> LayersUnPublishResource+       :<|> LayersCancelProcessingResource+       :<|> LayersDeleteResource+       :<|> LayersPublishResource+       :<|> RastersParentsListResource+       :<|> RastersFilesInsertResource+       :<|> RastersPermissionsListResource+       :<|> RastersPermissionsBatchUpdateResource+       :<|> RastersPermissionsBatchDeleteResource+       :<|> RastersListResource+       :<|> RastersProcessResource+       :<|> RastersPatchResource+       :<|> RastersGetResource+       :<|> RastersUploadResource+       :<|> RastersDeleteResource+       :<|> AssetsParentsListResource+       :<|> AssetsPermissionsListResource+       :<|> AssetsListResource+       :<|> AssetsGetResource+       :<|> RasterCollectionsParentsListResource+       :<|> RasterCollectionsPermissionsListResource+       :<|> RasterCollectionsPermissionsBatchUpdateResource+       :<|> RasterCollectionsPermissionsBatchDeleteResource+       :<|> RasterCollectionsRastersListResource+       :<|> RasterCollectionsRastersBatchInsertResource+       :<|> RasterCollectionsRastersBatchDeleteResource+       :<|> RasterCollectionsListResource+       :<|> RasterCollectionsProcessResource+       :<|> RasterCollectionsPatchResource+       :<|> RasterCollectionsGetResource+       :<|> RasterCollectionsCreateResource+       :<|> RasterCollectionsCancelProcessingResource+       :<|> RasterCollectionsDeleteResource+       :<|> ProjectsIconsListResource+       :<|> ProjectsIconsGetResource+       :<|> ProjectsIconsCreateResource+       :<|> ProjectsListResource
+ gen/Network/Google/MapsEngine/Types.hs view
@@ -0,0 +1,777 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module      : Network.Google.MapsEngine.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.MapsEngine.Types+    (+    -- * Service Configuration+      mapsEngineService++    -- * OAuth Scopes+    , mapsengineScope+    , mapsengineReadonlyScope++    -- * ValueRange+    , ValueRange+    , valueRange+    , vrMax+    , vrMin++    -- * GeoJSONProperties+    , GeoJSONProperties+    , geoJSONProperties+    , gjpAddtional++    -- * Feature+    , Feature+    , feature+    , fGeometry+    , fType+    , fProperties++    -- * Parent+    , Parent+    , parent+    , pId++    -- * FeaturesBatchPatchRequest+    , FeaturesBatchPatchRequest+    , featuresBatchPatchRequest+    , fbprFeatures+    , fbprNormalizeGeometries++    -- * PermissionsBatchUpdateRequest+    , PermissionsBatchUpdateRequest+    , permissionsBatchUpdateRequest+    , pburPermissions++    -- * RasterProcessingStatus+    , RasterProcessingStatus (..)++    -- * LayerProcessingStatus+    , LayerProcessingStatus (..)++    -- * ScaledShapeShape+    , ScaledShapeShape (..)++    -- * PermissionsBatchDeleteRequest+    , PermissionsBatchDeleteRequest+    , permissionsBatchDeleteRequest+    , pbdrIds++    -- * RasterCollectionsListResponse+    , RasterCollectionsListResponse+    , rasterCollectionsListResponse+    , rclrNextPageToken+    , rclrRasterCollections++    -- * GeoJSONMultiLineStringType+    , GeoJSONMultiLineStringType (..)++    -- * PermissionRole+    , PermissionRole (..)++    -- * ProjectsListResponse+    , ProjectsListResponse+    , projectsListResponse+    , plrProjects++    -- * GeoJSONGeometry+    , GeoJSONGeometry+    , geoJSONGeometry++    -- * MapLayer+    , MapLayer+    , mapLayer+    , mlDefaultViewport+    , mlVisibility+    , mlKey+    , mlName+    , mlId+    , mlType++    -- * ZoomLevels+    , ZoomLevels+    , zoomLevels+    , zlMax+    , zlMin++    -- * FeatureInfo+    , FeatureInfo+    , featureInfo+    , fiContent++    -- * AcquisitionTimePrecision+    , AcquisitionTimePrecision (..)++    -- * SizeRange+    , SizeRange+    , sizeRange+    , srMax+    , srMin++    -- * ScalingFunctionScalingType+    , ScalingFunctionScalingType (..)++    -- * MapFolder+    , MapFolder+    , mapFolder+    , mfExpandable+    , mfDefaultViewport+    , mfContents+    , mfVisibility+    , mfKey+    , mfName+    , mfType++    -- * AssetsListRole+    , AssetsListRole (..)++    -- * RastersListProcessingStatus+    , RastersListProcessingStatus (..)++    -- * Project+    , Project+    , project+    , proName+    , proId++    -- * Color+    , Color+    , color+    , cColor+    , cOpacity++    -- * LayersListProcessingStatus+    , LayersListProcessingStatus (..)++    -- * RasterCollection+    , RasterCollection+    , rasterCollection+    , rcCreationTime+    , rcWritersCanEditPermissions+    , rcEtag+    , rcCreatorEmail+    , rcRasterType+    , rcLastModifiedTime+    , rcLastModifierEmail+    , rcName+    , rcBbox+    , rcProcessingStatus+    , rcMosaic+    , rcId+    , rcProjectId+    , rcDraftAccessList+    , rcDescription+    , rcAttribution+    , rcTags++    -- * LineStyleStroke+    , LineStyleStroke+    , lineStyleStroke+    , lssColor+    , lssWidth+    , lssOpacity++    -- * RasterCollectionsRastersListRole+    , RasterCollectionsRastersListRole (..)++    -- * GeoJSONMultiPolygonType+    , GeoJSONMultiPolygonType (..)++    -- * GeoJSONMultiPointType+    , GeoJSONMultiPointType (..)++    -- * RasterCollectionsRastersBatchDeleteResponse+    , RasterCollectionsRastersBatchDeleteResponse+    , rasterCollectionsRastersBatchDeleteResponse++    -- * ProcessResponse+    , ProcessResponse+    , processResponse++    -- * TableColumn+    , TableColumn+    , tableColumn+    , tcName+    , tcType++    -- * PublishedLayerLayerType+    , PublishedLayerLayerType (..)++    -- * TablesListProcessingStatus+    , TablesListProcessingStatus (..)++    -- * Asset+    , Asset+    , asset+    , aCreationTime+    , aWritersCanEditPermissions+    , aEtag+    , aCreatorEmail+    , aLastModifiedTime+    , aLastModifierEmail+    , aName+    , aBbox+    , aResource+    , aId+    , aProjectId+    , aType+    , aDescription+    , aTags++    -- * LayerLayerType+    , LayerLayerType (..)++    -- * ScaledShape+    , ScaledShape+    , scaledShape+    , ssBOrder+    , ssFill+    , ssShape++    -- * PermissionType+    , PermissionType (..)++    -- * MapProcessingStatus+    , MapProcessingStatus (..)++    -- * FeaturesBatchDeleteRequest+    , FeaturesBatchDeleteRequest+    , featuresBatchDeleteRequest+    , fbdrPrimaryKeys+    , fbdrGxIds++    -- * MapsGetVersion+    , MapsGetVersion (..)++    -- * TablesListRole+    , TablesListRole (..)++    -- * Icon+    , Icon+    , icon+    , iName+    , iId+    , iDescription++    -- * VectorStyleType+    , VectorStyleType (..)++    -- * GeoJSONLineStringType+    , GeoJSONLineStringType (..)++    -- * ParentsListResponse+    , ParentsListResponse+    , parentsListResponse+    , plrNextPageToken+    , plrParents++    -- * FeaturesListResponse+    , FeaturesListResponse+    , featuresListResponse+    , flrNextPageToken+    , flrAllowedQueriesPerSecond+    , flrSchema+    , flrFeatures+    , flrType++    -- * RasterCollectionsRastersBatchInsertResponse+    , RasterCollectionsRastersBatchInsertResponse+    , rasterCollectionsRastersBatchInsertResponse++    -- * LayerPublishingStatus+    , LayerPublishingStatus (..)++    -- * MapKmlLinkType+    , MapKmlLinkType (..)++    -- * LayerDatasourceType+    , LayerDatasourceType (..)++    -- * GeoJSONGeometryCollectionType+    , GeoJSONGeometryCollectionType (..)++    -- * IconsListResponse+    , IconsListResponse+    , iconsListResponse+    , ilrNextPageToken+    , ilrIcons++    -- * LabelStyle+    , LabelStyle+    , labelStyle+    , lsFontStyle+    , lsColor+    , lsSize+    , lsOpacity+    , lsOutline+    , lsFontWeight+    , lsColumn++    -- * RasterCollectionsRasterBatchDeleteRequest+    , RasterCollectionsRasterBatchDeleteRequest+    , rasterCollectionsRasterBatchDeleteRequest+    , rcrbdrIds++    -- * Schema+    , Schema+    , schema+    , sPrimaryKey+    , sColumns+    , sPrimaryGeometry++    -- * MapItem+    , MapItem+    , mapItem++    -- * GeoJSONPointType+    , GeoJSONPointType (..)++    -- * GeoJSONPolygonType+    , GeoJSONPolygonType (..)++    -- * RasterCollectionsRastersBatchInsertRequest+    , RasterCollectionsRastersBatchInsertRequest+    , rasterCollectionsRastersBatchInsertRequest+    , rcrbirIds++    -- * PublishedMap+    , PublishedMap+    , publishedMap+    , pmDefaultViewport+    , pmContents+    , pmName+    , pmId+    , pmProjectId+    , pmDescription++    -- * AcquisitionTime+    , AcquisitionTime+    , acquisitionTime+    , atStart+    , atPrecision+    , atEnd++    -- * LayersGetVersion+    , LayersGetVersion (..)++    -- * TablesListResponse+    , TablesListResponse+    , tablesListResponse+    , tlrNextPageToken+    , tlrTables++    -- * IconStyle+    , IconStyle+    , iconStyle+    , isScaledShape+    , isScalingFunction+    , isName+    , isId++    -- * DisplayRule+    , DisplayRule+    , displayRule+    , drPointOptions+    , drPolygonOptions+    , drZoomLevels+    , drFilters+    , drName+    , drLineOptions++    -- * BOrder+    , BOrder+    , bOrder+    , boColor+    , boWidth+    , boOpacity++    -- * Map+    , Map+    , map'+    , mCreationTime+    , mWritersCanEditPermissions+    , mEtag+    , mDefaultViewport+    , mContents+    , mPublishingStatus+    , mCreatorEmail+    , mLastModifiedTime+    , mLastModifierEmail+    , mVersions+    , mName+    , mBbox+    , mProcessingStatus+    , mId+    , mProjectId+    , mDraftAccessList+    , mPublishedAccessList+    , mDescription+    , mTags++    -- * MapLayerType+    , MapLayerType (..)++    -- * RasterCollectionsRastersListResponse+    , RasterCollectionsRastersListResponse+    , rasterCollectionsRastersListResponse+    , rcrlrNextPageToken+    , rcrlrRasters++    -- * GeoJSONMultiLineString+    , GeoJSONMultiLineString+    , geoJSONMultiLineString+    , gjmlsCoordinates+    , gjmlsType++    -- * ScalingFunction+    , ScalingFunction+    , scalingFunction+    , sfValueRange+    , sfSizeRange+    , sfScalingType+    , sfColumn++    -- * LabelStyleFontWeight+    , LabelStyleFontWeight (..)++    -- * MapFolderType+    , MapFolderType (..)++    -- * RasterCollectionProcessingStatus+    , RasterCollectionProcessingStatus (..)++    -- * TablesFeaturesListVersion+    , TablesFeaturesListVersion (..)++    -- * MapsListProcessingStatus+    , MapsListProcessingStatus (..)++    -- * AssetsListResponse+    , AssetsListResponse+    , assetsListResponse+    , alrNextPageToken+    , alrAssets++    -- * PublishResponse+    , PublishResponse+    , publishResponse++    -- * FeaturesBatchInsertRequest+    , FeaturesBatchInsertRequest+    , featuresBatchInsertRequest+    , fbirFeatures+    , fbirNormalizeGeometries++    -- * Datasource+    , Datasource+    , datasource+    , dId++    -- * LabelStyleFontStyle+    , LabelStyleFontStyle (..)++    -- * RasterCollectionsRaster+    , RasterCollectionsRaster+    , rasterCollectionsRaster+    , rcrCreationTime+    , rcrRasterType+    , rcrLastModifiedTime+    , rcrName+    , rcrBbox+    , rcrId+    , rcrProjectId+    , rcrDescription+    , rcrTags++    -- * Filter+    , Filter+    , filter'+    , fOperator+    , fValue+    , fColumn++    -- * GeoJSONMultiPoint+    , GeoJSONMultiPoint+    , geoJSONMultiPoint+    , gjmpCoordinates+    , gjmpType++    -- * AssetType+    , AssetType (..)++    -- * RasterRasterType+    , RasterRasterType (..)++    -- * RasterCollectionsListRole+    , RasterCollectionsListRole (..)++    -- * FilterOperator+    , FilterOperator (..)++    -- * TableColumnType+    , TableColumnType (..)++    -- * GeoJSONMultiPolygon+    , GeoJSONMultiPolygon+    , geoJSONMultiPolygon+    , gjsonmpCoordinates+    , gjsonmpType++    -- * Layer+    , Layer+    , layer+    , layCreationTime+    , layWritersCanEditPermissions+    , layStyle+    , layEtag+    , layDatasourceType+    , layPublishingStatus+    , layCreatorEmail+    , layLayerType+    , layLastModifiedTime+    , layDatasources+    , layLastModifierEmail+    , layName+    , layBbox+    , layProcessingStatus+    , layId+    , layProjectId+    , layDraftAccessList+    , layPublishedAccessList+    , layDescription+    , layTags++    -- * PointStyle+    , PointStyle+    , pointStyle+    , psIcon+    , psLabel++    -- * RasterCollectionsListProcessingStatus+    , RasterCollectionsListProcessingStatus (..)++    -- * Raster+    , Raster+    , raster+    , rrCreationTime+    , rrWritersCanEditPermissions+    , rrMaskType+    , rrEtag+    , rrCreatorEmail+    , rrRasterType+    , rrLastModifiedTime+    , rrLastModifierEmail+    , rrAcquisitionTime+    , rrName+    , rrBbox+    , rrProcessingStatus+    , rrFiles+    , rrId+    , rrProjectId+    , rrDraftAccessList+    , rrDescription+    , rrAttribution+    , rrTags++    -- * PolygonStyle+    , PolygonStyle+    , polygonStyle+    , pStroke+    , pFill+    , pLabel++    -- * Permission+    , Permission+    , permission+    , perRole+    , perId+    , perType+    , perDiscoverable++    -- * PublishedLayer+    , PublishedLayer+    , publishedLayer+    , plLayerType+    , plName+    , plId+    , plProjectId+    , plDescription++    -- * LayersListRole+    , LayersListRole (..)++    -- * Table+    , Table+    , table+    , tabCreationTime+    , tabWritersCanEditPermissions+    , tabEtag+    , tabCreatorEmail+    , tabLastModifiedTime+    , tabSchema+    , tabLastModifierEmail+    , tabName+    , tabBbox+    , tabProcessingStatus+    , tabFiles+    , tabId+    , tabProjectId+    , tabDraftAccessList+    , tabPublishedAccessList+    , tabSourceEncoding+    , tabDescription+    , tabTags++    -- * File+    , File+    , file+    , fSize+    , fUploadStatus+    , fFilename++    -- * VectorStyle+    , VectorStyle+    , vectorStyle+    , vsDisplayRules+    , vsFeatureInfo+    , vsType++    -- * PermissionsBatchDeleteResponse+    , PermissionsBatchDeleteResponse+    , permissionsBatchDeleteResponse++    -- * TablesFeaturesGetVersion+    , TablesFeaturesGetVersion (..)++    -- * MapKmlLink+    , MapKmlLink+    , mapKmlLink+    , mklDefaultViewport+    , mklVisibility+    , mklName+    , mklType+    , mklKmlURL++    -- * RasterCollectionRasterType+    , RasterCollectionRasterType (..)++    -- * RastersListRole+    , RastersListRole (..)++    -- * PermissionsBatchUpdateResponse+    , PermissionsBatchUpdateResponse+    , permissionsBatchUpdateResponse++    -- * GeoJSONLineString+    , GeoJSONLineString+    , geoJSONLineString+    , gjlsCoordinates+    , gjlsType++    -- * PublishedMapsListResponse+    , PublishedMapsListResponse+    , publishedMapsListResponse+    , pmlrMaps+    , pmlrNextPageToken++    -- * MapsListResponse+    , MapsListResponse+    , mapsListResponse+    , mlrMaps+    , mlrNextPageToken++    -- * MapPublishingStatus+    , MapPublishingStatus (..)++    -- * GeoJSONGeometryCollection+    , GeoJSONGeometryCollection+    , geoJSONGeometryCollection+    , gjgcGeometries+    , gjgcType++    -- * GeoJSONPolygon+    , GeoJSONPolygon+    , geoJSONPolygon+    , gjpCoordinates+    , gjpType++    -- * GeoJSONPoint+    , GeoJSONPoint+    , geoJSONPoint+    , gjsonpCoordinates+    , gjsonpType++    -- * LayersListResponse+    , LayersListResponse+    , layersListResponse+    , llrNextPageToken+    , llrLayers++    -- * RastersListResponse+    , RastersListResponse+    , rastersListResponse+    , rlrNextPageToken+    , rlrRasters++    -- * FileUploadStatus+    , FileUploadStatus (..)++    -- * MapsListRole+    , MapsListRole (..)++    -- * TablesGetVersion+    , TablesGetVersion (..)++    -- * PermissionsListResponse+    , PermissionsListResponse+    , permissionsListResponse+    , plrPermissions++    -- * TableProcessingStatus+    , TableProcessingStatus (..)++    -- * LineStyle+    , LineStyle+    , lineStyle+    , lsStroke+    , lsBOrder+    , lsDash+    , lsLabel++    -- * PublishedLayersListResponse+    , PublishedLayersListResponse+    , publishedLayersListResponse+    , pllrNextPageToken+    , pllrLayers+    ) where++import           Network.Google.MapsEngine.Types.Product+import           Network.Google.MapsEngine.Types.Sum+import           Network.Google.Prelude++-- | Default request referring to version 'v1' of the Google Maps Engine API. This contains the host and root path used as a starting point for constructing service requests.+mapsEngineService :: Service+mapsEngineService+  = defaultService (ServiceId "mapsengine:v1")+      "www.googleapis.com"++-- | View and manage your Google My Maps data+mapsengineScope :: OAuthScope+mapsengineScope = "https://www.googleapis.com/auth/mapsengine";++-- | View your Google My Maps data+mapsengineReadonlyScope :: OAuthScope+mapsengineReadonlyScope = "https://www.googleapis.com/auth/mapsengine.readonly";
+ gen/Network/Google/MapsEngine/Types/Product.hs view
@@ -0,0 +1,5320 @@+{-# 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.MapsEngine.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.MapsEngine.Types.Product where++import           Network.Google.MapsEngine.Types.Sum+import           Network.Google.Prelude++-- | Range of values used for scaling shapes. The min\/max values will be+-- drawn as shapes with the min\/max size.+--+-- /See:/ 'valueRange' smart constructor.+data ValueRange = ValueRange+    { _vrMax :: !(Maybe (Textual Double))+    , _vrMin :: !(Maybe (Textual Double))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ValueRange' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'vrMax'+--+-- * 'vrMin'+valueRange+    :: ValueRange+valueRange =+    ValueRange+    { _vrMax = Nothing+    , _vrMin = Nothing+    }++-- | Maximum value.+vrMax :: Lens' ValueRange (Maybe Double)+vrMax+  = lens _vrMax (\ s a -> s{_vrMax = a}) .+      mapping _Coerce++-- | Minimum value.+vrMin :: Lens' ValueRange (Maybe Double)+vrMin+  = lens _vrMin (\ s a -> s{_vrMin = a}) .+      mapping _Coerce++instance FromJSON ValueRange where+        parseJSON+          = withObject "ValueRange"+              (\ o ->+                 ValueRange <$> (o .:? "max") <*> (o .:? "min"))++instance ToJSON ValueRange where+        toJSON ValueRange{..}+          = object+              (catMaybes+                 [("max" .=) <$> _vrMax, ("min" .=) <$> _vrMin])++-- | The properties associated with a feature.+--+-- /See:/ 'geoJSONProperties' smart constructor.+newtype GeoJSONProperties = GeoJSONProperties+    { _gjpAddtional :: HashMap Text JSONValue+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'GeoJSONProperties' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gjpAddtional'+geoJSONProperties+    :: HashMap Text JSONValue -- ^ 'gjpAddtional'+    -> GeoJSONProperties+geoJSONProperties pGjpAddtional_ =+    GeoJSONProperties+    { _gjpAddtional = _Coerce # pGjpAddtional_+    }++-- | An arbitrary key-value pair. The key must be the name of a column in the+-- table\'s schema, and the type of the value must correspond to the type+-- specified in the schema.+gjpAddtional :: Lens' GeoJSONProperties (HashMap Text JSONValue)+gjpAddtional+  = lens _gjpAddtional (\ s a -> s{_gjpAddtional = a})+      . _Coerce++instance FromJSON GeoJSONProperties where+        parseJSON+          = withObject "GeoJSONProperties"+              (\ o -> GeoJSONProperties <$> (parseJSONObject o))++instance ToJSON GeoJSONProperties where+        toJSON = toJSON . _gjpAddtional++-- | A feature within a table.+--+-- /See:/ 'feature' smart constructor.+data Feature = Feature+    { _fGeometry   :: !(Maybe GeoJSONGeometry)+    , _fType       :: !Text+    , _fProperties :: !(Maybe GeoJSONProperties)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Feature' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'fGeometry'+--+-- * 'fType'+--+-- * 'fProperties'+feature+    :: Feature+feature =+    Feature+    { _fGeometry = Nothing+    , _fType = "Feature"+    , _fProperties = Nothing+    }++-- | The geometry member of this Feature.+fGeometry :: Lens' Feature (Maybe GeoJSONGeometry)+fGeometry+  = lens _fGeometry (\ s a -> s{_fGeometry = a})++-- | Identifies this object as a feature.+fType :: Lens' Feature Text+fType = lens _fType (\ s a -> s{_fType = a})++-- | Key\/value pairs of this Feature.+fProperties :: Lens' Feature (Maybe GeoJSONProperties)+fProperties+  = lens _fProperties (\ s a -> s{_fProperties = a})++instance FromJSON Feature where+        parseJSON+          = withObject "Feature"+              (\ o ->+                 Feature <$>+                   (o .:? "geometry") <*> (o .:? "type" .!= "Feature")+                     <*> (o .:? "properties"))++instance ToJSON Feature where+        toJSON Feature{..}+          = object+              (catMaybes+                 [("geometry" .=) <$> _fGeometry,+                  Just ("type" .= _fType),+                  ("properties" .=) <$> _fProperties])++-- | A list of the parents of an asset.+--+-- /See:/ 'parent' smart constructor.+newtype Parent = Parent+    { _pId :: Maybe Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Parent' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pId'+parent+    :: Parent+parent =+    Parent+    { _pId = Nothing+    }++-- | The ID of this parent.+pId :: Lens' Parent (Maybe Text)+pId = lens _pId (\ s a -> s{_pId = a})++instance FromJSON Parent where+        parseJSON+          = withObject "Parent"+              (\ o -> Parent <$> (o .:? "id"))++instance ToJSON Parent where+        toJSON Parent{..}+          = object (catMaybes [("id" .=) <$> _pId])++-- | The request sent to features.BatchPatch.+--+-- /See:/ 'featuresBatchPatchRequest' smart constructor.+data FeaturesBatchPatchRequest = FeaturesBatchPatchRequest+    { _fbprFeatures            :: !(Maybe [Feature])+    , _fbprNormalizeGeometries :: !Bool+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'FeaturesBatchPatchRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'fbprFeatures'+--+-- * 'fbprNormalizeGeometries'+featuresBatchPatchRequest+    :: FeaturesBatchPatchRequest+featuresBatchPatchRequest =+    FeaturesBatchPatchRequest+    { _fbprFeatures = Nothing+    , _fbprNormalizeGeometries = True+    }++fbprFeatures :: Lens' FeaturesBatchPatchRequest [Feature]+fbprFeatures+  = lens _fbprFeatures (\ s a -> s{_fbprFeatures = a})+      . _Default+      . _Coerce++-- | If true, the server will normalize feature geometries. It is assumed+-- that the South Pole is exterior to any polygons given. See here for a+-- list of normalizations. If false, all feature geometries must be given+-- already normalized. The points in all LinearRings must be listed in+-- counter-clockwise order, and LinearRings may not intersect.+fbprNormalizeGeometries :: Lens' FeaturesBatchPatchRequest Bool+fbprNormalizeGeometries+  = lens _fbprNormalizeGeometries+      (\ s a -> s{_fbprNormalizeGeometries = a})++instance FromJSON FeaturesBatchPatchRequest where+        parseJSON+          = withObject "FeaturesBatchPatchRequest"+              (\ o ->+                 FeaturesBatchPatchRequest <$>+                   (o .:? "features" .!= mempty) <*>+                     (o .:? "normalizeGeometries" .!= True))++instance ToJSON FeaturesBatchPatchRequest where+        toJSON FeaturesBatchPatchRequest{..}+          = object+              (catMaybes+                 [("features" .=) <$> _fbprFeatures,+                  Just+                    ("normalizeGeometries" .= _fbprNormalizeGeometries)])++-- | The request sent to mapsengine.permissions.batchUpdate.+--+-- /See:/ 'permissionsBatchUpdateRequest' smart constructor.+newtype PermissionsBatchUpdateRequest = PermissionsBatchUpdateRequest+    { _pburPermissions :: Maybe [Permission]+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PermissionsBatchUpdateRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pburPermissions'+permissionsBatchUpdateRequest+    :: PermissionsBatchUpdateRequest+permissionsBatchUpdateRequest =+    PermissionsBatchUpdateRequest+    { _pburPermissions = Nothing+    }++-- | The permissions to be inserted or updated.+pburPermissions :: Lens' PermissionsBatchUpdateRequest [Permission]+pburPermissions+  = lens _pburPermissions+      (\ s a -> s{_pburPermissions = a})+      . _Default+      . _Coerce++instance FromJSON PermissionsBatchUpdateRequest where+        parseJSON+          = withObject "PermissionsBatchUpdateRequest"+              (\ o ->+                 PermissionsBatchUpdateRequest <$>+                   (o .:? "permissions" .!= mempty))++instance ToJSON PermissionsBatchUpdateRequest where+        toJSON PermissionsBatchUpdateRequest{..}+          = object+              (catMaybes [("permissions" .=) <$> _pburPermissions])++-- | The request sent to mapsengine.permissions.batchDelete.+--+-- /See:/ 'permissionsBatchDeleteRequest' smart constructor.+newtype PermissionsBatchDeleteRequest = PermissionsBatchDeleteRequest+    { _pbdrIds :: Maybe [Text]+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PermissionsBatchDeleteRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pbdrIds'+permissionsBatchDeleteRequest+    :: PermissionsBatchDeleteRequest+permissionsBatchDeleteRequest =+    PermissionsBatchDeleteRequest+    { _pbdrIds = Nothing+    }++-- | An array of permission ids to be removed. This could be the email+-- address of the user or group this permission refers to, or the string+-- \"anyone\" for public permissions.+pbdrIds :: Lens' PermissionsBatchDeleteRequest [Text]+pbdrIds+  = lens _pbdrIds (\ s a -> s{_pbdrIds = a}) . _Default+      . _Coerce++instance FromJSON PermissionsBatchDeleteRequest where+        parseJSON+          = withObject "PermissionsBatchDeleteRequest"+              (\ o ->+                 PermissionsBatchDeleteRequest <$>+                   (o .:? "ids" .!= mempty))++instance ToJSON PermissionsBatchDeleteRequest where+        toJSON PermissionsBatchDeleteRequest{..}+          = object (catMaybes [("ids" .=) <$> _pbdrIds])++-- | The response returned by a call to raster_collections.List. Note: The+-- list response does not include all the fields available in a raster+-- collection. Refer to the RasterCollection resource description for+-- details of the fields that are not included. You\'ll need to send a get+-- request to retrieve the additional fields for each raster collection.+--+-- /See:/ 'rasterCollectionsListResponse' smart constructor.+data RasterCollectionsListResponse = RasterCollectionsListResponse+    { _rclrNextPageToken     :: !(Maybe (Textual Word8))+    , _rclrRasterCollections :: !(Maybe [RasterCollection])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'RasterCollectionsListResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rclrNextPageToken'+--+-- * 'rclrRasterCollections'+rasterCollectionsListResponse+    :: RasterCollectionsListResponse+rasterCollectionsListResponse =+    RasterCollectionsListResponse+    { _rclrNextPageToken = Nothing+    , _rclrRasterCollections = Nothing+    }++-- | Next page token.+rclrNextPageToken :: Lens' RasterCollectionsListResponse (Maybe Word8)+rclrNextPageToken+  = lens _rclrNextPageToken+      (\ s a -> s{_rclrNextPageToken = a})+      . mapping _Coerce++-- | Resources returned.+rclrRasterCollections :: Lens' RasterCollectionsListResponse [RasterCollection]+rclrRasterCollections+  = lens _rclrRasterCollections+      (\ s a -> s{_rclrRasterCollections = a})+      . _Default+      . _Coerce++instance FromJSON RasterCollectionsListResponse where+        parseJSON+          = withObject "RasterCollectionsListResponse"+              (\ o ->+                 RasterCollectionsListResponse <$>+                   (o .:? "nextPageToken") <*>+                     (o .:? "rasterCollections" .!= mempty))++instance ToJSON RasterCollectionsListResponse where+        toJSON RasterCollectionsListResponse{..}+          = object+              (catMaybes+                 [("nextPageToken" .=) <$> _rclrNextPageToken,+                  ("rasterCollections" .=) <$> _rclrRasterCollections])++-- | The response returned by a call to projects.List.+--+-- /See:/ 'projectsListResponse' smart constructor.+newtype ProjectsListResponse = ProjectsListResponse+    { _plrProjects :: Maybe [Project]+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProjectsListResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'plrProjects'+projectsListResponse+    :: ProjectsListResponse+projectsListResponse =+    ProjectsListResponse+    { _plrProjects = Nothing+    }++-- | Projects returned.+plrProjects :: Lens' ProjectsListResponse [Project]+plrProjects+  = lens _plrProjects (\ s a -> s{_plrProjects = a}) .+      _Default+      . _Coerce++instance FromJSON ProjectsListResponse where+        parseJSON+          = withObject "ProjectsListResponse"+              (\ o ->+                 ProjectsListResponse <$>+                   (o .:? "projects" .!= mempty))++instance ToJSON ProjectsListResponse where+        toJSON ProjectsListResponse{..}+          = object+              (catMaybes [("projects" .=) <$> _plrProjects])++--+-- /See:/ 'geoJSONGeometry' smart constructor.+data GeoJSONGeometry =+    GeoJSONGeometry+    deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'GeoJSONGeometry' with the minimum fields required to make a request.+--+geoJSONGeometry+    :: GeoJSONGeometry+geoJSONGeometry = GeoJSONGeometry++instance FromJSON GeoJSONGeometry where+        parseJSON+          = withObject "GeoJSONGeometry"+              (\ o -> pure GeoJSONGeometry)++instance ToJSON GeoJSONGeometry where+        toJSON = const emptyObject++--+-- /See:/ 'mapLayer' smart constructor.+data MapLayer = MapLayer+    { _mlDefaultViewport :: !(Maybe [Textual Double])+    , _mlVisibility      :: !(Maybe Text)+    , _mlKey             :: !(Maybe Text)+    , _mlName            :: !(Maybe Text)+    , _mlId              :: !(Maybe Text)+    , _mlType            :: !(Maybe MapLayerType)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'MapLayer' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mlDefaultViewport'+--+-- * 'mlVisibility'+--+-- * 'mlKey'+--+-- * 'mlName'+--+-- * 'mlId'+--+-- * 'mlType'+mapLayer+    :: MapLayer+mapLayer =+    MapLayer+    { _mlDefaultViewport = Nothing+    , _mlVisibility = Nothing+    , _mlKey = Nothing+    , _mlName = Nothing+    , _mlId = Nothing+    , _mlType = Nothing+    }++-- | An array of four numbers (west, south, east, north) which defines the+-- rectangular bounding box of the default viewport. The numbers represent+-- latitude and longitude in decimal degrees.+mlDefaultViewport :: Lens' MapLayer [Double]+mlDefaultViewport+  = lens _mlDefaultViewport+      (\ s a -> s{_mlDefaultViewport = a})+      . _Default+      . _Coerce++-- | The visibility setting of this MapLayer. One of \"defaultOn\" or+-- \"defaultOff\".+mlVisibility :: Lens' MapLayer (Maybe Text)+mlVisibility+  = lens _mlVisibility (\ s a -> s{_mlVisibility = a})++-- | A user defined alias for this MapLayer, specific to this Map.+mlKey :: Lens' MapLayer (Maybe Text)+mlKey = lens _mlKey (\ s a -> s{_mlKey = a})++-- | The name of this MapLayer.+mlName :: Lens' MapLayer (Maybe Text)+mlName = lens _mlName (\ s a -> s{_mlName = a})++-- | The ID of this MapLayer. This ID can be used to request more details+-- about the layer.+mlId :: Lens' MapLayer (Maybe Text)+mlId = lens _mlId (\ s a -> s{_mlId = a})++-- | Identifies this object as a MapLayer.+mlType :: Lens' MapLayer (Maybe MapLayerType)+mlType = lens _mlType (\ s a -> s{_mlType = a})++instance FromJSON MapLayer where+        parseJSON+          = withObject "MapLayer"+              (\ o ->+                 MapLayer <$>+                   (o .:? "defaultViewport" .!= mempty) <*>+                     (o .:? "visibility")+                     <*> (o .:? "key")+                     <*> (o .:? "name")+                     <*> (o .:? "id")+                     <*> (o .:? "type"))++instance ToJSON MapLayer where+        toJSON MapLayer{..}+          = object+              (catMaybes+                 [("defaultViewport" .=) <$> _mlDefaultViewport,+                  ("visibility" .=) <$> _mlVisibility,+                  ("key" .=) <$> _mlKey, ("name" .=) <$> _mlName,+                  ("id" .=) <$> _mlId, ("type" .=) <$> _mlType])++-- | Zoom level range. Zoom levels are restricted between 0 and 24,+-- inclusive.+--+-- /See:/ 'zoomLevels' smart constructor.+data ZoomLevels = ZoomLevels+    { _zlMax :: !(Maybe (Textual Int32))+    , _zlMin :: !(Maybe (Textual Int32))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ZoomLevels' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'zlMax'+--+-- * 'zlMin'+zoomLevels+    :: ZoomLevels+zoomLevels =+    ZoomLevels+    { _zlMax = Nothing+    , _zlMin = Nothing+    }++-- | Maximum zoom level.+zlMax :: Lens' ZoomLevels (Maybe Int32)+zlMax+  = lens _zlMax (\ s a -> s{_zlMax = a}) .+      mapping _Coerce++-- | Minimum zoom level.+zlMin :: Lens' ZoomLevels (Maybe Int32)+zlMin+  = lens _zlMin (\ s a -> s{_zlMin = a}) .+      mapping _Coerce++instance FromJSON ZoomLevels where+        parseJSON+          = withObject "ZoomLevels"+              (\ o ->+                 ZoomLevels <$> (o .:? "max") <*> (o .:? "min"))++instance ToJSON ZoomLevels where+        toJSON ZoomLevels{..}+          = object+              (catMaybes+                 [("max" .=) <$> _zlMax, ("min" .=) <$> _zlMin])++-- | A feature info contains information about individual feature.+--+-- /See:/ 'featureInfo' smart constructor.+newtype FeatureInfo = FeatureInfo+    { _fiContent :: Maybe Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'FeatureInfo' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'fiContent'+featureInfo+    :: FeatureInfo+featureInfo =+    FeatureInfo+    { _fiContent = Nothing+    }++-- | HTML template of the info window. If not provided, a default template+-- with all attributes will be generated.+fiContent :: Lens' FeatureInfo (Maybe Text)+fiContent+  = lens _fiContent (\ s a -> s{_fiContent = a})++instance FromJSON FeatureInfo where+        parseJSON+          = withObject "FeatureInfo"+              (\ o -> FeatureInfo <$> (o .:? "content"))++instance ToJSON FeatureInfo where+        toJSON FeatureInfo{..}+          = object (catMaybes [("content" .=) <$> _fiContent])++-- | Scaled shape size range in pixels. For circles, size corresponds to+-- diameter.+--+-- /See:/ 'sizeRange' smart constructor.+data SizeRange = SizeRange+    { _srMax :: !(Maybe (Textual Double))+    , _srMin :: !(Maybe (Textual Double))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SizeRange' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'srMax'+--+-- * 'srMin'+sizeRange+    :: SizeRange+sizeRange =+    SizeRange+    { _srMax = Nothing+    , _srMin = Nothing+    }++-- | Maximum size, in pixels.+srMax :: Lens' SizeRange (Maybe Double)+srMax+  = lens _srMax (\ s a -> s{_srMax = a}) .+      mapping _Coerce++-- | Minimum size, in pixels.+srMin :: Lens' SizeRange (Maybe Double)+srMin+  = lens _srMin (\ s a -> s{_srMin = a}) .+      mapping _Coerce++instance FromJSON SizeRange where+        parseJSON+          = withObject "SizeRange"+              (\ o ->+                 SizeRange <$> (o .:? "max") <*> (o .:? "min"))++instance ToJSON SizeRange where+        toJSON SizeRange{..}+          = object+              (catMaybes+                 [("max" .=) <$> _srMax, ("min" .=) <$> _srMin])++--+-- /See:/ 'mapFolder' smart constructor.+data MapFolder = MapFolder+    { _mfExpandable      :: !(Maybe Bool)+    , _mfDefaultViewport :: !(Maybe [Textual Double])+    , _mfContents        :: !(Maybe [MapItem])+    , _mfVisibility      :: !(Maybe Text)+    , _mfKey             :: !(Maybe Text)+    , _mfName            :: !(Maybe Text)+    , _mfType            :: !(Maybe MapFolderType)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'MapFolder' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mfExpandable'+--+-- * 'mfDefaultViewport'+--+-- * 'mfContents'+--+-- * 'mfVisibility'+--+-- * 'mfKey'+--+-- * 'mfName'+--+-- * 'mfType'+mapFolder+    :: MapFolder+mapFolder =+    MapFolder+    { _mfExpandable = Nothing+    , _mfDefaultViewport = Nothing+    , _mfContents = Nothing+    , _mfVisibility = Nothing+    , _mfKey = Nothing+    , _mfName = Nothing+    , _mfType = Nothing+    }++-- | The expandability setting of this MapFolder. If true, the folder can be+-- expanded.+mfExpandable :: Lens' MapFolder (Maybe Bool)+mfExpandable+  = lens _mfExpandable (\ s a -> s{_mfExpandable = a})++-- | An array of four numbers (west, south, east, north) which defines the+-- rectangular bounding box of the default viewport. The numbers represent+-- latitude and longitude in decimal degrees.+mfDefaultViewport :: Lens' MapFolder [Double]+mfDefaultViewport+  = lens _mfDefaultViewport+      (\ s a -> s{_mfDefaultViewport = a})+      . _Default+      . _Coerce++mfContents :: Lens' MapFolder [MapItem]+mfContents+  = lens _mfContents (\ s a -> s{_mfContents = a}) .+      _Default+      . _Coerce++-- | The visibility setting of this MapFolder. One of \"defaultOn\" or+-- \"defaultOff\".+mfVisibility :: Lens' MapFolder (Maybe Text)+mfVisibility+  = lens _mfVisibility (\ s a -> s{_mfVisibility = a})++-- | A user defined alias for this MapFolder, specific to this Map.+mfKey :: Lens' MapFolder (Maybe Text)+mfKey = lens _mfKey (\ s a -> s{_mfKey = a})++-- | The name of this MapFolder.+mfName :: Lens' MapFolder (Maybe Text)+mfName = lens _mfName (\ s a -> s{_mfName = a})++-- | Identifies this object as a MapFolder.+mfType :: Lens' MapFolder (Maybe MapFolderType)+mfType = lens _mfType (\ s a -> s{_mfType = a})++instance FromJSON MapFolder where+        parseJSON+          = withObject "MapFolder"+              (\ o ->+                 MapFolder <$>+                   (o .:? "expandable") <*>+                     (o .:? "defaultViewport" .!= mempty)+                     <*> (o .:? "contents" .!= mempty)+                     <*> (o .:? "visibility")+                     <*> (o .:? "key")+                     <*> (o .:? "name")+                     <*> (o .:? "type"))++instance ToJSON MapFolder where+        toJSON MapFolder{..}+          = object+              (catMaybes+                 [("expandable" .=) <$> _mfExpandable,+                  ("defaultViewport" .=) <$> _mfDefaultViewport,+                  ("contents" .=) <$> _mfContents,+                  ("visibility" .=) <$> _mfVisibility,+                  ("key" .=) <$> _mfKey, ("name" .=) <$> _mfName,+                  ("type" .=) <$> _mfType])++-- | A Maps Engine project groups a collection of resources.+--+-- /See:/ 'project' smart constructor.+data Project = Project+    { _proName :: !(Maybe Text)+    , _proId   :: !(Maybe Text)+    } 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:+--+-- * 'proName'+--+-- * 'proId'+project+    :: Project+project =+    Project+    { _proName = Nothing+    , _proId = Nothing+    }++-- | A user provided name for this Maps Engine project.+proName :: Lens' Project (Maybe Text)+proName = lens _proName (\ s a -> s{_proName = a})++-- | An ID used to refer to this Maps Engine project.+proId :: Lens' Project (Maybe Text)+proId = lens _proId (\ s a -> s{_proId = a})++instance FromJSON Project where+        parseJSON+          = withObject "Project"+              (\ o -> Project <$> (o .:? "name") <*> (o .:? "id"))++instance ToJSON Project where+        toJSON Project{..}+          = object+              (catMaybes+                 [("name" .=) <$> _proName, ("id" .=) <$> _proId])++-- | Basic color used in styling.+--+-- /See:/ 'color' smart constructor.+data Color = Color+    { _cColor   :: !(Maybe Text)+    , _cOpacity :: !(Maybe (Textual Double))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Color' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cColor'+--+-- * 'cOpacity'+color+    :: Color+color =+    Color+    { _cColor = Nothing+    , _cOpacity = Nothing+    }++-- | The CSS style color, can be in format of \"red\" or \"#7733EE\".+cColor :: Lens' Color (Maybe Text)+cColor = lens _cColor (\ s a -> s{_cColor = a})++-- | Opacity ranges from 0 to 1, inclusive. If not provided, default to 1.+cOpacity :: Lens' Color (Maybe Double)+cOpacity+  = lens _cOpacity (\ s a -> s{_cOpacity = a}) .+      mapping _Coerce++instance FromJSON Color where+        parseJSON+          = withObject "Color"+              (\ o ->+                 Color <$> (o .:? "color") <*> (o .:? "opacity"))++instance ToJSON Color where+        toJSON Color{..}+          = object+              (catMaybes+                 [("color" .=) <$> _cColor,+                  ("opacity" .=) <$> _cOpacity])++-- | A raster collection groups multiple Raster resources for inclusion in a+-- Layer.+--+-- /See:/ 'rasterCollection' smart constructor.+data RasterCollection = RasterCollection+    { _rcCreationTime              :: !(Maybe DateTime')+    , _rcWritersCanEditPermissions :: !(Maybe Bool)+    , _rcEtag                      :: !(Maybe Text)+    , _rcCreatorEmail              :: !(Maybe Text)+    , _rcRasterType                :: !(Maybe RasterCollectionRasterType)+    , _rcLastModifiedTime          :: !(Maybe DateTime')+    , _rcLastModifierEmail         :: !(Maybe Text)+    , _rcName                      :: !(Maybe Text)+    , _rcBbox                      :: !(Maybe [Textual Double])+    , _rcProcessingStatus          :: !(Maybe RasterCollectionProcessingStatus)+    , _rcMosaic                    :: !(Maybe Bool)+    , _rcId                        :: !(Maybe Text)+    , _rcProjectId                 :: !(Maybe Text)+    , _rcDraftAccessList           :: !(Maybe Text)+    , _rcDescription               :: !(Maybe Text)+    , _rcAttribution               :: !(Maybe Text)+    , _rcTags                      :: !(Maybe [Text])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'RasterCollection' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rcCreationTime'+--+-- * 'rcWritersCanEditPermissions'+--+-- * 'rcEtag'+--+-- * 'rcCreatorEmail'+--+-- * 'rcRasterType'+--+-- * 'rcLastModifiedTime'+--+-- * 'rcLastModifierEmail'+--+-- * 'rcName'+--+-- * 'rcBbox'+--+-- * 'rcProcessingStatus'+--+-- * 'rcMosaic'+--+-- * 'rcId'+--+-- * 'rcProjectId'+--+-- * 'rcDraftAccessList'+--+-- * 'rcDescription'+--+-- * 'rcAttribution'+--+-- * 'rcTags'+rasterCollection+    :: RasterCollection+rasterCollection =+    RasterCollection+    { _rcCreationTime = Nothing+    , _rcWritersCanEditPermissions = Nothing+    , _rcEtag = Nothing+    , _rcCreatorEmail = Nothing+    , _rcRasterType = Nothing+    , _rcLastModifiedTime = Nothing+    , _rcLastModifierEmail = Nothing+    , _rcName = Nothing+    , _rcBbox = Nothing+    , _rcProcessingStatus = Nothing+    , _rcMosaic = Nothing+    , _rcId = Nothing+    , _rcProjectId = Nothing+    , _rcDraftAccessList = Nothing+    , _rcDescription = Nothing+    , _rcAttribution = Nothing+    , _rcTags = Nothing+    }++-- | The creation time of this RasterCollection. The value is an RFC 3339+-- formatted date-time value (e.g. 1970-01-01T00:00:00Z).+rcCreationTime :: Lens' RasterCollection (Maybe UTCTime)+rcCreationTime+  = lens _rcCreationTime+      (\ s a -> s{_rcCreationTime = a})+      . mapping _DateTime++-- | If true, WRITERs of the asset are able to edit the asset permissions.+rcWritersCanEditPermissions :: Lens' RasterCollection (Maybe Bool)+rcWritersCanEditPermissions+  = lens _rcWritersCanEditPermissions+      (\ s a -> s{_rcWritersCanEditPermissions = a})++-- | The ETag, used to refer to the current version of the asset.+rcEtag :: Lens' RasterCollection (Maybe Text)+rcEtag = lens _rcEtag (\ s a -> s{_rcEtag = a})++-- | The email address of the creator of this raster collection. This is only+-- returned on GET requests and not LIST requests.+rcCreatorEmail :: Lens' RasterCollection (Maybe Text)+rcCreatorEmail+  = lens _rcCreatorEmail+      (\ s a -> s{_rcCreatorEmail = a})++-- | The type of rasters contained within this RasterCollection.+rcRasterType :: Lens' RasterCollection (Maybe RasterCollectionRasterType)+rcRasterType+  = lens _rcRasterType (\ s a -> s{_rcRasterType = a})++-- | The last modified time of this RasterCollection. The value is an RFC+-- 3339 formatted date-time value (e.g. 1970-01-01T00:00:00Z).+rcLastModifiedTime :: Lens' RasterCollection (Maybe UTCTime)+rcLastModifiedTime+  = lens _rcLastModifiedTime+      (\ s a -> s{_rcLastModifiedTime = a})+      . mapping _DateTime++-- | The email address of the last modifier of this raster collection. This+-- is only returned on GET requests and not LIST requests.+rcLastModifierEmail :: Lens' RasterCollection (Maybe Text)+rcLastModifierEmail+  = lens _rcLastModifierEmail+      (\ s a -> s{_rcLastModifierEmail = a})++-- | The name of this RasterCollection, supplied by the author.+rcName :: Lens' RasterCollection (Maybe Text)+rcName = lens _rcName (\ s a -> s{_rcName = a})++-- | A rectangular bounding box which contains all of the data in this+-- RasterCollection. The box is expressed as \\\"west, south, east,+-- north\\\". The numbers represent latitude and longitude in decimal+-- degrees.+rcBbox :: Lens' RasterCollection [Double]+rcBbox+  = lens _rcBbox (\ s a -> s{_rcBbox = a}) . _Default .+      _Coerce++-- | The processing status of this RasterCollection.+rcProcessingStatus :: Lens' RasterCollection (Maybe RasterCollectionProcessingStatus)+rcProcessingStatus+  = lens _rcProcessingStatus+      (\ s a -> s{_rcProcessingStatus = a})++-- | True if this RasterCollection is a mosaic.+rcMosaic :: Lens' RasterCollection (Maybe Bool)+rcMosaic = lens _rcMosaic (\ s a -> s{_rcMosaic = a})++-- | A globally unique ID, used to refer to this RasterCollection.+rcId :: Lens' RasterCollection (Maybe Text)+rcId = lens _rcId (\ s a -> s{_rcId = a})++-- | The ID of the project that this RasterCollection is in.+rcProjectId :: Lens' RasterCollection (Maybe Text)+rcProjectId+  = lens _rcProjectId (\ s a -> s{_rcProjectId = a})++-- | Deprecated: The name of an access list of the Map Editor type. The user+-- on whose behalf the request is being sent must be an editor on that+-- access list. Note: Google Maps Engine no longer uses access lists.+-- Instead, each asset has its own list of permissions. For backward+-- compatibility, the API still accepts access lists for projects that are+-- already using access lists. If you created a GME account\/project after+-- July 14th, 2014, you will not be able to send API requests that include+-- access lists. Note: This is an input field only. It is not returned in+-- response to a list or get request.+rcDraftAccessList :: Lens' RasterCollection (Maybe Text)+rcDraftAccessList+  = lens _rcDraftAccessList+      (\ s a -> s{_rcDraftAccessList = a})++-- | The description of this RasterCollection, supplied by the author.+rcDescription :: Lens' RasterCollection (Maybe Text)+rcDescription+  = lens _rcDescription+      (\ s a -> s{_rcDescription = a})++-- | The name of the attribution to be used for this RasterCollection. Note:+-- Attribution is returned in response to a get request but not a list+-- request. After requesting a list of raster collections, you\'ll need to+-- send a get request to retrieve the attribution for each raster+-- collection.+rcAttribution :: Lens' RasterCollection (Maybe Text)+rcAttribution+  = lens _rcAttribution+      (\ s a -> s{_rcAttribution = a})++-- | Tags of this RasterCollection.+rcTags :: Lens' RasterCollection [Text]+rcTags+  = lens _rcTags (\ s a -> s{_rcTags = a}) . _Default .+      _Coerce++instance FromJSON RasterCollection where+        parseJSON+          = withObject "RasterCollection"+              (\ o ->+                 RasterCollection <$>+                   (o .:? "creationTime") <*>+                     (o .:? "writersCanEditPermissions")+                     <*> (o .:? "etag")+                     <*> (o .:? "creatorEmail")+                     <*> (o .:? "rasterType")+                     <*> (o .:? "lastModifiedTime")+                     <*> (o .:? "lastModifierEmail")+                     <*> (o .:? "name")+                     <*> (o .:? "bbox" .!= mempty)+                     <*> (o .:? "processingStatus")+                     <*> (o .:? "mosaic")+                     <*> (o .:? "id")+                     <*> (o .:? "projectId")+                     <*> (o .:? "draftAccessList")+                     <*> (o .:? "description")+                     <*> (o .:? "attribution")+                     <*> (o .:? "tags"))++instance ToJSON RasterCollection where+        toJSON RasterCollection{..}+          = object+              (catMaybes+                 [("creationTime" .=) <$> _rcCreationTime,+                  ("writersCanEditPermissions" .=) <$>+                    _rcWritersCanEditPermissions,+                  ("etag" .=) <$> _rcEtag,+                  ("creatorEmail" .=) <$> _rcCreatorEmail,+                  ("rasterType" .=) <$> _rcRasterType,+                  ("lastModifiedTime" .=) <$> _rcLastModifiedTime,+                  ("lastModifierEmail" .=) <$> _rcLastModifierEmail,+                  ("name" .=) <$> _rcName, ("bbox" .=) <$> _rcBbox,+                  ("processingStatus" .=) <$> _rcProcessingStatus,+                  ("mosaic" .=) <$> _rcMosaic, ("id" .=) <$> _rcId,+                  ("projectId" .=) <$> _rcProjectId,+                  ("draftAccessList" .=) <$> _rcDraftAccessList,+                  ("description" .=) <$> _rcDescription,+                  ("attribution" .=) <$> _rcAttribution,+                  ("tags" .=) <$> _rcTags])++-- | Stroke of the line.+--+-- /See:/ 'lineStyleStroke' smart constructor.+data LineStyleStroke = LineStyleStroke+    { _lssColor   :: !(Maybe Text)+    , _lssWidth   :: !(Maybe (Textual Double))+    , _lssOpacity :: !(Maybe (Textual Double))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'LineStyleStroke' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lssColor'+--+-- * 'lssWidth'+--+-- * 'lssOpacity'+lineStyleStroke+    :: LineStyleStroke+lineStyleStroke =+    LineStyleStroke+    { _lssColor = Nothing+    , _lssWidth = Nothing+    , _lssOpacity = Nothing+    }++-- | Color of the line.+lssColor :: Lens' LineStyleStroke (Maybe Text)+lssColor = lens _lssColor (\ s a -> s{_lssColor = a})++-- | Width of the line, in pixels. 0 \<= width \<= 10. If width is set to 0,+-- the line will be invisible.+lssWidth :: Lens' LineStyleStroke (Maybe Double)+lssWidth+  = lens _lssWidth (\ s a -> s{_lssWidth = a}) .+      mapping _Coerce++-- | Opacity of the line.+lssOpacity :: Lens' LineStyleStroke (Maybe Double)+lssOpacity+  = lens _lssOpacity (\ s a -> s{_lssOpacity = a}) .+      mapping _Coerce++instance FromJSON LineStyleStroke where+        parseJSON+          = withObject "LineStyleStroke"+              (\ o ->+                 LineStyleStroke <$>+                   (o .:? "color") <*> (o .:? "width") <*>+                     (o .:? "opacity"))++instance ToJSON LineStyleStroke where+        toJSON LineStyleStroke{..}+          = object+              (catMaybes+                 [("color" .=) <$> _lssColor,+                  ("width" .=) <$> _lssWidth,+                  ("opacity" .=) <$> _lssOpacity])++-- | The response returned by a call to+-- rasterCollections.rasters.batchDelete.+--+-- /See:/ 'rasterCollectionsRastersBatchDeleteResponse' smart constructor.+data RasterCollectionsRastersBatchDeleteResponse =+    RasterCollectionsRastersBatchDeleteResponse+    deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'RasterCollectionsRastersBatchDeleteResponse' with the minimum fields required to make a request.+--+rasterCollectionsRastersBatchDeleteResponse+    :: RasterCollectionsRastersBatchDeleteResponse+rasterCollectionsRastersBatchDeleteResponse =+    RasterCollectionsRastersBatchDeleteResponse++instance FromJSON+         RasterCollectionsRastersBatchDeleteResponse where+        parseJSON+          = withObject+              "RasterCollectionsRastersBatchDeleteResponse"+              (\ o ->+                 pure RasterCollectionsRastersBatchDeleteResponse)++instance ToJSON+         RasterCollectionsRastersBatchDeleteResponse where+        toJSON = const emptyObject++-- | The response returned by a call to any asset\'s Process method.+--+-- /See:/ 'processResponse' smart constructor.+data ProcessResponse =+    ProcessResponse+    deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProcessResponse' with the minimum fields required to make a request.+--+processResponse+    :: ProcessResponse+processResponse = ProcessResponse++instance FromJSON ProcessResponse where+        parseJSON+          = withObject "ProcessResponse"+              (\ o -> pure ProcessResponse)++instance ToJSON ProcessResponse where+        toJSON = const emptyObject++--+-- /See:/ 'tableColumn' smart constructor.+data TableColumn = TableColumn+    { _tcName :: !(Maybe Text)+    , _tcType :: !(Maybe TableColumnType)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TableColumn' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tcName'+--+-- * 'tcType'+tableColumn+    :: TableColumn+tableColumn =+    TableColumn+    { _tcName = Nothing+    , _tcType = Nothing+    }++-- | The column name.+tcName :: Lens' TableColumn (Maybe Text)+tcName = lens _tcName (\ s a -> s{_tcName = a})++-- | The type of data stored in this column.+tcType :: Lens' TableColumn (Maybe TableColumnType)+tcType = lens _tcType (\ s a -> s{_tcType = a})++instance FromJSON TableColumn where+        parseJSON+          = withObject "TableColumn"+              (\ o ->+                 TableColumn <$> (o .:? "name") <*> (o .:? "type"))++instance ToJSON TableColumn where+        toJSON TableColumn{..}+          = object+              (catMaybes+                 [("name" .=) <$> _tcName, ("type" .=) <$> _tcType])++-- | An asset is any Google Maps Engine resource that has a globally unique+-- ID. Assets include maps, layers, vector tables, raster collections, and+-- rasters. Projects and features are not considered assets. More detailed+-- information about an asset can be obtained by querying the asset\'s+-- particular endpoint.+--+-- /See:/ 'asset' smart constructor.+data Asset = Asset+    { _aCreationTime              :: !(Maybe DateTime')+    , _aWritersCanEditPermissions :: !(Maybe Bool)+    , _aEtag                      :: !(Maybe Text)+    , _aCreatorEmail              :: !(Maybe Text)+    , _aLastModifiedTime          :: !(Maybe DateTime')+    , _aLastModifierEmail         :: !(Maybe Text)+    , _aName                      :: !(Maybe Text)+    , _aBbox                      :: !(Maybe [Textual Double])+    , _aResource                  :: !(Maybe Text)+    , _aId                        :: !(Maybe Text)+    , _aProjectId                 :: !(Maybe Text)+    , _aType                      :: !(Maybe AssetType)+    , _aDescription               :: !(Maybe Text)+    , _aTags                      :: !(Maybe [Text])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Asset' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'aCreationTime'+--+-- * 'aWritersCanEditPermissions'+--+-- * 'aEtag'+--+-- * 'aCreatorEmail'+--+-- * 'aLastModifiedTime'+--+-- * 'aLastModifierEmail'+--+-- * 'aName'+--+-- * 'aBbox'+--+-- * 'aResource'+--+-- * 'aId'+--+-- * 'aProjectId'+--+-- * 'aType'+--+-- * 'aDescription'+--+-- * 'aTags'+asset+    :: Asset+asset =+    Asset+    { _aCreationTime = Nothing+    , _aWritersCanEditPermissions = Nothing+    , _aEtag = Nothing+    , _aCreatorEmail = Nothing+    , _aLastModifiedTime = Nothing+    , _aLastModifierEmail = Nothing+    , _aName = Nothing+    , _aBbox = Nothing+    , _aResource = Nothing+    , _aId = Nothing+    , _aProjectId = Nothing+    , _aType = Nothing+    , _aDescription = Nothing+    , _aTags = Nothing+    }++-- | The creation time of this asset. The value is an RFC 3339-formatted+-- date-time value (for example, 1970-01-01T00:00:00Z).+aCreationTime :: Lens' Asset (Maybe UTCTime)+aCreationTime+  = lens _aCreationTime+      (\ s a -> s{_aCreationTime = a})+      . mapping _DateTime++-- | If true, WRITERs of the asset are able to edit the asset permissions.+aWritersCanEditPermissions :: Lens' Asset (Maybe Bool)+aWritersCanEditPermissions+  = lens _aWritersCanEditPermissions+      (\ s a -> s{_aWritersCanEditPermissions = a})++-- | The ETag, used to refer to the current version of the asset.+aEtag :: Lens' Asset (Maybe Text)+aEtag = lens _aEtag (\ s a -> s{_aEtag = a})++-- | The email address of the creator of this asset. This is only returned on+-- GET requests and not LIST requests.+aCreatorEmail :: Lens' Asset (Maybe Text)+aCreatorEmail+  = lens _aCreatorEmail+      (\ s a -> s{_aCreatorEmail = a})++-- | The last modified time of this asset. The value is an RFC 3339-formatted+-- date-time value (for example, 1970-01-01T00:00:00Z).+aLastModifiedTime :: Lens' Asset (Maybe UTCTime)+aLastModifiedTime+  = lens _aLastModifiedTime+      (\ s a -> s{_aLastModifiedTime = a})+      . mapping _DateTime++-- | The email address of the last modifier of this asset. This is only+-- returned on GET requests and not LIST requests.+aLastModifierEmail :: Lens' Asset (Maybe Text)+aLastModifierEmail+  = lens _aLastModifierEmail+      (\ s a -> s{_aLastModifierEmail = a})++-- | The asset\'s name.+aName :: Lens' Asset (Maybe Text)+aName = lens _aName (\ s a -> s{_aName = a})++-- | A rectangular bounding box which contains all of the data in this asset.+-- The box is expressed as \\\"west, south, east, north\\\". The numbers+-- represent latitude and longitude in decimal degrees.+aBbox :: Lens' Asset [Double]+aBbox+  = lens _aBbox (\ s a -> s{_aBbox = a}) . _Default .+      _Coerce++-- | The URL to query to retrieve the asset\'s complete object. The assets+-- endpoint only returns high-level information about a resource.+aResource :: Lens' Asset (Maybe Text)+aResource+  = lens _aResource (\ s a -> s{_aResource = a})++-- | The asset\'s globally unique ID.+aId :: Lens' Asset (Maybe Text)+aId = lens _aId (\ s a -> s{_aId = a})++-- | The ID of the project to which the asset belongs.+aProjectId :: Lens' Asset (Maybe Text)+aProjectId+  = lens _aProjectId (\ s a -> s{_aProjectId = a})++-- | The type of asset. One of raster, rasterCollection, table, map, or+-- layer.+aType :: Lens' Asset (Maybe AssetType)+aType = lens _aType (\ s a -> s{_aType = a})++-- | The asset\'s description.+aDescription :: Lens' Asset (Maybe Text)+aDescription+  = lens _aDescription (\ s a -> s{_aDescription = a})++-- | An array of text strings, with each string representing a tag. More+-- information about tags can be found in the Tagging data article of the+-- Maps Engine help center.+aTags :: Lens' Asset [Text]+aTags+  = lens _aTags (\ s a -> s{_aTags = a}) . _Default .+      _Coerce++instance FromJSON Asset where+        parseJSON+          = withObject "Asset"+              (\ o ->+                 Asset <$>+                   (o .:? "creationTime") <*>+                     (o .:? "writersCanEditPermissions")+                     <*> (o .:? "etag")+                     <*> (o .:? "creatorEmail")+                     <*> (o .:? "lastModifiedTime")+                     <*> (o .:? "lastModifierEmail")+                     <*> (o .:? "name")+                     <*> (o .:? "bbox" .!= mempty)+                     <*> (o .:? "resource")+                     <*> (o .:? "id")+                     <*> (o .:? "projectId")+                     <*> (o .:? "type")+                     <*> (o .:? "description")+                     <*> (o .:? "tags" .!= mempty))++instance ToJSON Asset where+        toJSON Asset{..}+          = object+              (catMaybes+                 [("creationTime" .=) <$> _aCreationTime,+                  ("writersCanEditPermissions" .=) <$>+                    _aWritersCanEditPermissions,+                  ("etag" .=) <$> _aEtag,+                  ("creatorEmail" .=) <$> _aCreatorEmail,+                  ("lastModifiedTime" .=) <$> _aLastModifiedTime,+                  ("lastModifierEmail" .=) <$> _aLastModifierEmail,+                  ("name" .=) <$> _aName, ("bbox" .=) <$> _aBbox,+                  ("resource" .=) <$> _aResource, ("id" .=) <$> _aId,+                  ("projectId" .=) <$> _aProjectId,+                  ("type" .=) <$> _aType,+                  ("description" .=) <$> _aDescription,+                  ("tags" .=) <$> _aTags])++-- | Parameters for styling points as scaled shapes.+--+-- /See:/ 'scaledShape' smart constructor.+data ScaledShape = ScaledShape+    { _ssBOrder :: !(Maybe BOrder)+    , _ssFill   :: !(Maybe Color)+    , _ssShape  :: !(Maybe ScaledShapeShape)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ScaledShape' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ssBOrder'+--+-- * 'ssFill'+--+-- * 'ssShape'+scaledShape+    :: ScaledShape+scaledShape =+    ScaledShape+    { _ssBOrder = Nothing+    , _ssFill = Nothing+    , _ssShape = Nothing+    }++-- | Border color\/width of the shape. If not specified the shape won\'t have+-- a border.+ssBOrder :: Lens' ScaledShape (Maybe BOrder)+ssBOrder = lens _ssBOrder (\ s a -> s{_ssBOrder = a})++-- | The fill color of the shape. If not specified the shape will be+-- transparent (although the borders may not be).+ssFill :: Lens' ScaledShape (Maybe Color)+ssFill = lens _ssFill (\ s a -> s{_ssFill = a})++-- | Name of the shape.+ssShape :: Lens' ScaledShape (Maybe ScaledShapeShape)+ssShape = lens _ssShape (\ s a -> s{_ssShape = a})++instance FromJSON ScaledShape where+        parseJSON+          = withObject "ScaledShape"+              (\ o ->+                 ScaledShape <$>+                   (o .:? "border") <*> (o .:? "fill") <*>+                     (o .:? "shape"))++instance ToJSON ScaledShape where+        toJSON ScaledShape{..}+          = object+              (catMaybes+                 [("border" .=) <$> _ssBOrder,+                  ("fill" .=) <$> _ssFill, ("shape" .=) <$> _ssShape])++-- | The request sent to features.BatchDelete.+--+-- /See:/ 'featuresBatchDeleteRequest' smart constructor.+data FeaturesBatchDeleteRequest = FeaturesBatchDeleteRequest+    { _fbdrPrimaryKeys :: !(Maybe [Text])+    , _fbdrGxIds       :: !(Maybe [Text])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'FeaturesBatchDeleteRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'fbdrPrimaryKeys'+--+-- * 'fbdrGxIds'+featuresBatchDeleteRequest+    :: FeaturesBatchDeleteRequest+featuresBatchDeleteRequest =+    FeaturesBatchDeleteRequest+    { _fbdrPrimaryKeys = Nothing+    , _fbdrGxIds = Nothing+    }++fbdrPrimaryKeys :: Lens' FeaturesBatchDeleteRequest [Text]+fbdrPrimaryKeys+  = lens _fbdrPrimaryKeys+      (\ s a -> s{_fbdrPrimaryKeys = a})+      . _Default+      . _Coerce++fbdrGxIds :: Lens' FeaturesBatchDeleteRequest [Text]+fbdrGxIds+  = lens _fbdrGxIds (\ s a -> s{_fbdrGxIds = a}) .+      _Default+      . _Coerce++instance FromJSON FeaturesBatchDeleteRequest where+        parseJSON+          = withObject "FeaturesBatchDeleteRequest"+              (\ o ->+                 FeaturesBatchDeleteRequest <$>+                   (o .:? "primaryKeys" .!= mempty) <*>+                     (o .:? "gx_ids" .!= mempty))++instance ToJSON FeaturesBatchDeleteRequest where+        toJSON FeaturesBatchDeleteRequest{..}+          = object+              (catMaybes+                 [("primaryKeys" .=) <$> _fbdrPrimaryKeys,+                  ("gx_ids" .=) <$> _fbdrGxIds])++-- | An icon is a user-uploaded image that can be used to style point+-- geometries.+--+-- /See:/ 'icon' smart constructor.+data Icon = Icon+    { _iName        :: !(Maybe Text)+    , _iId          :: !(Maybe Text)+    , _iDescription :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Icon' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'iName'+--+-- * 'iId'+--+-- * 'iDescription'+icon+    :: Icon+icon =+    Icon+    { _iName = Nothing+    , _iId = Nothing+    , _iDescription = Nothing+    }++-- | The name of this Icon, supplied by the author.+iName :: Lens' Icon (Maybe Text)+iName = lens _iName (\ s a -> s{_iName = a})++-- | An ID used to refer to this Icon.+iId :: Lens' Icon (Maybe Text)+iId = lens _iId (\ s a -> s{_iId = a})++-- | The description of this Icon, supplied by the author.+iDescription :: Lens' Icon (Maybe Text)+iDescription+  = lens _iDescription (\ s a -> s{_iDescription = a})++instance FromJSON Icon where+        parseJSON+          = withObject "Icon"+              (\ o ->+                 Icon <$>+                   (o .:? "name") <*> (o .:? "id") <*>+                     (o .:? "description"))++instance ToJSON Icon where+        toJSON Icon{..}+          = object+              (catMaybes+                 [("name" .=) <$> _iName, ("id" .=) <$> _iId,+                  ("description" .=) <$> _iDescription])++-- | The response returned by a call to parents.List.+--+-- /See:/ 'parentsListResponse' smart constructor.+data ParentsListResponse = ParentsListResponse+    { _plrNextPageToken :: !(Maybe Text)+    , _plrParents       :: !(Maybe [Parent])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ParentsListResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'plrNextPageToken'+--+-- * 'plrParents'+parentsListResponse+    :: ParentsListResponse+parentsListResponse =+    ParentsListResponse+    { _plrNextPageToken = Nothing+    , _plrParents = Nothing+    }++-- | Next page token.+plrNextPageToken :: Lens' ParentsListResponse (Maybe Text)+plrNextPageToken+  = lens _plrNextPageToken+      (\ s a -> s{_plrNextPageToken = a})++-- | The parent assets.+plrParents :: Lens' ParentsListResponse [Parent]+plrParents+  = lens _plrParents (\ s a -> s{_plrParents = a}) .+      _Default+      . _Coerce++instance FromJSON ParentsListResponse where+        parseJSON+          = withObject "ParentsListResponse"+              (\ o ->+                 ParentsListResponse <$>+                   (o .:? "nextPageToken") <*>+                     (o .:? "parents" .!= mempty))++instance ToJSON ParentsListResponse where+        toJSON ParentsListResponse{..}+          = object+              (catMaybes+                 [("nextPageToken" .=) <$> _plrNextPageToken,+                  ("parents" .=) <$> _plrParents])++-- | The response returned by a call to features.List.+--+-- /See:/ 'featuresListResponse' smart constructor.+data FeaturesListResponse = FeaturesListResponse+    { _flrNextPageToken           :: !(Maybe Text)+    , _flrAllowedQueriesPerSecond :: !(Maybe (Textual Double))+    , _flrSchema                  :: !(Maybe Schema)+    , _flrFeatures                :: !(Maybe [Feature])+    , _flrType                    :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'FeaturesListResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'flrNextPageToken'+--+-- * 'flrAllowedQueriesPerSecond'+--+-- * 'flrSchema'+--+-- * 'flrFeatures'+--+-- * 'flrType'+featuresListResponse+    :: FeaturesListResponse+featuresListResponse =+    FeaturesListResponse+    { _flrNextPageToken = Nothing+    , _flrAllowedQueriesPerSecond = Nothing+    , _flrSchema = Nothing+    , _flrFeatures = Nothing+    , _flrType = "FeatureCollection"+    }++-- | Next page token.+flrNextPageToken :: Lens' FeaturesListResponse (Maybe Text)+flrNextPageToken+  = lens _flrNextPageToken+      (\ s a -> s{_flrNextPageToken = a})++-- | An indicator of the maximum rate at which queries may be made, if all+-- queries were as expensive as this query.+flrAllowedQueriesPerSecond :: Lens' FeaturesListResponse (Maybe Double)+flrAllowedQueriesPerSecond+  = lens _flrAllowedQueriesPerSecond+      (\ s a -> s{_flrAllowedQueriesPerSecond = a})+      . mapping _Coerce++-- | The feature schema.+flrSchema :: Lens' FeaturesListResponse (Maybe Schema)+flrSchema+  = lens _flrSchema (\ s a -> s{_flrSchema = a})++-- | Resources returned.+flrFeatures :: Lens' FeaturesListResponse [Feature]+flrFeatures+  = lens _flrFeatures (\ s a -> s{_flrFeatures = a}) .+      _Default+      . _Coerce++flrType :: Lens' FeaturesListResponse Text+flrType = lens _flrType (\ s a -> s{_flrType = a})++instance FromJSON FeaturesListResponse where+        parseJSON+          = withObject "FeaturesListResponse"+              (\ o ->+                 FeaturesListResponse <$>+                   (o .:? "nextPageToken") <*>+                     (o .:? "allowedQueriesPerSecond")+                     <*> (o .:? "schema")+                     <*> (o .:? "features" .!= mempty)+                     <*> (o .:? "type" .!= "FeatureCollection"))++instance ToJSON FeaturesListResponse where+        toJSON FeaturesListResponse{..}+          = object+              (catMaybes+                 [("nextPageToken" .=) <$> _flrNextPageToken,+                  ("allowedQueriesPerSecond" .=) <$>+                    _flrAllowedQueriesPerSecond,+                  ("schema" .=) <$> _flrSchema,+                  ("features" .=) <$> _flrFeatures,+                  Just ("type" .= _flrType)])++-- | The response returned by a call to+-- rasterCollections.rasters.batchInsert.+--+-- /See:/ 'rasterCollectionsRastersBatchInsertResponse' smart constructor.+data RasterCollectionsRastersBatchInsertResponse =+    RasterCollectionsRastersBatchInsertResponse+    deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'RasterCollectionsRastersBatchInsertResponse' with the minimum fields required to make a request.+--+rasterCollectionsRastersBatchInsertResponse+    :: RasterCollectionsRastersBatchInsertResponse+rasterCollectionsRastersBatchInsertResponse =+    RasterCollectionsRastersBatchInsertResponse++instance FromJSON+         RasterCollectionsRastersBatchInsertResponse where+        parseJSON+          = withObject+              "RasterCollectionsRastersBatchInsertResponse"+              (\ o ->+                 pure RasterCollectionsRastersBatchInsertResponse)++instance ToJSON+         RasterCollectionsRastersBatchInsertResponse where+        toJSON = const emptyObject++-- | The response returned by a call to icons.List.+--+-- /See:/ 'iconsListResponse' smart constructor.+data IconsListResponse = IconsListResponse+    { _ilrNextPageToken :: !(Maybe Text)+    , _ilrIcons         :: !(Maybe [Icon])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'IconsListResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ilrNextPageToken'+--+-- * 'ilrIcons'+iconsListResponse+    :: IconsListResponse+iconsListResponse =+    IconsListResponse+    { _ilrNextPageToken = Nothing+    , _ilrIcons = Nothing+    }++-- | Next page token.+ilrNextPageToken :: Lens' IconsListResponse (Maybe Text)+ilrNextPageToken+  = lens _ilrNextPageToken+      (\ s a -> s{_ilrNextPageToken = a})++-- | Resources returned.+ilrIcons :: Lens' IconsListResponse [Icon]+ilrIcons+  = lens _ilrIcons (\ s a -> s{_ilrIcons = a}) .+      _Default+      . _Coerce++instance FromJSON IconsListResponse where+        parseJSON+          = withObject "IconsListResponse"+              (\ o ->+                 IconsListResponse <$>+                   (o .:? "nextPageToken") <*>+                     (o .:? "icons" .!= mempty))++instance ToJSON IconsListResponse where+        toJSON IconsListResponse{..}+          = object+              (catMaybes+                 [("nextPageToken" .=) <$> _ilrNextPageToken,+                  ("icons" .=) <$> _ilrIcons])++-- | Text label style.+--+-- /See:/ 'labelStyle' smart constructor.+data LabelStyle = LabelStyle+    { _lsFontStyle  :: !(Maybe LabelStyleFontStyle)+    , _lsColor      :: !(Maybe Text)+    , _lsSize       :: !(Maybe (Textual Double))+    , _lsOpacity    :: !(Maybe (Textual Double))+    , _lsOutline    :: !(Maybe Color)+    , _lsFontWeight :: !(Maybe LabelStyleFontWeight)+    , _lsColumn     :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'LabelStyle' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lsFontStyle'+--+-- * 'lsColor'+--+-- * 'lsSize'+--+-- * 'lsOpacity'+--+-- * 'lsOutline'+--+-- * 'lsFontWeight'+--+-- * 'lsColumn'+labelStyle+    :: LabelStyle+labelStyle =+    LabelStyle+    { _lsFontStyle = Nothing+    , _lsColor = Nothing+    , _lsSize = Nothing+    , _lsOpacity = Nothing+    , _lsOutline = Nothing+    , _lsFontWeight = Nothing+    , _lsColumn = Nothing+    }++-- | Font style of the label, defaults to \'normal\'.+lsFontStyle :: Lens' LabelStyle (Maybe LabelStyleFontStyle)+lsFontStyle+  = lens _lsFontStyle (\ s a -> s{_lsFontStyle = a})++-- | Color of the text. If not provided, default to black.+lsColor :: Lens' LabelStyle (Maybe Text)+lsColor = lens _lsColor (\ s a -> s{_lsColor = a})++-- | Font size of the label, in pixels. 8 \<= size \<= 15. If not provided, a+-- default size will be provided.+lsSize :: Lens' LabelStyle (Maybe Double)+lsSize+  = lens _lsSize (\ s a -> s{_lsSize = a}) .+      mapping _Coerce++-- | Opacity of the text.+lsOpacity :: Lens' LabelStyle (Maybe Double)+lsOpacity+  = lens _lsOpacity (\ s a -> s{_lsOpacity = a}) .+      mapping _Coerce++-- | Outline color of the text.+lsOutline :: Lens' LabelStyle (Maybe Color)+lsOutline+  = lens _lsOutline (\ s a -> s{_lsOutline = a})++-- | Font weight of the label, defaults to \'normal\'.+lsFontWeight :: Lens' LabelStyle (Maybe LabelStyleFontWeight)+lsFontWeight+  = lens _lsFontWeight (\ s a -> s{_lsFontWeight = a})++-- | The column value of the feature to be displayed.+lsColumn :: Lens' LabelStyle (Maybe Text)+lsColumn = lens _lsColumn (\ s a -> s{_lsColumn = a})++instance FromJSON LabelStyle where+        parseJSON+          = withObject "LabelStyle"+              (\ o ->+                 LabelStyle <$>+                   (o .:? "fontStyle") <*> (o .:? "color") <*>+                     (o .:? "size")+                     <*> (o .:? "opacity")+                     <*> (o .:? "outline")+                     <*> (o .:? "fontWeight")+                     <*> (o .:? "column"))++instance ToJSON LabelStyle where+        toJSON LabelStyle{..}+          = object+              (catMaybes+                 [("fontStyle" .=) <$> _lsFontStyle,+                  ("color" .=) <$> _lsColor, ("size" .=) <$> _lsSize,+                  ("opacity" .=) <$> _lsOpacity,+                  ("outline" .=) <$> _lsOutline,+                  ("fontWeight" .=) <$> _lsFontWeight,+                  ("column" .=) <$> _lsColumn])++-- | The request sent to rasterCollections.Rasters.BatchDelete.+--+-- /See:/ 'rasterCollectionsRasterBatchDeleteRequest' smart constructor.+newtype RasterCollectionsRasterBatchDeleteRequest = RasterCollectionsRasterBatchDeleteRequest+    { _rcrbdrIds :: Maybe [Text]+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'RasterCollectionsRasterBatchDeleteRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rcrbdrIds'+rasterCollectionsRasterBatchDeleteRequest+    :: RasterCollectionsRasterBatchDeleteRequest+rasterCollectionsRasterBatchDeleteRequest =+    RasterCollectionsRasterBatchDeleteRequest+    { _rcrbdrIds = Nothing+    }++-- | An array of Raster asset IDs to be removed from this RasterCollection.+rcrbdrIds :: Lens' RasterCollectionsRasterBatchDeleteRequest [Text]+rcrbdrIds+  = lens _rcrbdrIds (\ s a -> s{_rcrbdrIds = a}) .+      _Default+      . _Coerce++instance FromJSON+         RasterCollectionsRasterBatchDeleteRequest where+        parseJSON+          = withObject+              "RasterCollectionsRasterBatchDeleteRequest"+              (\ o ->+                 RasterCollectionsRasterBatchDeleteRequest <$>+                   (o .:? "ids" .!= mempty))++instance ToJSON+         RasterCollectionsRasterBatchDeleteRequest where+        toJSON RasterCollectionsRasterBatchDeleteRequest{..}+          = object (catMaybes [("ids" .=) <$> _rcrbdrIds])++-- | A schema indicating the properties which may be associated with features+-- within a Table, and the types of those properties.+--+-- /See:/ 'schema' smart constructor.+data Schema = Schema+    { _sPrimaryKey      :: !(Maybe Text)+    , _sColumns         :: !(Maybe [TableColumn])+    , _sPrimaryGeometry :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Schema' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sPrimaryKey'+--+-- * 'sColumns'+--+-- * 'sPrimaryGeometry'+schema+    :: Schema+schema =+    Schema+    { _sPrimaryKey = Nothing+    , _sColumns = Nothing+    , _sPrimaryGeometry = Nothing+    }++-- | The name of the column that contains the unique identifier of a Feature.+sPrimaryKey :: Lens' Schema (Maybe Text)+sPrimaryKey+  = lens _sPrimaryKey (\ s a -> s{_sPrimaryKey = a})++-- | An array of TableColumn objects. The first object in the array must be+-- named geometry and be of type points, lineStrings, polygons, or+-- mixedGeometry.+sColumns :: Lens' Schema [TableColumn]+sColumns+  = lens _sColumns (\ s a -> s{_sColumns = a}) .+      _Default+      . _Coerce++-- | The name of the column that contains a feature\'s geometry. This field+-- can be omitted during table create; Google Maps Engine supports only a+-- single geometry column, which must be named geometry and be the first+-- object in the columns array.+sPrimaryGeometry :: Lens' Schema (Maybe Text)+sPrimaryGeometry+  = lens _sPrimaryGeometry+      (\ s a -> s{_sPrimaryGeometry = a})++instance FromJSON Schema where+        parseJSON+          = withObject "Schema"+              (\ o ->+                 Schema <$>+                   (o .:? "primaryKey") <*> (o .:? "columns" .!= mempty)+                     <*> (o .:? "primaryGeometry"))++instance ToJSON Schema where+        toJSON Schema{..}+          = object+              (catMaybes+                 [("primaryKey" .=) <$> _sPrimaryKey,+                  ("columns" .=) <$> _sColumns,+                  ("primaryGeometry" .=) <$> _sPrimaryGeometry])++--+-- /See:/ 'mapItem' smart constructor.+data MapItem =+    MapItem+    deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'MapItem' with the minimum fields required to make a request.+--+mapItem+    :: MapItem+mapItem = MapItem++instance FromJSON MapItem where+        parseJSON+          = withObject "MapItem" (\ o -> pure MapItem)++instance ToJSON MapItem where+        toJSON = const emptyObject++-- | The request sent to rasterCollections.Rasters.BatchInsert.+--+-- /See:/ 'rasterCollectionsRastersBatchInsertRequest' smart constructor.+newtype RasterCollectionsRastersBatchInsertRequest = RasterCollectionsRastersBatchInsertRequest+    { _rcrbirIds :: Maybe [Text]+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'RasterCollectionsRastersBatchInsertRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rcrbirIds'+rasterCollectionsRastersBatchInsertRequest+    :: RasterCollectionsRastersBatchInsertRequest+rasterCollectionsRastersBatchInsertRequest =+    RasterCollectionsRastersBatchInsertRequest+    { _rcrbirIds = Nothing+    }++-- | An array of Raster asset IDs to be added to this RasterCollection.+rcrbirIds :: Lens' RasterCollectionsRastersBatchInsertRequest [Text]+rcrbirIds+  = lens _rcrbirIds (\ s a -> s{_rcrbirIds = a}) .+      _Default+      . _Coerce++instance FromJSON+         RasterCollectionsRastersBatchInsertRequest where+        parseJSON+          = withObject+              "RasterCollectionsRastersBatchInsertRequest"+              (\ o ->+                 RasterCollectionsRastersBatchInsertRequest <$>+                   (o .:? "ids" .!= mempty))++instance ToJSON+         RasterCollectionsRastersBatchInsertRequest where+        toJSON RasterCollectionsRastersBatchInsertRequest{..}+          = object (catMaybes [("ids" .=) <$> _rcrbirIds])++-- | The published version of a map asset.+--+-- /See:/ 'publishedMap' smart constructor.+data PublishedMap = PublishedMap+    { _pmDefaultViewport :: !(Maybe [Textual Double])+    , _pmContents        :: !(Maybe [MapItem])+    , _pmName            :: !(Maybe Text)+    , _pmId              :: !(Maybe Text)+    , _pmProjectId       :: !(Maybe Text)+    , _pmDescription     :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PublishedMap' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pmDefaultViewport'+--+-- * 'pmContents'+--+-- * 'pmName'+--+-- * 'pmId'+--+-- * 'pmProjectId'+--+-- * 'pmDescription'+publishedMap+    :: PublishedMap+publishedMap =+    PublishedMap+    { _pmDefaultViewport = Nothing+    , _pmContents = Nothing+    , _pmName = Nothing+    , _pmId = Nothing+    , _pmProjectId = Nothing+    , _pmDescription = Nothing+    }++-- | An array of four numbers (west, south, east, north) which defines the+-- rectangular bounding box of the default viewport. The numbers represent+-- latitude and longitude in decimal degrees.+pmDefaultViewport :: Lens' PublishedMap [Double]+pmDefaultViewport+  = lens _pmDefaultViewport+      (\ s a -> s{_pmDefaultViewport = a})+      . _Default+      . _Coerce++-- | The contents of this Map.+pmContents :: Lens' PublishedMap [MapItem]+pmContents+  = lens _pmContents (\ s a -> s{_pmContents = a}) .+      _Default+      . _Coerce++-- | The name of this Map, supplied by the author.+pmName :: Lens' PublishedMap (Maybe Text)+pmName = lens _pmName (\ s a -> s{_pmName = a})++-- | A globally unique ID, used to refer to this Map.+pmId :: Lens' PublishedMap (Maybe Text)+pmId = lens _pmId (\ s a -> s{_pmId = a})++-- | The ID of the project that this Map is in.+pmProjectId :: Lens' PublishedMap (Maybe Text)+pmProjectId+  = lens _pmProjectId (\ s a -> s{_pmProjectId = a})++-- | The description of this Map, supplied by the author.+pmDescription :: Lens' PublishedMap (Maybe Text)+pmDescription+  = lens _pmDescription+      (\ s a -> s{_pmDescription = a})++instance FromJSON PublishedMap where+        parseJSON+          = withObject "PublishedMap"+              (\ o ->+                 PublishedMap <$>+                   (o .:? "defaultViewport") <*> (o .:? "contents") <*>+                     (o .:? "name")+                     <*> (o .:? "id")+                     <*> (o .:? "projectId")+                     <*> (o .:? "description"))++instance ToJSON PublishedMap where+        toJSON PublishedMap{..}+          = object+              (catMaybes+                 [("defaultViewport" .=) <$> _pmDefaultViewport,+                  ("contents" .=) <$> _pmContents,+                  ("name" .=) <$> _pmName, ("id" .=) <$> _pmId,+                  ("projectId" .=) <$> _pmProjectId,+                  ("description" .=) <$> _pmDescription])++-- | Acquisition time represents acquired time of a raster.+--+-- /See:/ 'acquisitionTime' smart constructor.+data AcquisitionTime = AcquisitionTime+    { _atStart     :: !(Maybe DateTime')+    , _atPrecision :: !(Maybe AcquisitionTimePrecision)+    , _atEnd       :: !(Maybe DateTime')+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AcquisitionTime' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'atStart'+--+-- * 'atPrecision'+--+-- * 'atEnd'+acquisitionTime+    :: AcquisitionTime+acquisitionTime =+    AcquisitionTime+    { _atStart = Nothing+    , _atPrecision = Nothing+    , _atEnd = Nothing+    }++-- | The acquisition time, or start time if acquisition time is a range. The+-- value is an RFC 3339 formatted date-time value (1970-01-01T00:00:00Z).+atStart :: Lens' AcquisitionTime (Maybe UTCTime)+atStart+  = lens _atStart (\ s a -> s{_atStart = a}) .+      mapping _DateTime++-- | The precision of acquisition time.+atPrecision :: Lens' AcquisitionTime (Maybe AcquisitionTimePrecision)+atPrecision+  = lens _atPrecision (\ s a -> s{_atPrecision = a})++-- | The end time if acquisition time is a range. The value is an RFC 3339+-- formatted date-time value (1970-01-01T00:00:00Z).+atEnd :: Lens' AcquisitionTime (Maybe UTCTime)+atEnd+  = lens _atEnd (\ s a -> s{_atEnd = a}) .+      mapping _DateTime++instance FromJSON AcquisitionTime where+        parseJSON+          = withObject "AcquisitionTime"+              (\ o ->+                 AcquisitionTime <$>+                   (o .:? "start") <*> (o .:? "precision") <*>+                     (o .:? "end"))++instance ToJSON AcquisitionTime where+        toJSON AcquisitionTime{..}+          = object+              (catMaybes+                 [("start" .=) <$> _atStart,+                  ("precision" .=) <$> _atPrecision,+                  ("end" .=) <$> _atEnd])++-- | The response returned by a call to tables.List. Note: The list response+-- does not include all the fields available in a table. Refer to the table+-- resource description for details of the fields that are not included.+-- You\'ll need to send a get request to retrieve the additional fields for+-- each table.+--+-- /See:/ 'tablesListResponse' smart constructor.+data TablesListResponse = TablesListResponse+    { _tlrNextPageToken :: !(Maybe (Textual Word8))+    , _tlrTables        :: !(Maybe [Table])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TablesListResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tlrNextPageToken'+--+-- * 'tlrTables'+tablesListResponse+    :: TablesListResponse+tablesListResponse =+    TablesListResponse+    { _tlrNextPageToken = Nothing+    , _tlrTables = Nothing+    }++-- | Next page token.+tlrNextPageToken :: Lens' TablesListResponse (Maybe Word8)+tlrNextPageToken+  = lens _tlrNextPageToken+      (\ s a -> s{_tlrNextPageToken = a})+      . mapping _Coerce++-- | Resources returned.+tlrTables :: Lens' TablesListResponse [Table]+tlrTables+  = lens _tlrTables (\ s a -> s{_tlrTables = a}) .+      _Default+      . _Coerce++instance FromJSON TablesListResponse where+        parseJSON+          = withObject "TablesListResponse"+              (\ o ->+                 TablesListResponse <$>+                   (o .:? "nextPageToken") <*>+                     (o .:? "tables" .!= mempty))++instance ToJSON TablesListResponse where+        toJSON TablesListResponse{..}+          = object+              (catMaybes+                 [("nextPageToken" .=) <$> _tlrNextPageToken,+                  ("tables" .=) <$> _tlrTables])++-- | Style for icon, this is part of point style.+--+-- /See:/ 'iconStyle' smart constructor.+data IconStyle = IconStyle+    { _isScaledShape     :: !(Maybe ScaledShape)+    , _isScalingFunction :: !(Maybe ScalingFunction)+    , _isName            :: !(Maybe Text)+    , _isId              :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'IconStyle' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'isScaledShape'+--+-- * 'isScalingFunction'+--+-- * 'isName'+--+-- * 'isId'+iconStyle+    :: IconStyle+iconStyle =+    IconStyle+    { _isScaledShape = Nothing+    , _isScalingFunction = Nothing+    , _isName = Nothing+    , _isId = Nothing+    }++-- | A scalable shape.+isScaledShape :: Lens' IconStyle (Maybe ScaledShape)+isScaledShape+  = lens _isScaledShape+      (\ s a -> s{_isScaledShape = a})++-- | The function used to scale shapes. Required when a scaledShape is+-- specified.+isScalingFunction :: Lens' IconStyle (Maybe ScalingFunction)+isScalingFunction+  = lens _isScalingFunction+      (\ s a -> s{_isScalingFunction = a})++-- | Stock icon name. To use a stock icon, prefix it with \'gx_\'. See Stock+-- icon names for valid icon names. For example, to specify small_red, set+-- name to \'gx_small_red\'.+isName :: Lens' IconStyle (Maybe Text)+isName = lens _isName (\ s a -> s{_isName = a})++-- | Custom icon id.+isId :: Lens' IconStyle (Maybe Text)+isId = lens _isId (\ s a -> s{_isId = a})++instance FromJSON IconStyle where+        parseJSON+          = withObject "IconStyle"+              (\ o ->+                 IconStyle <$>+                   (o .:? "scaledShape") <*> (o .:? "scalingFunction")+                     <*> (o .:? "name")+                     <*> (o .:? "id"))++instance ToJSON IconStyle where+        toJSON IconStyle{..}+          = object+              (catMaybes+                 [("scaledShape" .=) <$> _isScaledShape,+                  ("scalingFunction" .=) <$> _isScalingFunction,+                  ("name" .=) <$> _isName, ("id" .=) <$> _isId])++-- | A display rule of the vector style.+--+-- /See:/ 'displayRule' smart constructor.+data DisplayRule = DisplayRule+    { _drPointOptions   :: !(Maybe PointStyle)+    , _drPolygonOptions :: !(Maybe PolygonStyle)+    , _drZoomLevels     :: !(Maybe ZoomLevels)+    , _drFilters        :: !(Maybe [Filter])+    , _drName           :: !(Maybe Text)+    , _drLineOptions    :: !(Maybe LineStyle)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DisplayRule' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'drPointOptions'+--+-- * 'drPolygonOptions'+--+-- * 'drZoomLevels'+--+-- * 'drFilters'+--+-- * 'drName'+--+-- * 'drLineOptions'+displayRule+    :: DisplayRule+displayRule =+    DisplayRule+    { _drPointOptions = Nothing+    , _drPolygonOptions = Nothing+    , _drZoomLevels = Nothing+    , _drFilters = Nothing+    , _drName = Nothing+    , _drLineOptions = Nothing+    }++-- | Style applied to points. Required for Point Geometry.+drPointOptions :: Lens' DisplayRule (Maybe PointStyle)+drPointOptions+  = lens _drPointOptions+      (\ s a -> s{_drPointOptions = a})++-- | Style applied to polygons. Required for Polygon Geometry.+drPolygonOptions :: Lens' DisplayRule (Maybe PolygonStyle)+drPolygonOptions+  = lens _drPolygonOptions+      (\ s a -> s{_drPolygonOptions = a})++-- | The zoom levels that this display rule apply.+drZoomLevels :: Lens' DisplayRule (Maybe ZoomLevels)+drZoomLevels+  = lens _drZoomLevels (\ s a -> s{_drZoomLevels = a})++-- | This display rule will only be applied to features that match all of the+-- filters here. If filters is empty, then the rule applies to all+-- features.+drFilters :: Lens' DisplayRule [Filter]+drFilters+  = lens _drFilters (\ s a -> s{_drFilters = a}) .+      _Default+      . _Coerce++-- | Display rule name. Name is not unique and cannot be used for+-- identification purpose.+drName :: Lens' DisplayRule (Maybe Text)+drName = lens _drName (\ s a -> s{_drName = a})++-- | Style applied to lines. Required for LineString Geometry.+drLineOptions :: Lens' DisplayRule (Maybe LineStyle)+drLineOptions+  = lens _drLineOptions+      (\ s a -> s{_drLineOptions = a})++instance FromJSON DisplayRule where+        parseJSON+          = withObject "DisplayRule"+              (\ o ->+                 DisplayRule <$>+                   (o .:? "pointOptions") <*> (o .:? "polygonOptions")+                     <*> (o .:? "zoomLevels")+                     <*> (o .:? "filters" .!= mempty)+                     <*> (o .:? "name")+                     <*> (o .:? "lineOptions"))++instance ToJSON DisplayRule where+        toJSON DisplayRule{..}+          = object+              (catMaybes+                 [("pointOptions" .=) <$> _drPointOptions,+                  ("polygonOptions" .=) <$> _drPolygonOptions,+                  ("zoomLevels" .=) <$> _drZoomLevels,+                  ("filters" .=) <$> _drFilters,+                  ("name" .=) <$> _drName,+                  ("lineOptions" .=) <$> _drLineOptions])++-- | Border in line style. Both color and width are required.+--+-- /See:/ 'bOrder' smart constructor.+data BOrder = BOrder+    { _boColor   :: !(Maybe Text)+    , _boWidth   :: !(Maybe (Textual Double))+    , _boOpacity :: !(Maybe (Textual Double))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'BOrder' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'boColor'+--+-- * 'boWidth'+--+-- * 'boOpacity'+bOrder+    :: BOrder+bOrder =+    BOrder+    { _boColor = Nothing+    , _boWidth = Nothing+    , _boOpacity = Nothing+    }++-- | Color of the border.+boColor :: Lens' BOrder (Maybe Text)+boColor = lens _boColor (\ s a -> s{_boColor = a})++-- | Width of the border, in pixels.+boWidth :: Lens' BOrder (Maybe Double)+boWidth+  = lens _boWidth (\ s a -> s{_boWidth = a}) .+      mapping _Coerce++-- | Opacity of the border.+boOpacity :: Lens' BOrder (Maybe Double)+boOpacity+  = lens _boOpacity (\ s a -> s{_boOpacity = a}) .+      mapping _Coerce++instance FromJSON BOrder where+        parseJSON+          = withObject "BOrder"+              (\ o ->+                 BOrder <$>+                   (o .:? "color") <*> (o .:? "width") <*>+                     (o .:? "opacity"))++instance ToJSON BOrder where+        toJSON BOrder{..}+          = object+              (catMaybes+                 [("color" .=) <$> _boColor,+                  ("width" .=) <$> _boWidth,+                  ("opacity" .=) <$> _boOpacity])++-- | A Map is a collection of Layers, optionally contained within folders.+--+-- /See:/ 'map'' smart constructor.+data Map = Map+    { _mCreationTime              :: !(Maybe DateTime')+    , _mWritersCanEditPermissions :: !(Maybe Bool)+    , _mEtag                      :: !(Maybe Text)+    , _mDefaultViewport           :: !(Maybe [Textual Double])+    , _mContents                  :: !(Maybe [MapItem])+    , _mPublishingStatus          :: !(Maybe MapPublishingStatus)+    , _mCreatorEmail              :: !(Maybe Text)+    , _mLastModifiedTime          :: !(Maybe DateTime')+    , _mLastModifierEmail         :: !(Maybe Text)+    , _mVersions                  :: !(Maybe [Text])+    , _mName                      :: !(Maybe Text)+    , _mBbox                      :: !(Maybe [Textual Double])+    , _mProcessingStatus          :: !(Maybe MapProcessingStatus)+    , _mId                        :: !(Maybe Text)+    , _mProjectId                 :: !(Maybe Text)+    , _mDraftAccessList           :: !(Maybe Text)+    , _mPublishedAccessList       :: !(Maybe Text)+    , _mDescription               :: !(Maybe Text)+    , _mTags                      :: !(Maybe [Text])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Map' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mCreationTime'+--+-- * 'mWritersCanEditPermissions'+--+-- * 'mEtag'+--+-- * 'mDefaultViewport'+--+-- * 'mContents'+--+-- * 'mPublishingStatus'+--+-- * 'mCreatorEmail'+--+-- * 'mLastModifiedTime'+--+-- * 'mLastModifierEmail'+--+-- * 'mVersions'+--+-- * 'mName'+--+-- * 'mBbox'+--+-- * 'mProcessingStatus'+--+-- * 'mId'+--+-- * 'mProjectId'+--+-- * 'mDraftAccessList'+--+-- * 'mPublishedAccessList'+--+-- * 'mDescription'+--+-- * 'mTags'+map'+    :: Map+map' =+    Map+    { _mCreationTime = Nothing+    , _mWritersCanEditPermissions = Nothing+    , _mEtag = Nothing+    , _mDefaultViewport = Nothing+    , _mContents = Nothing+    , _mPublishingStatus = Nothing+    , _mCreatorEmail = Nothing+    , _mLastModifiedTime = Nothing+    , _mLastModifierEmail = Nothing+    , _mVersions = Nothing+    , _mName = Nothing+    , _mBbox = Nothing+    , _mProcessingStatus = Nothing+    , _mId = Nothing+    , _mProjectId = Nothing+    , _mDraftAccessList = Nothing+    , _mPublishedAccessList = Nothing+    , _mDescription = Nothing+    , _mTags = Nothing+    }++-- | The creation time of this map. The value is an RFC 3339 formatted+-- date-time value (e.g. 1970-01-01T00:00:00Z).+mCreationTime :: Lens' Map (Maybe UTCTime)+mCreationTime+  = lens _mCreationTime+      (\ s a -> s{_mCreationTime = a})+      . mapping _DateTime++-- | If true, WRITERs of the asset are able to edit the asset permissions.+mWritersCanEditPermissions :: Lens' Map (Maybe Bool)+mWritersCanEditPermissions+  = lens _mWritersCanEditPermissions+      (\ s a -> s{_mWritersCanEditPermissions = a})++-- | The ETag, used to refer to the current version of the asset.+mEtag :: Lens' Map (Maybe Text)+mEtag = lens _mEtag (\ s a -> s{_mEtag = a})++-- | An array of four numbers (west, south, east, north) which defines the+-- rectangular bounding box of the default viewport. The numbers represent+-- latitude and longitude in decimal degrees.+mDefaultViewport :: Lens' Map [Double]+mDefaultViewport+  = lens _mDefaultViewport+      (\ s a -> s{_mDefaultViewport = a})+      . _Default+      . _Coerce++-- | The contents of this Map.+mContents :: Lens' Map [MapItem]+mContents+  = lens _mContents (\ s a -> s{_mContents = a}) .+      _Default+      . _Coerce++-- | The publishing status of this map.+mPublishingStatus :: Lens' Map (Maybe MapPublishingStatus)+mPublishingStatus+  = lens _mPublishingStatus+      (\ s a -> s{_mPublishingStatus = a})++-- | The email address of the creator of this map. This is only returned on+-- GET requests and not LIST requests.+mCreatorEmail :: Lens' Map (Maybe Text)+mCreatorEmail+  = lens _mCreatorEmail+      (\ s a -> s{_mCreatorEmail = a})++-- | The last modified time of this map. The value is an RFC 3339 formatted+-- date-time value (e.g. 1970-01-01T00:00:00Z).+mLastModifiedTime :: Lens' Map (Maybe UTCTime)+mLastModifiedTime+  = lens _mLastModifiedTime+      (\ s a -> s{_mLastModifiedTime = a})+      . mapping _DateTime++-- | The email address of the last modifier of this map. This is only+-- returned on GET requests and not LIST requests.+mLastModifierEmail :: Lens' Map (Maybe Text)+mLastModifierEmail+  = lens _mLastModifierEmail+      (\ s a -> s{_mLastModifierEmail = a})++-- | Deprecated: An array containing the available versions of this Map.+-- Currently may only contain \"published\". The publishingStatus field+-- should be used instead.+mVersions :: Lens' Map [Text]+mVersions+  = lens _mVersions (\ s a -> s{_mVersions = a}) .+      _Default+      . _Coerce++-- | The name of this Map, supplied by the author.+mName :: Lens' Map (Maybe Text)+mName = lens _mName (\ s a -> s{_mName = a})++-- | A rectangular bounding box which contains all of the data in this Map.+-- The box is expressed as \\\"west, south, east, north\\\". The numbers+-- represent latitude and longitude in decimal degrees.+mBbox :: Lens' Map [Double]+mBbox+  = lens _mBbox (\ s a -> s{_mBbox = a}) . _Default .+      _Coerce++-- | The processing status of this map. Map processing is automatically+-- started once a map becomes ready for processing.+mProcessingStatus :: Lens' Map (Maybe MapProcessingStatus)+mProcessingStatus+  = lens _mProcessingStatus+      (\ s a -> s{_mProcessingStatus = a})++-- | A globally unique ID, used to refer to this Map.+mId :: Lens' Map (Maybe Text)+mId = lens _mId (\ s a -> s{_mId = a})++-- | The ID of the project that this Map is in.+mProjectId :: Lens' Map (Maybe Text)+mProjectId+  = lens _mProjectId (\ s a -> s{_mProjectId = a})++-- | Deprecated: The name of an access list of the Map Editor type. The user+-- on whose behalf the request is being sent must be an editor on that+-- access list. Note: Google Maps Engine no longer uses access lists.+-- Instead, each asset has its own list of permissions. For backward+-- compatibility, the API still accepts access lists for projects that are+-- already using access lists. If you created a GME account\/project after+-- July 14th, 2014, you will not be able to send API requests that include+-- access lists. Note: This is an input field only. It is not returned in+-- response to a list or get request.+mDraftAccessList :: Lens' Map (Maybe Text)+mDraftAccessList+  = lens _mDraftAccessList+      (\ s a -> s{_mDraftAccessList = a})++-- | Deprecated: The access list to whom view permissions are granted. The+-- value must be the name of a Maps Engine access list of the Map Viewer+-- type, and the user must be a viewer on that list. Note: Google Maps+-- Engine no longer uses access lists. Instead, each asset has its own list+-- of permissions. For backward compatibility, the API still accepts access+-- lists for projects that are already using access lists. If you created a+-- GME account\/project after July 14th, 2014, you will not be able to send+-- API requests that include access lists. This is an input field only. It+-- is not returned in response to a list or get request.+mPublishedAccessList :: Lens' Map (Maybe Text)+mPublishedAccessList+  = lens _mPublishedAccessList+      (\ s a -> s{_mPublishedAccessList = a})++-- | The description of this Map, supplied by the author.+mDescription :: Lens' Map (Maybe Text)+mDescription+  = lens _mDescription (\ s a -> s{_mDescription = a})++-- | Tags of this Map.+mTags :: Lens' Map [Text]+mTags+  = lens _mTags (\ s a -> s{_mTags = a}) . _Default .+      _Coerce++instance FromJSON Map where+        parseJSON+          = withObject "Map"+              (\ o ->+                 Map <$>+                   (o .:? "creationTime") <*>+                     (o .:? "writersCanEditPermissions")+                     <*> (o .:? "etag")+                     <*> (o .:? "defaultViewport")+                     <*> (o .:? "contents")+                     <*> (o .:? "publishingStatus")+                     <*> (o .:? "creatorEmail")+                     <*> (o .:? "lastModifiedTime")+                     <*> (o .:? "lastModifierEmail")+                     <*> (o .:? "versions" .!= mempty)+                     <*> (o .:? "name")+                     <*> (o .:? "bbox" .!= mempty)+                     <*> (o .:? "processingStatus")+                     <*> (o .:? "id")+                     <*> (o .:? "projectId")+                     <*> (o .:? "draftAccessList")+                     <*> (o .:? "publishedAccessList")+                     <*> (o .:? "description")+                     <*> (o .:? "tags"))++instance ToJSON Map where+        toJSON Map{..}+          = object+              (catMaybes+                 [("creationTime" .=) <$> _mCreationTime,+                  ("writersCanEditPermissions" .=) <$>+                    _mWritersCanEditPermissions,+                  ("etag" .=) <$> _mEtag,+                  ("defaultViewport" .=) <$> _mDefaultViewport,+                  ("contents" .=) <$> _mContents,+                  ("publishingStatus" .=) <$> _mPublishingStatus,+                  ("creatorEmail" .=) <$> _mCreatorEmail,+                  ("lastModifiedTime" .=) <$> _mLastModifiedTime,+                  ("lastModifierEmail" .=) <$> _mLastModifierEmail,+                  ("versions" .=) <$> _mVersions,+                  ("name" .=) <$> _mName, ("bbox" .=) <$> _mBbox,+                  ("processingStatus" .=) <$> _mProcessingStatus,+                  ("id" .=) <$> _mId, ("projectId" .=) <$> _mProjectId,+                  ("draftAccessList" .=) <$> _mDraftAccessList,+                  ("publishedAccessList" .=) <$> _mPublishedAccessList,+                  ("description" .=) <$> _mDescription,+                  ("tags" .=) <$> _mTags])++-- | The response returned by a call to rasterCollections.rasters.List.+--+-- /See:/ 'rasterCollectionsRastersListResponse' smart constructor.+data RasterCollectionsRastersListResponse = RasterCollectionsRastersListResponse+    { _rcrlrNextPageToken :: !(Maybe Text)+    , _rcrlrRasters       :: !(Maybe [RasterCollectionsRaster])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'RasterCollectionsRastersListResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rcrlrNextPageToken'+--+-- * 'rcrlrRasters'+rasterCollectionsRastersListResponse+    :: RasterCollectionsRastersListResponse+rasterCollectionsRastersListResponse =+    RasterCollectionsRastersListResponse+    { _rcrlrNextPageToken = Nothing+    , _rcrlrRasters = Nothing+    }++-- | Next page token.+rcrlrNextPageToken :: Lens' RasterCollectionsRastersListResponse (Maybe Text)+rcrlrNextPageToken+  = lens _rcrlrNextPageToken+      (\ s a -> s{_rcrlrNextPageToken = a})++-- | Resources returned.+rcrlrRasters :: Lens' RasterCollectionsRastersListResponse [RasterCollectionsRaster]+rcrlrRasters+  = lens _rcrlrRasters (\ s a -> s{_rcrlrRasters = a})+      . _Default+      . _Coerce++instance FromJSON+         RasterCollectionsRastersListResponse where+        parseJSON+          = withObject "RasterCollectionsRastersListResponse"+              (\ o ->+                 RasterCollectionsRastersListResponse <$>+                   (o .:? "nextPageToken") <*>+                     (o .:? "rasters" .!= mempty))++instance ToJSON RasterCollectionsRastersListResponse+         where+        toJSON RasterCollectionsRastersListResponse{..}+          = object+              (catMaybes+                 [("nextPageToken" .=) <$> _rcrlrNextPageToken,+                  ("rasters" .=) <$> _rcrlrRasters])++-- | Multi Line String+--+-- /See:/ 'geoJSONMultiLineString' smart constructor.+data GeoJSONMultiLineString = GeoJSONMultiLineString+    { _gjmlsCoordinates :: !(Maybe [[[Textual Double]]])+    , _gjmlsType        :: !(Maybe GeoJSONMultiLineStringType)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'GeoJSONMultiLineString' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gjmlsCoordinates'+--+-- * 'gjmlsType'+geoJSONMultiLineString+    :: GeoJSONMultiLineString+geoJSONMultiLineString =+    GeoJSONMultiLineString+    { _gjmlsCoordinates = Nothing+    , _gjmlsType = Nothing+    }++-- | An array of at least two GeoJsonLineString coordinate arrays.+gjmlsCoordinates :: Lens' GeoJSONMultiLineString [[[Double]]]+gjmlsCoordinates+  = lens _gjmlsCoordinates+      (\ s a -> s{_gjmlsCoordinates = a})+      . _Default+      . _Coerce++-- | Identifies this object as a GeoJsonMultiLineString.+gjmlsType :: Lens' GeoJSONMultiLineString (Maybe GeoJSONMultiLineStringType)+gjmlsType+  = lens _gjmlsType (\ s a -> s{_gjmlsType = a})++instance FromJSON GeoJSONMultiLineString where+        parseJSON+          = withObject "GeoJSONMultiLineString"+              (\ o ->+                 GeoJSONMultiLineString <$>+                   (o .:? "coordinates" .!= mempty) <*> (o .:? "type"))++instance ToJSON GeoJSONMultiLineString where+        toJSON GeoJSONMultiLineString{..}+          = object+              (catMaybes+                 [("coordinates" .=) <$> _gjmlsCoordinates,+                  ("type" .=) <$> _gjmlsType])++-- | Parameters for scaling scaled shapes.+--+-- /See:/ 'scalingFunction' smart constructor.+data ScalingFunction = ScalingFunction+    { _sfValueRange  :: !(Maybe ValueRange)+    , _sfSizeRange   :: !(Maybe SizeRange)+    , _sfScalingType :: !(Maybe ScalingFunctionScalingType)+    , _sfColumn      :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ScalingFunction' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sfValueRange'+--+-- * 'sfSizeRange'+--+-- * 'sfScalingType'+--+-- * 'sfColumn'+scalingFunction+    :: ScalingFunction+scalingFunction =+    ScalingFunction+    { _sfValueRange = Nothing+    , _sfSizeRange = Nothing+    , _sfScalingType = Nothing+    , _sfColumn = Nothing+    }++-- | The range of values to display across the size range.+sfValueRange :: Lens' ScalingFunction (Maybe ValueRange)+sfValueRange+  = lens _sfValueRange (\ s a -> s{_sfValueRange = a})++-- | The range of shape sizes, in pixels. For circles, the size corresponds+-- to the diameter.+sfSizeRange :: Lens' ScalingFunction (Maybe SizeRange)+sfSizeRange+  = lens _sfSizeRange (\ s a -> s{_sfSizeRange = a})++-- | The type of scaling function to use. Defaults to SQRT. Currently only+-- linear and square root scaling are supported.+sfScalingType :: Lens' ScalingFunction (Maybe ScalingFunctionScalingType)+sfScalingType+  = lens _sfScalingType+      (\ s a -> s{_sfScalingType = a})++-- | Name of the numeric column used to scale a shape.+sfColumn :: Lens' ScalingFunction (Maybe Text)+sfColumn = lens _sfColumn (\ s a -> s{_sfColumn = a})++instance FromJSON ScalingFunction where+        parseJSON+          = withObject "ScalingFunction"+              (\ o ->+                 ScalingFunction <$>+                   (o .:? "valueRange") <*> (o .:? "sizeRange") <*>+                     (o .:? "scalingType")+                     <*> (o .:? "column"))++instance ToJSON ScalingFunction where+        toJSON ScalingFunction{..}+          = object+              (catMaybes+                 [("valueRange" .=) <$> _sfValueRange,+                  ("sizeRange" .=) <$> _sfSizeRange,+                  ("scalingType" .=) <$> _sfScalingType,+                  ("column" .=) <$> _sfColumn])++-- | The response returned by a call to resources.List.+--+-- /See:/ 'assetsListResponse' smart constructor.+data AssetsListResponse = AssetsListResponse+    { _alrNextPageToken :: !(Maybe (Textual Word8))+    , _alrAssets        :: !(Maybe [Asset])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AssetsListResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'alrNextPageToken'+--+-- * 'alrAssets'+assetsListResponse+    :: AssetsListResponse+assetsListResponse =+    AssetsListResponse+    { _alrNextPageToken = Nothing+    , _alrAssets = Nothing+    }++-- | Next page token.+alrNextPageToken :: Lens' AssetsListResponse (Maybe Word8)+alrNextPageToken+  = lens _alrNextPageToken+      (\ s a -> s{_alrNextPageToken = a})+      . mapping _Coerce++-- | Assets returned.+alrAssets :: Lens' AssetsListResponse [Asset]+alrAssets+  = lens _alrAssets (\ s a -> s{_alrAssets = a}) .+      _Default+      . _Coerce++instance FromJSON AssetsListResponse where+        parseJSON+          = withObject "AssetsListResponse"+              (\ o ->+                 AssetsListResponse <$>+                   (o .:? "nextPageToken") <*>+                     (o .:? "assets" .!= mempty))++instance ToJSON AssetsListResponse where+        toJSON AssetsListResponse{..}+          = object+              (catMaybes+                 [("nextPageToken" .=) <$> _alrNextPageToken,+                  ("assets" .=) <$> _alrAssets])++-- | The response returned by a call to any asset\'s Publish method.+--+-- /See:/ 'publishResponse' smart constructor.+data PublishResponse =+    PublishResponse+    deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PublishResponse' with the minimum fields required to make a request.+--+publishResponse+    :: PublishResponse+publishResponse = PublishResponse++instance FromJSON PublishResponse where+        parseJSON+          = withObject "PublishResponse"+              (\ o -> pure PublishResponse)++instance ToJSON PublishResponse where+        toJSON = const emptyObject++-- | The request sent to features.Insert.+--+-- /See:/ 'featuresBatchInsertRequest' smart constructor.+data FeaturesBatchInsertRequest = FeaturesBatchInsertRequest+    { _fbirFeatures            :: !(Maybe [Feature])+    , _fbirNormalizeGeometries :: !Bool+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'FeaturesBatchInsertRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'fbirFeatures'+--+-- * 'fbirNormalizeGeometries'+featuresBatchInsertRequest+    :: FeaturesBatchInsertRequest+featuresBatchInsertRequest =+    FeaturesBatchInsertRequest+    { _fbirFeatures = Nothing+    , _fbirNormalizeGeometries = True+    }++fbirFeatures :: Lens' FeaturesBatchInsertRequest [Feature]+fbirFeatures+  = lens _fbirFeatures (\ s a -> s{_fbirFeatures = a})+      . _Default+      . _Coerce++-- | If true, the server will normalize feature geometries. It is assumed+-- that the South Pole is exterior to any polygons given. See here for a+-- list of normalizations. If false, all feature geometries must be given+-- already normalized. The points in all LinearRings must be listed in+-- counter-clockwise order, and LinearRings may not intersect.+fbirNormalizeGeometries :: Lens' FeaturesBatchInsertRequest Bool+fbirNormalizeGeometries+  = lens _fbirNormalizeGeometries+      (\ s a -> s{_fbirNormalizeGeometries = a})++instance FromJSON FeaturesBatchInsertRequest where+        parseJSON+          = withObject "FeaturesBatchInsertRequest"+              (\ o ->+                 FeaturesBatchInsertRequest <$>+                   (o .:? "features" .!= mempty) <*>+                     (o .:? "normalizeGeometries" .!= True))++instance ToJSON FeaturesBatchInsertRequest where+        toJSON FeaturesBatchInsertRequest{..}+          = object+              (catMaybes+                 [("features" .=) <$> _fbirFeatures,+                  Just+                    ("normalizeGeometries" .= _fbirNormalizeGeometries)])++--+-- /See:/ 'datasource' smart constructor.+newtype Datasource = Datasource+    { _dId :: Maybe Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Datasource' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dId'+datasource+    :: Datasource+datasource =+    Datasource+    { _dId = Nothing+    }++-- | The ID of a datasource.+dId :: Lens' Datasource (Maybe Text)+dId = lens _dId (\ s a -> s{_dId = a})++instance FromJSON Datasource where+        parseJSON+          = withObject "Datasource"+              (\ o -> Datasource <$> (o .:? "id"))++instance ToJSON Datasource where+        toJSON Datasource{..}+          = object (catMaybes [("id" .=) <$> _dId])++-- | A raster resource.+--+-- /See:/ 'rasterCollectionsRaster' smart constructor.+data RasterCollectionsRaster = RasterCollectionsRaster+    { _rcrCreationTime     :: !(Maybe DateTime')+    , _rcrRasterType       :: !Text+    , _rcrLastModifiedTime :: !(Maybe DateTime')+    , _rcrName             :: !(Maybe Text)+    , _rcrBbox             :: !(Maybe [Textual Double])+    , _rcrId               :: !(Maybe Text)+    , _rcrProjectId        :: !(Maybe Text)+    , _rcrDescription      :: !(Maybe Text)+    , _rcrTags             :: !(Maybe [Text])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'RasterCollectionsRaster' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rcrCreationTime'+--+-- * 'rcrRasterType'+--+-- * 'rcrLastModifiedTime'+--+-- * 'rcrName'+--+-- * 'rcrBbox'+--+-- * 'rcrId'+--+-- * 'rcrProjectId'+--+-- * 'rcrDescription'+--+-- * 'rcrTags'+rasterCollectionsRaster+    :: RasterCollectionsRaster+rasterCollectionsRaster =+    RasterCollectionsRaster+    { _rcrCreationTime = Nothing+    , _rcrRasterType = "image"+    , _rcrLastModifiedTime = Nothing+    , _rcrName = Nothing+    , _rcrBbox = Nothing+    , _rcrId = Nothing+    , _rcrProjectId = Nothing+    , _rcrDescription = Nothing+    , _rcrTags = Nothing+    }++-- | The creation time of this raster. The value is an RFC 3339 formatted+-- date-time value (e.g. 1970-01-01T00:00:00Z).+rcrCreationTime :: Lens' RasterCollectionsRaster (Maybe UTCTime)+rcrCreationTime+  = lens _rcrCreationTime+      (\ s a -> s{_rcrCreationTime = a})+      . mapping _DateTime++-- | The type of this Raster. Always \"image\" today.+rcrRasterType :: Lens' RasterCollectionsRaster Text+rcrRasterType+  = lens _rcrRasterType+      (\ s a -> s{_rcrRasterType = a})++-- | The last modified time of this raster. The value is an RFC 3339+-- formatted date-time value (e.g. 1970-01-01T00:00:00Z).+rcrLastModifiedTime :: Lens' RasterCollectionsRaster (Maybe UTCTime)+rcrLastModifiedTime+  = lens _rcrLastModifiedTime+      (\ s a -> s{_rcrLastModifiedTime = a})+      . mapping _DateTime++-- | The name of this Raster, supplied by the author.+rcrName :: Lens' RasterCollectionsRaster (Maybe Text)+rcrName = lens _rcrName (\ s a -> s{_rcrName = a})++-- | A rectangular bounding box which contains all of the data in this+-- Raster. The box is expressed as \\\"west, south, east, north\\\". The+-- numbers represent latitudes and longitudes in decimal degrees.+rcrBbox :: Lens' RasterCollectionsRaster [Double]+rcrBbox+  = lens _rcrBbox (\ s a -> s{_rcrBbox = a}) . _Default+      . _Coerce++-- | A globally unique ID, used to refer to this Raster.+rcrId :: Lens' RasterCollectionsRaster (Maybe Text)+rcrId = lens _rcrId (\ s a -> s{_rcrId = a})++-- | The ID of the project that this Raster is in.+rcrProjectId :: Lens' RasterCollectionsRaster (Maybe Text)+rcrProjectId+  = lens _rcrProjectId (\ s a -> s{_rcrProjectId = a})++-- | The description of this Raster, supplied by the author.+rcrDescription :: Lens' RasterCollectionsRaster (Maybe Text)+rcrDescription+  = lens _rcrDescription+      (\ s a -> s{_rcrDescription = a})++-- | Tags of this Raster.+rcrTags :: Lens' RasterCollectionsRaster [Text]+rcrTags+  = lens _rcrTags (\ s a -> s{_rcrTags = a}) . _Default+      . _Coerce++instance FromJSON RasterCollectionsRaster where+        parseJSON+          = withObject "RasterCollectionsRaster"+              (\ o ->+                 RasterCollectionsRaster <$>+                   (o .:? "creationTime") <*>+                     (o .:? "rasterType" .!= "image")+                     <*> (o .:? "lastModifiedTime")+                     <*> (o .:? "name")+                     <*> (o .:? "bbox" .!= mempty)+                     <*> (o .:? "id")+                     <*> (o .:? "projectId")+                     <*> (o .:? "description")+                     <*> (o .:? "tags" .!= mempty))++instance ToJSON RasterCollectionsRaster where+        toJSON RasterCollectionsRaster{..}+          = object+              (catMaybes+                 [("creationTime" .=) <$> _rcrCreationTime,+                  Just ("rasterType" .= _rcrRasterType),+                  ("lastModifiedTime" .=) <$> _rcrLastModifiedTime,+                  ("name" .=) <$> _rcrName, ("bbox" .=) <$> _rcrBbox,+                  ("id" .=) <$> _rcrId,+                  ("projectId" .=) <$> _rcrProjectId,+                  ("description" .=) <$> _rcrDescription,+                  ("tags" .=) <$> _rcrTags])++-- | Conditions for filtering features.+--+-- /See:/ 'filter'' smart constructor.+data Filter = Filter+    { _fOperator :: !(Maybe FilterOperator)+    , _fValue    :: !(Maybe JSONValue)+    , _fColumn   :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Filter' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'fOperator'+--+-- * 'fValue'+--+-- * 'fColumn'+filter'+    :: Filter+filter' =+    Filter+    { _fOperator = Nothing+    , _fValue = Nothing+    , _fColumn = Nothing+    }++-- | Operation used to evaluate the filter.+fOperator :: Lens' Filter (Maybe FilterOperator)+fOperator+  = lens _fOperator (\ s a -> s{_fOperator = a})++-- | Value to be evaluated against attribute.+fValue :: Lens' Filter (Maybe JSONValue)+fValue = lens _fValue (\ s a -> s{_fValue = a})++-- | The column name to filter on.+fColumn :: Lens' Filter (Maybe Text)+fColumn = lens _fColumn (\ s a -> s{_fColumn = a})++instance FromJSON Filter where+        parseJSON+          = withObject "Filter"+              (\ o ->+                 Filter <$>+                   (o .:? "operator") <*> (o .:? "value") <*>+                     (o .:? "column"))++instance ToJSON Filter where+        toJSON Filter{..}+          = object+              (catMaybes+                 [("operator" .=) <$> _fOperator,+                  ("value" .=) <$> _fValue,+                  ("column" .=) <$> _fColumn])++--+-- /See:/ 'geoJSONMultiPoint' smart constructor.+data GeoJSONMultiPoint = GeoJSONMultiPoint+    { _gjmpCoordinates :: !(Maybe [[Textual Double]])+    , _gjmpType        :: !(Maybe GeoJSONMultiPointType)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'GeoJSONMultiPoint' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gjmpCoordinates'+--+-- * 'gjmpType'+geoJSONMultiPoint+    :: GeoJSONMultiPoint+geoJSONMultiPoint =+    GeoJSONMultiPoint+    { _gjmpCoordinates = Nothing+    , _gjmpType = Nothing+    }++-- | An array of at least two GeoJsonPoint coordinate arrays.+gjmpCoordinates :: Lens' GeoJSONMultiPoint [[Double]]+gjmpCoordinates+  = lens _gjmpCoordinates+      (\ s a -> s{_gjmpCoordinates = a})+      . _Default+      . _Coerce++-- | Identifies this object as a GeoJsonMultiPoint.+gjmpType :: Lens' GeoJSONMultiPoint (Maybe GeoJSONMultiPointType)+gjmpType = lens _gjmpType (\ s a -> s{_gjmpType = a})++instance FromJSON GeoJSONMultiPoint where+        parseJSON+          = withObject "GeoJSONMultiPoint"+              (\ o ->+                 GeoJSONMultiPoint <$>+                   (o .:? "coordinates" .!= mempty) <*> (o .:? "type"))++instance ToJSON GeoJSONMultiPoint where+        toJSON GeoJSONMultiPoint{..}+          = object+              (catMaybes+                 [("coordinates" .=) <$> _gjmpCoordinates,+                  ("type" .=) <$> _gjmpType])++--+-- /See:/ 'geoJSONMultiPolygon' smart constructor.+data GeoJSONMultiPolygon = GeoJSONMultiPolygon+    { _gjsonmpCoordinates :: !(Maybe [[[[Textual Double]]]])+    , _gjsonmpType        :: !(Maybe GeoJSONMultiPolygonType)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'GeoJSONMultiPolygon' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gjsonmpCoordinates'+--+-- * 'gjsonmpType'+geoJSONMultiPolygon+    :: GeoJSONMultiPolygon+geoJSONMultiPolygon =+    GeoJSONMultiPolygon+    { _gjsonmpCoordinates = Nothing+    , _gjsonmpType = Nothing+    }++-- | An array of at least two GeoJsonPolygon coordinate arrays.+gjsonmpCoordinates :: Lens' GeoJSONMultiPolygon [[[[Double]]]]+gjsonmpCoordinates+  = lens _gjsonmpCoordinates+      (\ s a -> s{_gjsonmpCoordinates = a})+      . _Default+      . _Coerce++-- | Identifies this object as a GeoJsonMultiPolygon.+gjsonmpType :: Lens' GeoJSONMultiPolygon (Maybe GeoJSONMultiPolygonType)+gjsonmpType+  = lens _gjsonmpType (\ s a -> s{_gjsonmpType = a})++instance FromJSON GeoJSONMultiPolygon where+        parseJSON+          = withObject "GeoJSONMultiPolygon"+              (\ o ->+                 GeoJSONMultiPolygon <$>+                   (o .:? "coordinates" .!= mempty) <*> (o .:? "type"))++instance ToJSON GeoJSONMultiPolygon where+        toJSON GeoJSONMultiPolygon{..}+          = object+              (catMaybes+                 [("coordinates" .=) <$> _gjsonmpCoordinates,+                  ("type" .=) <$> _gjsonmpType])++-- | A Layer combines multiple datasources, with styling information, for+-- presentation on a map.+--+-- /See:/ 'layer' smart constructor.+data Layer = Layer+    { _layCreationTime              :: !(Maybe DateTime')+    , _layWritersCanEditPermissions :: !(Maybe Bool)+    , _layStyle                     :: !(Maybe VectorStyle)+    , _layEtag                      :: !(Maybe Text)+    , _layDatasourceType            :: !(Maybe LayerDatasourceType)+    , _layPublishingStatus          :: !(Maybe LayerPublishingStatus)+    , _layCreatorEmail              :: !(Maybe Text)+    , _layLayerType                 :: !(Maybe LayerLayerType)+    , _layLastModifiedTime          :: !(Maybe DateTime')+    , _layDatasources               :: !(Maybe [Datasource])+    , _layLastModifierEmail         :: !(Maybe Text)+    , _layName                      :: !(Maybe Text)+    , _layBbox                      :: !(Maybe [Textual Double])+    , _layProcessingStatus          :: !(Maybe LayerProcessingStatus)+    , _layId                        :: !(Maybe Text)+    , _layProjectId                 :: !(Maybe Text)+    , _layDraftAccessList           :: !(Maybe Text)+    , _layPublishedAccessList       :: !(Maybe Text)+    , _layDescription               :: !(Maybe Text)+    , _layTags                      :: !(Maybe [Text])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Layer' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'layCreationTime'+--+-- * 'layWritersCanEditPermissions'+--+-- * 'layStyle'+--+-- * 'layEtag'+--+-- * 'layDatasourceType'+--+-- * 'layPublishingStatus'+--+-- * 'layCreatorEmail'+--+-- * 'layLayerType'+--+-- * 'layLastModifiedTime'+--+-- * 'layDatasources'+--+-- * 'layLastModifierEmail'+--+-- * 'layName'+--+-- * 'layBbox'+--+-- * 'layProcessingStatus'+--+-- * 'layId'+--+-- * 'layProjectId'+--+-- * 'layDraftAccessList'+--+-- * 'layPublishedAccessList'+--+-- * 'layDescription'+--+-- * 'layTags'+layer+    :: Layer+layer =+    Layer+    { _layCreationTime = Nothing+    , _layWritersCanEditPermissions = Nothing+    , _layStyle = Nothing+    , _layEtag = Nothing+    , _layDatasourceType = Nothing+    , _layPublishingStatus = Nothing+    , _layCreatorEmail = Nothing+    , _layLayerType = Nothing+    , _layLastModifiedTime = Nothing+    , _layDatasources = Nothing+    , _layLastModifierEmail = Nothing+    , _layName = Nothing+    , _layBbox = Nothing+    , _layProcessingStatus = Nothing+    , _layId = Nothing+    , _layProjectId = Nothing+    , _layDraftAccessList = Nothing+    , _layPublishedAccessList = Nothing+    , _layDescription = Nothing+    , _layTags = Nothing+    }++-- | The creation time of this layer. The value is an RFC 3339 formatted+-- date-time value (e.g. 1970-01-01T00:00:00Z).+layCreationTime :: Lens' Layer (Maybe UTCTime)+layCreationTime+  = lens _layCreationTime+      (\ s a -> s{_layCreationTime = a})+      . mapping _DateTime++-- | If true, WRITERs of the asset are able to edit the asset permissions.+layWritersCanEditPermissions :: Lens' Layer (Maybe Bool)+layWritersCanEditPermissions+  = lens _layWritersCanEditPermissions+      (\ s a -> s{_layWritersCanEditPermissions = a})++-- | The styling information for a vector layer. Note: Style information is+-- returned in response to a get request but not a list request. After+-- requesting a list of layers, you\'ll need to send a get request to+-- retrieve the VectorStyles for each layer.+layStyle :: Lens' Layer (Maybe VectorStyle)+layStyle = lens _layStyle (\ s a -> s{_layStyle = a})++-- | The ETag, used to refer to the current version of the asset.+layEtag :: Lens' Layer (Maybe Text)+layEtag = lens _layEtag (\ s a -> s{_layEtag = a})++-- | Deprecated: The type of the datasources used to build this Layer. Note:+-- This has been replaced by layerType, but is still available for now to+-- maintain backward compatibility.+layDatasourceType :: Lens' Layer (Maybe LayerDatasourceType)+layDatasourceType+  = lens _layDatasourceType+      (\ s a -> s{_layDatasourceType = a})++-- | The publishing status of this layer.+layPublishingStatus :: Lens' Layer (Maybe LayerPublishingStatus)+layPublishingStatus+  = lens _layPublishingStatus+      (\ s a -> s{_layPublishingStatus = a})++-- | The email address of the creator of this layer. This is only returned on+-- GET requests and not LIST requests.+layCreatorEmail :: Lens' Layer (Maybe Text)+layCreatorEmail+  = lens _layCreatorEmail+      (\ s a -> s{_layCreatorEmail = a})++-- | The type of the datasources used to build this Layer. This should be+-- used instead of datasourceType. At least one of layerType and+-- datasourceType and must be specified, but layerType takes precedence.+layLayerType :: Lens' Layer (Maybe LayerLayerType)+layLayerType+  = lens _layLayerType (\ s a -> s{_layLayerType = a})++-- | The last modified time of this layer. The value is an RFC 3339 formatted+-- date-time value (e.g. 1970-01-01T00:00:00Z).+layLastModifiedTime :: Lens' Layer (Maybe UTCTime)+layLastModifiedTime+  = lens _layLastModifiedTime+      (\ s a -> s{_layLastModifiedTime = a})+      . mapping _DateTime++-- | An array of datasources used to build this layer. If layerType is+-- \"image\", or layerType is not specified and datasourceType is+-- \"image\", then each element in this array is a reference to an Image or+-- RasterCollection. If layerType is \"vector\", or layerType is not+-- specified and datasourceType is \"table\" then each element in this+-- array is a reference to a Vector Table.+layDatasources :: Lens' Layer [Datasource]+layDatasources+  = lens _layDatasources+      (\ s a -> s{_layDatasources = a})+      . _Default+      . _Coerce++-- | The email address of the last modifier of this layer. This is only+-- returned on GET requests and not LIST requests.+layLastModifierEmail :: Lens' Layer (Maybe Text)+layLastModifierEmail+  = lens _layLastModifierEmail+      (\ s a -> s{_layLastModifierEmail = a})++-- | The name of this Layer, supplied by the author.+layName :: Lens' Layer (Maybe Text)+layName = lens _layName (\ s a -> s{_layName = a})++-- | A rectangular bounding box which contains all of the data in this Layer.+-- The box is expressed as \\\"west, south, east, north\\\". The numbers+-- represent latitude and longitude in decimal degrees.+layBbox :: Lens' Layer [Double]+layBbox+  = lens _layBbox (\ s a -> s{_layBbox = a}) . _Default+      . _Coerce++-- | The processing status of this layer.+layProcessingStatus :: Lens' Layer (Maybe LayerProcessingStatus)+layProcessingStatus+  = lens _layProcessingStatus+      (\ s a -> s{_layProcessingStatus = a})++-- | A globally unique ID, used to refer to this Layer.+layId :: Lens' Layer (Maybe Text)+layId = lens _layId (\ s a -> s{_layId = a})++-- | The ID of the project that this Layer is in.+layProjectId :: Lens' Layer (Maybe Text)+layProjectId+  = lens _layProjectId (\ s a -> s{_layProjectId = a})++-- | Deprecated: The name of an access list of the Map Editor type. The user+-- on whose behalf the request is being sent must be an editor on that+-- access list. Note: Google Maps Engine no longer uses access lists.+-- Instead, each asset has its own list of permissions. For backward+-- compatibility, the API still accepts access lists for projects that are+-- already using access lists. If you created a GME account\/project after+-- July 14th, 2014, you will not be able to send API requests that include+-- access lists. Note: This is an input field only. It is not returned in+-- response to a list or get request.+layDraftAccessList :: Lens' Layer (Maybe Text)+layDraftAccessList+  = lens _layDraftAccessList+      (\ s a -> s{_layDraftAccessList = a})++-- | Deprecated: The access list to whom view permissions are granted. The+-- value must be the name of a Maps Engine access list of the Map Viewer+-- type, and the user must be a viewer on that list. Note: Google Maps+-- Engine no longer uses access lists. Instead, each asset has its own list+-- of permissions. For backward compatibility, the API still accepts access+-- lists for projects that are already using access lists. If you created a+-- GME account\/project after July 14th, 2014, you will not be able to send+-- API requests that include access lists. Note: This is an input field+-- only. It is not returned in response to a list or get request.+layPublishedAccessList :: Lens' Layer (Maybe Text)+layPublishedAccessList+  = lens _layPublishedAccessList+      (\ s a -> s{_layPublishedAccessList = a})++-- | The description of this Layer, supplied by the author.+layDescription :: Lens' Layer (Maybe Text)+layDescription+  = lens _layDescription+      (\ s a -> s{_layDescription = a})++-- | Tags of this Layer.+layTags :: Lens' Layer [Text]+layTags+  = lens _layTags (\ s a -> s{_layTags = a}) . _Default+      . _Coerce++instance FromJSON Layer where+        parseJSON+          = withObject "Layer"+              (\ o ->+                 Layer <$>+                   (o .:? "creationTime") <*>+                     (o .:? "writersCanEditPermissions")+                     <*> (o .:? "style")+                     <*> (o .:? "etag")+                     <*> (o .:? "datasourceType")+                     <*> (o .:? "publishingStatus")+                     <*> (o .:? "creatorEmail")+                     <*> (o .:? "layerType")+                     <*> (o .:? "lastModifiedTime")+                     <*> (o .:? "datasources")+                     <*> (o .:? "lastModifierEmail")+                     <*> (o .:? "name")+                     <*> (o .:? "bbox" .!= mempty)+                     <*> (o .:? "processingStatus")+                     <*> (o .:? "id")+                     <*> (o .:? "projectId")+                     <*> (o .:? "draftAccessList")+                     <*> (o .:? "publishedAccessList")+                     <*> (o .:? "description")+                     <*> (o .:? "tags"))++instance ToJSON Layer where+        toJSON Layer{..}+          = object+              (catMaybes+                 [("creationTime" .=) <$> _layCreationTime,+                  ("writersCanEditPermissions" .=) <$>+                    _layWritersCanEditPermissions,+                  ("style" .=) <$> _layStyle, ("etag" .=) <$> _layEtag,+                  ("datasourceType" .=) <$> _layDatasourceType,+                  ("publishingStatus" .=) <$> _layPublishingStatus,+                  ("creatorEmail" .=) <$> _layCreatorEmail,+                  ("layerType" .=) <$> _layLayerType,+                  ("lastModifiedTime" .=) <$> _layLastModifiedTime,+                  ("datasources" .=) <$> _layDatasources,+                  ("lastModifierEmail" .=) <$> _layLastModifierEmail,+                  ("name" .=) <$> _layName, ("bbox" .=) <$> _layBbox,+                  ("processingStatus" .=) <$> _layProcessingStatus,+                  ("id" .=) <$> _layId,+                  ("projectId" .=) <$> _layProjectId,+                  ("draftAccessList" .=) <$> _layDraftAccessList,+                  ("publishedAccessList" .=) <$>+                    _layPublishedAccessList,+                  ("description" .=) <$> _layDescription,+                  ("tags" .=) <$> _layTags])++-- | Style for points.+--+-- /See:/ 'pointStyle' smart constructor.+data PointStyle = PointStyle+    { _psIcon  :: !(Maybe IconStyle)+    , _psLabel :: !(Maybe LabelStyle)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PointStyle' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'psIcon'+--+-- * 'psLabel'+pointStyle+    :: PointStyle+pointStyle =+    PointStyle+    { _psIcon = Nothing+    , _psLabel = Nothing+    }++-- | Icon for the point; if it isn\'t null, exactly one of \'name\', \'id\'+-- or \'scaledShape\' must be set.+psIcon :: Lens' PointStyle (Maybe IconStyle)+psIcon = lens _psIcon (\ s a -> s{_psIcon = a})++-- | Label style for the point.+psLabel :: Lens' PointStyle (Maybe LabelStyle)+psLabel = lens _psLabel (\ s a -> s{_psLabel = a})++instance FromJSON PointStyle where+        parseJSON+          = withObject "PointStyle"+              (\ o ->+                 PointStyle <$> (o .:? "icon") <*> (o .:? "label"))++instance ToJSON PointStyle where+        toJSON PointStyle{..}+          = object+              (catMaybes+                 [("icon" .=) <$> _psIcon, ("label" .=) <$> _psLabel])++-- | A geo-referenced raster.+--+-- /See:/ 'raster' smart constructor.+data Raster = Raster+    { _rrCreationTime              :: !(Maybe DateTime')+    , _rrWritersCanEditPermissions :: !(Maybe Bool)+    , _rrMaskType                  :: !Text+    , _rrEtag                      :: !(Maybe Text)+    , _rrCreatorEmail              :: !(Maybe Text)+    , _rrRasterType                :: !(Maybe RasterRasterType)+    , _rrLastModifiedTime          :: !(Maybe DateTime')+    , _rrLastModifierEmail         :: !(Maybe Text)+    , _rrAcquisitionTime           :: !(Maybe AcquisitionTime)+    , _rrName                      :: !(Maybe Text)+    , _rrBbox                      :: !(Maybe [Textual Double])+    , _rrProcessingStatus          :: !(Maybe RasterProcessingStatus)+    , _rrFiles                     :: !(Maybe [File])+    , _rrId                        :: !(Maybe Text)+    , _rrProjectId                 :: !(Maybe Text)+    , _rrDraftAccessList           :: !(Maybe Text)+    , _rrDescription               :: !(Maybe Text)+    , _rrAttribution               :: !(Maybe Text)+    , _rrTags                      :: !(Maybe [Text])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Raster' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rrCreationTime'+--+-- * 'rrWritersCanEditPermissions'+--+-- * 'rrMaskType'+--+-- * 'rrEtag'+--+-- * 'rrCreatorEmail'+--+-- * 'rrRasterType'+--+-- * 'rrLastModifiedTime'+--+-- * 'rrLastModifierEmail'+--+-- * 'rrAcquisitionTime'+--+-- * 'rrName'+--+-- * 'rrBbox'+--+-- * 'rrProcessingStatus'+--+-- * 'rrFiles'+--+-- * 'rrId'+--+-- * 'rrProjectId'+--+-- * 'rrDraftAccessList'+--+-- * 'rrDescription'+--+-- * 'rrAttribution'+--+-- * 'rrTags'+raster+    :: Raster+raster =+    Raster+    { _rrCreationTime = Nothing+    , _rrWritersCanEditPermissions = Nothing+    , _rrMaskType = "autoMask"+    , _rrEtag = Nothing+    , _rrCreatorEmail = Nothing+    , _rrRasterType = Nothing+    , _rrLastModifiedTime = Nothing+    , _rrLastModifierEmail = Nothing+    , _rrAcquisitionTime = Nothing+    , _rrName = Nothing+    , _rrBbox = Nothing+    , _rrProcessingStatus = Nothing+    , _rrFiles = Nothing+    , _rrId = Nothing+    , _rrProjectId = Nothing+    , _rrDraftAccessList = Nothing+    , _rrDescription = Nothing+    , _rrAttribution = Nothing+    , _rrTags = Nothing+    }++-- | The creation time of this raster. The value is an RFC 3339 formatted+-- date-time value (e.g. 1970-01-01T00:00:00Z).+rrCreationTime :: Lens' Raster (Maybe UTCTime)+rrCreationTime+  = lens _rrCreationTime+      (\ s a -> s{_rrCreationTime = a})+      . mapping _DateTime++-- | If true, WRITERs of the asset are able to edit the asset permissions.+rrWritersCanEditPermissions :: Lens' Raster (Maybe Bool)+rrWritersCanEditPermissions+  = lens _rrWritersCanEditPermissions+      (\ s a -> s{_rrWritersCanEditPermissions = a})++-- | The mask processing type of this Raster.+rrMaskType :: Lens' Raster Text+rrMaskType+  = lens _rrMaskType (\ s a -> s{_rrMaskType = a})++-- | The ETag, used to refer to the current version of the asset.+rrEtag :: Lens' Raster (Maybe Text)+rrEtag = lens _rrEtag (\ s a -> s{_rrEtag = a})++-- | The email address of the creator of this raster. This is only returned+-- on GET requests and not LIST requests.+rrCreatorEmail :: Lens' Raster (Maybe Text)+rrCreatorEmail+  = lens _rrCreatorEmail+      (\ s a -> s{_rrCreatorEmail = a})++-- | The type of this Raster. Always \"image\" today.+rrRasterType :: Lens' Raster (Maybe RasterRasterType)+rrRasterType+  = lens _rrRasterType (\ s a -> s{_rrRasterType = a})++-- | The last modified time of this raster. The value is an RFC 3339+-- formatted date-time value (e.g. 1970-01-01T00:00:00Z).+rrLastModifiedTime :: Lens' Raster (Maybe UTCTime)+rrLastModifiedTime+  = lens _rrLastModifiedTime+      (\ s a -> s{_rrLastModifiedTime = a})+      . mapping _DateTime++-- | The email address of the last modifier of this raster. This is only+-- returned on GET requests and not LIST requests.+rrLastModifierEmail :: Lens' Raster (Maybe Text)+rrLastModifierEmail+  = lens _rrLastModifierEmail+      (\ s a -> s{_rrLastModifierEmail = a})++-- | The acquisition time of this Raster.+rrAcquisitionTime :: Lens' Raster (Maybe AcquisitionTime)+rrAcquisitionTime+  = lens _rrAcquisitionTime+      (\ s a -> s{_rrAcquisitionTime = a})++-- | The name of this Raster, supplied by the author.+rrName :: Lens' Raster (Maybe Text)+rrName = lens _rrName (\ s a -> s{_rrName = a})++-- | A rectangular bounding box which contains all of the data in this+-- Raster. The box is expressed as \\\"west, south, east, north\\\". The+-- numbers represent latitudes and longitudes in decimal degrees.+rrBbox :: Lens' Raster [Double]+rrBbox+  = lens _rrBbox (\ s a -> s{_rrBbox = a}) . _Default .+      _Coerce++-- | The processing status of this Raster.+rrProcessingStatus :: Lens' Raster (Maybe RasterProcessingStatus)+rrProcessingStatus+  = lens _rrProcessingStatus+      (\ s a -> s{_rrProcessingStatus = a})++-- | The files associated with this Raster.+rrFiles :: Lens' Raster [File]+rrFiles+  = lens _rrFiles (\ s a -> s{_rrFiles = a}) . _Default+      . _Coerce++-- | A globally unique ID, used to refer to this Raster.+rrId :: Lens' Raster (Maybe Text)+rrId = lens _rrId (\ s a -> s{_rrId = a})++-- | The ID of the project that this Raster is in.+rrProjectId :: Lens' Raster (Maybe Text)+rrProjectId+  = lens _rrProjectId (\ s a -> s{_rrProjectId = a})++-- | Deprecated: The name of an access list of the Map Editor type. The user+-- on whose behalf the request is being sent must be an editor on that+-- access list. Note: Google Maps Engine no longer uses access lists.+-- Instead, each asset has its own list of permissions. For backward+-- compatibility, the API still accepts access lists for projects that are+-- already using access lists. If you created a GME account\/project after+-- July 14th, 2014, you will not be able to send API requests that include+-- access lists. Note: This is an input field only. It is not returned in+-- response to a list or get request.+rrDraftAccessList :: Lens' Raster (Maybe Text)+rrDraftAccessList+  = lens _rrDraftAccessList+      (\ s a -> s{_rrDraftAccessList = a})++-- | The description of this Raster, supplied by the author.+rrDescription :: Lens' Raster (Maybe Text)+rrDescription+  = lens _rrDescription+      (\ s a -> s{_rrDescription = a})++-- | The name of the attribution to be used for this Raster.+rrAttribution :: Lens' Raster (Maybe Text)+rrAttribution+  = lens _rrAttribution+      (\ s a -> s{_rrAttribution = a})++-- | Tags of this Raster.+rrTags :: Lens' Raster [Text]+rrTags+  = lens _rrTags (\ s a -> s{_rrTags = a}) . _Default .+      _Coerce++instance FromJSON Raster where+        parseJSON+          = withObject "Raster"+              (\ o ->+                 Raster <$>+                   (o .:? "creationTime") <*>+                     (o .:? "writersCanEditPermissions")+                     <*> (o .:? "maskType" .!= "autoMask")+                     <*> (o .:? "etag")+                     <*> (o .:? "creatorEmail")+                     <*> (o .:? "rasterType")+                     <*> (o .:? "lastModifiedTime")+                     <*> (o .:? "lastModifierEmail")+                     <*> (o .:? "acquisitionTime")+                     <*> (o .:? "name")+                     <*> (o .:? "bbox" .!= mempty)+                     <*> (o .:? "processingStatus")+                     <*> (o .:? "files" .!= mempty)+                     <*> (o .:? "id")+                     <*> (o .:? "projectId")+                     <*> (o .:? "draftAccessList")+                     <*> (o .:? "description")+                     <*> (o .:? "attribution")+                     <*> (o .:? "tags"))++instance ToJSON Raster where+        toJSON Raster{..}+          = object+              (catMaybes+                 [("creationTime" .=) <$> _rrCreationTime,+                  ("writersCanEditPermissions" .=) <$>+                    _rrWritersCanEditPermissions,+                  Just ("maskType" .= _rrMaskType),+                  ("etag" .=) <$> _rrEtag,+                  ("creatorEmail" .=) <$> _rrCreatorEmail,+                  ("rasterType" .=) <$> _rrRasterType,+                  ("lastModifiedTime" .=) <$> _rrLastModifiedTime,+                  ("lastModifierEmail" .=) <$> _rrLastModifierEmail,+                  ("acquisitionTime" .=) <$> _rrAcquisitionTime,+                  ("name" .=) <$> _rrName, ("bbox" .=) <$> _rrBbox,+                  ("processingStatus" .=) <$> _rrProcessingStatus,+                  ("files" .=) <$> _rrFiles, ("id" .=) <$> _rrId,+                  ("projectId" .=) <$> _rrProjectId,+                  ("draftAccessList" .=) <$> _rrDraftAccessList,+                  ("description" .=) <$> _rrDescription,+                  ("attribution" .=) <$> _rrAttribution,+                  ("tags" .=) <$> _rrTags])++-- | Style for polygons.+--+-- /See:/ 'polygonStyle' smart constructor.+data PolygonStyle = PolygonStyle+    { _pStroke :: !(Maybe BOrder)+    , _pFill   :: !(Maybe Color)+    , _pLabel  :: !(Maybe LabelStyle)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PolygonStyle' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pStroke'+--+-- * 'pFill'+--+-- * 'pLabel'+polygonStyle+    :: PolygonStyle+polygonStyle =+    PolygonStyle+    { _pStroke = Nothing+    , _pFill = Nothing+    , _pLabel = Nothing+    }++-- | Border of the polygon. 0 \< border.width \<= 10.+pStroke :: Lens' PolygonStyle (Maybe BOrder)+pStroke = lens _pStroke (\ s a -> s{_pStroke = a})++-- | Fill color of the polygon. If not provided, the polygon will be+-- transparent and not visible if there is no border.+pFill :: Lens' PolygonStyle (Maybe Color)+pFill = lens _pFill (\ s a -> s{_pFill = a})++-- | Label style for the polygon.+pLabel :: Lens' PolygonStyle (Maybe LabelStyle)+pLabel = lens _pLabel (\ s a -> s{_pLabel = a})++instance FromJSON PolygonStyle where+        parseJSON+          = withObject "PolygonStyle"+              (\ o ->+                 PolygonStyle <$>+                   (o .:? "stroke") <*> (o .:? "fill") <*>+                     (o .:? "label"))++instance ToJSON PolygonStyle where+        toJSON PolygonStyle{..}+          = object+              (catMaybes+                 [("stroke" .=) <$> _pStroke, ("fill" .=) <$> _pFill,+                  ("label" .=) <$> _pLabel])++-- | A permission defines the user or group that has access to an asset, and+-- the type of access they have.+--+-- /See:/ 'permission' smart constructor.+data Permission = Permission+    { _perRole         :: !(Maybe PermissionRole)+    , _perId           :: !(Maybe Text)+    , _perType         :: !(Maybe PermissionType)+    , _perDiscoverable :: !(Maybe Bool)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Permission' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'perRole'+--+-- * 'perId'+--+-- * 'perType'+--+-- * 'perDiscoverable'+permission+    :: Permission+permission =+    Permission+    { _perRole = Nothing+    , _perId = Nothing+    , _perType = Nothing+    , _perDiscoverable = Nothing+    }++-- | The type of access granted to this user or group.+perRole :: Lens' Permission (Maybe PermissionRole)+perRole = lens _perRole (\ s a -> s{_perRole = a})++-- | The unique identifier of the permission. This could be the email address+-- of the user or group this permission refers to, or the string \"anyone\"+-- for public permissions.+perId :: Lens' Permission (Maybe Text)+perId = lens _perId (\ s a -> s{_perId = a})++-- | The account type.+perType :: Lens' Permission (Maybe PermissionType)+perType = lens _perType (\ s a -> s{_perType = a})++-- | Indicates whether a public asset is listed and can be found via a web+-- search (value true), or is visible only to people who have a link to the+-- asset (value false).+perDiscoverable :: Lens' Permission (Maybe Bool)+perDiscoverable+  = lens _perDiscoverable+      (\ s a -> s{_perDiscoverable = a})++instance FromJSON Permission where+        parseJSON+          = withObject "Permission"+              (\ o ->+                 Permission <$>+                   (o .:? "role") <*> (o .:? "id") <*> (o .:? "type")+                     <*> (o .:? "discoverable"))++instance ToJSON Permission where+        toJSON Permission{..}+          = object+              (catMaybes+                 [("role" .=) <$> _perRole, ("id" .=) <$> _perId,+                  ("type" .=) <$> _perType,+                  ("discoverable" .=) <$> _perDiscoverable])++-- | The published version of a layer.+--+-- /See:/ 'publishedLayer' smart constructor.+data PublishedLayer = PublishedLayer+    { _plLayerType   :: !(Maybe PublishedLayerLayerType)+    , _plName        :: !(Maybe Text)+    , _plId          :: !(Maybe Text)+    , _plProjectId   :: !(Maybe Text)+    , _plDescription :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PublishedLayer' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'plLayerType'+--+-- * 'plName'+--+-- * 'plId'+--+-- * 'plProjectId'+--+-- * 'plDescription'+publishedLayer+    :: PublishedLayer+publishedLayer =+    PublishedLayer+    { _plLayerType = Nothing+    , _plName = Nothing+    , _plId = Nothing+    , _plProjectId = Nothing+    , _plDescription = Nothing+    }++-- | The type of the datasources used to build this Layer. This should be+-- used instead of datasourceType. At least one of layerType and+-- datasourceType and must be specified, but layerType takes precedence.+plLayerType :: Lens' PublishedLayer (Maybe PublishedLayerLayerType)+plLayerType+  = lens _plLayerType (\ s a -> s{_plLayerType = a})++-- | The name of this Layer, supplied by the author.+plName :: Lens' PublishedLayer (Maybe Text)+plName = lens _plName (\ s a -> s{_plName = a})++-- | A globally unique ID, used to refer to this Layer.+plId :: Lens' PublishedLayer (Maybe Text)+plId = lens _plId (\ s a -> s{_plId = a})++-- | The ID of the project that this Layer is in.+plProjectId :: Lens' PublishedLayer (Maybe Text)+plProjectId+  = lens _plProjectId (\ s a -> s{_plProjectId = a})++-- | The description of this Layer, supplied by the author.+plDescription :: Lens' PublishedLayer (Maybe Text)+plDescription+  = lens _plDescription+      (\ s a -> s{_plDescription = a})++instance FromJSON PublishedLayer where+        parseJSON+          = withObject "PublishedLayer"+              (\ o ->+                 PublishedLayer <$>+                   (o .:? "layerType") <*> (o .:? "name") <*>+                     (o .:? "id")+                     <*> (o .:? "projectId")+                     <*> (o .:? "description"))++instance ToJSON PublishedLayer where+        toJSON PublishedLayer{..}+          = object+              (catMaybes+                 [("layerType" .=) <$> _plLayerType,+                  ("name" .=) <$> _plName, ("id" .=) <$> _plId,+                  ("projectId" .=) <$> _plProjectId,+                  ("description" .=) <$> _plDescription])++-- | A collection of geographic features, and associated metadata.+--+-- /See:/ 'table' smart constructor.+data Table = Table+    { _tabCreationTime              :: !(Maybe DateTime')+    , _tabWritersCanEditPermissions :: !(Maybe Bool)+    , _tabEtag                      :: !(Maybe Text)+    , _tabCreatorEmail              :: !(Maybe Text)+    , _tabLastModifiedTime          :: !(Maybe DateTime')+    , _tabSchema                    :: !(Maybe Schema)+    , _tabLastModifierEmail         :: !(Maybe Text)+    , _tabName                      :: !(Maybe Text)+    , _tabBbox                      :: !(Maybe [Textual Double])+    , _tabProcessingStatus          :: !(Maybe TableProcessingStatus)+    , _tabFiles                     :: !(Maybe [File])+    , _tabId                        :: !(Maybe Text)+    , _tabProjectId                 :: !(Maybe Text)+    , _tabDraftAccessList           :: !(Maybe Text)+    , _tabPublishedAccessList       :: !(Maybe Text)+    , _tabSourceEncoding            :: !Text+    , _tabDescription               :: !(Maybe Text)+    , _tabTags                      :: !(Maybe [Text])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Table' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tabCreationTime'+--+-- * 'tabWritersCanEditPermissions'+--+-- * 'tabEtag'+--+-- * 'tabCreatorEmail'+--+-- * 'tabLastModifiedTime'+--+-- * 'tabSchema'+--+-- * 'tabLastModifierEmail'+--+-- * 'tabName'+--+-- * 'tabBbox'+--+-- * 'tabProcessingStatus'+--+-- * 'tabFiles'+--+-- * 'tabId'+--+-- * 'tabProjectId'+--+-- * 'tabDraftAccessList'+--+-- * 'tabPublishedAccessList'+--+-- * 'tabSourceEncoding'+--+-- * 'tabDescription'+--+-- * 'tabTags'+table+    :: Table+table =+    Table+    { _tabCreationTime = Nothing+    , _tabWritersCanEditPermissions = Nothing+    , _tabEtag = Nothing+    , _tabCreatorEmail = Nothing+    , _tabLastModifiedTime = Nothing+    , _tabSchema = Nothing+    , _tabLastModifierEmail = Nothing+    , _tabName = Nothing+    , _tabBbox = Nothing+    , _tabProcessingStatus = Nothing+    , _tabFiles = Nothing+    , _tabId = Nothing+    , _tabProjectId = Nothing+    , _tabDraftAccessList = Nothing+    , _tabPublishedAccessList = Nothing+    , _tabSourceEncoding = "UTF-8"+    , _tabDescription = Nothing+    , _tabTags = Nothing+    }++-- | The creation time of this table. The value is an RFC 3339 formatted+-- date-time value (e.g. 1970-01-01T00:00:00Z).+tabCreationTime :: Lens' Table (Maybe UTCTime)+tabCreationTime+  = lens _tabCreationTime+      (\ s a -> s{_tabCreationTime = a})+      . mapping _DateTime++-- | If true, WRITERs of the asset are able to edit the asset permissions.+tabWritersCanEditPermissions :: Lens' Table (Maybe Bool)+tabWritersCanEditPermissions+  = lens _tabWritersCanEditPermissions+      (\ s a -> s{_tabWritersCanEditPermissions = a})++-- | The ETag, used to refer to the current version of the asset.+tabEtag :: Lens' Table (Maybe Text)+tabEtag = lens _tabEtag (\ s a -> s{_tabEtag = a})++-- | The email address of the creator of this table. This is only returned on+-- GET requests and not LIST requests.+tabCreatorEmail :: Lens' Table (Maybe Text)+tabCreatorEmail+  = lens _tabCreatorEmail+      (\ s a -> s{_tabCreatorEmail = a})++-- | The last modified time of this table. The value is an RFC 3339 formatted+-- date-time value (e.g. 1970-01-01T00:00:00Z).+tabLastModifiedTime :: Lens' Table (Maybe UTCTime)+tabLastModifiedTime+  = lens _tabLastModifiedTime+      (\ s a -> s{_tabLastModifiedTime = a})+      . mapping _DateTime++-- | The schema for this table. Note: The schema is returned in response to a+-- get request but not a list request. After requesting a list of tables,+-- you\'ll need to send a get request to retrieve the schema for each+-- table.+tabSchema :: Lens' Table (Maybe Schema)+tabSchema+  = lens _tabSchema (\ s a -> s{_tabSchema = a})++-- | The email address of the last modifier of this table. This is only+-- returned on GET requests and not LIST requests.+tabLastModifierEmail :: Lens' Table (Maybe Text)+tabLastModifierEmail+  = lens _tabLastModifierEmail+      (\ s a -> s{_tabLastModifierEmail = a})++-- | The name of this table, supplied by the author.+tabName :: Lens' Table (Maybe Text)+tabName = lens _tabName (\ s a -> s{_tabName = a})++-- | A rectangular bounding box which contains all of the data in this Table.+-- The box is expressed as \\\"west, south, east, north\\\". The numbers+-- represent latitude and longitude in decimal degrees.+tabBbox :: Lens' Table [Double]+tabBbox+  = lens _tabBbox (\ s a -> s{_tabBbox = a}) . _Default+      . _Coerce++-- | The processing status of this table.+tabProcessingStatus :: Lens' Table (Maybe TableProcessingStatus)+tabProcessingStatus+  = lens _tabProcessingStatus+      (\ s a -> s{_tabProcessingStatus = a})++-- | The files associated with this table.+tabFiles :: Lens' Table [File]+tabFiles+  = lens _tabFiles (\ s a -> s{_tabFiles = a}) .+      _Default+      . _Coerce++-- | A globally unique ID, used to refer to this table.+tabId :: Lens' Table (Maybe Text)+tabId = lens _tabId (\ s a -> s{_tabId = a})++-- | The ID of the project to which the table belongs.+tabProjectId :: Lens' Table (Maybe Text)+tabProjectId+  = lens _tabProjectId (\ s a -> s{_tabProjectId = a})++-- | Deprecated: The name of an access list of the Map Editor type. The user+-- on whose behalf the request is being sent must be an editor on that+-- access list. Note: Google Maps Engine no longer uses access lists.+-- Instead, each asset has its own list of permissions. For backward+-- compatibility, the API still accepts access lists for projects that are+-- already using access lists. If you created a GME account\/project after+-- July 14th, 2014, you will not be able to send API requests that include+-- access lists. Note: This is an input field only. It is not returned in+-- response to a list or get request.+tabDraftAccessList :: Lens' Table (Maybe Text)+tabDraftAccessList+  = lens _tabDraftAccessList+      (\ s a -> s{_tabDraftAccessList = a})++-- | Deprecated: The access list to whom view permissions are granted. The+-- value must be the name of a Maps Engine access list of the Map Viewer+-- type, and the user must be a viewer on that list. Note: Google Maps+-- Engine no longer uses access lists. Instead, each asset has its own list+-- of permissions. For backward compatibility, the API still accepts access+-- lists for projects that are already using access lists. If you created a+-- GME account\/project after July 14th, 2014, you will not be able to send+-- API requests that include access lists. Note: This is an input field+-- only. It is not returned in response to a list or get request.+tabPublishedAccessList :: Lens' Table (Maybe Text)+tabPublishedAccessList+  = lens _tabPublishedAccessList+      (\ s a -> s{_tabPublishedAccessList = a})++-- | Encoding of the uploaded files. Valid values include UTF-8, CP1251, ISO+-- 8859-1, and Shift_JIS.+tabSourceEncoding :: Lens' Table Text+tabSourceEncoding+  = lens _tabSourceEncoding+      (\ s a -> s{_tabSourceEncoding = a})++-- | The description of this table, supplied by the author.+tabDescription :: Lens' Table (Maybe Text)+tabDescription+  = lens _tabDescription+      (\ s a -> s{_tabDescription = a})++-- | An array of text strings, with each string representing a tag. More+-- information about tags can be found in the Tagging data article of the+-- Maps Engine help center.+tabTags :: Lens' Table [Text]+tabTags+  = lens _tabTags (\ s a -> s{_tabTags = a}) . _Default+      . _Coerce++instance FromJSON Table where+        parseJSON+          = withObject "Table"+              (\ o ->+                 Table <$>+                   (o .:? "creationTime") <*>+                     (o .:? "writersCanEditPermissions")+                     <*> (o .:? "etag")+                     <*> (o .:? "creatorEmail")+                     <*> (o .:? "lastModifiedTime")+                     <*> (o .:? "schema")+                     <*> (o .:? "lastModifierEmail")+                     <*> (o .:? "name")+                     <*> (o .:? "bbox" .!= mempty)+                     <*> (o .:? "processingStatus")+                     <*> (o .:? "files" .!= mempty)+                     <*> (o .:? "id")+                     <*> (o .:? "projectId")+                     <*> (o .:? "draftAccessList")+                     <*> (o .:? "publishedAccessList")+                     <*> (o .:? "sourceEncoding" .!= "UTF-8")+                     <*> (o .:? "description")+                     <*> (o .:? "tags"))++instance ToJSON Table where+        toJSON Table{..}+          = object+              (catMaybes+                 [("creationTime" .=) <$> _tabCreationTime,+                  ("writersCanEditPermissions" .=) <$>+                    _tabWritersCanEditPermissions,+                  ("etag" .=) <$> _tabEtag,+                  ("creatorEmail" .=) <$> _tabCreatorEmail,+                  ("lastModifiedTime" .=) <$> _tabLastModifiedTime,+                  ("schema" .=) <$> _tabSchema,+                  ("lastModifierEmail" .=) <$> _tabLastModifierEmail,+                  ("name" .=) <$> _tabName, ("bbox" .=) <$> _tabBbox,+                  ("processingStatus" .=) <$> _tabProcessingStatus,+                  ("files" .=) <$> _tabFiles, ("id" .=) <$> _tabId,+                  ("projectId" .=) <$> _tabProjectId,+                  ("draftAccessList" .=) <$> _tabDraftAccessList,+                  ("publishedAccessList" .=) <$>+                    _tabPublishedAccessList,+                  Just ("sourceEncoding" .= _tabSourceEncoding),+                  ("description" .=) <$> _tabDescription,+                  ("tags" .=) <$> _tabTags])++-- | A single File, which is a component of an Asset.+--+-- /See:/ 'file' smart constructor.+data File = File+    { _fSize         :: !(Maybe (Textual Int64))+    , _fUploadStatus :: !(Maybe FileUploadStatus)+    , _fFilename     :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'File' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'fSize'+--+-- * 'fUploadStatus'+--+-- * 'fFilename'+file+    :: File+file =+    File+    { _fSize = Nothing+    , _fUploadStatus = Nothing+    , _fFilename = Nothing+    }++-- | The size of the file in bytes.+fSize :: Lens' File (Maybe Int64)+fSize+  = lens _fSize (\ s a -> s{_fSize = a}) .+      mapping _Coerce++-- | The upload status of the file.+fUploadStatus :: Lens' File (Maybe FileUploadStatus)+fUploadStatus+  = lens _fUploadStatus+      (\ s a -> s{_fUploadStatus = a})++-- | The name of the file.+fFilename :: Lens' File (Maybe Text)+fFilename+  = lens _fFilename (\ s a -> s{_fFilename = a})++instance FromJSON File where+        parseJSON+          = withObject "File"+              (\ o ->+                 File <$>+                   (o .:? "size") <*> (o .:? "uploadStatus") <*>+                     (o .:? "filename"))++instance ToJSON File where+        toJSON File{..}+          = object+              (catMaybes+                 [("size" .=) <$> _fSize,+                  ("uploadStatus" .=) <$> _fUploadStatus,+                  ("filename" .=) <$> _fFilename])++-- | A vector style contains styling information for vector layer.+--+-- /See:/ 'vectorStyle' smart constructor.+data VectorStyle = VectorStyle+    { _vsDisplayRules :: !(Maybe [DisplayRule])+    , _vsFeatureInfo  :: !(Maybe FeatureInfo)+    , _vsType         :: !(Maybe VectorStyleType)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'VectorStyle' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'vsDisplayRules'+--+-- * 'vsFeatureInfo'+--+-- * 'vsType'+vectorStyle+    :: VectorStyle+vectorStyle =+    VectorStyle+    { _vsDisplayRules = Nothing+    , _vsFeatureInfo = Nothing+    , _vsType = Nothing+    }++vsDisplayRules :: Lens' VectorStyle [DisplayRule]+vsDisplayRules+  = lens _vsDisplayRules+      (\ s a -> s{_vsDisplayRules = a})+      . _Default+      . _Coerce++-- | Individual feature info, this is called Info Window in Maps Engine UI.+-- If not provided, a default template with all attributes will be+-- generated.+vsFeatureInfo :: Lens' VectorStyle (Maybe FeatureInfo)+vsFeatureInfo+  = lens _vsFeatureInfo+      (\ s a -> s{_vsFeatureInfo = a})++-- | The type of the vector style. Currently, only displayRule is supported.+vsType :: Lens' VectorStyle (Maybe VectorStyleType)+vsType = lens _vsType (\ s a -> s{_vsType = a})++instance FromJSON VectorStyle where+        parseJSON+          = withObject "VectorStyle"+              (\ o ->+                 VectorStyle <$>+                   (o .:? "displayRules" .!= mempty) <*>+                     (o .:? "featureInfo")+                     <*> (o .:? "type"))++instance ToJSON VectorStyle where+        toJSON VectorStyle{..}+          = object+              (catMaybes+                 [("displayRules" .=) <$> _vsDisplayRules,+                  ("featureInfo" .=) <$> _vsFeatureInfo,+                  ("type" .=) <$> _vsType])++-- | The response returned by a call to mapsengine.permissions.batchDelete.+--+-- /See:/ 'permissionsBatchDeleteResponse' smart constructor.+data PermissionsBatchDeleteResponse =+    PermissionsBatchDeleteResponse+    deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PermissionsBatchDeleteResponse' with the minimum fields required to make a request.+--+permissionsBatchDeleteResponse+    :: PermissionsBatchDeleteResponse+permissionsBatchDeleteResponse = PermissionsBatchDeleteResponse++instance FromJSON PermissionsBatchDeleteResponse+         where+        parseJSON+          = withObject "PermissionsBatchDeleteResponse"+              (\ o -> pure PermissionsBatchDeleteResponse)++instance ToJSON PermissionsBatchDeleteResponse where+        toJSON = const emptyObject++--+-- /See:/ 'mapKmlLink' smart constructor.+data MapKmlLink = MapKmlLink+    { _mklDefaultViewport :: !(Maybe [Textual Double])+    , _mklVisibility      :: !(Maybe Text)+    , _mklName            :: !(Maybe Text)+    , _mklType            :: !(Maybe MapKmlLinkType)+    , _mklKmlURL          :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'MapKmlLink' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mklDefaultViewport'+--+-- * 'mklVisibility'+--+-- * 'mklName'+--+-- * 'mklType'+--+-- * 'mklKmlURL'+mapKmlLink+    :: MapKmlLink+mapKmlLink =+    MapKmlLink+    { _mklDefaultViewport = Nothing+    , _mklVisibility = Nothing+    , _mklName = Nothing+    , _mklType = Nothing+    , _mklKmlURL = Nothing+    }++-- | An array of four numbers (west, south, east, north) which defines the+-- rectangular bounding box of the default viewport. The numbers represent+-- latitude and longitude in decimal degrees.+mklDefaultViewport :: Lens' MapKmlLink [Double]+mklDefaultViewport+  = lens _mklDefaultViewport+      (\ s a -> s{_mklDefaultViewport = a})+      . _Default+      . _Coerce++-- | The visibility setting of this MapKmlLink. One of \"defaultOn\" or+-- \"defaultOff\".+mklVisibility :: Lens' MapKmlLink (Maybe Text)+mklVisibility+  = lens _mklVisibility+      (\ s a -> s{_mklVisibility = a})++-- | The name of this MapKmlLink.+mklName :: Lens' MapKmlLink (Maybe Text)+mklName = lens _mklName (\ s a -> s{_mklName = a})++-- | Identifies this object as a MapKmlLink.+mklType :: Lens' MapKmlLink (Maybe MapKmlLinkType)+mklType = lens _mklType (\ s a -> s{_mklType = a})++-- | The URL to the KML file represented by this MapKmlLink.+mklKmlURL :: Lens' MapKmlLink (Maybe Text)+mklKmlURL+  = lens _mklKmlURL (\ s a -> s{_mklKmlURL = a})++instance FromJSON MapKmlLink where+        parseJSON+          = withObject "MapKmlLink"+              (\ o ->+                 MapKmlLink <$>+                   (o .:? "defaultViewport" .!= mempty) <*>+                     (o .:? "visibility")+                     <*> (o .:? "name")+                     <*> (o .:? "type")+                     <*> (o .:? "kmlUrl"))++instance ToJSON MapKmlLink where+        toJSON MapKmlLink{..}+          = object+              (catMaybes+                 [("defaultViewport" .=) <$> _mklDefaultViewport,+                  ("visibility" .=) <$> _mklVisibility,+                  ("name" .=) <$> _mklName, ("type" .=) <$> _mklType,+                  ("kmlUrl" .=) <$> _mklKmlURL])++-- | The response returned by a call to mapsengine.permissions.batchUpdate.+--+-- /See:/ 'permissionsBatchUpdateResponse' smart constructor.+data PermissionsBatchUpdateResponse =+    PermissionsBatchUpdateResponse+    deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PermissionsBatchUpdateResponse' with the minimum fields required to make a request.+--+permissionsBatchUpdateResponse+    :: PermissionsBatchUpdateResponse+permissionsBatchUpdateResponse = PermissionsBatchUpdateResponse++instance FromJSON PermissionsBatchUpdateResponse+         where+        parseJSON+          = withObject "PermissionsBatchUpdateResponse"+              (\ o -> pure PermissionsBatchUpdateResponse)++instance ToJSON PermissionsBatchUpdateResponse where+        toJSON = const emptyObject++--+-- /See:/ 'geoJSONLineString' smart constructor.+data GeoJSONLineString = GeoJSONLineString+    { _gjlsCoordinates :: !(Maybe [[Textual Double]])+    , _gjlsType        :: !(Maybe GeoJSONLineStringType)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'GeoJSONLineString' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gjlsCoordinates'+--+-- * 'gjlsType'+geoJSONLineString+    :: GeoJSONLineString+geoJSONLineString =+    GeoJSONLineString+    { _gjlsCoordinates = Nothing+    , _gjlsType = Nothing+    }++-- | An array of two or more positions, representing a line.+gjlsCoordinates :: Lens' GeoJSONLineString [[Double]]+gjlsCoordinates+  = lens _gjlsCoordinates+      (\ s a -> s{_gjlsCoordinates = a})+      . _Default+      . _Coerce++-- | Identifies this object as a GeoJsonLineString.+gjlsType :: Lens' GeoJSONLineString (Maybe GeoJSONLineStringType)+gjlsType = lens _gjlsType (\ s a -> s{_gjlsType = a})++instance FromJSON GeoJSONLineString where+        parseJSON+          = withObject "GeoJSONLineString"+              (\ o ->+                 GeoJSONLineString <$>+                   (o .:? "coordinates" .!= mempty) <*> (o .:? "type"))++instance ToJSON GeoJSONLineString where+        toJSON GeoJSONLineString{..}+          = object+              (catMaybes+                 [("coordinates" .=) <$> _gjlsCoordinates,+                  ("type" .=) <$> _gjlsType])++-- | The response returned by a call to maps.List.published.+--+-- /See:/ 'publishedMapsListResponse' smart constructor.+data PublishedMapsListResponse = PublishedMapsListResponse+    { _pmlrMaps          :: !(Maybe [PublishedMap])+    , _pmlrNextPageToken :: !(Maybe (Textual Word8))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PublishedMapsListResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pmlrMaps'+--+-- * 'pmlrNextPageToken'+publishedMapsListResponse+    :: PublishedMapsListResponse+publishedMapsListResponse =+    PublishedMapsListResponse+    { _pmlrMaps = Nothing+    , _pmlrNextPageToken = Nothing+    }++-- | Resources returned.+pmlrMaps :: Lens' PublishedMapsListResponse [PublishedMap]+pmlrMaps+  = lens _pmlrMaps (\ s a -> s{_pmlrMaps = a}) .+      _Default+      . _Coerce++-- | Next page token.+pmlrNextPageToken :: Lens' PublishedMapsListResponse (Maybe Word8)+pmlrNextPageToken+  = lens _pmlrNextPageToken+      (\ s a -> s{_pmlrNextPageToken = a})+      . mapping _Coerce++instance FromJSON PublishedMapsListResponse where+        parseJSON+          = withObject "PublishedMapsListResponse"+              (\ o ->+                 PublishedMapsListResponse <$>+                   (o .:? "maps" .!= mempty) <*>+                     (o .:? "nextPageToken"))++instance ToJSON PublishedMapsListResponse where+        toJSON PublishedMapsListResponse{..}+          = object+              (catMaybes+                 [("maps" .=) <$> _pmlrMaps,+                  ("nextPageToken" .=) <$> _pmlrNextPageToken])++-- | The response returned by a call to maps.List.+--+-- /See:/ 'mapsListResponse' smart constructor.+data MapsListResponse = MapsListResponse+    { _mlrMaps          :: !(Maybe [Map])+    , _mlrNextPageToken :: !(Maybe (Textual Word8))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'MapsListResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mlrMaps'+--+-- * 'mlrNextPageToken'+mapsListResponse+    :: MapsListResponse+mapsListResponse =+    MapsListResponse+    { _mlrMaps = Nothing+    , _mlrNextPageToken = Nothing+    }++-- | Resources returned.+mlrMaps :: Lens' MapsListResponse [Map]+mlrMaps+  = lens _mlrMaps (\ s a -> s{_mlrMaps = a}) . _Default+      . _Coerce++-- | Next page token.+mlrNextPageToken :: Lens' MapsListResponse (Maybe Word8)+mlrNextPageToken+  = lens _mlrNextPageToken+      (\ s a -> s{_mlrNextPageToken = a})+      . mapping _Coerce++instance FromJSON MapsListResponse where+        parseJSON+          = withObject "MapsListResponse"+              (\ o ->+                 MapsListResponse <$>+                   (o .:? "maps" .!= mempty) <*>+                     (o .:? "nextPageToken"))++instance ToJSON MapsListResponse where+        toJSON MapsListResponse{..}+          = object+              (catMaybes+                 [("maps" .=) <$> _mlrMaps,+                  ("nextPageToken" .=) <$> _mlrNextPageToken])++-- | A heterogenous collection of GeoJsonGeometry objects.+--+-- /See:/ 'geoJSONGeometryCollection' smart constructor.+data GeoJSONGeometryCollection = GeoJSONGeometryCollection+    { _gjgcGeometries :: !(Maybe [GeoJSONGeometry])+    , _gjgcType       :: !(Maybe GeoJSONGeometryCollectionType)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'GeoJSONGeometryCollection' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gjgcGeometries'+--+-- * 'gjgcType'+geoJSONGeometryCollection+    :: GeoJSONGeometryCollection+geoJSONGeometryCollection =+    GeoJSONGeometryCollection+    { _gjgcGeometries = Nothing+    , _gjgcType = Nothing+    }++-- | An array of geometry objects. There must be at least 2 different types+-- of geometries in the array.+gjgcGeometries :: Lens' GeoJSONGeometryCollection [GeoJSONGeometry]+gjgcGeometries+  = lens _gjgcGeometries+      (\ s a -> s{_gjgcGeometries = a})+      . _Default+      . _Coerce++-- | Identifies this object as a GeoJsonGeometryCollection.+gjgcType :: Lens' GeoJSONGeometryCollection (Maybe GeoJSONGeometryCollectionType)+gjgcType = lens _gjgcType (\ s a -> s{_gjgcType = a})++instance FromJSON GeoJSONGeometryCollection where+        parseJSON+          = withObject "GeoJSONGeometryCollection"+              (\ o ->+                 GeoJSONGeometryCollection <$>+                   (o .:? "geometries" .!= mempty) <*> (o .:? "type"))++instance ToJSON GeoJSONGeometryCollection where+        toJSON GeoJSONGeometryCollection{..}+          = object+              (catMaybes+                 [("geometries" .=) <$> _gjgcGeometries,+                  ("type" .=) <$> _gjgcType])++--+-- /See:/ 'geoJSONPolygon' smart constructor.+data GeoJSONPolygon = GeoJSONPolygon+    { _gjpCoordinates :: !(Maybe [[[Textual Double]]])+    , _gjpType        :: !(Maybe GeoJSONPolygonType)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'GeoJSONPolygon' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gjpCoordinates'+--+-- * 'gjpType'+geoJSONPolygon+    :: GeoJSONPolygon+geoJSONPolygon =+    GeoJSONPolygon+    { _gjpCoordinates = Nothing+    , _gjpType = Nothing+    }++-- | An array of LinearRings. A LinearRing is a GeoJsonLineString which is+-- closed (that is, the first and last GeoJsonPositions are equal), and+-- which contains at least four GeoJsonPositions. For polygons with+-- multiple rings, the first LinearRing is the exterior ring, and any+-- subsequent rings are interior rings (that is, holes).+gjpCoordinates :: Lens' GeoJSONPolygon [[[Double]]]+gjpCoordinates+  = lens _gjpCoordinates+      (\ s a -> s{_gjpCoordinates = a})+      . _Default+      . _Coerce++-- | Identifies this object as a GeoJsonPolygon.+gjpType :: Lens' GeoJSONPolygon (Maybe GeoJSONPolygonType)+gjpType = lens _gjpType (\ s a -> s{_gjpType = a})++instance FromJSON GeoJSONPolygon where+        parseJSON+          = withObject "GeoJSONPolygon"+              (\ o ->+                 GeoJSONPolygon <$>+                   (o .:? "coordinates" .!= mempty) <*> (o .:? "type"))++instance ToJSON GeoJSONPolygon where+        toJSON GeoJSONPolygon{..}+          = object+              (catMaybes+                 [("coordinates" .=) <$> _gjpCoordinates,+                  ("type" .=) <$> _gjpType])++--+-- /See:/ 'geoJSONPoint' smart constructor.+data GeoJSONPoint = GeoJSONPoint+    { _gjsonpCoordinates :: !(Maybe [Textual Double])+    , _gjsonpType        :: !(Maybe GeoJSONPointType)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'GeoJSONPoint' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gjsonpCoordinates'+--+-- * 'gjsonpType'+geoJSONPoint+    :: GeoJSONPoint+geoJSONPoint =+    GeoJSONPoint+    { _gjsonpCoordinates = Nothing+    , _gjsonpType = Nothing+    }++-- | A single GeoJsonPosition, specifying the location of the point.+gjsonpCoordinates :: Lens' GeoJSONPoint [Double]+gjsonpCoordinates+  = lens _gjsonpCoordinates+      (\ s a -> s{_gjsonpCoordinates = a})+      . _Default+      . _Coerce++-- | Identifies this object as a GeoJsonPoint.+gjsonpType :: Lens' GeoJSONPoint (Maybe GeoJSONPointType)+gjsonpType+  = lens _gjsonpType (\ s a -> s{_gjsonpType = a})++instance FromJSON GeoJSONPoint where+        parseJSON+          = withObject "GeoJSONPoint"+              (\ o ->+                 GeoJSONPoint <$>+                   (o .:? "coordinates") <*> (o .:? "type"))++instance ToJSON GeoJSONPoint where+        toJSON GeoJSONPoint{..}+          = object+              (catMaybes+                 [("coordinates" .=) <$> _gjsonpCoordinates,+                  ("type" .=) <$> _gjsonpType])++-- | The response returned by a call to layers.List. Note: The list response+-- does not include all the fields available in a layer. Refer to the layer+-- resource description for details of the fields that are not included.+-- You\'ll need to send a get request to retrieve the additional fields for+-- each layer.+--+-- /See:/ 'layersListResponse' smart constructor.+data LayersListResponse = LayersListResponse+    { _llrNextPageToken :: !(Maybe (Textual Word8))+    , _llrLayers        :: !(Maybe [Layer])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'LayersListResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'llrNextPageToken'+--+-- * 'llrLayers'+layersListResponse+    :: LayersListResponse+layersListResponse =+    LayersListResponse+    { _llrNextPageToken = Nothing+    , _llrLayers = Nothing+    }++-- | Next page token.+llrNextPageToken :: Lens' LayersListResponse (Maybe Word8)+llrNextPageToken+  = lens _llrNextPageToken+      (\ s a -> s{_llrNextPageToken = a})+      . mapping _Coerce++-- | Resources returned.+llrLayers :: Lens' LayersListResponse [Layer]+llrLayers+  = lens _llrLayers (\ s a -> s{_llrLayers = a}) .+      _Default+      . _Coerce++instance FromJSON LayersListResponse where+        parseJSON+          = withObject "LayersListResponse"+              (\ o ->+                 LayersListResponse <$>+                   (o .:? "nextPageToken") <*>+                     (o .:? "layers" .!= mempty))++instance ToJSON LayersListResponse where+        toJSON LayersListResponse{..}+          = object+              (catMaybes+                 [("nextPageToken" .=) <$> _llrNextPageToken,+                  ("layers" .=) <$> _llrLayers])++-- | The response returned by a call to rasters.List.+--+-- /See:/ 'rastersListResponse' smart constructor.+data RastersListResponse = RastersListResponse+    { _rlrNextPageToken :: !(Maybe Text)+    , _rlrRasters       :: !(Maybe [Raster])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'RastersListResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rlrNextPageToken'+--+-- * 'rlrRasters'+rastersListResponse+    :: RastersListResponse+rastersListResponse =+    RastersListResponse+    { _rlrNextPageToken = Nothing+    , _rlrRasters = Nothing+    }++-- | Next page token.+rlrNextPageToken :: Lens' RastersListResponse (Maybe Text)+rlrNextPageToken+  = lens _rlrNextPageToken+      (\ s a -> s{_rlrNextPageToken = a})++-- | Resources returned.+rlrRasters :: Lens' RastersListResponse [Raster]+rlrRasters+  = lens _rlrRasters (\ s a -> s{_rlrRasters = a}) .+      _Default+      . _Coerce++instance FromJSON RastersListResponse where+        parseJSON+          = withObject "RastersListResponse"+              (\ o ->+                 RastersListResponse <$>+                   (o .:? "nextPageToken") <*>+                     (o .:? "rasters" .!= mempty))++instance ToJSON RastersListResponse where+        toJSON RastersListResponse{..}+          = object+              (catMaybes+                 [("nextPageToken" .=) <$> _rlrNextPageToken,+                  ("rasters" .=) <$> _rlrRasters])++--+-- /See:/ 'permissionsListResponse' smart constructor.+newtype PermissionsListResponse = PermissionsListResponse+    { _plrPermissions :: Maybe [Permission]+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PermissionsListResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'plrPermissions'+permissionsListResponse+    :: PermissionsListResponse+permissionsListResponse =+    PermissionsListResponse+    { _plrPermissions = Nothing+    }++-- | The set of permissions associated with this asset.+plrPermissions :: Lens' PermissionsListResponse [Permission]+plrPermissions+  = lens _plrPermissions+      (\ s a -> s{_plrPermissions = a})+      . _Default+      . _Coerce++instance FromJSON PermissionsListResponse where+        parseJSON+          = withObject "PermissionsListResponse"+              (\ o ->+                 PermissionsListResponse <$>+                   (o .:? "permissions" .!= mempty))++instance ToJSON PermissionsListResponse where+        toJSON PermissionsListResponse{..}+          = object+              (catMaybes [("permissions" .=) <$> _plrPermissions])++-- | Style for lines.+--+-- /See:/ 'lineStyle' smart constructor.+data LineStyle = LineStyle+    { _lsStroke :: !(Maybe LineStyleStroke)+    , _lsBOrder :: !(Maybe BOrder)+    , _lsDash   :: !(Maybe [Textual Double])+    , _lsLabel  :: !(Maybe LabelStyle)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'LineStyle' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lsStroke'+--+-- * 'lsBOrder'+--+-- * 'lsDash'+--+-- * 'lsLabel'+lineStyle+    :: LineStyle+lineStyle =+    LineStyle+    { _lsStroke = Nothing+    , _lsBOrder = Nothing+    , _lsDash = Nothing+    , _lsLabel = Nothing+    }++-- | Stroke of the line.+lsStroke :: Lens' LineStyle (Maybe LineStyleStroke)+lsStroke = lens _lsStroke (\ s a -> s{_lsStroke = a})++-- | Border of the line. 0 \< border.width \<= 5.+lsBOrder :: Lens' LineStyle (Maybe BOrder)+lsBOrder = lens _lsBOrder (\ s a -> s{_lsBOrder = a})++-- | Dash defines the pattern of the line, the values are pixel lengths of+-- alternating dash and gap. If dash is not provided, then it means a solid+-- line. Dash can contain up to 10 values and must contain even number of+-- values.+lsDash :: Lens' LineStyle [Double]+lsDash+  = lens _lsDash (\ s a -> s{_lsDash = a}) . _Default .+      _Coerce++-- | Label style for the line.+lsLabel :: Lens' LineStyle (Maybe LabelStyle)+lsLabel = lens _lsLabel (\ s a -> s{_lsLabel = a})++instance FromJSON LineStyle where+        parseJSON+          = withObject "LineStyle"+              (\ o ->+                 LineStyle <$>+                   (o .:? "stroke") <*> (o .:? "border") <*>+                     (o .:? "dash" .!= mempty)+                     <*> (o .:? "label"))++instance ToJSON LineStyle where+        toJSON LineStyle{..}+          = object+              (catMaybes+                 [("stroke" .=) <$> _lsStroke,+                  ("border" .=) <$> _lsBOrder, ("dash" .=) <$> _lsDash,+                  ("label" .=) <$> _lsLabel])++-- | The response returned by a call to layers.List.published.+--+-- /See:/ 'publishedLayersListResponse' smart constructor.+data PublishedLayersListResponse = PublishedLayersListResponse+    { _pllrNextPageToken :: !(Maybe (Textual Word8))+    , _pllrLayers        :: !(Maybe [PublishedLayer])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PublishedLayersListResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pllrNextPageToken'+--+-- * 'pllrLayers'+publishedLayersListResponse+    :: PublishedLayersListResponse+publishedLayersListResponse =+    PublishedLayersListResponse+    { _pllrNextPageToken = Nothing+    , _pllrLayers = Nothing+    }++-- | Next page token.+pllrNextPageToken :: Lens' PublishedLayersListResponse (Maybe Word8)+pllrNextPageToken+  = lens _pllrNextPageToken+      (\ s a -> s{_pllrNextPageToken = a})+      . mapping _Coerce++-- | Resources returned.+pllrLayers :: Lens' PublishedLayersListResponse [PublishedLayer]+pllrLayers+  = lens _pllrLayers (\ s a -> s{_pllrLayers = a}) .+      _Default+      . _Coerce++instance FromJSON PublishedLayersListResponse where+        parseJSON+          = withObject "PublishedLayersListResponse"+              (\ o ->+                 PublishedLayersListResponse <$>+                   (o .:? "nextPageToken") <*>+                     (o .:? "layers" .!= mempty))++instance ToJSON PublishedLayersListResponse where+        toJSON PublishedLayersListResponse{..}+          = object+              (catMaybes+                 [("nextPageToken" .=) <$> _pllrNextPageToken,+                  ("layers" .=) <$> _pllrLayers])
+ gen/Network/Google/MapsEngine/Types/Sum.hs view
@@ -0,0 +1,1655 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE LambdaCase         #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module      : Network.Google.MapsEngine.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.MapsEngine.Types.Sum where++import           Network.Google.Prelude++-- | The processing status of this Raster.+data RasterProcessingStatus+    = Complete+      -- ^ @complete@+    | Failed+      -- ^ @failed@+    | NotReady+      -- ^ @notReady@+    | Processing+      -- ^ @processing@+    | Ready+      -- ^ @ready@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable RasterProcessingStatus++instance FromText RasterProcessingStatus where+    fromText = \case+        "complete" -> Just Complete+        "failed" -> Just Failed+        "notReady" -> Just NotReady+        "processing" -> Just Processing+        "ready" -> Just Ready+        _ -> Nothing++instance ToText RasterProcessingStatus where+    toText = \case+        Complete -> "complete"+        Failed -> "failed"+        NotReady -> "notReady"+        Processing -> "processing"+        Ready -> "ready"++instance FromJSON RasterProcessingStatus where+    parseJSON = parseJSONText "RasterProcessingStatus"++instance ToJSON RasterProcessingStatus where+    toJSON = toJSONText++-- | The processing status of this layer.+data LayerProcessingStatus+    = LPSComplete+      -- ^ @complete@+    | LPSFailed+      -- ^ @failed@+    | LPSNotReady+      -- ^ @notReady@+    | LPSProcessing+      -- ^ @processing@+    | LPSReady+      -- ^ @ready@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable LayerProcessingStatus++instance FromText LayerProcessingStatus where+    fromText = \case+        "complete" -> Just LPSComplete+        "failed" -> Just LPSFailed+        "notReady" -> Just LPSNotReady+        "processing" -> Just LPSProcessing+        "ready" -> Just LPSReady+        _ -> Nothing++instance ToText LayerProcessingStatus where+    toText = \case+        LPSComplete -> "complete"+        LPSFailed -> "failed"+        LPSNotReady -> "notReady"+        LPSProcessing -> "processing"+        LPSReady -> "ready"++instance FromJSON LayerProcessingStatus where+    parseJSON = parseJSONText "LayerProcessingStatus"++instance ToJSON LayerProcessingStatus where+    toJSON = toJSONText++-- | Name of the shape.+data ScaledShapeShape+    = Circle+      -- ^ @circle@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable ScaledShapeShape++instance FromText ScaledShapeShape where+    fromText = \case+        "circle" -> Just Circle+        _ -> Nothing++instance ToText ScaledShapeShape where+    toText = \case+        Circle -> "circle"++instance FromJSON ScaledShapeShape where+    parseJSON = parseJSONText "ScaledShapeShape"++instance ToJSON ScaledShapeShape where+    toJSON = toJSONText++-- | Identifies this object as a GeoJsonMultiLineString.+data GeoJSONMultiLineStringType+    = MultiLineString+      -- ^ @MultiLineString@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable GeoJSONMultiLineStringType++instance FromText GeoJSONMultiLineStringType where+    fromText = \case+        "MultiLineString" -> Just MultiLineString+        _ -> Nothing++instance ToText GeoJSONMultiLineStringType where+    toText = \case+        MultiLineString -> "MultiLineString"++instance FromJSON GeoJSONMultiLineStringType where+    parseJSON = parseJSONText "GeoJSONMultiLineStringType"++instance ToJSON GeoJSONMultiLineStringType where+    toJSON = toJSONText++-- | The type of access granted to this user or group.+data PermissionRole+    = Owner+      -- ^ @owner@+    | Reader+      -- ^ @reader@+    | Viewer+      -- ^ @viewer@+    | Writer+      -- ^ @writer@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable PermissionRole++instance FromText PermissionRole where+    fromText = \case+        "owner" -> Just Owner+        "reader" -> Just Reader+        "viewer" -> Just Viewer+        "writer" -> Just Writer+        _ -> Nothing++instance ToText PermissionRole where+    toText = \case+        Owner -> "owner"+        Reader -> "reader"+        Viewer -> "viewer"+        Writer -> "writer"++instance FromJSON PermissionRole where+    parseJSON = parseJSONText "PermissionRole"++instance ToJSON PermissionRole where+    toJSON = toJSONText++-- | The precision of acquisition time.+data AcquisitionTimePrecision+    = Day+      -- ^ @day@+    | Hour+      -- ^ @hour@+    | Minute+      -- ^ @minute@+    | Month+      -- ^ @month@+    | Second+      -- ^ @second@+    | Year+      -- ^ @year@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable AcquisitionTimePrecision++instance FromText AcquisitionTimePrecision where+    fromText = \case+        "day" -> Just Day+        "hour" -> Just Hour+        "minute" -> Just Minute+        "month" -> Just Month+        "second" -> Just Second+        "year" -> Just Year+        _ -> Nothing++instance ToText AcquisitionTimePrecision where+    toText = \case+        Day -> "day"+        Hour -> "hour"+        Minute -> "minute"+        Month -> "month"+        Second -> "second"+        Year -> "year"++instance FromJSON AcquisitionTimePrecision where+    parseJSON = parseJSONText "AcquisitionTimePrecision"++instance ToJSON AcquisitionTimePrecision where+    toJSON = toJSONText++-- | The type of scaling function to use. Defaults to SQRT. Currently only+-- linear and square root scaling are supported.+data ScalingFunctionScalingType+    = Linear+      -- ^ @linear@+    | Sqrt+      -- ^ @sqrt@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable ScalingFunctionScalingType++instance FromText ScalingFunctionScalingType where+    fromText = \case+        "linear" -> Just Linear+        "sqrt" -> Just Sqrt+        _ -> Nothing++instance ToText ScalingFunctionScalingType where+    toText = \case+        Linear -> "linear"+        Sqrt -> "sqrt"++instance FromJSON ScalingFunctionScalingType where+    parseJSON = parseJSONText "ScalingFunctionScalingType"++instance ToJSON ScalingFunctionScalingType where+    toJSON = toJSONText++-- | The role parameter indicates that the response should only contain+-- assets where the current user has the specified level of access.+data AssetsListRole+    = ALROwner+      -- ^ @owner@+      -- The user can read, write and administer the asset.+    | ALRReader+      -- ^ @reader@+      -- The user can read the asset.+    | ALRWriter+      -- ^ @writer@+      -- The user can read and write the asset.+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable AssetsListRole++instance FromText AssetsListRole where+    fromText = \case+        "owner" -> Just ALROwner+        "reader" -> Just ALRReader+        "writer" -> Just ALRWriter+        _ -> Nothing++instance ToText AssetsListRole where+    toText = \case+        ALROwner -> "owner"+        ALRReader -> "reader"+        ALRWriter -> "writer"++instance FromJSON AssetsListRole where+    parseJSON = parseJSONText "AssetsListRole"++instance ToJSON AssetsListRole where+    toJSON = toJSONText++data RastersListProcessingStatus+    = RLPSComplete+      -- ^ @complete@+      -- The raster has completed processing.+    | RLPSFailed+      -- ^ @failed@+      -- The raster has failed processing.+    | RLPSNotReady+      -- ^ @notReady@+      -- The raster is not ready for processing.+    | RLPSProcessing+      -- ^ @processing@+      -- The raster is processing.+    | RLPSReady+      -- ^ @ready@+      -- The raster is ready for processing.+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable RastersListProcessingStatus++instance FromText RastersListProcessingStatus where+    fromText = \case+        "complete" -> Just RLPSComplete+        "failed" -> Just RLPSFailed+        "notReady" -> Just RLPSNotReady+        "processing" -> Just RLPSProcessing+        "ready" -> Just RLPSReady+        _ -> Nothing++instance ToText RastersListProcessingStatus where+    toText = \case+        RLPSComplete -> "complete"+        RLPSFailed -> "failed"+        RLPSNotReady -> "notReady"+        RLPSProcessing -> "processing"+        RLPSReady -> "ready"++instance FromJSON RastersListProcessingStatus where+    parseJSON = parseJSONText "RastersListProcessingStatus"++instance ToJSON RastersListProcessingStatus where+    toJSON = toJSONText++data LayersListProcessingStatus+    = LLPSComplete+      -- ^ @complete@+      -- The layer has completed processing.+    | LLPSFailed+      -- ^ @failed@+      -- The layer has failed processing.+    | LLPSNotReady+      -- ^ @notReady@+      -- The layer is not ready for processing.+    | LLPSProcessing+      -- ^ @processing@+      -- The layer is processing.+    | LLPSReady+      -- ^ @ready@+      -- The layer is ready for processing.+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable LayersListProcessingStatus++instance FromText LayersListProcessingStatus where+    fromText = \case+        "complete" -> Just LLPSComplete+        "failed" -> Just LLPSFailed+        "notReady" -> Just LLPSNotReady+        "processing" -> Just LLPSProcessing+        "ready" -> Just LLPSReady+        _ -> Nothing++instance ToText LayersListProcessingStatus where+    toText = \case+        LLPSComplete -> "complete"+        LLPSFailed -> "failed"+        LLPSNotReady -> "notReady"+        LLPSProcessing -> "processing"+        LLPSReady -> "ready"++instance FromJSON LayersListProcessingStatus where+    parseJSON = parseJSONText "LayersListProcessingStatus"++instance ToJSON LayersListProcessingStatus where+    toJSON = toJSONText++-- | The role parameter indicates that the response should only contain+-- assets where the current user has the specified level of access.+data RasterCollectionsRastersListRole+    = RCRLROwner+      -- ^ @owner@+      -- The user can read, write and administer the asset.+    | RCRLRReader+      -- ^ @reader@+      -- The user can read the asset.+    | RCRLRWriter+      -- ^ @writer@+      -- The user can read and write the asset.+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable RasterCollectionsRastersListRole++instance FromText RasterCollectionsRastersListRole where+    fromText = \case+        "owner" -> Just RCRLROwner+        "reader" -> Just RCRLRReader+        "writer" -> Just RCRLRWriter+        _ -> Nothing++instance ToText RasterCollectionsRastersListRole where+    toText = \case+        RCRLROwner -> "owner"+        RCRLRReader -> "reader"+        RCRLRWriter -> "writer"++instance FromJSON RasterCollectionsRastersListRole where+    parseJSON = parseJSONText "RasterCollectionsRastersListRole"++instance ToJSON RasterCollectionsRastersListRole where+    toJSON = toJSONText++-- | Identifies this object as a GeoJsonMultiPolygon.+data GeoJSONMultiPolygonType+    = MultiPolygon+      -- ^ @MultiPolygon@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable GeoJSONMultiPolygonType++instance FromText GeoJSONMultiPolygonType where+    fromText = \case+        "MultiPolygon" -> Just MultiPolygon+        _ -> Nothing++instance ToText GeoJSONMultiPolygonType where+    toText = \case+        MultiPolygon -> "MultiPolygon"++instance FromJSON GeoJSONMultiPolygonType where+    parseJSON = parseJSONText "GeoJSONMultiPolygonType"++instance ToJSON GeoJSONMultiPolygonType where+    toJSON = toJSONText++-- | Identifies this object as a GeoJsonMultiPoint.+data GeoJSONMultiPointType+    = MultiPoint+      -- ^ @MultiPoint@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable GeoJSONMultiPointType++instance FromText GeoJSONMultiPointType where+    fromText = \case+        "MultiPoint" -> Just MultiPoint+        _ -> Nothing++instance ToText GeoJSONMultiPointType where+    toText = \case+        MultiPoint -> "MultiPoint"++instance FromJSON GeoJSONMultiPointType where+    parseJSON = parseJSONText "GeoJSONMultiPointType"++instance ToJSON GeoJSONMultiPointType where+    toJSON = toJSONText++-- | The type of the datasources used to build this Layer. This should be+-- used instead of datasourceType. At least one of layerType and+-- datasourceType and must be specified, but layerType takes precedence.+data PublishedLayerLayerType+    = Image+      -- ^ @image@+    | Vector+      -- ^ @vector@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable PublishedLayerLayerType++instance FromText PublishedLayerLayerType where+    fromText = \case+        "image" -> Just Image+        "vector" -> Just Vector+        _ -> Nothing++instance ToText PublishedLayerLayerType where+    toText = \case+        Image -> "image"+        Vector -> "vector"++instance FromJSON PublishedLayerLayerType where+    parseJSON = parseJSONText "PublishedLayerLayerType"++instance ToJSON PublishedLayerLayerType where+    toJSON = toJSONText++data TablesListProcessingStatus+    = TLPSComplete+      -- ^ @complete@+      -- The table has completed processing.+    | TLPSFailed+      -- ^ @failed@+      -- The table has failed processing.+    | TLPSNotReady+      -- ^ @notReady@+      -- The table is not ready for processing.+    | TLPSProcessing+      -- ^ @processing@+      -- The table is processing.+    | TLPSReady+      -- ^ @ready@+      -- The table is ready for processing.+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable TablesListProcessingStatus++instance FromText TablesListProcessingStatus where+    fromText = \case+        "complete" -> Just TLPSComplete+        "failed" -> Just TLPSFailed+        "notReady" -> Just TLPSNotReady+        "processing" -> Just TLPSProcessing+        "ready" -> Just TLPSReady+        _ -> Nothing++instance ToText TablesListProcessingStatus where+    toText = \case+        TLPSComplete -> "complete"+        TLPSFailed -> "failed"+        TLPSNotReady -> "notReady"+        TLPSProcessing -> "processing"+        TLPSReady -> "ready"++instance FromJSON TablesListProcessingStatus where+    parseJSON = parseJSONText "TablesListProcessingStatus"++instance ToJSON TablesListProcessingStatus where+    toJSON = toJSONText++-- | The type of the datasources used to build this Layer. This should be+-- used instead of datasourceType. At least one of layerType and+-- datasourceType and must be specified, but layerType takes precedence.+data LayerLayerType+    = LLTImage+      -- ^ @image@+    | LLTVector+      -- ^ @vector@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable LayerLayerType++instance FromText LayerLayerType where+    fromText = \case+        "image" -> Just LLTImage+        "vector" -> Just LLTVector+        _ -> Nothing++instance ToText LayerLayerType where+    toText = \case+        LLTImage -> "image"+        LLTVector -> "vector"++instance FromJSON LayerLayerType where+    parseJSON = parseJSONText "LayerLayerType"++instance ToJSON LayerLayerType where+    toJSON = toJSONText++-- | The account type.+data PermissionType+    = Anyone+      -- ^ @anyone@+    | Group+      -- ^ @group@+    | User+      -- ^ @user@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable PermissionType++instance FromText PermissionType where+    fromText = \case+        "anyone" -> Just Anyone+        "group" -> Just Group+        "user" -> Just User+        _ -> Nothing++instance ToText PermissionType where+    toText = \case+        Anyone -> "anyone"+        Group -> "group"+        User -> "user"++instance FromJSON PermissionType where+    parseJSON = parseJSONText "PermissionType"++instance ToJSON PermissionType where+    toJSON = toJSONText++-- | The processing status of this map. Map processing is automatically+-- started once a map becomes ready for processing.+data MapProcessingStatus+    = MPSComplete+      -- ^ @complete@+    | MPSFailed+      -- ^ @failed@+    | MPSNotReady+      -- ^ @notReady@+    | MPSProcessing+      -- ^ @processing@+    | MPSReady+      -- ^ @ready@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable MapProcessingStatus++instance FromText MapProcessingStatus where+    fromText = \case+        "complete" -> Just MPSComplete+        "failed" -> Just MPSFailed+        "notReady" -> Just MPSNotReady+        "processing" -> Just MPSProcessing+        "ready" -> Just MPSReady+        _ -> Nothing++instance ToText MapProcessingStatus where+    toText = \case+        MPSComplete -> "complete"+        MPSFailed -> "failed"+        MPSNotReady -> "notReady"+        MPSProcessing -> "processing"+        MPSReady -> "ready"++instance FromJSON MapProcessingStatus where+    parseJSON = parseJSONText "MapProcessingStatus"++instance ToJSON MapProcessingStatus where+    toJSON = toJSONText++-- | Deprecated: The version parameter indicates which version of the map+-- should be returned. When version is set to published, the published+-- version of the map will be returned. Please use the maps.getPublished+-- endpoint instead.+data MapsGetVersion+    = Draft+      -- ^ @draft@+      -- The draft version.+    | Published+      -- ^ @published@+      -- The published version.+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable MapsGetVersion++instance FromText MapsGetVersion where+    fromText = \case+        "draft" -> Just Draft+        "published" -> Just Published+        _ -> Nothing++instance ToText MapsGetVersion where+    toText = \case+        Draft -> "draft"+        Published -> "published"++instance FromJSON MapsGetVersion where+    parseJSON = parseJSONText "MapsGetVersion"++instance ToJSON MapsGetVersion where+    toJSON = toJSONText++-- | The role parameter indicates that the response should only contain+-- assets where the current user has the specified level of access.+data TablesListRole+    = TLROwner+      -- ^ @owner@+      -- The user can read, write and administer the asset.+    | TLRReader+      -- ^ @reader@+      -- The user can read the asset.+    | TLRWriter+      -- ^ @writer@+      -- The user can read and write the asset.+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable TablesListRole++instance FromText TablesListRole where+    fromText = \case+        "owner" -> Just TLROwner+        "reader" -> Just TLRReader+        "writer" -> Just TLRWriter+        _ -> Nothing++instance ToText TablesListRole where+    toText = \case+        TLROwner -> "owner"+        TLRReader -> "reader"+        TLRWriter -> "writer"++instance FromJSON TablesListRole where+    parseJSON = parseJSONText "TablesListRole"++instance ToJSON TablesListRole where+    toJSON = toJSONText++-- | The type of the vector style. Currently, only displayRule is supported.+data VectorStyleType+    = VSTDisplayRule+      -- ^ @displayRule@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable VectorStyleType++instance FromText VectorStyleType where+    fromText = \case+        "displayRule" -> Just VSTDisplayRule+        _ -> Nothing++instance ToText VectorStyleType where+    toText = \case+        VSTDisplayRule -> "displayRule"++instance FromJSON VectorStyleType where+    parseJSON = parseJSONText "VectorStyleType"++instance ToJSON VectorStyleType where+    toJSON = toJSONText++-- | Identifies this object as a GeoJsonLineString.+data GeoJSONLineStringType+    = LineString+      -- ^ @LineString@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable GeoJSONLineStringType++instance FromText GeoJSONLineStringType where+    fromText = \case+        "LineString" -> Just LineString+        _ -> Nothing++instance ToText GeoJSONLineStringType where+    toText = \case+        LineString -> "LineString"++instance FromJSON GeoJSONLineStringType where+    parseJSON = parseJSONText "GeoJSONLineStringType"++instance ToJSON GeoJSONLineStringType where+    toJSON = toJSONText++-- | The publishing status of this layer.+data LayerPublishingStatus+    = LPSNotPublished+      -- ^ @notPublished@+    | LPSPublished+      -- ^ @published@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable LayerPublishingStatus++instance FromText LayerPublishingStatus where+    fromText = \case+        "notPublished" -> Just LPSNotPublished+        "published" -> Just LPSPublished+        _ -> Nothing++instance ToText LayerPublishingStatus where+    toText = \case+        LPSNotPublished -> "notPublished"+        LPSPublished -> "published"++instance FromJSON LayerPublishingStatus where+    parseJSON = parseJSONText "LayerPublishingStatus"++instance ToJSON LayerPublishingStatus where+    toJSON = toJSONText++-- | Identifies this object as a MapKmlLink.+data MapKmlLinkType+    = KmlLink+      -- ^ @kmlLink@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable MapKmlLinkType++instance FromText MapKmlLinkType where+    fromText = \case+        "kmlLink" -> Just KmlLink+        _ -> Nothing++instance ToText MapKmlLinkType where+    toText = \case+        KmlLink -> "kmlLink"++instance FromJSON MapKmlLinkType where+    parseJSON = parseJSONText "MapKmlLinkType"++instance ToJSON MapKmlLinkType where+    toJSON = toJSONText++-- | Deprecated: The type of the datasources used to build this Layer. Note:+-- This has been replaced by layerType, but is still available for now to+-- maintain backward compatibility.+data LayerDatasourceType+    = LDTImage+      -- ^ @image@+    | LDTTable+      -- ^ @table@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable LayerDatasourceType++instance FromText LayerDatasourceType where+    fromText = \case+        "image" -> Just LDTImage+        "table" -> Just LDTTable+        _ -> Nothing++instance ToText LayerDatasourceType where+    toText = \case+        LDTImage -> "image"+        LDTTable -> "table"++instance FromJSON LayerDatasourceType where+    parseJSON = parseJSONText "LayerDatasourceType"++instance ToJSON LayerDatasourceType where+    toJSON = toJSONText++-- | Identifies this object as a GeoJsonGeometryCollection.+data GeoJSONGeometryCollectionType+    = GeometryCollection+      -- ^ @GeometryCollection@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable GeoJSONGeometryCollectionType++instance FromText GeoJSONGeometryCollectionType where+    fromText = \case+        "GeometryCollection" -> Just GeometryCollection+        _ -> Nothing++instance ToText GeoJSONGeometryCollectionType where+    toText = \case+        GeometryCollection -> "GeometryCollection"++instance FromJSON GeoJSONGeometryCollectionType where+    parseJSON = parseJSONText "GeoJSONGeometryCollectionType"++instance ToJSON GeoJSONGeometryCollectionType where+    toJSON = toJSONText++-- | Identifies this object as a GeoJsonPoint.+data GeoJSONPointType+    = Point+      -- ^ @Point@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable GeoJSONPointType++instance FromText GeoJSONPointType where+    fromText = \case+        "Point" -> Just Point+        _ -> Nothing++instance ToText GeoJSONPointType where+    toText = \case+        Point -> "Point"++instance FromJSON GeoJSONPointType where+    parseJSON = parseJSONText "GeoJSONPointType"++instance ToJSON GeoJSONPointType where+    toJSON = toJSONText++-- | Identifies this object as a GeoJsonPolygon.+data GeoJSONPolygonType+    = Polygon+      -- ^ @Polygon@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable GeoJSONPolygonType++instance FromText GeoJSONPolygonType where+    fromText = \case+        "Polygon" -> Just Polygon+        _ -> Nothing++instance ToText GeoJSONPolygonType where+    toText = \case+        Polygon -> "Polygon"++instance FromJSON GeoJSONPolygonType where+    parseJSON = parseJSONText "GeoJSONPolygonType"++instance ToJSON GeoJSONPolygonType where+    toJSON = toJSONText++-- | Deprecated: The version parameter indicates which version of the layer+-- should be returned. When version is set to published, the published+-- version of the layer will be returned. Please use the+-- layers.getPublished endpoint instead.+data LayersGetVersion+    = LGVDraft+      -- ^ @draft@+      -- The draft version.+    | LGVPublished+      -- ^ @published@+      -- The published version.+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable LayersGetVersion++instance FromText LayersGetVersion where+    fromText = \case+        "draft" -> Just LGVDraft+        "published" -> Just LGVPublished+        _ -> Nothing++instance ToText LayersGetVersion where+    toText = \case+        LGVDraft -> "draft"+        LGVPublished -> "published"++instance FromJSON LayersGetVersion where+    parseJSON = parseJSONText "LayersGetVersion"++instance ToJSON LayersGetVersion where+    toJSON = toJSONText++-- | Identifies this object as a MapLayer.+data MapLayerType+    = MLTLayer+      -- ^ @layer@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable MapLayerType++instance FromText MapLayerType where+    fromText = \case+        "layer" -> Just MLTLayer+        _ -> Nothing++instance ToText MapLayerType where+    toText = \case+        MLTLayer -> "layer"++instance FromJSON MapLayerType where+    parseJSON = parseJSONText "MapLayerType"++instance ToJSON MapLayerType where+    toJSON = toJSONText++-- | Font weight of the label, defaults to \'normal\'.+data LabelStyleFontWeight+    = Bold+      -- ^ @bold@+    | Normal+      -- ^ @normal@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable LabelStyleFontWeight++instance FromText LabelStyleFontWeight where+    fromText = \case+        "bold" -> Just Bold+        "normal" -> Just Normal+        _ -> Nothing++instance ToText LabelStyleFontWeight where+    toText = \case+        Bold -> "bold"+        Normal -> "normal"++instance FromJSON LabelStyleFontWeight where+    parseJSON = parseJSONText "LabelStyleFontWeight"++instance ToJSON LabelStyleFontWeight where+    toJSON = toJSONText++-- | Identifies this object as a MapFolder.+data MapFolderType+    = Folder+      -- ^ @folder@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable MapFolderType++instance FromText MapFolderType where+    fromText = \case+        "folder" -> Just Folder+        _ -> Nothing++instance ToText MapFolderType where+    toText = \case+        Folder -> "folder"++instance FromJSON MapFolderType where+    parseJSON = parseJSONText "MapFolderType"++instance ToJSON MapFolderType where+    toJSON = toJSONText++-- | The processing status of this RasterCollection.+data RasterCollectionProcessingStatus+    = RCPSComplete+      -- ^ @complete@+    | RCPSFailed+      -- ^ @failed@+    | RCPSNotReady+      -- ^ @notReady@+    | RCPSProcessing+      -- ^ @processing@+    | RCPSReady+      -- ^ @ready@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable RasterCollectionProcessingStatus++instance FromText RasterCollectionProcessingStatus where+    fromText = \case+        "complete" -> Just RCPSComplete+        "failed" -> Just RCPSFailed+        "notReady" -> Just RCPSNotReady+        "processing" -> Just RCPSProcessing+        "ready" -> Just RCPSReady+        _ -> Nothing++instance ToText RasterCollectionProcessingStatus where+    toText = \case+        RCPSComplete -> "complete"+        RCPSFailed -> "failed"+        RCPSNotReady -> "notReady"+        RCPSProcessing -> "processing"+        RCPSReady -> "ready"++instance FromJSON RasterCollectionProcessingStatus where+    parseJSON = parseJSONText "RasterCollectionProcessingStatus"++instance ToJSON RasterCollectionProcessingStatus where+    toJSON = toJSONText++-- | The table version to access. See Accessing Public Data for information.+data TablesFeaturesListVersion+    = TFLVDraft+      -- ^ @draft@+      -- The draft version.+    | TFLVPublished+      -- ^ @published@+      -- The published version.+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable TablesFeaturesListVersion++instance FromText TablesFeaturesListVersion where+    fromText = \case+        "draft" -> Just TFLVDraft+        "published" -> Just TFLVPublished+        _ -> Nothing++instance ToText TablesFeaturesListVersion where+    toText = \case+        TFLVDraft -> "draft"+        TFLVPublished -> "published"++instance FromJSON TablesFeaturesListVersion where+    parseJSON = parseJSONText "TablesFeaturesListVersion"++instance ToJSON TablesFeaturesListVersion where+    toJSON = toJSONText++data MapsListProcessingStatus+    = MLPSComplete+      -- ^ @complete@+      -- The map has completed processing.+    | MLPSFailed+      -- ^ @failed@+      -- The map has failed processing.+    | MLPSNotReady+      -- ^ @notReady@+      -- The map is not ready for processing.+    | MLPSProcessing+      -- ^ @processing@+      -- The map is processing.+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable MapsListProcessingStatus++instance FromText MapsListProcessingStatus where+    fromText = \case+        "complete" -> Just MLPSComplete+        "failed" -> Just MLPSFailed+        "notReady" -> Just MLPSNotReady+        "processing" -> Just MLPSProcessing+        _ -> Nothing++instance ToText MapsListProcessingStatus where+    toText = \case+        MLPSComplete -> "complete"+        MLPSFailed -> "failed"+        MLPSNotReady -> "notReady"+        MLPSProcessing -> "processing"++instance FromJSON MapsListProcessingStatus where+    parseJSON = parseJSONText "MapsListProcessingStatus"++instance ToJSON MapsListProcessingStatus where+    toJSON = toJSONText++-- | Font style of the label, defaults to \'normal\'.+data LabelStyleFontStyle+    = LSFSItalic+      -- ^ @italic@+    | LSFSNormal+      -- ^ @normal@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable LabelStyleFontStyle++instance FromText LabelStyleFontStyle where+    fromText = \case+        "italic" -> Just LSFSItalic+        "normal" -> Just LSFSNormal+        _ -> Nothing++instance ToText LabelStyleFontStyle where+    toText = \case+        LSFSItalic -> "italic"+        LSFSNormal -> "normal"++instance FromJSON LabelStyleFontStyle where+    parseJSON = parseJSONText "LabelStyleFontStyle"++instance ToJSON LabelStyleFontStyle where+    toJSON = toJSONText++-- | The type of asset. One of raster, rasterCollection, table, map, or+-- layer.+data AssetType+    = ATLayer+      -- ^ @layer@+    | ATMap+      -- ^ @map@+    | ATRaster+      -- ^ @raster@+    | ATRasterCollection+      -- ^ @rasterCollection@+    | ATTable+      -- ^ @table@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable AssetType++instance FromText AssetType where+    fromText = \case+        "layer" -> Just ATLayer+        "map" -> Just ATMap+        "raster" -> Just ATRaster+        "rasterCollection" -> Just ATRasterCollection+        "table" -> Just ATTable+        _ -> Nothing++instance ToText AssetType where+    toText = \case+        ATLayer -> "layer"+        ATMap -> "map"+        ATRaster -> "raster"+        ATRasterCollection -> "rasterCollection"+        ATTable -> "table"++instance FromJSON AssetType where+    parseJSON = parseJSONText "AssetType"++instance ToJSON AssetType where+    toJSON = toJSONText++-- | The type of this Raster. Always \"image\" today.+data RasterRasterType+    = RRTImage+      -- ^ @image@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable RasterRasterType++instance FromText RasterRasterType where+    fromText = \case+        "image" -> Just RRTImage+        _ -> Nothing++instance ToText RasterRasterType where+    toText = \case+        RRTImage -> "image"++instance FromJSON RasterRasterType where+    parseJSON = parseJSONText "RasterRasterType"++instance ToJSON RasterRasterType where+    toJSON = toJSONText++-- | The role parameter indicates that the response should only contain+-- assets where the current user has the specified level of access.+data RasterCollectionsListRole+    = RCLROwner+      -- ^ @owner@+      -- The user can read, write and administer the asset.+    | RCLRReader+      -- ^ @reader@+      -- The user can read the asset.+    | RCLRWriter+      -- ^ @writer@+      -- The user can read and write the asset.+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable RasterCollectionsListRole++instance FromText RasterCollectionsListRole where+    fromText = \case+        "owner" -> Just RCLROwner+        "reader" -> Just RCLRReader+        "writer" -> Just RCLRWriter+        _ -> Nothing++instance ToText RasterCollectionsListRole where+    toText = \case+        RCLROwner -> "owner"+        RCLRReader -> "reader"+        RCLRWriter -> "writer"++instance FromJSON RasterCollectionsListRole where+    parseJSON = parseJSONText "RasterCollectionsListRole"++instance ToJSON RasterCollectionsListRole where+    toJSON = toJSONText++-- | Operation used to evaluate the filter.+data FilterOperator+    = NotEqual+      -- ^ @!=@+    | Less+      -- ^ @<@+    | LessOrEqual+      -- ^ @<=@+    | Equal+      -- ^ @==@+    | Greater+      -- ^ @>@+    | GreaterEqual+      -- ^ @>=@+    | Contains+      -- ^ @contains@+    | EndsWith+      -- ^ @endsWith@+    | StartsWith+      -- ^ @startsWith@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable FilterOperator++instance FromText FilterOperator where+    fromText = \case+        "!=" -> Just NotEqual+        "<" -> Just Less+        "<=" -> Just LessOrEqual+        "==" -> Just Equal+        ">" -> Just Greater+        ">=" -> Just GreaterEqual+        "contains" -> Just Contains+        "endsWith" -> Just EndsWith+        "startsWith" -> Just StartsWith+        _ -> Nothing++instance ToText FilterOperator where+    toText = \case+        NotEqual -> "!="+        Less -> "<"+        LessOrEqual -> "<="+        Equal -> "=="+        Greater -> ">"+        GreaterEqual -> ">="+        Contains -> "contains"+        EndsWith -> "endsWith"+        StartsWith -> "startsWith"++instance FromJSON FilterOperator where+    parseJSON = parseJSONText "FilterOperator"++instance ToJSON FilterOperator where+    toJSON = toJSONText++-- | The type of data stored in this column.+data TableColumnType+    = Datetime+      -- ^ @datetime@+    | Double+      -- ^ @double@+    | Integer+      -- ^ @integer@+    | LineStrings+      -- ^ @lineStrings@+    | MixedGeometry+      -- ^ @mixedGeometry@+    | Points+      -- ^ @points@+    | Polygons+      -- ^ @polygons@+    | String+      -- ^ @string@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable TableColumnType++instance FromText TableColumnType where+    fromText = \case+        "datetime" -> Just Datetime+        "double" -> Just Double+        "integer" -> Just Integer+        "lineStrings" -> Just LineStrings+        "mixedGeometry" -> Just MixedGeometry+        "points" -> Just Points+        "polygons" -> Just Polygons+        "string" -> Just String+        _ -> Nothing++instance ToText TableColumnType where+    toText = \case+        Datetime -> "datetime"+        Double -> "double"+        Integer -> "integer"+        LineStrings -> "lineStrings"+        MixedGeometry -> "mixedGeometry"+        Points -> "points"+        Polygons -> "polygons"+        String -> "string"++instance FromJSON TableColumnType where+    parseJSON = parseJSONText "TableColumnType"++instance ToJSON TableColumnType where+    toJSON = toJSONText++data RasterCollectionsListProcessingStatus+    = RCLPSComplete+      -- ^ @complete@+      -- The raster collection has completed processing.+    | RCLPSFailed+      -- ^ @failed@+      -- The raster collection has failed processing.+    | RCLPSNotReady+      -- ^ @notReady@+      -- The raster collection is not ready for processing.+    | RCLPSProcessing+      -- ^ @processing@+      -- The raster collection is processing.+    | RCLPSReady+      -- ^ @ready@+      -- The raster collection is ready for processing.+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable RasterCollectionsListProcessingStatus++instance FromText RasterCollectionsListProcessingStatus where+    fromText = \case+        "complete" -> Just RCLPSComplete+        "failed" -> Just RCLPSFailed+        "notReady" -> Just RCLPSNotReady+        "processing" -> Just RCLPSProcessing+        "ready" -> Just RCLPSReady+        _ -> Nothing++instance ToText RasterCollectionsListProcessingStatus where+    toText = \case+        RCLPSComplete -> "complete"+        RCLPSFailed -> "failed"+        RCLPSNotReady -> "notReady"+        RCLPSProcessing -> "processing"+        RCLPSReady -> "ready"++instance FromJSON RasterCollectionsListProcessingStatus where+    parseJSON = parseJSONText "RasterCollectionsListProcessingStatus"++instance ToJSON RasterCollectionsListProcessingStatus where+    toJSON = toJSONText++-- | The role parameter indicates that the response should only contain+-- assets where the current user has the specified level of access.+data LayersListRole+    = LLROwner+      -- ^ @owner@+      -- The user can read, write and administer the asset.+    | LLRReader+      -- ^ @reader@+      -- The user can read the asset.+    | LLRWriter+      -- ^ @writer@+      -- The user can read and write the asset.+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable LayersListRole++instance FromText LayersListRole where+    fromText = \case+        "owner" -> Just LLROwner+        "reader" -> Just LLRReader+        "writer" -> Just LLRWriter+        _ -> Nothing++instance ToText LayersListRole where+    toText = \case+        LLROwner -> "owner"+        LLRReader -> "reader"+        LLRWriter -> "writer"++instance FromJSON LayersListRole where+    parseJSON = parseJSONText "LayersListRole"++instance ToJSON LayersListRole where+    toJSON = toJSONText++-- | The table version to access. See Accessing Public Data for information.+data TablesFeaturesGetVersion+    = TFGVDraft+      -- ^ @draft@+      -- The draft version.+    | TFGVPublished+      -- ^ @published@+      -- The published version.+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable TablesFeaturesGetVersion++instance FromText TablesFeaturesGetVersion where+    fromText = \case+        "draft" -> Just TFGVDraft+        "published" -> Just TFGVPublished+        _ -> Nothing++instance ToText TablesFeaturesGetVersion where+    toText = \case+        TFGVDraft -> "draft"+        TFGVPublished -> "published"++instance FromJSON TablesFeaturesGetVersion where+    parseJSON = parseJSONText "TablesFeaturesGetVersion"++instance ToJSON TablesFeaturesGetVersion where+    toJSON = toJSONText++-- | The type of rasters contained within this RasterCollection.+data RasterCollectionRasterType+    = RCRTImage+      -- ^ @image@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable RasterCollectionRasterType++instance FromText RasterCollectionRasterType where+    fromText = \case+        "image" -> Just RCRTImage+        _ -> Nothing++instance ToText RasterCollectionRasterType where+    toText = \case+        RCRTImage -> "image"++instance FromJSON RasterCollectionRasterType where+    parseJSON = parseJSONText "RasterCollectionRasterType"++instance ToJSON RasterCollectionRasterType where+    toJSON = toJSONText++-- | The role parameter indicates that the response should only contain+-- assets where the current user has the specified level of access.+data RastersListRole+    = RLROwner+      -- ^ @owner@+      -- The user can read, write and administer the asset.+    | RLRReader+      -- ^ @reader@+      -- The user can read the asset.+    | RLRWriter+      -- ^ @writer@+      -- The user can read and write the asset.+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable RastersListRole++instance FromText RastersListRole where+    fromText = \case+        "owner" -> Just RLROwner+        "reader" -> Just RLRReader+        "writer" -> Just RLRWriter+        _ -> Nothing++instance ToText RastersListRole where+    toText = \case+        RLROwner -> "owner"+        RLRReader -> "reader"+        RLRWriter -> "writer"++instance FromJSON RastersListRole where+    parseJSON = parseJSONText "RastersListRole"++instance ToJSON RastersListRole where+    toJSON = toJSONText++-- | The publishing status of this map.+data MapPublishingStatus+    = MPSNotPublished+      -- ^ @notPublished@+    | MPSPublished+      -- ^ @published@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable MapPublishingStatus++instance FromText MapPublishingStatus where+    fromText = \case+        "notPublished" -> Just MPSNotPublished+        "published" -> Just MPSPublished+        _ -> Nothing++instance ToText MapPublishingStatus where+    toText = \case+        MPSNotPublished -> "notPublished"+        MPSPublished -> "published"++instance FromJSON MapPublishingStatus where+    parseJSON = parseJSONText "MapPublishingStatus"++instance ToJSON MapPublishingStatus where+    toJSON = toJSONText++-- | The upload status of the file.+data FileUploadStatus+    = FUSCanceled+      -- ^ @canceled@+    | FUSComplete+      -- ^ @complete@+    | FUSFailed+      -- ^ @failed@+    | FUSInProgress+      -- ^ @inProgress@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable FileUploadStatus++instance FromText FileUploadStatus where+    fromText = \case+        "canceled" -> Just FUSCanceled+        "complete" -> Just FUSComplete+        "failed" -> Just FUSFailed+        "inProgress" -> Just FUSInProgress+        _ -> Nothing++instance ToText FileUploadStatus where+    toText = \case+        FUSCanceled -> "canceled"+        FUSComplete -> "complete"+        FUSFailed -> "failed"+        FUSInProgress -> "inProgress"++instance FromJSON FileUploadStatus where+    parseJSON = parseJSONText "FileUploadStatus"++instance ToJSON FileUploadStatus where+    toJSON = toJSONText++-- | The role parameter indicates that the response should only contain+-- assets where the current user has the specified level of access.+data MapsListRole+    = MLROwner+      -- ^ @owner@+      -- The user can read, write and administer the asset.+    | MLRReader+      -- ^ @reader@+      -- The user can read the asset.+    | MLRWriter+      -- ^ @writer@+      -- The user can read and write the asset.+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable MapsListRole++instance FromText MapsListRole where+    fromText = \case+        "owner" -> Just MLROwner+        "reader" -> Just MLRReader+        "writer" -> Just MLRWriter+        _ -> Nothing++instance ToText MapsListRole where+    toText = \case+        MLROwner -> "owner"+        MLRReader -> "reader"+        MLRWriter -> "writer"++instance FromJSON MapsListRole where+    parseJSON = parseJSONText "MapsListRole"++instance ToJSON MapsListRole where+    toJSON = toJSONText++data TablesGetVersion+    = TGVDraft+      -- ^ @draft@+      -- The draft version.+    | TGVPublished+      -- ^ @published@+      -- The published version.+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable TablesGetVersion++instance FromText TablesGetVersion where+    fromText = \case+        "draft" -> Just TGVDraft+        "published" -> Just TGVPublished+        _ -> Nothing++instance ToText TablesGetVersion where+    toText = \case+        TGVDraft -> "draft"+        TGVPublished -> "published"++instance FromJSON TablesGetVersion where+    parseJSON = parseJSONText "TablesGetVersion"++instance ToJSON TablesGetVersion where+    toJSON = toJSONText++-- | The processing status of this table.+data TableProcessingStatus+    = TPSComplete+      -- ^ @complete@+    | TPSFailed+      -- ^ @failed@+    | TPSNotReady+      -- ^ @notReady@+    | TPSProcessing+      -- ^ @processing@+    | TPSReady+      -- ^ @ready@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable TableProcessingStatus++instance FromText TableProcessingStatus where+    fromText = \case+        "complete" -> Just TPSComplete+        "failed" -> Just TPSFailed+        "notReady" -> Just TPSNotReady+        "processing" -> Just TPSProcessing+        "ready" -> Just TPSReady+        _ -> Nothing++instance ToText TableProcessingStatus where+    toText = \case+        TPSComplete -> "complete"+        TPSFailed -> "failed"+        TPSNotReady -> "notReady"+        TPSProcessing -> "processing"+        TPSReady -> "ready"++instance FromJSON TableProcessingStatus where+    parseJSON = parseJSONText "TableProcessingStatus"++instance ToJSON TableProcessingStatus where+    toJSON = toJSONText
+ gen/Network/Google/Resource/MapsEngine/Assets/Get.hs view
@@ -0,0 +1,81 @@+{-# 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.MapsEngine.Assets.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)+--+-- Return metadata for a particular asset.+--+-- /See:/ <https://developers.google.com/maps-engine/ Google Maps Engine API Reference> for @mapsengine.assets.get@.+module Network.Google.Resource.MapsEngine.Assets.Get+    (+    -- * REST Resource+      AssetsGetResource++    -- * Creating a Request+    , assetsGet+    , AssetsGet++    -- * Request Lenses+    , agId+    ) where++import           Network.Google.MapsEngine.Types+import           Network.Google.Prelude++-- | A resource alias for @mapsengine.assets.get@ method which the+-- 'AssetsGet' request conforms to.+type AssetsGetResource =+     "mapsengine" :>+       "v1" :>+         "assets" :>+           Capture "id" Text :>+             QueryParam "alt" AltJSON :> Get '[JSON] Asset++-- | Return metadata for a particular asset.+--+-- /See:/ 'assetsGet' smart constructor.+newtype AssetsGet = AssetsGet+    { _agId :: Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AssetsGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'agId'+assetsGet+    :: Text -- ^ 'agId'+    -> AssetsGet+assetsGet pAgId_ =+    AssetsGet+    { _agId = pAgId_+    }++-- | The ID of the asset.+agId :: Lens' AssetsGet Text+agId = lens _agId (\ s a -> s{_agId = a})++instance GoogleRequest AssetsGet where+        type Rs AssetsGet = Asset+        requestClient AssetsGet{..}+          = go _agId (Just AltJSON) mapsEngineService+          where go+                  = buildClient (Proxy :: Proxy AssetsGetResource)+                      mempty
+ gen/Network/Google/Resource/MapsEngine/Assets/List.hs view
@@ -0,0 +1,247 @@+{-# 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.MapsEngine.Assets.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)+--+-- Return all assets readable by the current user.+--+-- /See:/ <https://developers.google.com/maps-engine/ Google Maps Engine API Reference> for @mapsengine.assets.list@.+module Network.Google.Resource.MapsEngine.Assets.List+    (+    -- * REST Resource+      AssetsListResource++    -- * Creating a Request+    , assetsList+    , AssetsList++    -- * Request Lenses+    , alCreatedAfter+    , alCreatorEmail+    , alRole+    , alBbox+    , alModifiedAfter+    , alModifiedBefore+    , alPageToken+    , alProjectId+    , alType+    , alSearch+    , alMaxResults+    , alTags+    , alCreatedBefore+    ) where++import           Network.Google.MapsEngine.Types+import           Network.Google.Prelude++-- | A resource alias for @mapsengine.assets.list@ method which the+-- 'AssetsList' request conforms to.+type AssetsListResource =+     "mapsengine" :>+       "v1" :>+         "assets" :>+           QueryParam "createdAfter" DateTime' :>+             QueryParam "creatorEmail" Text :>+               QueryParam "role" AssetsListRole :>+                 QueryParam "bbox" Text :>+                   QueryParam "modifiedAfter" DateTime' :>+                     QueryParam "modifiedBefore" DateTime' :>+                       QueryParam "pageToken" Text :>+                         QueryParam "projectId" Text :>+                           QueryParam "type" Text :>+                             QueryParam "search" Text :>+                               QueryParam "maxResults" (Textual Word32) :>+                                 QueryParam "tags" Text :>+                                   QueryParam "createdBefore" DateTime' :>+                                     QueryParam "alt" AltJSON :>+                                       Get '[JSON] AssetsListResponse++-- | Return all assets readable by the current user.+--+-- /See:/ 'assetsList' smart constructor.+data AssetsList = AssetsList+    { _alCreatedAfter   :: !(Maybe DateTime')+    , _alCreatorEmail   :: !(Maybe Text)+    , _alRole           :: !(Maybe AssetsListRole)+    , _alBbox           :: !(Maybe Text)+    , _alModifiedAfter  :: !(Maybe DateTime')+    , _alModifiedBefore :: !(Maybe DateTime')+    , _alPageToken      :: !(Maybe Text)+    , _alProjectId      :: !(Maybe Text)+    , _alType           :: !(Maybe Text)+    , _alSearch         :: !(Maybe Text)+    , _alMaxResults     :: !(Maybe (Textual Word32))+    , _alTags           :: !(Maybe Text)+    , _alCreatedBefore  :: !(Maybe DateTime')+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AssetsList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'alCreatedAfter'+--+-- * 'alCreatorEmail'+--+-- * 'alRole'+--+-- * 'alBbox'+--+-- * 'alModifiedAfter'+--+-- * 'alModifiedBefore'+--+-- * 'alPageToken'+--+-- * 'alProjectId'+--+-- * 'alType'+--+-- * 'alSearch'+--+-- * 'alMaxResults'+--+-- * 'alTags'+--+-- * 'alCreatedBefore'+assetsList+    :: AssetsList+assetsList =+    AssetsList+    { _alCreatedAfter = Nothing+    , _alCreatorEmail = Nothing+    , _alRole = Nothing+    , _alBbox = Nothing+    , _alModifiedAfter = Nothing+    , _alModifiedBefore = Nothing+    , _alPageToken = Nothing+    , _alProjectId = Nothing+    , _alType = Nothing+    , _alSearch = Nothing+    , _alMaxResults = Nothing+    , _alTags = Nothing+    , _alCreatedBefore = Nothing+    }++-- | An RFC 3339 formatted date-time value (e.g. 1970-01-01T00:00:00Z).+-- Returned assets will have been created at or after this time.+alCreatedAfter :: Lens' AssetsList (Maybe UTCTime)+alCreatedAfter+  = lens _alCreatedAfter+      (\ s a -> s{_alCreatedAfter = a})+      . mapping _DateTime++-- | An email address representing a user. Returned assets that have been+-- created by the user associated with the provided email address.+alCreatorEmail :: Lens' AssetsList (Maybe Text)+alCreatorEmail+  = lens _alCreatorEmail+      (\ s a -> s{_alCreatorEmail = a})++-- | The role parameter indicates that the response should only contain+-- assets where the current user has the specified level of access.+alRole :: Lens' AssetsList (Maybe AssetsListRole)+alRole = lens _alRole (\ s a -> s{_alRole = a})++-- | A bounding box, expressed as \"west,south,east,north\". If set, only+-- assets which intersect this bounding box will be returned.+alBbox :: Lens' AssetsList (Maybe Text)+alBbox = lens _alBbox (\ s a -> s{_alBbox = a})++-- | An RFC 3339 formatted date-time value (e.g. 1970-01-01T00:00:00Z).+-- Returned assets will have been modified at or after this time.+alModifiedAfter :: Lens' AssetsList (Maybe UTCTime)+alModifiedAfter+  = lens _alModifiedAfter+      (\ s a -> s{_alModifiedAfter = a})+      . mapping _DateTime++-- | An RFC 3339 formatted date-time value (e.g. 1970-01-01T00:00:00Z).+-- Returned assets will have been modified at or before this time.+alModifiedBefore :: Lens' AssetsList (Maybe UTCTime)+alModifiedBefore+  = lens _alModifiedBefore+      (\ s a -> s{_alModifiedBefore = a})+      . mapping _DateTime++-- | The continuation token, used to page through large result sets. To get+-- the next page of results, set this parameter to the value of+-- nextPageToken from the previous response.+alPageToken :: Lens' AssetsList (Maybe Text)+alPageToken+  = lens _alPageToken (\ s a -> s{_alPageToken = a})++-- | The ID of a Maps Engine project, used to filter the response. To list+-- all available projects with their IDs, send a Projects: list request.+-- You can also find your project ID as the value of the DashboardPlace:cid+-- URL parameter when signed in to mapsengine.google.com.+alProjectId :: Lens' AssetsList (Maybe Text)+alProjectId+  = lens _alProjectId (\ s a -> s{_alProjectId = a})++-- | A comma separated list of asset types. Returned assets will have one of+-- the types from the provided list. Supported values are \'map\',+-- \'layer\', \'rasterCollection\' and \'table\'.+alType :: Lens' AssetsList (Maybe Text)+alType = lens _alType (\ s a -> s{_alType = a})++-- | An unstructured search string used to filter the set of results based on+-- asset metadata.+alSearch :: Lens' AssetsList (Maybe Text)+alSearch = lens _alSearch (\ s a -> s{_alSearch = a})++-- | The maximum number of items to include in a single response page. The+-- maximum supported value is 100.+alMaxResults :: Lens' AssetsList (Maybe Word32)+alMaxResults+  = lens _alMaxResults (\ s a -> s{_alMaxResults = a})+      . mapping _Coerce++-- | A comma separated list of tags. Returned assets will contain all the+-- tags from the list.+alTags :: Lens' AssetsList (Maybe Text)+alTags = lens _alTags (\ s a -> s{_alTags = a})++-- | An RFC 3339 formatted date-time value (e.g. 1970-01-01T00:00:00Z).+-- Returned assets will have been created at or before this time.+alCreatedBefore :: Lens' AssetsList (Maybe UTCTime)+alCreatedBefore+  = lens _alCreatedBefore+      (\ s a -> s{_alCreatedBefore = a})+      . mapping _DateTime++instance GoogleRequest AssetsList where+        type Rs AssetsList = AssetsListResponse+        requestClient AssetsList{..}+          = go _alCreatedAfter _alCreatorEmail _alRole _alBbox+              _alModifiedAfter+              _alModifiedBefore+              _alPageToken+              _alProjectId+              _alType+              _alSearch+              _alMaxResults+              _alTags+              _alCreatedBefore+              (Just AltJSON)+              mapsEngineService+          where go+                  = buildClient (Proxy :: Proxy AssetsListResource)+                      mempty
+ gen/Network/Google/Resource/MapsEngine/Assets/Parents/List.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.MapsEngine.Assets.Parents.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)+--+-- Return all parent ids of the specified asset.+--+-- /See:/ <https://developers.google.com/maps-engine/ Google Maps Engine API Reference> for @mapsengine.assets.parents.list@.+module Network.Google.Resource.MapsEngine.Assets.Parents.List+    (+    -- * REST Resource+      AssetsParentsListResource++    -- * Creating a Request+    , assetsParentsList+    , AssetsParentsList++    -- * Request Lenses+    , aplId+    , aplPageToken+    , aplMaxResults+    ) where++import           Network.Google.MapsEngine.Types+import           Network.Google.Prelude++-- | A resource alias for @mapsengine.assets.parents.list@ method which the+-- 'AssetsParentsList' request conforms to.+type AssetsParentsListResource =+     "mapsengine" :>+       "v1" :>+         "assets" :>+           Capture "id" Text :>+             "parents" :>+               QueryParam "pageToken" Text :>+                 QueryParam "maxResults" (Textual Word32) :>+                   QueryParam "alt" AltJSON :>+                     Get '[JSON] ParentsListResponse++-- | Return all parent ids of the specified asset.+--+-- /See:/ 'assetsParentsList' smart constructor.+data AssetsParentsList = AssetsParentsList+    { _aplId         :: !Text+    , _aplPageToken  :: !(Maybe Text)+    , _aplMaxResults :: !(Maybe (Textual Word32))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AssetsParentsList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'aplId'+--+-- * 'aplPageToken'+--+-- * 'aplMaxResults'+assetsParentsList+    :: Text -- ^ 'aplId'+    -> AssetsParentsList+assetsParentsList pAplId_ =+    AssetsParentsList+    { _aplId = pAplId_+    , _aplPageToken = Nothing+    , _aplMaxResults = Nothing+    }++-- | The ID of the asset whose parents will be listed.+aplId :: Lens' AssetsParentsList Text+aplId = lens _aplId (\ s a -> s{_aplId = a})++-- | The continuation token, used to page through large result sets. To get+-- the next page of results, set this parameter to the value of+-- nextPageToken from the previous response.+aplPageToken :: Lens' AssetsParentsList (Maybe Text)+aplPageToken+  = lens _aplPageToken (\ s a -> s{_aplPageToken = a})++-- | The maximum number of items to include in a single response page. The+-- maximum supported value is 50.+aplMaxResults :: Lens' AssetsParentsList (Maybe Word32)+aplMaxResults+  = lens _aplMaxResults+      (\ s a -> s{_aplMaxResults = a})+      . mapping _Coerce++instance GoogleRequest AssetsParentsList where+        type Rs AssetsParentsList = ParentsListResponse+        requestClient AssetsParentsList{..}+          = go _aplId _aplPageToken _aplMaxResults+              (Just AltJSON)+              mapsEngineService+          where go+                  = buildClient+                      (Proxy :: Proxy AssetsParentsListResource)+                      mempty
+ gen/Network/Google/Resource/MapsEngine/Assets/Permissions/List.hs view
@@ -0,0 +1,85 @@+{-# 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.MapsEngine.Assets.Permissions.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)+--+-- Return all of the permissions for the specified asset.+--+-- /See:/ <https://developers.google.com/maps-engine/ Google Maps Engine API Reference> for @mapsengine.assets.permissions.list@.+module Network.Google.Resource.MapsEngine.Assets.Permissions.List+    (+    -- * REST Resource+      AssetsPermissionsListResource++    -- * Creating a Request+    , assetsPermissionsList+    , AssetsPermissionsList++    -- * Request Lenses+    , assId+    ) where++import           Network.Google.MapsEngine.Types+import           Network.Google.Prelude++-- | A resource alias for @mapsengine.assets.permissions.list@ method which the+-- 'AssetsPermissionsList' request conforms to.+type AssetsPermissionsListResource =+     "mapsengine" :>+       "v1" :>+         "assets" :>+           Capture "id" Text :>+             "permissions" :>+               QueryParam "alt" AltJSON :>+                 Get '[JSON] PermissionsListResponse++-- | Return all of the permissions for the specified asset.+--+-- /See:/ 'assetsPermissionsList' smart constructor.+newtype AssetsPermissionsList = AssetsPermissionsList+    { _assId :: Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AssetsPermissionsList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'assId'+assetsPermissionsList+    :: Text -- ^ 'assId'+    -> AssetsPermissionsList+assetsPermissionsList pAssId_ =+    AssetsPermissionsList+    { _assId = pAssId_+    }++-- | The ID of the asset whose permissions will be listed.+assId :: Lens' AssetsPermissionsList Text+assId = lens _assId (\ s a -> s{_assId = a})++instance GoogleRequest AssetsPermissionsList where+        type Rs AssetsPermissionsList =+             PermissionsListResponse+        requestClient AssetsPermissionsList{..}+          = go _assId (Just AltJSON) mapsEngineService+          where go+                  = buildClient+                      (Proxy :: Proxy AssetsPermissionsListResource)+                      mempty
+ gen/Network/Google/Resource/MapsEngine/Layers/CancelProcessing.hs view
@@ -0,0 +1,84 @@+{-# 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.MapsEngine.Layers.CancelProcessing+-- 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)+--+-- Cancel processing on a layer asset.+--+-- /See:/ <https://developers.google.com/maps-engine/ Google Maps Engine API Reference> for @mapsengine.layers.cancelProcessing@.+module Network.Google.Resource.MapsEngine.Layers.CancelProcessing+    (+    -- * REST Resource+      LayersCancelProcessingResource++    -- * Creating a Request+    , layersCancelProcessing+    , LayersCancelProcessing++    -- * Request Lenses+    , lcpId+    ) where++import           Network.Google.MapsEngine.Types+import           Network.Google.Prelude++-- | A resource alias for @mapsengine.layers.cancelProcessing@ method which the+-- 'LayersCancelProcessing' request conforms to.+type LayersCancelProcessingResource =+     "mapsengine" :>+       "v1" :>+         "layers" :>+           Capture "id" Text :>+             "cancelProcessing" :>+               QueryParam "alt" AltJSON :>+                 Post '[JSON] ProcessResponse++-- | Cancel processing on a layer asset.+--+-- /See:/ 'layersCancelProcessing' smart constructor.+newtype LayersCancelProcessing = LayersCancelProcessing+    { _lcpId :: Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'LayersCancelProcessing' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lcpId'+layersCancelProcessing+    :: Text -- ^ 'lcpId'+    -> LayersCancelProcessing+layersCancelProcessing pLcpId_ =+    LayersCancelProcessing+    { _lcpId = pLcpId_+    }++-- | The ID of the layer.+lcpId :: Lens' LayersCancelProcessing Text+lcpId = lens _lcpId (\ s a -> s{_lcpId = a})++instance GoogleRequest LayersCancelProcessing where+        type Rs LayersCancelProcessing = ProcessResponse+        requestClient LayersCancelProcessing{..}+          = go _lcpId (Just AltJSON) mapsEngineService+          where go+                  = buildClient+                      (Proxy :: Proxy LayersCancelProcessingResource)+                      mempty
+ gen/Network/Google/Resource/MapsEngine/Layers/Create.hs view
@@ -0,0 +1,94 @@+{-# 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.MapsEngine.Layers.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 layer asset.+--+-- /See:/ <https://developers.google.com/maps-engine/ Google Maps Engine API Reference> for @mapsengine.layers.create@.+module Network.Google.Resource.MapsEngine.Layers.Create+    (+    -- * REST Resource+      LayersCreateResource++    -- * Creating a Request+    , layersCreate+    , LayersCreate++    -- * Request Lenses+    , lcProcess+    , lcPayload+    ) where++import           Network.Google.MapsEngine.Types+import           Network.Google.Prelude++-- | A resource alias for @mapsengine.layers.create@ method which the+-- 'LayersCreate' request conforms to.+type LayersCreateResource =+     "mapsengine" :>+       "v1" :>+         "layers" :>+           QueryParam "process" Bool :>+             QueryParam "alt" AltJSON :>+               ReqBody '[JSON] Layer :> Post '[JSON] Layer++-- | Create a layer asset.+--+-- /See:/ 'layersCreate' smart constructor.+data LayersCreate = LayersCreate+    { _lcProcess :: !(Maybe Bool)+    , _lcPayload :: !Layer+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'LayersCreate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lcProcess'+--+-- * 'lcPayload'+layersCreate+    :: Layer -- ^ 'lcPayload'+    -> LayersCreate+layersCreate pLcPayload_ =+    LayersCreate+    { _lcProcess = Nothing+    , _lcPayload = pLcPayload_+    }++-- | Whether to queue the created layer for processing.+lcProcess :: Lens' LayersCreate (Maybe Bool)+lcProcess+  = lens _lcProcess (\ s a -> s{_lcProcess = a})++-- | Multipart request metadata.+lcPayload :: Lens' LayersCreate Layer+lcPayload+  = lens _lcPayload (\ s a -> s{_lcPayload = a})++instance GoogleRequest LayersCreate where+        type Rs LayersCreate = Layer+        requestClient LayersCreate{..}+          = go _lcProcess (Just AltJSON) _lcPayload+              mapsEngineService+          where go+                  = buildClient (Proxy :: Proxy LayersCreateResource)+                      mempty
+ gen/Network/Google/Resource/MapsEngine/Layers/Delete.hs view
@@ -0,0 +1,84 @@+{-# 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.MapsEngine.Layers.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 layer.+--+-- /See:/ <https://developers.google.com/maps-engine/ Google Maps Engine API Reference> for @mapsengine.layers.delete@.+module Network.Google.Resource.MapsEngine.Layers.Delete+    (+    -- * REST Resource+      LayersDeleteResource++    -- * Creating a Request+    , layersDelete+    , LayersDelete++    -- * Request Lenses+    , ldId+    ) where++import           Network.Google.MapsEngine.Types+import           Network.Google.Prelude++-- | A resource alias for @mapsengine.layers.delete@ method which the+-- 'LayersDelete' request conforms to.+type LayersDeleteResource =+     "mapsengine" :>+       "v1" :>+         "layers" :>+           Capture "id" Text :>+             QueryParam "alt" AltJSON :> Delete '[JSON] ()++-- | Delete a layer.+--+-- /See:/ 'layersDelete' smart constructor.+newtype LayersDelete = LayersDelete+    { _ldId :: Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'LayersDelete' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ldId'+layersDelete+    :: Text -- ^ 'ldId'+    -> LayersDelete+layersDelete pLdId_ =+    LayersDelete+    { _ldId = pLdId_+    }++-- | The ID of the layer. Only the layer creator or project owner are+-- permitted to delete. If the layer is published, or included in a map,+-- the request will fail. Unpublish the layer, and remove it from all maps+-- prior to deleting.+ldId :: Lens' LayersDelete Text+ldId = lens _ldId (\ s a -> s{_ldId = a})++instance GoogleRequest LayersDelete where+        type Rs LayersDelete = ()+        requestClient LayersDelete{..}+          = go _ldId (Just AltJSON) mapsEngineService+          where go+                  = buildClient (Proxy :: Proxy LayersDeleteResource)+                      mempty
+ gen/Network/Google/Resource/MapsEngine/Layers/Get.hs view
@@ -0,0 +1,96 @@+{-# 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.MapsEngine.Layers.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)+--+-- Return metadata for a particular layer.+--+-- /See:/ <https://developers.google.com/maps-engine/ Google Maps Engine API Reference> for @mapsengine.layers.get@.+module Network.Google.Resource.MapsEngine.Layers.Get+    (+    -- * REST Resource+      LayersGetResource++    -- * Creating a Request+    , layersGet+    , LayersGet++    -- * Request Lenses+    , lgVersion+    , lgId+    ) where++import           Network.Google.MapsEngine.Types+import           Network.Google.Prelude++-- | A resource alias for @mapsengine.layers.get@ method which the+-- 'LayersGet' request conforms to.+type LayersGetResource =+     "mapsengine" :>+       "v1" :>+         "layers" :>+           Capture "id" Text :>+             QueryParam "version" LayersGetVersion :>+               QueryParam "alt" AltJSON :> Get '[JSON] Layer++-- | Return metadata for a particular layer.+--+-- /See:/ 'layersGet' smart constructor.+data LayersGet = LayersGet+    { _lgVersion :: !(Maybe LayersGetVersion)+    , _lgId      :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'LayersGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lgVersion'+--+-- * 'lgId'+layersGet+    :: Text -- ^ 'lgId'+    -> LayersGet+layersGet pLgId_ =+    LayersGet+    { _lgVersion = Nothing+    , _lgId = pLgId_+    }++-- | Deprecated: The version parameter indicates which version of the layer+-- should be returned. When version is set to published, the published+-- version of the layer will be returned. Please use the+-- layers.getPublished endpoint instead.+lgVersion :: Lens' LayersGet (Maybe LayersGetVersion)+lgVersion+  = lens _lgVersion (\ s a -> s{_lgVersion = a})++-- | The ID of the layer.+lgId :: Lens' LayersGet Text+lgId = lens _lgId (\ s a -> s{_lgId = a})++instance GoogleRequest LayersGet where+        type Rs LayersGet = Layer+        requestClient LayersGet{..}+          = go _lgId _lgVersion (Just AltJSON)+              mapsEngineService+          where go+                  = buildClient (Proxy :: Proxy LayersGetResource)+                      mempty
+ gen/Network/Google/Resource/MapsEngine/Layers/GetPublished.hs view
@@ -0,0 +1,84 @@+{-# 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.MapsEngine.Layers.GetPublished+-- 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)+--+-- Return the published metadata for a particular layer.+--+-- /See:/ <https://developers.google.com/maps-engine/ Google Maps Engine API Reference> for @mapsengine.layers.getPublished@.+module Network.Google.Resource.MapsEngine.Layers.GetPublished+    (+    -- * REST Resource+      LayersGetPublishedResource++    -- * Creating a Request+    , layersGetPublished+    , LayersGetPublished++    -- * Request Lenses+    , lgpId+    ) where++import           Network.Google.MapsEngine.Types+import           Network.Google.Prelude++-- | A resource alias for @mapsengine.layers.getPublished@ method which the+-- 'LayersGetPublished' request conforms to.+type LayersGetPublishedResource =+     "mapsengine" :>+       "v1" :>+         "layers" :>+           Capture "id" Text :>+             "published" :>+               QueryParam "alt" AltJSON :>+                 Get '[JSON] PublishedLayer++-- | Return the published metadata for a particular layer.+--+-- /See:/ 'layersGetPublished' smart constructor.+newtype LayersGetPublished = LayersGetPublished+    { _lgpId :: Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'LayersGetPublished' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lgpId'+layersGetPublished+    :: Text -- ^ 'lgpId'+    -> LayersGetPublished+layersGetPublished pLgpId_ =+    LayersGetPublished+    { _lgpId = pLgpId_+    }++-- | The ID of the layer.+lgpId :: Lens' LayersGetPublished Text+lgpId = lens _lgpId (\ s a -> s{_lgpId = a})++instance GoogleRequest LayersGetPublished where+        type Rs LayersGetPublished = PublishedLayer+        requestClient LayersGetPublished{..}+          = go _lgpId (Just AltJSON) mapsEngineService+          where go+                  = buildClient+                      (Proxy :: Proxy LayersGetPublishedResource)+                      mempty
+ gen/Network/Google/Resource/MapsEngine/Layers/List.hs view
@@ -0,0 +1,248 @@+{-# 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.MapsEngine.Layers.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)+--+-- Return all layers readable by the current user.+--+-- /See:/ <https://developers.google.com/maps-engine/ Google Maps Engine API Reference> for @mapsengine.layers.list@.+module Network.Google.Resource.MapsEngine.Layers.List+    (+    -- * REST Resource+      LayersListResource++    -- * Creating a Request+    , layersList+    , LayersList++    -- * Request Lenses+    , llCreatedAfter+    , llCreatorEmail+    , llRole+    , llBbox+    , llProcessingStatus+    , llModifiedAfter+    , llModifiedBefore+    , llPageToken+    , llProjectId+    , llSearch+    , llMaxResults+    , llTags+    , llCreatedBefore+    ) where++import           Network.Google.MapsEngine.Types+import           Network.Google.Prelude++-- | A resource alias for @mapsengine.layers.list@ method which the+-- 'LayersList' request conforms to.+type LayersListResource =+     "mapsengine" :>+       "v1" :>+         "layers" :>+           QueryParam "createdAfter" DateTime' :>+             QueryParam "creatorEmail" Text :>+               QueryParam "role" LayersListRole :>+                 QueryParam "bbox" Text :>+                   QueryParam "processingStatus"+                     LayersListProcessingStatus+                     :>+                     QueryParam "modifiedAfter" DateTime' :>+                       QueryParam "modifiedBefore" DateTime' :>+                         QueryParam "pageToken" Text :>+                           QueryParam "projectId" Text :>+                             QueryParam "search" Text :>+                               QueryParam "maxResults" (Textual Word32) :>+                                 QueryParam "tags" Text :>+                                   QueryParam "createdBefore" DateTime' :>+                                     QueryParam "alt" AltJSON :>+                                       Get '[JSON] LayersListResponse++-- | Return all layers readable by the current user.+--+-- /See:/ 'layersList' smart constructor.+data LayersList = LayersList+    { _llCreatedAfter     :: !(Maybe DateTime')+    , _llCreatorEmail     :: !(Maybe Text)+    , _llRole             :: !(Maybe LayersListRole)+    , _llBbox             :: !(Maybe Text)+    , _llProcessingStatus :: !(Maybe LayersListProcessingStatus)+    , _llModifiedAfter    :: !(Maybe DateTime')+    , _llModifiedBefore   :: !(Maybe DateTime')+    , _llPageToken        :: !(Maybe Text)+    , _llProjectId        :: !(Maybe Text)+    , _llSearch           :: !(Maybe Text)+    , _llMaxResults       :: !(Maybe (Textual Word32))+    , _llTags             :: !(Maybe Text)+    , _llCreatedBefore    :: !(Maybe DateTime')+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'LayersList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'llCreatedAfter'+--+-- * 'llCreatorEmail'+--+-- * 'llRole'+--+-- * 'llBbox'+--+-- * 'llProcessingStatus'+--+-- * 'llModifiedAfter'+--+-- * 'llModifiedBefore'+--+-- * 'llPageToken'+--+-- * 'llProjectId'+--+-- * 'llSearch'+--+-- * 'llMaxResults'+--+-- * 'llTags'+--+-- * 'llCreatedBefore'+layersList+    :: LayersList+layersList =+    LayersList+    { _llCreatedAfter = Nothing+    , _llCreatorEmail = Nothing+    , _llRole = Nothing+    , _llBbox = Nothing+    , _llProcessingStatus = Nothing+    , _llModifiedAfter = Nothing+    , _llModifiedBefore = Nothing+    , _llPageToken = Nothing+    , _llProjectId = Nothing+    , _llSearch = Nothing+    , _llMaxResults = Nothing+    , _llTags = Nothing+    , _llCreatedBefore = Nothing+    }++-- | An RFC 3339 formatted date-time value (e.g. 1970-01-01T00:00:00Z).+-- Returned assets will have been created at or after this time.+llCreatedAfter :: Lens' LayersList (Maybe UTCTime)+llCreatedAfter+  = lens _llCreatedAfter+      (\ s a -> s{_llCreatedAfter = a})+      . mapping _DateTime++-- | An email address representing a user. Returned assets that have been+-- created by the user associated with the provided email address.+llCreatorEmail :: Lens' LayersList (Maybe Text)+llCreatorEmail+  = lens _llCreatorEmail+      (\ s a -> s{_llCreatorEmail = a})++-- | The role parameter indicates that the response should only contain+-- assets where the current user has the specified level of access.+llRole :: Lens' LayersList (Maybe LayersListRole)+llRole = lens _llRole (\ s a -> s{_llRole = a})++-- | A bounding box, expressed as \"west,south,east,north\". If set, only+-- assets which intersect this bounding box will be returned.+llBbox :: Lens' LayersList (Maybe Text)+llBbox = lens _llBbox (\ s a -> s{_llBbox = a})++llProcessingStatus :: Lens' LayersList (Maybe LayersListProcessingStatus)+llProcessingStatus+  = lens _llProcessingStatus+      (\ s a -> s{_llProcessingStatus = a})++-- | An RFC 3339 formatted date-time value (e.g. 1970-01-01T00:00:00Z).+-- Returned assets will have been modified at or after this time.+llModifiedAfter :: Lens' LayersList (Maybe UTCTime)+llModifiedAfter+  = lens _llModifiedAfter+      (\ s a -> s{_llModifiedAfter = a})+      . mapping _DateTime++-- | An RFC 3339 formatted date-time value (e.g. 1970-01-01T00:00:00Z).+-- Returned assets will have been modified at or before this time.+llModifiedBefore :: Lens' LayersList (Maybe UTCTime)+llModifiedBefore+  = lens _llModifiedBefore+      (\ s a -> s{_llModifiedBefore = a})+      . mapping _DateTime++-- | The continuation token, used to page through large result sets. To get+-- the next page of results, set this parameter to the value of+-- nextPageToken from the previous response.+llPageToken :: Lens' LayersList (Maybe Text)+llPageToken+  = lens _llPageToken (\ s a -> s{_llPageToken = a})++-- | The ID of a Maps Engine project, used to filter the response. To list+-- all available projects with their IDs, send a Projects: list request.+-- You can also find your project ID as the value of the DashboardPlace:cid+-- URL parameter when signed in to mapsengine.google.com.+llProjectId :: Lens' LayersList (Maybe Text)+llProjectId+  = lens _llProjectId (\ s a -> s{_llProjectId = a})++-- | An unstructured search string used to filter the set of results based on+-- asset metadata.+llSearch :: Lens' LayersList (Maybe Text)+llSearch = lens _llSearch (\ s a -> s{_llSearch = a})++-- | The maximum number of items to include in a single response page. The+-- maximum supported value is 100.+llMaxResults :: Lens' LayersList (Maybe Word32)+llMaxResults+  = lens _llMaxResults (\ s a -> s{_llMaxResults = a})+      . mapping _Coerce++-- | A comma separated list of tags. Returned assets will contain all the+-- tags from the list.+llTags :: Lens' LayersList (Maybe Text)+llTags = lens _llTags (\ s a -> s{_llTags = a})++-- | An RFC 3339 formatted date-time value (e.g. 1970-01-01T00:00:00Z).+-- Returned assets will have been created at or before this time.+llCreatedBefore :: Lens' LayersList (Maybe UTCTime)+llCreatedBefore+  = lens _llCreatedBefore+      (\ s a -> s{_llCreatedBefore = a})+      . mapping _DateTime++instance GoogleRequest LayersList where+        type Rs LayersList = LayersListResponse+        requestClient LayersList{..}+          = go _llCreatedAfter _llCreatorEmail _llRole _llBbox+              _llProcessingStatus+              _llModifiedAfter+              _llModifiedBefore+              _llPageToken+              _llProjectId+              _llSearch+              _llMaxResults+              _llTags+              _llCreatedBefore+              (Just AltJSON)+              mapsEngineService+          where go+                  = buildClient (Proxy :: Proxy LayersListResource)+                      mempty
+ gen/Network/Google/Resource/MapsEngine/Layers/ListPublished.hs view
@@ -0,0 +1,117 @@+{-# 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.MapsEngine.Layers.ListPublished+-- 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)+--+-- Return all published layers readable by the current user.+--+-- /See:/ <https://developers.google.com/maps-engine/ Google Maps Engine API Reference> for @mapsengine.layers.listPublished@.+module Network.Google.Resource.MapsEngine.Layers.ListPublished+    (+    -- * REST Resource+      LayersListPublishedResource++    -- * Creating a Request+    , layersListPublished+    , LayersListPublished++    -- * Request Lenses+    , llpPageToken+    , llpProjectId+    , llpMaxResults+    ) where++import           Network.Google.MapsEngine.Types+import           Network.Google.Prelude++-- | A resource alias for @mapsengine.layers.listPublished@ method which the+-- 'LayersListPublished' request conforms to.+type LayersListPublishedResource =+     "mapsengine" :>+       "v1" :>+         "layers" :>+           "published" :>+             QueryParam "pageToken" Text :>+               QueryParam "projectId" Text :>+                 QueryParam "maxResults" (Textual Word32) :>+                   QueryParam "alt" AltJSON :>+                     Get '[JSON] PublishedLayersListResponse++-- | Return all published layers readable by the current user.+--+-- /See:/ 'layersListPublished' smart constructor.+data LayersListPublished = LayersListPublished+    { _llpPageToken  :: !(Maybe Text)+    , _llpProjectId  :: !(Maybe Text)+    , _llpMaxResults :: !(Maybe (Textual Word32))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'LayersListPublished' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'llpPageToken'+--+-- * 'llpProjectId'+--+-- * 'llpMaxResults'+layersListPublished+    :: LayersListPublished+layersListPublished =+    LayersListPublished+    { _llpPageToken = Nothing+    , _llpProjectId = Nothing+    , _llpMaxResults = Nothing+    }++-- | The continuation token, used to page through large result sets. To get+-- the next page of results, set this parameter to the value of+-- nextPageToken from the previous response.+llpPageToken :: Lens' LayersListPublished (Maybe Text)+llpPageToken+  = lens _llpPageToken (\ s a -> s{_llpPageToken = a})++-- | The ID of a Maps Engine project, used to filter the response. To list+-- all available projects with their IDs, send a Projects: list request.+-- You can also find your project ID as the value of the DashboardPlace:cid+-- URL parameter when signed in to mapsengine.google.com.+llpProjectId :: Lens' LayersListPublished (Maybe Text)+llpProjectId+  = lens _llpProjectId (\ s a -> s{_llpProjectId = a})++-- | The maximum number of items to include in a single response page. The+-- maximum supported value is 100.+llpMaxResults :: Lens' LayersListPublished (Maybe Word32)+llpMaxResults+  = lens _llpMaxResults+      (\ s a -> s{_llpMaxResults = a})+      . mapping _Coerce++instance GoogleRequest LayersListPublished where+        type Rs LayersListPublished =+             PublishedLayersListResponse+        requestClient LayersListPublished{..}+          = go _llpPageToken _llpProjectId _llpMaxResults+              (Just AltJSON)+              mapsEngineService+          where go+                  = buildClient+                      (Proxy :: Proxy LayersListPublishedResource)+                      mempty
+ gen/Network/Google/Resource/MapsEngine/Layers/Parents/List.hs view
@@ -0,0 +1,111 @@+{-# 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.MapsEngine.Layers.Parents.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)+--+-- Return all parent ids of the specified layer.+--+-- /See:/ <https://developers.google.com/maps-engine/ Google Maps Engine API Reference> for @mapsengine.layers.parents.list@.+module Network.Google.Resource.MapsEngine.Layers.Parents.List+    (+    -- * REST Resource+      LayersParentsListResource++    -- * Creating a Request+    , layersParentsList+    , LayersParentsList++    -- * Request Lenses+    , lId+    , lPageToken+    , lMaxResults+    ) where++import           Network.Google.MapsEngine.Types+import           Network.Google.Prelude++-- | A resource alias for @mapsengine.layers.parents.list@ method which the+-- 'LayersParentsList' request conforms to.+type LayersParentsListResource =+     "mapsengine" :>+       "v1" :>+         "layers" :>+           Capture "id" Text :>+             "parents" :>+               QueryParam "pageToken" Text :>+                 QueryParam "maxResults" (Textual Word32) :>+                   QueryParam "alt" AltJSON :>+                     Get '[JSON] ParentsListResponse++-- | Return all parent ids of the specified layer.+--+-- /See:/ 'layersParentsList' smart constructor.+data LayersParentsList = LayersParentsList+    { _lId         :: !Text+    , _lPageToken  :: !(Maybe Text)+    , _lMaxResults :: !(Maybe (Textual Word32))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'LayersParentsList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lId'+--+-- * 'lPageToken'+--+-- * 'lMaxResults'+layersParentsList+    :: Text -- ^ 'lId'+    -> LayersParentsList+layersParentsList pLId_ =+    LayersParentsList+    { _lId = pLId_+    , _lPageToken = Nothing+    , _lMaxResults = Nothing+    }++-- | The ID of the layer whose parents will be listed.+lId :: Lens' LayersParentsList Text+lId = lens _lId (\ s a -> s{_lId = a})++-- | The continuation token, used to page through large result sets. To get+-- the next page of results, set this parameter to the value of+-- nextPageToken from the previous response.+lPageToken :: Lens' LayersParentsList (Maybe Text)+lPageToken+  = lens _lPageToken (\ s a -> s{_lPageToken = a})++-- | The maximum number of items to include in a single response page. The+-- maximum supported value is 50.+lMaxResults :: Lens' LayersParentsList (Maybe Word32)+lMaxResults+  = lens _lMaxResults (\ s a -> s{_lMaxResults = a}) .+      mapping _Coerce++instance GoogleRequest LayersParentsList where+        type Rs LayersParentsList = ParentsListResponse+        requestClient LayersParentsList{..}+          = go _lId _lPageToken _lMaxResults (Just AltJSON)+              mapsEngineService+          where go+                  = buildClient+                      (Proxy :: Proxy LayersParentsListResource)+                      mempty
+ gen/Network/Google/Resource/MapsEngine/Layers/Patch.hs view
@@ -0,0 +1,94 @@+{-# 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.MapsEngine.Layers.Patch+-- 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)+--+-- Mutate a layer asset.+--+-- /See:/ <https://developers.google.com/maps-engine/ Google Maps Engine API Reference> for @mapsengine.layers.patch@.+module Network.Google.Resource.MapsEngine.Layers.Patch+    (+    -- * REST Resource+      LayersPatchResource++    -- * Creating a Request+    , layersPatch+    , LayersPatch++    -- * Request Lenses+    , lppPayload+    , lppId+    ) where++import           Network.Google.MapsEngine.Types+import           Network.Google.Prelude++-- | A resource alias for @mapsengine.layers.patch@ method which the+-- 'LayersPatch' request conforms to.+type LayersPatchResource =+     "mapsengine" :>+       "v1" :>+         "layers" :>+           Capture "id" Text :>+             QueryParam "alt" AltJSON :>+               ReqBody '[JSON] Layer :> Patch '[JSON] ()++-- | Mutate a layer asset.+--+-- /See:/ 'layersPatch' smart constructor.+data LayersPatch = LayersPatch+    { _lppPayload :: !Layer+    , _lppId      :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'LayersPatch' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lppPayload'+--+-- * 'lppId'+layersPatch+    :: Layer -- ^ 'lppPayload'+    -> Text -- ^ 'lppId'+    -> LayersPatch+layersPatch pLppPayload_ pLppId_ =+    LayersPatch+    { _lppPayload = pLppPayload_+    , _lppId = pLppId_+    }++-- | Multipart request metadata.+lppPayload :: Lens' LayersPatch Layer+lppPayload+  = lens _lppPayload (\ s a -> s{_lppPayload = a})++-- | The ID of the layer.+lppId :: Lens' LayersPatch Text+lppId = lens _lppId (\ s a -> s{_lppId = a})++instance GoogleRequest LayersPatch where+        type Rs LayersPatch = ()+        requestClient LayersPatch{..}+          = go _lppId (Just AltJSON) _lppPayload+              mapsEngineService+          where go+                  = buildClient (Proxy :: Proxy LayersPatchResource)+                      mempty
+ gen/Network/Google/Resource/MapsEngine/Layers/Permissions/BatchDelete.hs view
@@ -0,0 +1,100 @@+{-# 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.MapsEngine.Layers.Permissions.BatchDelete+-- 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)+--+-- Remove permission entries from an already existing asset.+--+-- /See:/ <https://developers.google.com/maps-engine/ Google Maps Engine API Reference> for @mapsengine.layers.permissions.batchDelete@.+module Network.Google.Resource.MapsEngine.Layers.Permissions.BatchDelete+    (+    -- * REST Resource+      LayersPermissionsBatchDeleteResource++    -- * Creating a Request+    , layersPermissionsBatchDelete+    , LayersPermissionsBatchDelete++    -- * Request Lenses+    , lpbdPayload+    , lpbdId+    ) where++import           Network.Google.MapsEngine.Types+import           Network.Google.Prelude++-- | A resource alias for @mapsengine.layers.permissions.batchDelete@ method which the+-- 'LayersPermissionsBatchDelete' request conforms to.+type LayersPermissionsBatchDeleteResource =+     "mapsengine" :>+       "v1" :>+         "layers" :>+           Capture "id" Text :>+             "permissions" :>+               "batchDelete" :>+                 QueryParam "alt" AltJSON :>+                   ReqBody '[JSON] PermissionsBatchDeleteRequest :>+                     Post '[JSON] PermissionsBatchDeleteResponse++-- | Remove permission entries from an already existing asset.+--+-- /See:/ 'layersPermissionsBatchDelete' smart constructor.+data LayersPermissionsBatchDelete = LayersPermissionsBatchDelete+    { _lpbdPayload :: !PermissionsBatchDeleteRequest+    , _lpbdId      :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'LayersPermissionsBatchDelete' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lpbdPayload'+--+-- * 'lpbdId'+layersPermissionsBatchDelete+    :: PermissionsBatchDeleteRequest -- ^ 'lpbdPayload'+    -> Text -- ^ 'lpbdId'+    -> LayersPermissionsBatchDelete+layersPermissionsBatchDelete pLpbdPayload_ pLpbdId_ =+    LayersPermissionsBatchDelete+    { _lpbdPayload = pLpbdPayload_+    , _lpbdId = pLpbdId_+    }++-- | Multipart request metadata.+lpbdPayload :: Lens' LayersPermissionsBatchDelete PermissionsBatchDeleteRequest+lpbdPayload+  = lens _lpbdPayload (\ s a -> s{_lpbdPayload = a})++-- | The ID of the asset from which permissions will be removed.+lpbdId :: Lens' LayersPermissionsBatchDelete Text+lpbdId = lens _lpbdId (\ s a -> s{_lpbdId = a})++instance GoogleRequest LayersPermissionsBatchDelete+         where+        type Rs LayersPermissionsBatchDelete =+             PermissionsBatchDeleteResponse+        requestClient LayersPermissionsBatchDelete{..}+          = go _lpbdId (Just AltJSON) _lpbdPayload+              mapsEngineService+          where go+                  = buildClient+                      (Proxy :: Proxy LayersPermissionsBatchDeleteResource)+                      mempty
+ gen/Network/Google/Resource/MapsEngine/Layers/Permissions/BatchUpdate.hs view
@@ -0,0 +1,104 @@+{-# 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.MapsEngine.Layers.Permissions.BatchUpdate+-- 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)+--+-- Add or update permission entries to an already existing asset. An asset+-- can hold up to 20 different permission entries. Each batchInsert request+-- is atomic.+--+-- /See:/ <https://developers.google.com/maps-engine/ Google Maps Engine API Reference> for @mapsengine.layers.permissions.batchUpdate@.+module Network.Google.Resource.MapsEngine.Layers.Permissions.BatchUpdate+    (+    -- * REST Resource+      LayersPermissionsBatchUpdateResource++    -- * Creating a Request+    , layersPermissionsBatchUpdate+    , LayersPermissionsBatchUpdate++    -- * Request Lenses+    , lpbuPayload+    , lpbuId+    ) where++import           Network.Google.MapsEngine.Types+import           Network.Google.Prelude++-- | A resource alias for @mapsengine.layers.permissions.batchUpdate@ method which the+-- 'LayersPermissionsBatchUpdate' request conforms to.+type LayersPermissionsBatchUpdateResource =+     "mapsengine" :>+       "v1" :>+         "layers" :>+           Capture "id" Text :>+             "permissions" :>+               "batchUpdate" :>+                 QueryParam "alt" AltJSON :>+                   ReqBody '[JSON] PermissionsBatchUpdateRequest :>+                     Post '[JSON] PermissionsBatchUpdateResponse++-- | Add or update permission entries to an already existing asset. An asset+-- can hold up to 20 different permission entries. Each batchInsert request+-- is atomic.+--+-- /See:/ 'layersPermissionsBatchUpdate' smart constructor.+data LayersPermissionsBatchUpdate = LayersPermissionsBatchUpdate+    { _lpbuPayload :: !PermissionsBatchUpdateRequest+    , _lpbuId      :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'LayersPermissionsBatchUpdate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lpbuPayload'+--+-- * 'lpbuId'+layersPermissionsBatchUpdate+    :: PermissionsBatchUpdateRequest -- ^ 'lpbuPayload'+    -> Text -- ^ 'lpbuId'+    -> LayersPermissionsBatchUpdate+layersPermissionsBatchUpdate pLpbuPayload_ pLpbuId_ =+    LayersPermissionsBatchUpdate+    { _lpbuPayload = pLpbuPayload_+    , _lpbuId = pLpbuId_+    }++-- | Multipart request metadata.+lpbuPayload :: Lens' LayersPermissionsBatchUpdate PermissionsBatchUpdateRequest+lpbuPayload+  = lens _lpbuPayload (\ s a -> s{_lpbuPayload = a})++-- | The ID of the asset to which permissions will be added.+lpbuId :: Lens' LayersPermissionsBatchUpdate Text+lpbuId = lens _lpbuId (\ s a -> s{_lpbuId = a})++instance GoogleRequest LayersPermissionsBatchUpdate+         where+        type Rs LayersPermissionsBatchUpdate =+             PermissionsBatchUpdateResponse+        requestClient LayersPermissionsBatchUpdate{..}+          = go _lpbuId (Just AltJSON) _lpbuPayload+              mapsEngineService+          where go+                  = buildClient+                      (Proxy :: Proxy LayersPermissionsBatchUpdateResource)+                      mempty
+ gen/Network/Google/Resource/MapsEngine/Layers/Permissions/List.hs view
@@ -0,0 +1,85 @@+{-# 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.MapsEngine.Layers.Permissions.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)+--+-- Return all of the permissions for the specified asset.+--+-- /See:/ <https://developers.google.com/maps-engine/ Google Maps Engine API Reference> for @mapsengine.layers.permissions.list@.+module Network.Google.Resource.MapsEngine.Layers.Permissions.List+    (+    -- * REST Resource+      LayersPermissionsListResource++    -- * Creating a Request+    , layersPermissionsList+    , LayersPermissionsList++    -- * Request Lenses+    , lplId+    ) where++import           Network.Google.MapsEngine.Types+import           Network.Google.Prelude++-- | A resource alias for @mapsengine.layers.permissions.list@ method which the+-- 'LayersPermissionsList' request conforms to.+type LayersPermissionsListResource =+     "mapsengine" :>+       "v1" :>+         "layers" :>+           Capture "id" Text :>+             "permissions" :>+               QueryParam "alt" AltJSON :>+                 Get '[JSON] PermissionsListResponse++-- | Return all of the permissions for the specified asset.+--+-- /See:/ 'layersPermissionsList' smart constructor.+newtype LayersPermissionsList = LayersPermissionsList+    { _lplId :: Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'LayersPermissionsList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lplId'+layersPermissionsList+    :: Text -- ^ 'lplId'+    -> LayersPermissionsList+layersPermissionsList pLplId_ =+    LayersPermissionsList+    { _lplId = pLplId_+    }++-- | The ID of the asset whose permissions will be listed.+lplId :: Lens' LayersPermissionsList Text+lplId = lens _lplId (\ s a -> s{_lplId = a})++instance GoogleRequest LayersPermissionsList where+        type Rs LayersPermissionsList =+             PermissionsListResponse+        requestClient LayersPermissionsList{..}+          = go _lplId (Just AltJSON) mapsEngineService+          where go+                  = buildClient+                      (Proxy :: Proxy LayersPermissionsListResource)+                      mempty
+ gen/Network/Google/Resource/MapsEngine/Layers/Process.hs view
@@ -0,0 +1,83 @@+{-# 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.MapsEngine.Layers.Process+-- 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)+--+-- Process a layer asset.+--+-- /See:/ <https://developers.google.com/maps-engine/ Google Maps Engine API Reference> for @mapsengine.layers.process@.+module Network.Google.Resource.MapsEngine.Layers.Process+    (+    -- * REST Resource+      LayersProcessResource++    -- * Creating a Request+    , layersProcess+    , LayersProcess++    -- * Request Lenses+    , lpsId+    ) where++import           Network.Google.MapsEngine.Types+import           Network.Google.Prelude++-- | A resource alias for @mapsengine.layers.process@ method which the+-- 'LayersProcess' request conforms to.+type LayersProcessResource =+     "mapsengine" :>+       "v1" :>+         "layers" :>+           Capture "id" Text :>+             "process" :>+               QueryParam "alt" AltJSON :>+                 Post '[JSON] ProcessResponse++-- | Process a layer asset.+--+-- /See:/ 'layersProcess' smart constructor.+newtype LayersProcess = LayersProcess+    { _lpsId :: Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'LayersProcess' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lpsId'+layersProcess+    :: Text -- ^ 'lpsId'+    -> LayersProcess+layersProcess pLpsId_ =+    LayersProcess+    { _lpsId = pLpsId_+    }++-- | The ID of the layer.+lpsId :: Lens' LayersProcess Text+lpsId = lens _lpsId (\ s a -> s{_lpsId = a})++instance GoogleRequest LayersProcess where+        type Rs LayersProcess = ProcessResponse+        requestClient LayersProcess{..}+          = go _lpsId (Just AltJSON) mapsEngineService+          where go+                  = buildClient (Proxy :: Proxy LayersProcessResource)+                      mempty
+ gen/Network/Google/Resource/MapsEngine/Layers/Publish.hs view
@@ -0,0 +1,95 @@+{-# 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.MapsEngine.Layers.Publish+-- 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)+--+-- Publish a layer asset.+--+-- /See:/ <https://developers.google.com/maps-engine/ Google Maps Engine API Reference> for @mapsengine.layers.publish@.+module Network.Google.Resource.MapsEngine.Layers.Publish+    (+    -- * REST Resource+      LayersPublishResource++    -- * Creating a Request+    , layersPublish+    , LayersPublish++    -- * Request Lenses+    , lpForce+    , lpId+    ) where++import           Network.Google.MapsEngine.Types+import           Network.Google.Prelude++-- | A resource alias for @mapsengine.layers.publish@ method which the+-- 'LayersPublish' request conforms to.+type LayersPublishResource =+     "mapsengine" :>+       "v1" :>+         "layers" :>+           Capture "id" Text :>+             "publish" :>+               QueryParam "force" Bool :>+                 QueryParam "alt" AltJSON :>+                   Post '[JSON] PublishResponse++-- | Publish a layer asset.+--+-- /See:/ 'layersPublish' smart constructor.+data LayersPublish = LayersPublish+    { _lpForce :: !(Maybe Bool)+    , _lpId    :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'LayersPublish' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lpForce'+--+-- * 'lpId'+layersPublish+    :: Text -- ^ 'lpId'+    -> LayersPublish+layersPublish pLpId_ =+    LayersPublish+    { _lpForce = Nothing+    , _lpId = pLpId_+    }++-- | If set to true, the API will allow publication of the layer even if+-- it\'s out of date. If not true, you\'ll need to reprocess any+-- out-of-date layer before publishing.+lpForce :: Lens' LayersPublish (Maybe Bool)+lpForce = lens _lpForce (\ s a -> s{_lpForce = a})++-- | The ID of the layer.+lpId :: Lens' LayersPublish Text+lpId = lens _lpId (\ s a -> s{_lpId = a})++instance GoogleRequest LayersPublish where+        type Rs LayersPublish = PublishResponse+        requestClient LayersPublish{..}+          = go _lpId _lpForce (Just AltJSON) mapsEngineService+          where go+                  = buildClient (Proxy :: Proxy LayersPublishResource)+                      mempty
+ gen/Network/Google/Resource/MapsEngine/Layers/UnPublish.hs view
@@ -0,0 +1,84 @@+{-# 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.MapsEngine.Layers.UnPublish+-- 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)+--+-- Unpublish a layer asset.+--+-- /See:/ <https://developers.google.com/maps-engine/ Google Maps Engine API Reference> for @mapsengine.layers.unpublish@.+module Network.Google.Resource.MapsEngine.Layers.UnPublish+    (+    -- * REST Resource+      LayersUnPublishResource++    -- * Creating a Request+    , layersUnPublish+    , LayersUnPublish++    -- * Request Lenses+    , lupId+    ) where++import           Network.Google.MapsEngine.Types+import           Network.Google.Prelude++-- | A resource alias for @mapsengine.layers.unpublish@ method which the+-- 'LayersUnPublish' request conforms to.+type LayersUnPublishResource =+     "mapsengine" :>+       "v1" :>+         "layers" :>+           Capture "id" Text :>+             "unpublish" :>+               QueryParam "alt" AltJSON :>+                 Post '[JSON] PublishResponse++-- | Unpublish a layer asset.+--+-- /See:/ 'layersUnPublish' smart constructor.+newtype LayersUnPublish = LayersUnPublish+    { _lupId :: Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'LayersUnPublish' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lupId'+layersUnPublish+    :: Text -- ^ 'lupId'+    -> LayersUnPublish+layersUnPublish pLupId_ =+    LayersUnPublish+    { _lupId = pLupId_+    }++-- | The ID of the layer.+lupId :: Lens' LayersUnPublish Text+lupId = lens _lupId (\ s a -> s{_lupId = a})++instance GoogleRequest LayersUnPublish where+        type Rs LayersUnPublish = PublishResponse+        requestClient LayersUnPublish{..}+          = go _lupId (Just AltJSON) mapsEngineService+          where go+                  = buildClient+                      (Proxy :: Proxy LayersUnPublishResource)+                      mempty
+ gen/Network/Google/Resource/MapsEngine/Maps/Create.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.MapsEngine.Maps.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 map asset.+--+-- /See:/ <https://developers.google.com/maps-engine/ Google Maps Engine API Reference> for @mapsengine.maps.create@.+module Network.Google.Resource.MapsEngine.Maps.Create+    (+    -- * REST Resource+      MapsCreateResource++    -- * Creating a Request+    , mapsCreate+    , MapsCreate++    -- * Request Lenses+    , mcPayload+    ) where++import           Network.Google.MapsEngine.Types+import           Network.Google.Prelude++-- | A resource alias for @mapsengine.maps.create@ method which the+-- 'MapsCreate' request conforms to.+type MapsCreateResource =+     "mapsengine" :>+       "v1" :>+         "maps" :>+           QueryParam "alt" AltJSON :>+             ReqBody '[JSON] Map :> Post '[JSON] Map++-- | Create a map asset.+--+-- /See:/ 'mapsCreate' smart constructor.+newtype MapsCreate = MapsCreate+    { _mcPayload :: Map+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'MapsCreate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mcPayload'+mapsCreate+    :: Map -- ^ 'mcPayload'+    -> MapsCreate+mapsCreate pMcPayload_ =+    MapsCreate+    { _mcPayload = pMcPayload_+    }++-- | Multipart request metadata.+mcPayload :: Lens' MapsCreate Map+mcPayload+  = lens _mcPayload (\ s a -> s{_mcPayload = a})++instance GoogleRequest MapsCreate where+        type Rs MapsCreate = Map+        requestClient MapsCreate{..}+          = go (Just AltJSON) _mcPayload mapsEngineService+          where go+                  = buildClient (Proxy :: Proxy MapsCreateResource)+                      mempty
+ gen/Network/Google/Resource/MapsEngine/Maps/Delete.hs view
@@ -0,0 +1,83 @@+{-# 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.MapsEngine.Maps.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 map.+--+-- /See:/ <https://developers.google.com/maps-engine/ Google Maps Engine API Reference> for @mapsengine.maps.delete@.+module Network.Google.Resource.MapsEngine.Maps.Delete+    (+    -- * REST Resource+      MapsDeleteResource++    -- * Creating a Request+    , mapsDelete+    , MapsDelete++    -- * Request Lenses+    , mdId+    ) where++import           Network.Google.MapsEngine.Types+import           Network.Google.Prelude++-- | A resource alias for @mapsengine.maps.delete@ method which the+-- 'MapsDelete' request conforms to.+type MapsDeleteResource =+     "mapsengine" :>+       "v1" :>+         "maps" :>+           Capture "id" Text :>+             QueryParam "alt" AltJSON :> Delete '[JSON] ()++-- | Delete a map.+--+-- /See:/ 'mapsDelete' smart constructor.+newtype MapsDelete = MapsDelete+    { _mdId :: Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'MapsDelete' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mdId'+mapsDelete+    :: Text -- ^ 'mdId'+    -> MapsDelete+mapsDelete pMdId_ =+    MapsDelete+    { _mdId = pMdId_+    }++-- | The ID of the map. Only the map creator or project owner are permitted+-- to delete. If the map is published the request will fail. Unpublish the+-- map prior to deleting.+mdId :: Lens' MapsDelete Text+mdId = lens _mdId (\ s a -> s{_mdId = a})++instance GoogleRequest MapsDelete where+        type Rs MapsDelete = ()+        requestClient MapsDelete{..}+          = go _mdId (Just AltJSON) mapsEngineService+          where go+                  = buildClient (Proxy :: Proxy MapsDeleteResource)+                      mempty
+ gen/Network/Google/Resource/MapsEngine/Maps/Get.hs view
@@ -0,0 +1,95 @@+{-# 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.MapsEngine.Maps.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)+--+-- Return metadata for a particular map.+--+-- /See:/ <https://developers.google.com/maps-engine/ Google Maps Engine API Reference> for @mapsengine.maps.get@.+module Network.Google.Resource.MapsEngine.Maps.Get+    (+    -- * REST Resource+      MapsGetResource++    -- * Creating a Request+    , mapsGet+    , MapsGet++    -- * Request Lenses+    , mgVersion+    , mgId+    ) where++import           Network.Google.MapsEngine.Types+import           Network.Google.Prelude++-- | A resource alias for @mapsengine.maps.get@ method which the+-- 'MapsGet' request conforms to.+type MapsGetResource =+     "mapsengine" :>+       "v1" :>+         "maps" :>+           Capture "id" Text :>+             QueryParam "version" MapsGetVersion :>+               QueryParam "alt" AltJSON :> Get '[JSON] Map++-- | Return metadata for a particular map.+--+-- /See:/ 'mapsGet' smart constructor.+data MapsGet = MapsGet+    { _mgVersion :: !(Maybe MapsGetVersion)+    , _mgId      :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'MapsGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mgVersion'+--+-- * 'mgId'+mapsGet+    :: Text -- ^ 'mgId'+    -> MapsGet+mapsGet pMgId_ =+    MapsGet+    { _mgVersion = Nothing+    , _mgId = pMgId_+    }++-- | Deprecated: The version parameter indicates which version of the map+-- should be returned. When version is set to published, the published+-- version of the map will be returned. Please use the maps.getPublished+-- endpoint instead.+mgVersion :: Lens' MapsGet (Maybe MapsGetVersion)+mgVersion+  = lens _mgVersion (\ s a -> s{_mgVersion = a})++-- | The ID of the map.+mgId :: Lens' MapsGet Text+mgId = lens _mgId (\ s a -> s{_mgId = a})++instance GoogleRequest MapsGet where+        type Rs MapsGet = Map+        requestClient MapsGet{..}+          = go _mgId _mgVersion (Just AltJSON)+              mapsEngineService+          where go+                  = buildClient (Proxy :: Proxy MapsGetResource) mempty
+ gen/Network/Google/Resource/MapsEngine/Maps/GetPublished.hs view
@@ -0,0 +1,83 @@+{-# 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.MapsEngine.Maps.GetPublished+-- 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)+--+-- Return the published metadata for a particular map.+--+-- /See:/ <https://developers.google.com/maps-engine/ Google Maps Engine API Reference> for @mapsengine.maps.getPublished@.+module Network.Google.Resource.MapsEngine.Maps.GetPublished+    (+    -- * REST Resource+      MapsGetPublishedResource++    -- * Creating a Request+    , mapsGetPublished+    , MapsGetPublished++    -- * Request Lenses+    , mgpId+    ) where++import           Network.Google.MapsEngine.Types+import           Network.Google.Prelude++-- | A resource alias for @mapsengine.maps.getPublished@ method which the+-- 'MapsGetPublished' request conforms to.+type MapsGetPublishedResource =+     "mapsengine" :>+       "v1" :>+         "maps" :>+           Capture "id" Text :>+             "published" :>+               QueryParam "alt" AltJSON :> Get '[JSON] PublishedMap++-- | Return the published metadata for a particular map.+--+-- /See:/ 'mapsGetPublished' smart constructor.+newtype MapsGetPublished = MapsGetPublished+    { _mgpId :: Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'MapsGetPublished' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mgpId'+mapsGetPublished+    :: Text -- ^ 'mgpId'+    -> MapsGetPublished+mapsGetPublished pMgpId_ =+    MapsGetPublished+    { _mgpId = pMgpId_+    }++-- | The ID of the map.+mgpId :: Lens' MapsGetPublished Text+mgpId = lens _mgpId (\ s a -> s{_mgpId = a})++instance GoogleRequest MapsGetPublished where+        type Rs MapsGetPublished = PublishedMap+        requestClient MapsGetPublished{..}+          = go _mgpId (Just AltJSON) mapsEngineService+          where go+                  = buildClient+                      (Proxy :: Proxy MapsGetPublishedResource)+                      mempty
+ gen/Network/Google/Resource/MapsEngine/Maps/List.hs view
@@ -0,0 +1,248 @@+{-# 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.MapsEngine.Maps.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)+--+-- Return all maps readable by the current user.+--+-- /See:/ <https://developers.google.com/maps-engine/ Google Maps Engine API Reference> for @mapsengine.maps.list@.+module Network.Google.Resource.MapsEngine.Maps.List+    (+    -- * REST Resource+      MapsListResource++    -- * Creating a Request+    , mapsList+    , MapsList++    -- * Request Lenses+    , mlCreatedAfter+    , mlCreatorEmail+    , mlRole+    , mlBbox+    , mlProcessingStatus+    , mlModifiedAfter+    , mlModifiedBefore+    , mlPageToken+    , mlProjectId+    , mlSearch+    , mlMaxResults+    , mlTags+    , mlCreatedBefore+    ) where++import           Network.Google.MapsEngine.Types+import           Network.Google.Prelude++-- | A resource alias for @mapsengine.maps.list@ method which the+-- 'MapsList' request conforms to.+type MapsListResource =+     "mapsengine" :>+       "v1" :>+         "maps" :>+           QueryParam "createdAfter" DateTime' :>+             QueryParam "creatorEmail" Text :>+               QueryParam "role" MapsListRole :>+                 QueryParam "bbox" Text :>+                   QueryParam "processingStatus"+                     MapsListProcessingStatus+                     :>+                     QueryParam "modifiedAfter" DateTime' :>+                       QueryParam "modifiedBefore" DateTime' :>+                         QueryParam "pageToken" Text :>+                           QueryParam "projectId" Text :>+                             QueryParam "search" Text :>+                               QueryParam "maxResults" (Textual Word32) :>+                                 QueryParam "tags" Text :>+                                   QueryParam "createdBefore" DateTime' :>+                                     QueryParam "alt" AltJSON :>+                                       Get '[JSON] MapsListResponse++-- | Return all maps readable by the current user.+--+-- /See:/ 'mapsList' smart constructor.+data MapsList = MapsList+    { _mlCreatedAfter     :: !(Maybe DateTime')+    , _mlCreatorEmail     :: !(Maybe Text)+    , _mlRole             :: !(Maybe MapsListRole)+    , _mlBbox             :: !(Maybe Text)+    , _mlProcessingStatus :: !(Maybe MapsListProcessingStatus)+    , _mlModifiedAfter    :: !(Maybe DateTime')+    , _mlModifiedBefore   :: !(Maybe DateTime')+    , _mlPageToken        :: !(Maybe Text)+    , _mlProjectId        :: !(Maybe Text)+    , _mlSearch           :: !(Maybe Text)+    , _mlMaxResults       :: !(Maybe (Textual Word32))+    , _mlTags             :: !(Maybe Text)+    , _mlCreatedBefore    :: !(Maybe DateTime')+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'MapsList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mlCreatedAfter'+--+-- * 'mlCreatorEmail'+--+-- * 'mlRole'+--+-- * 'mlBbox'+--+-- * 'mlProcessingStatus'+--+-- * 'mlModifiedAfter'+--+-- * 'mlModifiedBefore'+--+-- * 'mlPageToken'+--+-- * 'mlProjectId'+--+-- * 'mlSearch'+--+-- * 'mlMaxResults'+--+-- * 'mlTags'+--+-- * 'mlCreatedBefore'+mapsList+    :: MapsList+mapsList =+    MapsList+    { _mlCreatedAfter = Nothing+    , _mlCreatorEmail = Nothing+    , _mlRole = Nothing+    , _mlBbox = Nothing+    , _mlProcessingStatus = Nothing+    , _mlModifiedAfter = Nothing+    , _mlModifiedBefore = Nothing+    , _mlPageToken = Nothing+    , _mlProjectId = Nothing+    , _mlSearch = Nothing+    , _mlMaxResults = Nothing+    , _mlTags = Nothing+    , _mlCreatedBefore = Nothing+    }++-- | An RFC 3339 formatted date-time value (e.g. 1970-01-01T00:00:00Z).+-- Returned assets will have been created at or after this time.+mlCreatedAfter :: Lens' MapsList (Maybe UTCTime)+mlCreatedAfter+  = lens _mlCreatedAfter+      (\ s a -> s{_mlCreatedAfter = a})+      . mapping _DateTime++-- | An email address representing a user. Returned assets that have been+-- created by the user associated with the provided email address.+mlCreatorEmail :: Lens' MapsList (Maybe Text)+mlCreatorEmail+  = lens _mlCreatorEmail+      (\ s a -> s{_mlCreatorEmail = a})++-- | The role parameter indicates that the response should only contain+-- assets where the current user has the specified level of access.+mlRole :: Lens' MapsList (Maybe MapsListRole)+mlRole = lens _mlRole (\ s a -> s{_mlRole = a})++-- | A bounding box, expressed as \"west,south,east,north\". If set, only+-- assets which intersect this bounding box will be returned.+mlBbox :: Lens' MapsList (Maybe Text)+mlBbox = lens _mlBbox (\ s a -> s{_mlBbox = a})++mlProcessingStatus :: Lens' MapsList (Maybe MapsListProcessingStatus)+mlProcessingStatus+  = lens _mlProcessingStatus+      (\ s a -> s{_mlProcessingStatus = a})++-- | An RFC 3339 formatted date-time value (e.g. 1970-01-01T00:00:00Z).+-- Returned assets will have been modified at or after this time.+mlModifiedAfter :: Lens' MapsList (Maybe UTCTime)+mlModifiedAfter+  = lens _mlModifiedAfter+      (\ s a -> s{_mlModifiedAfter = a})+      . mapping _DateTime++-- | An RFC 3339 formatted date-time value (e.g. 1970-01-01T00:00:00Z).+-- Returned assets will have been modified at or before this time.+mlModifiedBefore :: Lens' MapsList (Maybe UTCTime)+mlModifiedBefore+  = lens _mlModifiedBefore+      (\ s a -> s{_mlModifiedBefore = a})+      . mapping _DateTime++-- | The continuation token, used to page through large result sets. To get+-- the next page of results, set this parameter to the value of+-- nextPageToken from the previous response.+mlPageToken :: Lens' MapsList (Maybe Text)+mlPageToken+  = lens _mlPageToken (\ s a -> s{_mlPageToken = a})++-- | The ID of a Maps Engine project, used to filter the response. To list+-- all available projects with their IDs, send a Projects: list request.+-- You can also find your project ID as the value of the DashboardPlace:cid+-- URL parameter when signed in to mapsengine.google.com.+mlProjectId :: Lens' MapsList (Maybe Text)+mlProjectId+  = lens _mlProjectId (\ s a -> s{_mlProjectId = a})++-- | An unstructured search string used to filter the set of results based on+-- asset metadata.+mlSearch :: Lens' MapsList (Maybe Text)+mlSearch = lens _mlSearch (\ s a -> s{_mlSearch = a})++-- | The maximum number of items to include in a single response page. The+-- maximum supported value is 100.+mlMaxResults :: Lens' MapsList (Maybe Word32)+mlMaxResults+  = lens _mlMaxResults (\ s a -> s{_mlMaxResults = a})+      . mapping _Coerce++-- | A comma separated list of tags. Returned assets will contain all the+-- tags from the list.+mlTags :: Lens' MapsList (Maybe Text)+mlTags = lens _mlTags (\ s a -> s{_mlTags = a})++-- | An RFC 3339 formatted date-time value (e.g. 1970-01-01T00:00:00Z).+-- Returned assets will have been created at or before this time.+mlCreatedBefore :: Lens' MapsList (Maybe UTCTime)+mlCreatedBefore+  = lens _mlCreatedBefore+      (\ s a -> s{_mlCreatedBefore = a})+      . mapping _DateTime++instance GoogleRequest MapsList where+        type Rs MapsList = MapsListResponse+        requestClient MapsList{..}+          = go _mlCreatedAfter _mlCreatorEmail _mlRole _mlBbox+              _mlProcessingStatus+              _mlModifiedAfter+              _mlModifiedBefore+              _mlPageToken+              _mlProjectId+              _mlSearch+              _mlMaxResults+              _mlTags+              _mlCreatedBefore+              (Just AltJSON)+              mapsEngineService+          where go+                  = buildClient (Proxy :: Proxy MapsListResource)+                      mempty
+ gen/Network/Google/Resource/MapsEngine/Maps/ListPublished.hs view
@@ -0,0 +1,116 @@+{-# 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.MapsEngine.Maps.ListPublished+-- 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)+--+-- Return all published maps readable by the current user.+--+-- /See:/ <https://developers.google.com/maps-engine/ Google Maps Engine API Reference> for @mapsengine.maps.listPublished@.+module Network.Google.Resource.MapsEngine.Maps.ListPublished+    (+    -- * REST Resource+      MapsListPublishedResource++    -- * Creating a Request+    , mapsListPublished+    , MapsListPublished++    -- * Request Lenses+    , mlpPageToken+    , mlpProjectId+    , mlpMaxResults+    ) where++import           Network.Google.MapsEngine.Types+import           Network.Google.Prelude++-- | A resource alias for @mapsengine.maps.listPublished@ method which the+-- 'MapsListPublished' request conforms to.+type MapsListPublishedResource =+     "mapsengine" :>+       "v1" :>+         "maps" :>+           "published" :>+             QueryParam "pageToken" Text :>+               QueryParam "projectId" Text :>+                 QueryParam "maxResults" (Textual Word32) :>+                   QueryParam "alt" AltJSON :>+                     Get '[JSON] PublishedMapsListResponse++-- | Return all published maps readable by the current user.+--+-- /See:/ 'mapsListPublished' smart constructor.+data MapsListPublished = MapsListPublished+    { _mlpPageToken  :: !(Maybe Text)+    , _mlpProjectId  :: !(Maybe Text)+    , _mlpMaxResults :: !(Maybe (Textual Word32))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'MapsListPublished' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mlpPageToken'+--+-- * 'mlpProjectId'+--+-- * 'mlpMaxResults'+mapsListPublished+    :: MapsListPublished+mapsListPublished =+    MapsListPublished+    { _mlpPageToken = Nothing+    , _mlpProjectId = Nothing+    , _mlpMaxResults = Nothing+    }++-- | The continuation token, used to page through large result sets. To get+-- the next page of results, set this parameter to the value of+-- nextPageToken from the previous response.+mlpPageToken :: Lens' MapsListPublished (Maybe Text)+mlpPageToken+  = lens _mlpPageToken (\ s a -> s{_mlpPageToken = a})++-- | The ID of a Maps Engine project, used to filter the response. To list+-- all available projects with their IDs, send a Projects: list request.+-- You can also find your project ID as the value of the DashboardPlace:cid+-- URL parameter when signed in to mapsengine.google.com.+mlpProjectId :: Lens' MapsListPublished (Maybe Text)+mlpProjectId+  = lens _mlpProjectId (\ s a -> s{_mlpProjectId = a})++-- | The maximum number of items to include in a single response page. The+-- maximum supported value is 100.+mlpMaxResults :: Lens' MapsListPublished (Maybe Word32)+mlpMaxResults+  = lens _mlpMaxResults+      (\ s a -> s{_mlpMaxResults = a})+      . mapping _Coerce++instance GoogleRequest MapsListPublished where+        type Rs MapsListPublished = PublishedMapsListResponse+        requestClient MapsListPublished{..}+          = go _mlpPageToken _mlpProjectId _mlpMaxResults+              (Just AltJSON)+              mapsEngineService+          where go+                  = buildClient+                      (Proxy :: Proxy MapsListPublishedResource)+                      mempty
+ gen/Network/Google/Resource/MapsEngine/Maps/Patch.hs view
@@ -0,0 +1,94 @@+{-# 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.MapsEngine.Maps.Patch+-- 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)+--+-- Mutate a map asset.+--+-- /See:/ <https://developers.google.com/maps-engine/ Google Maps Engine API Reference> for @mapsengine.maps.patch@.+module Network.Google.Resource.MapsEngine.Maps.Patch+    (+    -- * REST Resource+      MapsPatchResource++    -- * Creating a Request+    , mapsPatch+    , MapsPatch++    -- * Request Lenses+    , mpPayload+    , mpId+    ) where++import           Network.Google.MapsEngine.Types+import           Network.Google.Prelude++-- | A resource alias for @mapsengine.maps.patch@ method which the+-- 'MapsPatch' request conforms to.+type MapsPatchResource =+     "mapsengine" :>+       "v1" :>+         "maps" :>+           Capture "id" Text :>+             QueryParam "alt" AltJSON :>+               ReqBody '[JSON] Map :> Patch '[JSON] ()++-- | Mutate a map asset.+--+-- /See:/ 'mapsPatch' smart constructor.+data MapsPatch = MapsPatch+    { _mpPayload :: !Map+    , _mpId      :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'MapsPatch' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mpPayload'+--+-- * 'mpId'+mapsPatch+    :: Map -- ^ 'mpPayload'+    -> Text -- ^ 'mpId'+    -> MapsPatch+mapsPatch pMpPayload_ pMpId_ =+    MapsPatch+    { _mpPayload = pMpPayload_+    , _mpId = pMpId_+    }++-- | Multipart request metadata.+mpPayload :: Lens' MapsPatch Map+mpPayload+  = lens _mpPayload (\ s a -> s{_mpPayload = a})++-- | The ID of the map.+mpId :: Lens' MapsPatch Text+mpId = lens _mpId (\ s a -> s{_mpId = a})++instance GoogleRequest MapsPatch where+        type Rs MapsPatch = ()+        requestClient MapsPatch{..}+          = go _mpId (Just AltJSON) _mpPayload+              mapsEngineService+          where go+                  = buildClient (Proxy :: Proxy MapsPatchResource)+                      mempty
+ gen/Network/Google/Resource/MapsEngine/Maps/Permissions/BatchDelete.hs view
@@ -0,0 +1,100 @@+{-# 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.MapsEngine.Maps.Permissions.BatchDelete+-- 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)+--+-- Remove permission entries from an already existing asset.+--+-- /See:/ <https://developers.google.com/maps-engine/ Google Maps Engine API Reference> for @mapsengine.maps.permissions.batchDelete@.+module Network.Google.Resource.MapsEngine.Maps.Permissions.BatchDelete+    (+    -- * REST Resource+      MapsPermissionsBatchDeleteResource++    -- * Creating a Request+    , mapsPermissionsBatchDelete+    , MapsPermissionsBatchDelete++    -- * Request Lenses+    , mpbdPayload+    , mpbdId+    ) where++import           Network.Google.MapsEngine.Types+import           Network.Google.Prelude++-- | A resource alias for @mapsengine.maps.permissions.batchDelete@ method which the+-- 'MapsPermissionsBatchDelete' request conforms to.+type MapsPermissionsBatchDeleteResource =+     "mapsengine" :>+       "v1" :>+         "maps" :>+           Capture "id" Text :>+             "permissions" :>+               "batchDelete" :>+                 QueryParam "alt" AltJSON :>+                   ReqBody '[JSON] PermissionsBatchDeleteRequest :>+                     Post '[JSON] PermissionsBatchDeleteResponse++-- | Remove permission entries from an already existing asset.+--+-- /See:/ 'mapsPermissionsBatchDelete' smart constructor.+data MapsPermissionsBatchDelete = MapsPermissionsBatchDelete+    { _mpbdPayload :: !PermissionsBatchDeleteRequest+    , _mpbdId      :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'MapsPermissionsBatchDelete' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mpbdPayload'+--+-- * 'mpbdId'+mapsPermissionsBatchDelete+    :: PermissionsBatchDeleteRequest -- ^ 'mpbdPayload'+    -> Text -- ^ 'mpbdId'+    -> MapsPermissionsBatchDelete+mapsPermissionsBatchDelete pMpbdPayload_ pMpbdId_ =+    MapsPermissionsBatchDelete+    { _mpbdPayload = pMpbdPayload_+    , _mpbdId = pMpbdId_+    }++-- | Multipart request metadata.+mpbdPayload :: Lens' MapsPermissionsBatchDelete PermissionsBatchDeleteRequest+mpbdPayload+  = lens _mpbdPayload (\ s a -> s{_mpbdPayload = a})++-- | The ID of the asset from which permissions will be removed.+mpbdId :: Lens' MapsPermissionsBatchDelete Text+mpbdId = lens _mpbdId (\ s a -> s{_mpbdId = a})++instance GoogleRequest MapsPermissionsBatchDelete+         where+        type Rs MapsPermissionsBatchDelete =+             PermissionsBatchDeleteResponse+        requestClient MapsPermissionsBatchDelete{..}+          = go _mpbdId (Just AltJSON) _mpbdPayload+              mapsEngineService+          where go+                  = buildClient+                      (Proxy :: Proxy MapsPermissionsBatchDeleteResource)+                      mempty
+ gen/Network/Google/Resource/MapsEngine/Maps/Permissions/BatchUpdate.hs view
@@ -0,0 +1,104 @@+{-# 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.MapsEngine.Maps.Permissions.BatchUpdate+-- 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)+--+-- Add or update permission entries to an already existing asset. An asset+-- can hold up to 20 different permission entries. Each batchInsert request+-- is atomic.+--+-- /See:/ <https://developers.google.com/maps-engine/ Google Maps Engine API Reference> for @mapsengine.maps.permissions.batchUpdate@.+module Network.Google.Resource.MapsEngine.Maps.Permissions.BatchUpdate+    (+    -- * REST Resource+      MapsPermissionsBatchUpdateResource++    -- * Creating a Request+    , mapsPermissionsBatchUpdate+    , MapsPermissionsBatchUpdate++    -- * Request Lenses+    , mpbuPayload+    , mpbuId+    ) where++import           Network.Google.MapsEngine.Types+import           Network.Google.Prelude++-- | A resource alias for @mapsengine.maps.permissions.batchUpdate@ method which the+-- 'MapsPermissionsBatchUpdate' request conforms to.+type MapsPermissionsBatchUpdateResource =+     "mapsengine" :>+       "v1" :>+         "maps" :>+           Capture "id" Text :>+             "permissions" :>+               "batchUpdate" :>+                 QueryParam "alt" AltJSON :>+                   ReqBody '[JSON] PermissionsBatchUpdateRequest :>+                     Post '[JSON] PermissionsBatchUpdateResponse++-- | Add or update permission entries to an already existing asset. An asset+-- can hold up to 20 different permission entries. Each batchInsert request+-- is atomic.+--+-- /See:/ 'mapsPermissionsBatchUpdate' smart constructor.+data MapsPermissionsBatchUpdate = MapsPermissionsBatchUpdate+    { _mpbuPayload :: !PermissionsBatchUpdateRequest+    , _mpbuId      :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'MapsPermissionsBatchUpdate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mpbuPayload'+--+-- * 'mpbuId'+mapsPermissionsBatchUpdate+    :: PermissionsBatchUpdateRequest -- ^ 'mpbuPayload'+    -> Text -- ^ 'mpbuId'+    -> MapsPermissionsBatchUpdate+mapsPermissionsBatchUpdate pMpbuPayload_ pMpbuId_ =+    MapsPermissionsBatchUpdate+    { _mpbuPayload = pMpbuPayload_+    , _mpbuId = pMpbuId_+    }++-- | Multipart request metadata.+mpbuPayload :: Lens' MapsPermissionsBatchUpdate PermissionsBatchUpdateRequest+mpbuPayload+  = lens _mpbuPayload (\ s a -> s{_mpbuPayload = a})++-- | The ID of the asset to which permissions will be added.+mpbuId :: Lens' MapsPermissionsBatchUpdate Text+mpbuId = lens _mpbuId (\ s a -> s{_mpbuId = a})++instance GoogleRequest MapsPermissionsBatchUpdate+         where+        type Rs MapsPermissionsBatchUpdate =+             PermissionsBatchUpdateResponse+        requestClient MapsPermissionsBatchUpdate{..}+          = go _mpbuId (Just AltJSON) _mpbuPayload+              mapsEngineService+          where go+                  = buildClient+                      (Proxy :: Proxy MapsPermissionsBatchUpdateResource)+                      mempty
+ gen/Network/Google/Resource/MapsEngine/Maps/Permissions/List.hs view
@@ -0,0 +1,84 @@+{-# 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.MapsEngine.Maps.Permissions.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)+--+-- Return all of the permissions for the specified asset.+--+-- /See:/ <https://developers.google.com/maps-engine/ Google Maps Engine API Reference> for @mapsengine.maps.permissions.list@.+module Network.Google.Resource.MapsEngine.Maps.Permissions.List+    (+    -- * REST Resource+      MapsPermissionsListResource++    -- * Creating a Request+    , mapsPermissionsList+    , MapsPermissionsList++    -- * Request Lenses+    , mplId+    ) where++import           Network.Google.MapsEngine.Types+import           Network.Google.Prelude++-- | A resource alias for @mapsengine.maps.permissions.list@ method which the+-- 'MapsPermissionsList' request conforms to.+type MapsPermissionsListResource =+     "mapsengine" :>+       "v1" :>+         "maps" :>+           Capture "id" Text :>+             "permissions" :>+               QueryParam "alt" AltJSON :>+                 Get '[JSON] PermissionsListResponse++-- | Return all of the permissions for the specified asset.+--+-- /See:/ 'mapsPermissionsList' smart constructor.+newtype MapsPermissionsList = MapsPermissionsList+    { _mplId :: Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'MapsPermissionsList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mplId'+mapsPermissionsList+    :: Text -- ^ 'mplId'+    -> MapsPermissionsList+mapsPermissionsList pMplId_ =+    MapsPermissionsList+    { _mplId = pMplId_+    }++-- | The ID of the asset whose permissions will be listed.+mplId :: Lens' MapsPermissionsList Text+mplId = lens _mplId (\ s a -> s{_mplId = a})++instance GoogleRequest MapsPermissionsList where+        type Rs MapsPermissionsList = PermissionsListResponse+        requestClient MapsPermissionsList{..}+          = go _mplId (Just AltJSON) mapsEngineService+          where go+                  = buildClient+                      (Proxy :: Proxy MapsPermissionsListResource)+                      mempty
+ gen/Network/Google/Resource/MapsEngine/Maps/Publish.hs view
@@ -0,0 +1,96 @@+{-# 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.MapsEngine.Maps.Publish+-- 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)+--+-- Publish a map asset.+--+-- /See:/ <https://developers.google.com/maps-engine/ Google Maps Engine API Reference> for @mapsengine.maps.publish@.+module Network.Google.Resource.MapsEngine.Maps.Publish+    (+    -- * REST Resource+      MapsPublishResource++    -- * Creating a Request+    , mapsPublish+    , MapsPublish++    -- * Request Lenses+    , mapForce+    , mapId+    ) where++import           Network.Google.MapsEngine.Types+import           Network.Google.Prelude++-- | A resource alias for @mapsengine.maps.publish@ method which the+-- 'MapsPublish' request conforms to.+type MapsPublishResource =+     "mapsengine" :>+       "v1" :>+         "maps" :>+           Capture "id" Text :>+             "publish" :>+               QueryParam "force" Bool :>+                 QueryParam "alt" AltJSON :>+                   Post '[JSON] PublishResponse++-- | Publish a map asset.+--+-- /See:/ 'mapsPublish' smart constructor.+data MapsPublish = MapsPublish+    { _mapForce :: !(Maybe Bool)+    , _mapId    :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'MapsPublish' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mapForce'+--+-- * 'mapId'+mapsPublish+    :: Text -- ^ 'mapId'+    -> MapsPublish+mapsPublish pMapId_ =+    MapsPublish+    { _mapForce = Nothing+    , _mapId = pMapId_+    }++-- | If set to true, the API will allow publication of the map even if it\'s+-- out of date. If false, the map must have a processingStatus of complete+-- before publishing.+mapForce :: Lens' MapsPublish (Maybe Bool)+mapForce = lens _mapForce (\ s a -> s{_mapForce = a})++-- | The ID of the map.+mapId :: Lens' MapsPublish Text+mapId = lens _mapId (\ s a -> s{_mapId = a})++instance GoogleRequest MapsPublish where+        type Rs MapsPublish = PublishResponse+        requestClient MapsPublish{..}+          = go _mapId _mapForce (Just AltJSON)+              mapsEngineService+          where go+                  = buildClient (Proxy :: Proxy MapsPublishResource)+                      mempty
+ gen/Network/Google/Resource/MapsEngine/Maps/UnPublish.hs view
@@ -0,0 +1,83 @@+{-# 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.MapsEngine.Maps.UnPublish+-- 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)+--+-- Unpublish a map asset.+--+-- /See:/ <https://developers.google.com/maps-engine/ Google Maps Engine API Reference> for @mapsengine.maps.unpublish@.+module Network.Google.Resource.MapsEngine.Maps.UnPublish+    (+    -- * REST Resource+      MapsUnPublishResource++    -- * Creating a Request+    , mapsUnPublish+    , MapsUnPublish++    -- * Request Lenses+    , mupId+    ) where++import           Network.Google.MapsEngine.Types+import           Network.Google.Prelude++-- | A resource alias for @mapsengine.maps.unpublish@ method which the+-- 'MapsUnPublish' request conforms to.+type MapsUnPublishResource =+     "mapsengine" :>+       "v1" :>+         "maps" :>+           Capture "id" Text :>+             "unpublish" :>+               QueryParam "alt" AltJSON :>+                 Post '[JSON] PublishResponse++-- | Unpublish a map asset.+--+-- /See:/ 'mapsUnPublish' smart constructor.+newtype MapsUnPublish = MapsUnPublish+    { _mupId :: Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'MapsUnPublish' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mupId'+mapsUnPublish+    :: Text -- ^ 'mupId'+    -> MapsUnPublish+mapsUnPublish pMupId_ =+    MapsUnPublish+    { _mupId = pMupId_+    }++-- | The ID of the map.+mupId :: Lens' MapsUnPublish Text+mupId = lens _mupId (\ s a -> s{_mupId = a})++instance GoogleRequest MapsUnPublish where+        type Rs MapsUnPublish = PublishResponse+        requestClient MapsUnPublish{..}+          = go _mupId (Just AltJSON) mapsEngineService+          where go+                  = buildClient (Proxy :: Proxy MapsUnPublishResource)+                      mempty
+ gen/Network/Google/Resource/MapsEngine/Projects/Icons/Create.hs view
@@ -0,0 +1,122 @@+{-# 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.MapsEngine.Projects.Icons.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 an icon.+--+-- /See:/ <https://developers.google.com/maps-engine/ Google Maps Engine API Reference> for @mapsengine.projects.icons.create@.+module Network.Google.Resource.MapsEngine.Projects.Icons.Create+    (+    -- * REST Resource+      ProjectsIconsCreateResource++    -- * Creating a Request+    , projectsIconsCreate+    , ProjectsIconsCreate++    -- * Request Lenses+    , picPayload+    , picProjectId+    ) where++import           Network.Google.MapsEngine.Types+import           Network.Google.Prelude++-- | A resource alias for @mapsengine.projects.icons.create@ method which the+-- 'ProjectsIconsCreate' request conforms to.+type ProjectsIconsCreateResource =+     "mapsengine" :>+       "v1" :>+         "projects" :>+           Capture "projectId" Text :>+             "icons" :>+               QueryParam "alt" AltJSON :>+                 ReqBody '[JSON] Icon :> Post '[JSON] Icon+       :<|>+       "upload" :>+         "mapsengine" :>+           "v1" :>+             "projects" :>+               Capture "projectId" Text :>+                 "icons" :>+                   QueryParam "alt" AltJSON :>+                     QueryParam "uploadType" AltMedia :>+                       MultipartRelated '[JSON] Icon RequestBody :>+                         Post '[JSON] Icon++-- | Create an icon.+--+-- /See:/ 'projectsIconsCreate' smart constructor.+data ProjectsIconsCreate = ProjectsIconsCreate+    { _picPayload   :: !Icon+    , _picProjectId :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProjectsIconsCreate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'picPayload'+--+-- * 'picProjectId'+projectsIconsCreate+    :: Icon -- ^ 'picPayload'+    -> Text -- ^ 'picProjectId'+    -> ProjectsIconsCreate+projectsIconsCreate pPicPayload_ pPicProjectId_ =+    ProjectsIconsCreate+    { _picPayload = pPicPayload_+    , _picProjectId = pPicProjectId_+    }++-- | Multipart request metadata.+picPayload :: Lens' ProjectsIconsCreate Icon+picPayload+  = lens _picPayload (\ s a -> s{_picPayload = a})++-- | The ID of the project.+picProjectId :: Lens' ProjectsIconsCreate Text+picProjectId+  = lens _picProjectId (\ s a -> s{_picProjectId = a})++instance GoogleRequest ProjectsIconsCreate where+        type Rs ProjectsIconsCreate = Icon+        requestClient ProjectsIconsCreate{..}+          = go _picProjectId (Just AltJSON) _picPayload+              mapsEngineService+          where go :<|> _+                  = buildClient+                      (Proxy :: Proxy ProjectsIconsCreateResource)+                      mempty++instance GoogleRequest+         (MediaUpload ProjectsIconsCreate) where+        type Rs (MediaUpload ProjectsIconsCreate) = Icon+        requestClient+          (MediaUpload ProjectsIconsCreate{..} body)+          = go _picProjectId (Just AltJSON) (Just AltMedia)+              _picPayload+              body+              mapsEngineService+          where _ :<|> go+                  = buildClient+                      (Proxy :: Proxy ProjectsIconsCreateResource)+                      mempty
+ gen/Network/Google/Resource/MapsEngine/Projects/Icons/Get.hs view
@@ -0,0 +1,116 @@+{-# 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.MapsEngine.Projects.Icons.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)+--+-- Return an icon or its associated metadata+--+-- /See:/ <https://developers.google.com/maps-engine/ Google Maps Engine API Reference> for @mapsengine.projects.icons.get@.+module Network.Google.Resource.MapsEngine.Projects.Icons.Get+    (+    -- * REST Resource+      ProjectsIconsGetResource++    -- * Creating a Request+    , projectsIconsGet+    , ProjectsIconsGet++    -- * Request Lenses+    , pigId+    , pigProjectId+    ) where++import           Network.Google.MapsEngine.Types+import           Network.Google.Prelude++-- | A resource alias for @mapsengine.projects.icons.get@ method which the+-- 'ProjectsIconsGet' request conforms to.+type ProjectsIconsGetResource =+     "mapsengine" :>+       "v1" :>+         "projects" :>+           Capture "projectId" Text :>+             "icons" :>+               Capture "id" Text :>+                 QueryParam "alt" AltJSON :> Get '[JSON] Icon+       :<|>+       "mapsengine" :>+         "v1" :>+           "projects" :>+             Capture "projectId" Text :>+               "icons" :>+                 Capture "id" Text :>+                   QueryParam "alt" AltMedia :>+                     Get '[OctetStream] Stream++-- | Return an icon or its associated metadata+--+-- /See:/ 'projectsIconsGet' smart constructor.+data ProjectsIconsGet = ProjectsIconsGet+    { _pigId        :: !Text+    , _pigProjectId :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProjectsIconsGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pigId'+--+-- * 'pigProjectId'+projectsIconsGet+    :: Text -- ^ 'pigId'+    -> Text -- ^ 'pigProjectId'+    -> ProjectsIconsGet+projectsIconsGet pPigId_ pPigProjectId_ =+    ProjectsIconsGet+    { _pigId = pPigId_+    , _pigProjectId = pPigProjectId_+    }++-- | The ID of the icon.+pigId :: Lens' ProjectsIconsGet Text+pigId = lens _pigId (\ s a -> s{_pigId = a})++-- | The ID of the project.+pigProjectId :: Lens' ProjectsIconsGet Text+pigProjectId+  = lens _pigProjectId (\ s a -> s{_pigProjectId = a})++instance GoogleRequest ProjectsIconsGet where+        type Rs ProjectsIconsGet = Icon+        requestClient ProjectsIconsGet{..}+          = go _pigProjectId _pigId (Just AltJSON)+              mapsEngineService+          where go :<|> _+                  = buildClient+                      (Proxy :: Proxy ProjectsIconsGetResource)+                      mempty++instance GoogleRequest+         (MediaDownload ProjectsIconsGet) where+        type Rs (MediaDownload ProjectsIconsGet) = Stream+        requestClient (MediaDownload ProjectsIconsGet{..})+          = go _pigProjectId _pigId (Just AltMedia)+              mapsEngineService+          where _ :<|> go+                  = buildClient+                      (Proxy :: Proxy ProjectsIconsGetResource)+                      mempty
+ gen/Network/Google/Resource/MapsEngine/Projects/Icons/List.hs view
@@ -0,0 +1,114 @@+{-# 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.MapsEngine.Projects.Icons.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)+--+-- Return all icons in the current project+--+-- /See:/ <https://developers.google.com/maps-engine/ Google Maps Engine API Reference> for @mapsengine.projects.icons.list@.+module Network.Google.Resource.MapsEngine.Projects.Icons.List+    (+    -- * REST Resource+      ProjectsIconsListResource++    -- * Creating a Request+    , projectsIconsList+    , ProjectsIconsList++    -- * Request Lenses+    , pilPageToken+    , pilProjectId+    , pilMaxResults+    ) where++import           Network.Google.MapsEngine.Types+import           Network.Google.Prelude++-- | A resource alias for @mapsengine.projects.icons.list@ method which the+-- 'ProjectsIconsList' request conforms to.+type ProjectsIconsListResource =+     "mapsengine" :>+       "v1" :>+         "projects" :>+           Capture "projectId" Text :>+             "icons" :>+               QueryParam "pageToken" Text :>+                 QueryParam "maxResults" (Textual Word32) :>+                   QueryParam "alt" AltJSON :>+                     Get '[JSON] IconsListResponse++-- | Return all icons in the current project+--+-- /See:/ 'projectsIconsList' smart constructor.+data ProjectsIconsList = ProjectsIconsList+    { _pilPageToken  :: !(Maybe Text)+    , _pilProjectId  :: !Text+    , _pilMaxResults :: !(Maybe (Textual Word32))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProjectsIconsList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pilPageToken'+--+-- * 'pilProjectId'+--+-- * 'pilMaxResults'+projectsIconsList+    :: Text -- ^ 'pilProjectId'+    -> ProjectsIconsList+projectsIconsList pPilProjectId_ =+    ProjectsIconsList+    { _pilPageToken = Nothing+    , _pilProjectId = pPilProjectId_+    , _pilMaxResults = Nothing+    }++-- | The continuation token, used to page through large result sets. To get+-- the next page of results, set this parameter to the value of+-- nextPageToken from the previous response.+pilPageToken :: Lens' ProjectsIconsList (Maybe Text)+pilPageToken+  = lens _pilPageToken (\ s a -> s{_pilPageToken = a})++-- | The ID of the project.+pilProjectId :: Lens' ProjectsIconsList Text+pilProjectId+  = lens _pilProjectId (\ s a -> s{_pilProjectId = a})++-- | The maximum number of items to include in a single response page. The+-- maximum supported value is 50.+pilMaxResults :: Lens' ProjectsIconsList (Maybe Word32)+pilMaxResults+  = lens _pilMaxResults+      (\ s a -> s{_pilMaxResults = a})+      . mapping _Coerce++instance GoogleRequest ProjectsIconsList where+        type Rs ProjectsIconsList = IconsListResponse+        requestClient ProjectsIconsList{..}+          = go _pilProjectId _pilPageToken _pilMaxResults+              (Just AltJSON)+              mapsEngineService+          where go+                  = buildClient+                      (Proxy :: Proxy ProjectsIconsListResource)+                      mempty
+ gen/Network/Google/Resource/MapsEngine/Projects/List.hs view
@@ -0,0 +1,68 @@+{-# 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.MapsEngine.Projects.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)+--+-- Return all projects readable by the current user.+--+-- /See:/ <https://developers.google.com/maps-engine/ Google Maps Engine API Reference> for @mapsengine.projects.list@.+module Network.Google.Resource.MapsEngine.Projects.List+    (+    -- * REST Resource+      ProjectsListResource++    -- * Creating a Request+    , projectsList+    , ProjectsList++    ) where++import           Network.Google.MapsEngine.Types+import           Network.Google.Prelude++-- | A resource alias for @mapsengine.projects.list@ method which the+-- 'ProjectsList' request conforms to.+type ProjectsListResource =+     "mapsengine" :>+       "v1" :>+         "projects" :>+           QueryParam "alt" AltJSON :>+             Get '[JSON] ProjectsListResponse++-- | Return all projects readable by the current user.+--+-- /See:/ 'projectsList' smart constructor.+data ProjectsList =+    ProjectsList+    deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProjectsList' with the minimum fields required to make a request.+--+projectsList+    :: ProjectsList+projectsList = ProjectsList++instance GoogleRequest ProjectsList where+        type Rs ProjectsList = ProjectsListResponse+        requestClient ProjectsList{}+          = go (Just AltJSON) mapsEngineService+          where go+                  = buildClient (Proxy :: Proxy ProjectsListResource)+                      mempty
+ gen/Network/Google/Resource/MapsEngine/RasterCollections/CancelProcessing.hs view
@@ -0,0 +1,87 @@+{-# 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.MapsEngine.RasterCollections.CancelProcessing+-- 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)+--+-- Cancel processing on a raster collection asset.+--+-- /See:/ <https://developers.google.com/maps-engine/ Google Maps Engine API Reference> for @mapsengine.rasterCollections.cancelProcessing@.+module Network.Google.Resource.MapsEngine.RasterCollections.CancelProcessing+    (+    -- * REST Resource+      RasterCollectionsCancelProcessingResource++    -- * Creating a Request+    , rasterCollectionsCancelProcessing+    , RasterCollectionsCancelProcessing++    -- * Request Lenses+    , rccpId+    ) where++import           Network.Google.MapsEngine.Types+import           Network.Google.Prelude++-- | A resource alias for @mapsengine.rasterCollections.cancelProcessing@ method which the+-- 'RasterCollectionsCancelProcessing' request conforms to.+type RasterCollectionsCancelProcessingResource =+     "mapsengine" :>+       "v1" :>+         "rasterCollections" :>+           Capture "id" Text :>+             "cancelProcessing" :>+               QueryParam "alt" AltJSON :>+                 Post '[JSON] ProcessResponse++-- | Cancel processing on a raster collection asset.+--+-- /See:/ 'rasterCollectionsCancelProcessing' smart constructor.+newtype RasterCollectionsCancelProcessing = RasterCollectionsCancelProcessing+    { _rccpId :: Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'RasterCollectionsCancelProcessing' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rccpId'+rasterCollectionsCancelProcessing+    :: Text -- ^ 'rccpId'+    -> RasterCollectionsCancelProcessing+rasterCollectionsCancelProcessing pRccpId_ =+    RasterCollectionsCancelProcessing+    { _rccpId = pRccpId_+    }++-- | The ID of the raster collection.+rccpId :: Lens' RasterCollectionsCancelProcessing Text+rccpId = lens _rccpId (\ s a -> s{_rccpId = a})++instance GoogleRequest+         RasterCollectionsCancelProcessing where+        type Rs RasterCollectionsCancelProcessing =+             ProcessResponse+        requestClient RasterCollectionsCancelProcessing{..}+          = go _rccpId (Just AltJSON) mapsEngineService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy RasterCollectionsCancelProcessingResource)+                      mempty
+ gen/Network/Google/Resource/MapsEngine/RasterCollections/Create.hs view
@@ -0,0 +1,84 @@+{-# 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.MapsEngine.RasterCollections.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 raster collection asset.+--+-- /See:/ <https://developers.google.com/maps-engine/ Google Maps Engine API Reference> for @mapsengine.rasterCollections.create@.+module Network.Google.Resource.MapsEngine.RasterCollections.Create+    (+    -- * REST Resource+      RasterCollectionsCreateResource++    -- * Creating a Request+    , rasterCollectionsCreate+    , RasterCollectionsCreate++    -- * Request Lenses+    , rccPayload+    ) where++import           Network.Google.MapsEngine.Types+import           Network.Google.Prelude++-- | A resource alias for @mapsengine.rasterCollections.create@ method which the+-- 'RasterCollectionsCreate' request conforms to.+type RasterCollectionsCreateResource =+     "mapsengine" :>+       "v1" :>+         "rasterCollections" :>+           QueryParam "alt" AltJSON :>+             ReqBody '[JSON] RasterCollection :>+               Post '[JSON] RasterCollection++-- | Create a raster collection asset.+--+-- /See:/ 'rasterCollectionsCreate' smart constructor.+newtype RasterCollectionsCreate = RasterCollectionsCreate+    { _rccPayload :: RasterCollection+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'RasterCollectionsCreate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rccPayload'+rasterCollectionsCreate+    :: RasterCollection -- ^ 'rccPayload'+    -> RasterCollectionsCreate+rasterCollectionsCreate pRccPayload_ =+    RasterCollectionsCreate+    { _rccPayload = pRccPayload_+    }++-- | Multipart request metadata.+rccPayload :: Lens' RasterCollectionsCreate RasterCollection+rccPayload+  = lens _rccPayload (\ s a -> s{_rccPayload = a})++instance GoogleRequest RasterCollectionsCreate where+        type Rs RasterCollectionsCreate = RasterCollection+        requestClient RasterCollectionsCreate{..}+          = go (Just AltJSON) _rccPayload mapsEngineService+          where go+                  = buildClient+                      (Proxy :: Proxy RasterCollectionsCreateResource)+                      mempty
+ gen/Network/Google/Resource/MapsEngine/RasterCollections/Delete.hs view
@@ -0,0 +1,85 @@+{-# 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.MapsEngine.RasterCollections.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 raster collection.+--+-- /See:/ <https://developers.google.com/maps-engine/ Google Maps Engine API Reference> for @mapsengine.rasterCollections.delete@.+module Network.Google.Resource.MapsEngine.RasterCollections.Delete+    (+    -- * REST Resource+      RasterCollectionsDeleteResource++    -- * Creating a Request+    , rasterCollectionsDelete+    , RasterCollectionsDelete++    -- * Request Lenses+    , rcdId+    ) where++import           Network.Google.MapsEngine.Types+import           Network.Google.Prelude++-- | A resource alias for @mapsengine.rasterCollections.delete@ method which the+-- 'RasterCollectionsDelete' request conforms to.+type RasterCollectionsDeleteResource =+     "mapsengine" :>+       "v1" :>+         "rasterCollections" :>+           Capture "id" Text :>+             QueryParam "alt" AltJSON :> Delete '[JSON] ()++-- | Delete a raster collection.+--+-- /See:/ 'rasterCollectionsDelete' smart constructor.+newtype RasterCollectionsDelete = RasterCollectionsDelete+    { _rcdId :: Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'RasterCollectionsDelete' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rcdId'+rasterCollectionsDelete+    :: Text -- ^ 'rcdId'+    -> RasterCollectionsDelete+rasterCollectionsDelete pRcdId_ =+    RasterCollectionsDelete+    { _rcdId = pRcdId_+    }++-- | The ID of the raster collection. Only the raster collection creator or+-- project owner are permitted to delete. If the rastor collection is+-- included in a layer, the request will fail. Remove the raster collection+-- from all layers prior to deleting.+rcdId :: Lens' RasterCollectionsDelete Text+rcdId = lens _rcdId (\ s a -> s{_rcdId = a})++instance GoogleRequest RasterCollectionsDelete where+        type Rs RasterCollectionsDelete = ()+        requestClient RasterCollectionsDelete{..}+          = go _rcdId (Just AltJSON) mapsEngineService+          where go+                  = buildClient+                      (Proxy :: Proxy RasterCollectionsDeleteResource)+                      mempty
+ gen/Network/Google/Resource/MapsEngine/RasterCollections/Get.hs view
@@ -0,0 +1,83 @@+{-# 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.MapsEngine.RasterCollections.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)+--+-- Return metadata for a particular raster collection.+--+-- /See:/ <https://developers.google.com/maps-engine/ Google Maps Engine API Reference> for @mapsengine.rasterCollections.get@.+module Network.Google.Resource.MapsEngine.RasterCollections.Get+    (+    -- * REST Resource+      RasterCollectionsGetResource++    -- * Creating a Request+    , rasterCollectionsGet+    , RasterCollectionsGet++    -- * Request Lenses+    , rcgId+    ) where++import           Network.Google.MapsEngine.Types+import           Network.Google.Prelude++-- | A resource alias for @mapsengine.rasterCollections.get@ method which the+-- 'RasterCollectionsGet' request conforms to.+type RasterCollectionsGetResource =+     "mapsengine" :>+       "v1" :>+         "rasterCollections" :>+           Capture "id" Text :>+             QueryParam "alt" AltJSON :>+               Get '[JSON] RasterCollection++-- | Return metadata for a particular raster collection.+--+-- /See:/ 'rasterCollectionsGet' smart constructor.+newtype RasterCollectionsGet = RasterCollectionsGet+    { _rcgId :: Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'RasterCollectionsGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rcgId'+rasterCollectionsGet+    :: Text -- ^ 'rcgId'+    -> RasterCollectionsGet+rasterCollectionsGet pRcgId_ =+    RasterCollectionsGet+    { _rcgId = pRcgId_+    }++-- | The ID of the raster collection.+rcgId :: Lens' RasterCollectionsGet Text+rcgId = lens _rcgId (\ s a -> s{_rcgId = a})++instance GoogleRequest RasterCollectionsGet where+        type Rs RasterCollectionsGet = RasterCollection+        requestClient RasterCollectionsGet{..}+          = go _rcgId (Just AltJSON) mapsEngineService+          where go+                  = buildClient+                      (Proxy :: Proxy RasterCollectionsGetResource)+                      mempty
+ gen/Network/Google/Resource/MapsEngine/RasterCollections/List.hs view
@@ -0,0 +1,253 @@+{-# 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.MapsEngine.RasterCollections.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)+--+-- Return all raster collections readable by the current user.+--+-- /See:/ <https://developers.google.com/maps-engine/ Google Maps Engine API Reference> for @mapsengine.rasterCollections.list@.+module Network.Google.Resource.MapsEngine.RasterCollections.List+    (+    -- * REST Resource+      RasterCollectionsListResource++    -- * Creating a Request+    , rasterCollectionsList+    , RasterCollectionsList++    -- * Request Lenses+    , rclCreatedAfter+    , rclCreatorEmail+    , rclRole+    , rclBbox+    , rclProcessingStatus+    , rclModifiedAfter+    , rclModifiedBefore+    , rclPageToken+    , rclProjectId+    , rclSearch+    , rclMaxResults+    , rclTags+    , rclCreatedBefore+    ) where++import           Network.Google.MapsEngine.Types+import           Network.Google.Prelude++-- | A resource alias for @mapsengine.rasterCollections.list@ method which the+-- 'RasterCollectionsList' request conforms to.+type RasterCollectionsListResource =+     "mapsengine" :>+       "v1" :>+         "rasterCollections" :>+           QueryParam "createdAfter" DateTime' :>+             QueryParam "creatorEmail" Text :>+               QueryParam "role" RasterCollectionsListRole :>+                 QueryParam "bbox" Text :>+                   QueryParam "processingStatus"+                     RasterCollectionsListProcessingStatus+                     :>+                     QueryParam "modifiedAfter" DateTime' :>+                       QueryParam "modifiedBefore" DateTime' :>+                         QueryParam "pageToken" Text :>+                           QueryParam "projectId" Text :>+                             QueryParam "search" Text :>+                               QueryParam "maxResults" (Textual Word32) :>+                                 QueryParam "tags" Text :>+                                   QueryParam "createdBefore" DateTime' :>+                                     QueryParam "alt" AltJSON :>+                                       Get '[JSON] RasterCollectionsListResponse++-- | Return all raster collections readable by the current user.+--+-- /See:/ 'rasterCollectionsList' smart constructor.+data RasterCollectionsList = RasterCollectionsList+    { _rclCreatedAfter     :: !(Maybe DateTime')+    , _rclCreatorEmail     :: !(Maybe Text)+    , _rclRole             :: !(Maybe RasterCollectionsListRole)+    , _rclBbox             :: !(Maybe Text)+    , _rclProcessingStatus :: !(Maybe RasterCollectionsListProcessingStatus)+    , _rclModifiedAfter    :: !(Maybe DateTime')+    , _rclModifiedBefore   :: !(Maybe DateTime')+    , _rclPageToken        :: !(Maybe Text)+    , _rclProjectId        :: !(Maybe Text)+    , _rclSearch           :: !(Maybe Text)+    , _rclMaxResults       :: !(Maybe (Textual Word32))+    , _rclTags             :: !(Maybe Text)+    , _rclCreatedBefore    :: !(Maybe DateTime')+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'RasterCollectionsList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rclCreatedAfter'+--+-- * 'rclCreatorEmail'+--+-- * 'rclRole'+--+-- * 'rclBbox'+--+-- * 'rclProcessingStatus'+--+-- * 'rclModifiedAfter'+--+-- * 'rclModifiedBefore'+--+-- * 'rclPageToken'+--+-- * 'rclProjectId'+--+-- * 'rclSearch'+--+-- * 'rclMaxResults'+--+-- * 'rclTags'+--+-- * 'rclCreatedBefore'+rasterCollectionsList+    :: RasterCollectionsList+rasterCollectionsList =+    RasterCollectionsList+    { _rclCreatedAfter = Nothing+    , _rclCreatorEmail = Nothing+    , _rclRole = Nothing+    , _rclBbox = Nothing+    , _rclProcessingStatus = Nothing+    , _rclModifiedAfter = Nothing+    , _rclModifiedBefore = Nothing+    , _rclPageToken = Nothing+    , _rclProjectId = Nothing+    , _rclSearch = Nothing+    , _rclMaxResults = Nothing+    , _rclTags = Nothing+    , _rclCreatedBefore = Nothing+    }++-- | An RFC 3339 formatted date-time value (e.g. 1970-01-01T00:00:00Z).+-- Returned assets will have been created at or after this time.+rclCreatedAfter :: Lens' RasterCollectionsList (Maybe UTCTime)+rclCreatedAfter+  = lens _rclCreatedAfter+      (\ s a -> s{_rclCreatedAfter = a})+      . mapping _DateTime++-- | An email address representing a user. Returned assets that have been+-- created by the user associated with the provided email address.+rclCreatorEmail :: Lens' RasterCollectionsList (Maybe Text)+rclCreatorEmail+  = lens _rclCreatorEmail+      (\ s a -> s{_rclCreatorEmail = a})++-- | The role parameter indicates that the response should only contain+-- assets where the current user has the specified level of access.+rclRole :: Lens' RasterCollectionsList (Maybe RasterCollectionsListRole)+rclRole = lens _rclRole (\ s a -> s{_rclRole = a})++-- | A bounding box, expressed as \"west,south,east,north\". If set, only+-- assets which intersect this bounding box will be returned.+rclBbox :: Lens' RasterCollectionsList (Maybe Text)+rclBbox = lens _rclBbox (\ s a -> s{_rclBbox = a})++rclProcessingStatus :: Lens' RasterCollectionsList (Maybe RasterCollectionsListProcessingStatus)+rclProcessingStatus+  = lens _rclProcessingStatus+      (\ s a -> s{_rclProcessingStatus = a})++-- | An RFC 3339 formatted date-time value (e.g. 1970-01-01T00:00:00Z).+-- Returned assets will have been modified at or after this time.+rclModifiedAfter :: Lens' RasterCollectionsList (Maybe UTCTime)+rclModifiedAfter+  = lens _rclModifiedAfter+      (\ s a -> s{_rclModifiedAfter = a})+      . mapping _DateTime++-- | An RFC 3339 formatted date-time value (e.g. 1970-01-01T00:00:00Z).+-- Returned assets will have been modified at or before this time.+rclModifiedBefore :: Lens' RasterCollectionsList (Maybe UTCTime)+rclModifiedBefore+  = lens _rclModifiedBefore+      (\ s a -> s{_rclModifiedBefore = a})+      . mapping _DateTime++-- | The continuation token, used to page through large result sets. To get+-- the next page of results, set this parameter to the value of+-- nextPageToken from the previous response.+rclPageToken :: Lens' RasterCollectionsList (Maybe Text)+rclPageToken+  = lens _rclPageToken (\ s a -> s{_rclPageToken = a})++-- | The ID of a Maps Engine project, used to filter the response. To list+-- all available projects with their IDs, send a Projects: list request.+-- You can also find your project ID as the value of the DashboardPlace:cid+-- URL parameter when signed in to mapsengine.google.com.+rclProjectId :: Lens' RasterCollectionsList (Maybe Text)+rclProjectId+  = lens _rclProjectId (\ s a -> s{_rclProjectId = a})++-- | An unstructured search string used to filter the set of results based on+-- asset metadata.+rclSearch :: Lens' RasterCollectionsList (Maybe Text)+rclSearch+  = lens _rclSearch (\ s a -> s{_rclSearch = a})++-- | The maximum number of items to include in a single response page. The+-- maximum supported value is 100.+rclMaxResults :: Lens' RasterCollectionsList (Maybe Word32)+rclMaxResults+  = lens _rclMaxResults+      (\ s a -> s{_rclMaxResults = a})+      . mapping _Coerce++-- | A comma separated list of tags. Returned assets will contain all the+-- tags from the list.+rclTags :: Lens' RasterCollectionsList (Maybe Text)+rclTags = lens _rclTags (\ s a -> s{_rclTags = a})++-- | An RFC 3339 formatted date-time value (e.g. 1970-01-01T00:00:00Z).+-- Returned assets will have been created at or before this time.+rclCreatedBefore :: Lens' RasterCollectionsList (Maybe UTCTime)+rclCreatedBefore+  = lens _rclCreatedBefore+      (\ s a -> s{_rclCreatedBefore = a})+      . mapping _DateTime++instance GoogleRequest RasterCollectionsList where+        type Rs RasterCollectionsList =+             RasterCollectionsListResponse+        requestClient RasterCollectionsList{..}+          = go _rclCreatedAfter _rclCreatorEmail _rclRole+              _rclBbox+              _rclProcessingStatus+              _rclModifiedAfter+              _rclModifiedBefore+              _rclPageToken+              _rclProjectId+              _rclSearch+              _rclMaxResults+              _rclTags+              _rclCreatedBefore+              (Just AltJSON)+              mapsEngineService+          where go+                  = buildClient+                      (Proxy :: Proxy RasterCollectionsListResource)+                      mempty
+ gen/Network/Google/Resource/MapsEngine/RasterCollections/Parents/List.hs view
@@ -0,0 +1,116 @@+{-# 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.MapsEngine.RasterCollections.Parents.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)+--+-- Return all parent ids of the specified raster collection.+--+-- /See:/ <https://developers.google.com/maps-engine/ Google Maps Engine API Reference> for @mapsengine.rasterCollections.parents.list@.+module Network.Google.Resource.MapsEngine.RasterCollections.Parents.List+    (+    -- * REST Resource+      RasterCollectionsParentsListResource++    -- * Creating a Request+    , rasterCollectionsParentsList+    , RasterCollectionsParentsList++    -- * Request Lenses+    , rcplcId+    , rcplcPageToken+    , rcplcMaxResults+    ) where++import           Network.Google.MapsEngine.Types+import           Network.Google.Prelude++-- | A resource alias for @mapsengine.rasterCollections.parents.list@ method which the+-- 'RasterCollectionsParentsList' request conforms to.+type RasterCollectionsParentsListResource =+     "mapsengine" :>+       "v1" :>+         "rasterCollections" :>+           Capture "id" Text :>+             "parents" :>+               QueryParam "pageToken" Text :>+                 QueryParam "maxResults" (Textual Word32) :>+                   QueryParam "alt" AltJSON :>+                     Get '[JSON] ParentsListResponse++-- | Return all parent ids of the specified raster collection.+--+-- /See:/ 'rasterCollectionsParentsList' smart constructor.+data RasterCollectionsParentsList = RasterCollectionsParentsList+    { _rcplcId         :: !Text+    , _rcplcPageToken  :: !(Maybe Text)+    , _rcplcMaxResults :: !(Maybe (Textual Word32))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'RasterCollectionsParentsList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rcplcId'+--+-- * 'rcplcPageToken'+--+-- * 'rcplcMaxResults'+rasterCollectionsParentsList+    :: Text -- ^ 'rcplcId'+    -> RasterCollectionsParentsList+rasterCollectionsParentsList pRcplcId_ =+    RasterCollectionsParentsList+    { _rcplcId = pRcplcId_+    , _rcplcPageToken = Nothing+    , _rcplcMaxResults = Nothing+    }++-- | The ID of the raster collection whose parents will be listed.+rcplcId :: Lens' RasterCollectionsParentsList Text+rcplcId = lens _rcplcId (\ s a -> s{_rcplcId = a})++-- | The continuation token, used to page through large result sets. To get+-- the next page of results, set this parameter to the value of+-- nextPageToken from the previous response.+rcplcPageToken :: Lens' RasterCollectionsParentsList (Maybe Text)+rcplcPageToken+  = lens _rcplcPageToken+      (\ s a -> s{_rcplcPageToken = a})++-- | The maximum number of items to include in a single response page. The+-- maximum supported value is 50.+rcplcMaxResults :: Lens' RasterCollectionsParentsList (Maybe Word32)+rcplcMaxResults+  = lens _rcplcMaxResults+      (\ s a -> s{_rcplcMaxResults = a})+      . mapping _Coerce++instance GoogleRequest RasterCollectionsParentsList+         where+        type Rs RasterCollectionsParentsList =+             ParentsListResponse+        requestClient RasterCollectionsParentsList{..}+          = go _rcplcId _rcplcPageToken _rcplcMaxResults+              (Just AltJSON)+              mapsEngineService+          where go+                  = buildClient+                      (Proxy :: Proxy RasterCollectionsParentsListResource)+                      mempty
+ gen/Network/Google/Resource/MapsEngine/RasterCollections/Patch.hs view
@@ -0,0 +1,95 @@+{-# 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.MapsEngine.RasterCollections.Patch+-- 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)+--+-- Mutate a raster collection asset.+--+-- /See:/ <https://developers.google.com/maps-engine/ Google Maps Engine API Reference> for @mapsengine.rasterCollections.patch@.+module Network.Google.Resource.MapsEngine.RasterCollections.Patch+    (+    -- * REST Resource+      RasterCollectionsPatchResource++    -- * Creating a Request+    , rasterCollectionsPatch+    , RasterCollectionsPatch++    -- * Request Lenses+    , rasPayload+    , rasId+    ) where++import           Network.Google.MapsEngine.Types+import           Network.Google.Prelude++-- | A resource alias for @mapsengine.rasterCollections.patch@ method which the+-- 'RasterCollectionsPatch' request conforms to.+type RasterCollectionsPatchResource =+     "mapsengine" :>+       "v1" :>+         "rasterCollections" :>+           Capture "id" Text :>+             QueryParam "alt" AltJSON :>+               ReqBody '[JSON] RasterCollection :> Patch '[JSON] ()++-- | Mutate a raster collection asset.+--+-- /See:/ 'rasterCollectionsPatch' smart constructor.+data RasterCollectionsPatch = RasterCollectionsPatch+    { _rasPayload :: !RasterCollection+    , _rasId      :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'RasterCollectionsPatch' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rasPayload'+--+-- * 'rasId'+rasterCollectionsPatch+    :: RasterCollection -- ^ 'rasPayload'+    -> Text -- ^ 'rasId'+    -> RasterCollectionsPatch+rasterCollectionsPatch pRasPayload_ pRasId_ =+    RasterCollectionsPatch+    { _rasPayload = pRasPayload_+    , _rasId = pRasId_+    }++-- | Multipart request metadata.+rasPayload :: Lens' RasterCollectionsPatch RasterCollection+rasPayload+  = lens _rasPayload (\ s a -> s{_rasPayload = a})++-- | The ID of the raster collection.+rasId :: Lens' RasterCollectionsPatch Text+rasId = lens _rasId (\ s a -> s{_rasId = a})++instance GoogleRequest RasterCollectionsPatch where+        type Rs RasterCollectionsPatch = ()+        requestClient RasterCollectionsPatch{..}+          = go _rasId (Just AltJSON) _rasPayload+              mapsEngineService+          where go+                  = buildClient+                      (Proxy :: Proxy RasterCollectionsPatchResource)+                      mempty
+ gen/Network/Google/Resource/MapsEngine/RasterCollections/Permissions/BatchDelete.hs view
@@ -0,0 +1,104 @@+{-# 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.MapsEngine.RasterCollections.Permissions.BatchDelete+-- 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)+--+-- Remove permission entries from an already existing asset.+--+-- /See:/ <https://developers.google.com/maps-engine/ Google Maps Engine API Reference> for @mapsengine.rasterCollections.permissions.batchDelete@.+module Network.Google.Resource.MapsEngine.RasterCollections.Permissions.BatchDelete+    (+    -- * REST Resource+      RasterCollectionsPermissionsBatchDeleteResource++    -- * Creating a Request+    , rasterCollectionsPermissionsBatchDelete+    , RasterCollectionsPermissionsBatchDelete++    -- * Request Lenses+    , rcpbdPayload+    , rcpbdId+    ) where++import           Network.Google.MapsEngine.Types+import           Network.Google.Prelude++-- | A resource alias for @mapsengine.rasterCollections.permissions.batchDelete@ method which the+-- 'RasterCollectionsPermissionsBatchDelete' request conforms to.+type RasterCollectionsPermissionsBatchDeleteResource+     =+     "mapsengine" :>+       "v1" :>+         "rasterCollections" :>+           Capture "id" Text :>+             "permissions" :>+               "batchDelete" :>+                 QueryParam "alt" AltJSON :>+                   ReqBody '[JSON] PermissionsBatchDeleteRequest :>+                     Post '[JSON] PermissionsBatchDeleteResponse++-- | Remove permission entries from an already existing asset.+--+-- /See:/ 'rasterCollectionsPermissionsBatchDelete' smart constructor.+data RasterCollectionsPermissionsBatchDelete = RasterCollectionsPermissionsBatchDelete+    { _rcpbdPayload :: !PermissionsBatchDeleteRequest+    , _rcpbdId      :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'RasterCollectionsPermissionsBatchDelete' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rcpbdPayload'+--+-- * 'rcpbdId'+rasterCollectionsPermissionsBatchDelete+    :: PermissionsBatchDeleteRequest -- ^ 'rcpbdPayload'+    -> Text -- ^ 'rcpbdId'+    -> RasterCollectionsPermissionsBatchDelete+rasterCollectionsPermissionsBatchDelete pRcpbdPayload_ pRcpbdId_ =+    RasterCollectionsPermissionsBatchDelete+    { _rcpbdPayload = pRcpbdPayload_+    , _rcpbdId = pRcpbdId_+    }++-- | Multipart request metadata.+rcpbdPayload :: Lens' RasterCollectionsPermissionsBatchDelete PermissionsBatchDeleteRequest+rcpbdPayload+  = lens _rcpbdPayload (\ s a -> s{_rcpbdPayload = a})++-- | The ID of the asset from which permissions will be removed.+rcpbdId :: Lens' RasterCollectionsPermissionsBatchDelete Text+rcpbdId = lens _rcpbdId (\ s a -> s{_rcpbdId = a})++instance GoogleRequest+         RasterCollectionsPermissionsBatchDelete where+        type Rs RasterCollectionsPermissionsBatchDelete =+             PermissionsBatchDeleteResponse+        requestClient+          RasterCollectionsPermissionsBatchDelete{..}+          = go _rcpbdId (Just AltJSON) _rcpbdPayload+              mapsEngineService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy+                           RasterCollectionsPermissionsBatchDeleteResource)+                      mempty
+ gen/Network/Google/Resource/MapsEngine/RasterCollections/Permissions/BatchUpdate.hs view
@@ -0,0 +1,108 @@+{-# 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.MapsEngine.RasterCollections.Permissions.BatchUpdate+-- 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)+--+-- Add or update permission entries to an already existing asset. An asset+-- can hold up to 20 different permission entries. Each batchInsert request+-- is atomic.+--+-- /See:/ <https://developers.google.com/maps-engine/ Google Maps Engine API Reference> for @mapsengine.rasterCollections.permissions.batchUpdate@.+module Network.Google.Resource.MapsEngine.RasterCollections.Permissions.BatchUpdate+    (+    -- * REST Resource+      RasterCollectionsPermissionsBatchUpdateResource++    -- * Creating a Request+    , rasterCollectionsPermissionsBatchUpdate+    , RasterCollectionsPermissionsBatchUpdate++    -- * Request Lenses+    , rcpbuPayload+    , rcpbuId+    ) where++import           Network.Google.MapsEngine.Types+import           Network.Google.Prelude++-- | A resource alias for @mapsengine.rasterCollections.permissions.batchUpdate@ method which the+-- 'RasterCollectionsPermissionsBatchUpdate' request conforms to.+type RasterCollectionsPermissionsBatchUpdateResource+     =+     "mapsengine" :>+       "v1" :>+         "rasterCollections" :>+           Capture "id" Text :>+             "permissions" :>+               "batchUpdate" :>+                 QueryParam "alt" AltJSON :>+                   ReqBody '[JSON] PermissionsBatchUpdateRequest :>+                     Post '[JSON] PermissionsBatchUpdateResponse++-- | Add or update permission entries to an already existing asset. An asset+-- can hold up to 20 different permission entries. Each batchInsert request+-- is atomic.+--+-- /See:/ 'rasterCollectionsPermissionsBatchUpdate' smart constructor.+data RasterCollectionsPermissionsBatchUpdate = RasterCollectionsPermissionsBatchUpdate+    { _rcpbuPayload :: !PermissionsBatchUpdateRequest+    , _rcpbuId      :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'RasterCollectionsPermissionsBatchUpdate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rcpbuPayload'+--+-- * 'rcpbuId'+rasterCollectionsPermissionsBatchUpdate+    :: PermissionsBatchUpdateRequest -- ^ 'rcpbuPayload'+    -> Text -- ^ 'rcpbuId'+    -> RasterCollectionsPermissionsBatchUpdate+rasterCollectionsPermissionsBatchUpdate pRcpbuPayload_ pRcpbuId_ =+    RasterCollectionsPermissionsBatchUpdate+    { _rcpbuPayload = pRcpbuPayload_+    , _rcpbuId = pRcpbuId_+    }++-- | Multipart request metadata.+rcpbuPayload :: Lens' RasterCollectionsPermissionsBatchUpdate PermissionsBatchUpdateRequest+rcpbuPayload+  = lens _rcpbuPayload (\ s a -> s{_rcpbuPayload = a})++-- | The ID of the asset to which permissions will be added.+rcpbuId :: Lens' RasterCollectionsPermissionsBatchUpdate Text+rcpbuId = lens _rcpbuId (\ s a -> s{_rcpbuId = a})++instance GoogleRequest+         RasterCollectionsPermissionsBatchUpdate where+        type Rs RasterCollectionsPermissionsBatchUpdate =+             PermissionsBatchUpdateResponse+        requestClient+          RasterCollectionsPermissionsBatchUpdate{..}+          = go _rcpbuId (Just AltJSON) _rcpbuPayload+              mapsEngineService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy+                           RasterCollectionsPermissionsBatchUpdateResource)+                      mempty
+ gen/Network/Google/Resource/MapsEngine/RasterCollections/Permissions/List.hs view
@@ -0,0 +1,87 @@+{-# 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.MapsEngine.RasterCollections.Permissions.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)+--+-- Return all of the permissions for the specified asset.+--+-- /See:/ <https://developers.google.com/maps-engine/ Google Maps Engine API Reference> for @mapsengine.rasterCollections.permissions.list@.+module Network.Google.Resource.MapsEngine.RasterCollections.Permissions.List+    (+    -- * REST Resource+      RasterCollectionsPermissionsListResource++    -- * Creating a Request+    , rasterCollectionsPermissionsList+    , RasterCollectionsPermissionsList++    -- * Request Lenses+    , rcplId+    ) where++import           Network.Google.MapsEngine.Types+import           Network.Google.Prelude++-- | A resource alias for @mapsengine.rasterCollections.permissions.list@ method which the+-- 'RasterCollectionsPermissionsList' request conforms to.+type RasterCollectionsPermissionsListResource =+     "mapsengine" :>+       "v1" :>+         "rasterCollections" :>+           Capture "id" Text :>+             "permissions" :>+               QueryParam "alt" AltJSON :>+                 Get '[JSON] PermissionsListResponse++-- | Return all of the permissions for the specified asset.+--+-- /See:/ 'rasterCollectionsPermissionsList' smart constructor.+newtype RasterCollectionsPermissionsList = RasterCollectionsPermissionsList+    { _rcplId :: Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'RasterCollectionsPermissionsList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rcplId'+rasterCollectionsPermissionsList+    :: Text -- ^ 'rcplId'+    -> RasterCollectionsPermissionsList+rasterCollectionsPermissionsList pRcplId_ =+    RasterCollectionsPermissionsList+    { _rcplId = pRcplId_+    }++-- | The ID of the asset whose permissions will be listed.+rcplId :: Lens' RasterCollectionsPermissionsList Text+rcplId = lens _rcplId (\ s a -> s{_rcplId = a})++instance GoogleRequest+         RasterCollectionsPermissionsList where+        type Rs RasterCollectionsPermissionsList =+             PermissionsListResponse+        requestClient RasterCollectionsPermissionsList{..}+          = go _rcplId (Just AltJSON) mapsEngineService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy RasterCollectionsPermissionsListResource)+                      mempty
+ gen/Network/Google/Resource/MapsEngine/RasterCollections/Process.hs view
@@ -0,0 +1,84 @@+{-# 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.MapsEngine.RasterCollections.Process+-- 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)+--+-- Process a raster collection asset.+--+-- /See:/ <https://developers.google.com/maps-engine/ Google Maps Engine API Reference> for @mapsengine.rasterCollections.process@.+module Network.Google.Resource.MapsEngine.RasterCollections.Process+    (+    -- * REST Resource+      RasterCollectionsProcessResource++    -- * Creating a Request+    , rasterCollectionsProcess+    , RasterCollectionsProcess++    -- * Request Lenses+    , rcpId+    ) where++import           Network.Google.MapsEngine.Types+import           Network.Google.Prelude++-- | A resource alias for @mapsengine.rasterCollections.process@ method which the+-- 'RasterCollectionsProcess' request conforms to.+type RasterCollectionsProcessResource =+     "mapsengine" :>+       "v1" :>+         "rasterCollections" :>+           Capture "id" Text :>+             "process" :>+               QueryParam "alt" AltJSON :>+                 Post '[JSON] ProcessResponse++-- | Process a raster collection asset.+--+-- /See:/ 'rasterCollectionsProcess' smart constructor.+newtype RasterCollectionsProcess = RasterCollectionsProcess+    { _rcpId :: Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'RasterCollectionsProcess' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rcpId'+rasterCollectionsProcess+    :: Text -- ^ 'rcpId'+    -> RasterCollectionsProcess+rasterCollectionsProcess pRcpId_ =+    RasterCollectionsProcess+    { _rcpId = pRcpId_+    }++-- | The ID of the raster collection.+rcpId :: Lens' RasterCollectionsProcess Text+rcpId = lens _rcpId (\ s a -> s{_rcpId = a})++instance GoogleRequest RasterCollectionsProcess where+        type Rs RasterCollectionsProcess = ProcessResponse+        requestClient RasterCollectionsProcess{..}+          = go _rcpId (Just AltJSON) mapsEngineService+          where go+                  = buildClient+                      (Proxy :: Proxy RasterCollectionsProcessResource)+                      mempty
+ gen/Network/Google/Resource/MapsEngine/RasterCollections/Rasters/BatchDelete.hs view
@@ -0,0 +1,108 @@+{-# 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.MapsEngine.RasterCollections.Rasters.BatchDelete+-- 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)+--+-- Remove rasters from an existing raster collection. Up to 50 rasters can+-- be included in a single batchDelete request. Each batchDelete request is+-- atomic.+--+-- /See:/ <https://developers.google.com/maps-engine/ Google Maps Engine API Reference> for @mapsengine.rasterCollections.rasters.batchDelete@.+module Network.Google.Resource.MapsEngine.RasterCollections.Rasters.BatchDelete+    (+    -- * REST Resource+      RasterCollectionsRastersBatchDeleteResource++    -- * Creating a Request+    , rasterCollectionsRastersBatchDelete+    , RasterCollectionsRastersBatchDelete++    -- * Request Lenses+    , rcrbdPayload+    , rcrbdId+    ) where++import           Network.Google.MapsEngine.Types+import           Network.Google.Prelude++-- | A resource alias for @mapsengine.rasterCollections.rasters.batchDelete@ method which the+-- 'RasterCollectionsRastersBatchDelete' request conforms to.+type RasterCollectionsRastersBatchDeleteResource =+     "mapsengine" :>+       "v1" :>+         "rasterCollections" :>+           Capture "id" Text :>+             "rasters" :>+               "batchDelete" :>+                 QueryParam "alt" AltJSON :>+                   ReqBody '[JSON]+                     RasterCollectionsRasterBatchDeleteRequest+                     :>+                     Post '[JSON]+                       RasterCollectionsRastersBatchDeleteResponse++-- | Remove rasters from an existing raster collection. Up to 50 rasters can+-- be included in a single batchDelete request. Each batchDelete request is+-- atomic.+--+-- /See:/ 'rasterCollectionsRastersBatchDelete' smart constructor.+data RasterCollectionsRastersBatchDelete = RasterCollectionsRastersBatchDelete+    { _rcrbdPayload :: !RasterCollectionsRasterBatchDeleteRequest+    , _rcrbdId      :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'RasterCollectionsRastersBatchDelete' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rcrbdPayload'+--+-- * 'rcrbdId'+rasterCollectionsRastersBatchDelete+    :: RasterCollectionsRasterBatchDeleteRequest -- ^ 'rcrbdPayload'+    -> Text -- ^ 'rcrbdId'+    -> RasterCollectionsRastersBatchDelete+rasterCollectionsRastersBatchDelete pRcrbdPayload_ pRcrbdId_ =+    RasterCollectionsRastersBatchDelete+    { _rcrbdPayload = pRcrbdPayload_+    , _rcrbdId = pRcrbdId_+    }++-- | Multipart request metadata.+rcrbdPayload :: Lens' RasterCollectionsRastersBatchDelete RasterCollectionsRasterBatchDeleteRequest+rcrbdPayload+  = lens _rcrbdPayload (\ s a -> s{_rcrbdPayload = a})++-- | The ID of the raster collection to which these rasters belong.+rcrbdId :: Lens' RasterCollectionsRastersBatchDelete Text+rcrbdId = lens _rcrbdId (\ s a -> s{_rcrbdId = a})++instance GoogleRequest+         RasterCollectionsRastersBatchDelete where+        type Rs RasterCollectionsRastersBatchDelete =+             RasterCollectionsRastersBatchDeleteResponse+        requestClient RasterCollectionsRastersBatchDelete{..}+          = go _rcrbdId (Just AltJSON) _rcrbdPayload+              mapsEngineService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy RasterCollectionsRastersBatchDeleteResource)+                      mempty
+ gen/Network/Google/Resource/MapsEngine/RasterCollections/Rasters/BatchInsert.hs view
@@ -0,0 +1,110 @@+{-# 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.MapsEngine.RasterCollections.Rasters.BatchInsert+-- 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)+--+-- Add rasters to an existing raster collection. Rasters must be+-- successfully processed in order to be added to a raster collection. Up+-- to 50 rasters can be included in a single batchInsert request. Each+-- batchInsert request is atomic.+--+-- /See:/ <https://developers.google.com/maps-engine/ Google Maps Engine API Reference> for @mapsengine.rasterCollections.rasters.batchInsert@.+module Network.Google.Resource.MapsEngine.RasterCollections.Rasters.BatchInsert+    (+    -- * REST Resource+      RasterCollectionsRastersBatchInsertResource++    -- * Creating a Request+    , rasterCollectionsRastersBatchInsert+    , RasterCollectionsRastersBatchInsert++    -- * Request Lenses+    , rcrbiPayload+    , rcrbiId+    ) where++import           Network.Google.MapsEngine.Types+import           Network.Google.Prelude++-- | A resource alias for @mapsengine.rasterCollections.rasters.batchInsert@ method which the+-- 'RasterCollectionsRastersBatchInsert' request conforms to.+type RasterCollectionsRastersBatchInsertResource =+     "mapsengine" :>+       "v1" :>+         "rasterCollections" :>+           Capture "id" Text :>+             "rasters" :>+               "batchInsert" :>+                 QueryParam "alt" AltJSON :>+                   ReqBody '[JSON]+                     RasterCollectionsRastersBatchInsertRequest+                     :>+                     Post '[JSON]+                       RasterCollectionsRastersBatchInsertResponse++-- | Add rasters to an existing raster collection. Rasters must be+-- successfully processed in order to be added to a raster collection. Up+-- to 50 rasters can be included in a single batchInsert request. Each+-- batchInsert request is atomic.+--+-- /See:/ 'rasterCollectionsRastersBatchInsert' smart constructor.+data RasterCollectionsRastersBatchInsert = RasterCollectionsRastersBatchInsert+    { _rcrbiPayload :: !RasterCollectionsRastersBatchInsertRequest+    , _rcrbiId      :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'RasterCollectionsRastersBatchInsert' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rcrbiPayload'+--+-- * 'rcrbiId'+rasterCollectionsRastersBatchInsert+    :: RasterCollectionsRastersBatchInsertRequest -- ^ 'rcrbiPayload'+    -> Text -- ^ 'rcrbiId'+    -> RasterCollectionsRastersBatchInsert+rasterCollectionsRastersBatchInsert pRcrbiPayload_ pRcrbiId_ =+    RasterCollectionsRastersBatchInsert+    { _rcrbiPayload = pRcrbiPayload_+    , _rcrbiId = pRcrbiId_+    }++-- | Multipart request metadata.+rcrbiPayload :: Lens' RasterCollectionsRastersBatchInsert RasterCollectionsRastersBatchInsertRequest+rcrbiPayload+  = lens _rcrbiPayload (\ s a -> s{_rcrbiPayload = a})++-- | The ID of the raster collection to which these rasters belong.+rcrbiId :: Lens' RasterCollectionsRastersBatchInsert Text+rcrbiId = lens _rcrbiId (\ s a -> s{_rcrbiId = a})++instance GoogleRequest+         RasterCollectionsRastersBatchInsert where+        type Rs RasterCollectionsRastersBatchInsert =+             RasterCollectionsRastersBatchInsertResponse+        requestClient RasterCollectionsRastersBatchInsert{..}+          = go _rcrbiId (Just AltJSON) _rcrbiPayload+              mapsEngineService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy RasterCollectionsRastersBatchInsertResource)+                      mempty
+ gen/Network/Google/Resource/MapsEngine/RasterCollections/Rasters/List.hs view
@@ -0,0 +1,240 @@+{-# 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.MapsEngine.RasterCollections.Rasters.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)+--+-- Return all rasters within a raster collection.+--+-- /See:/ <https://developers.google.com/maps-engine/ Google Maps Engine API Reference> for @mapsengine.rasterCollections.rasters.list@.+module Network.Google.Resource.MapsEngine.RasterCollections.Rasters.List+    (+    -- * REST Resource+      RasterCollectionsRastersListResource++    -- * Creating a Request+    , rasterCollectionsRastersList+    , RasterCollectionsRastersList++    -- * Request Lenses+    , rcrlCreatedAfter+    , rcrlCreatorEmail+    , rcrlRole+    , rcrlBbox+    , rcrlId+    , rcrlModifiedAfter+    , rcrlModifiedBefore+    , rcrlPageToken+    , rcrlSearch+    , rcrlMaxResults+    , rcrlTags+    , rcrlCreatedBefore+    ) where++import           Network.Google.MapsEngine.Types+import           Network.Google.Prelude++-- | A resource alias for @mapsengine.rasterCollections.rasters.list@ method which the+-- 'RasterCollectionsRastersList' request conforms to.+type RasterCollectionsRastersListResource =+     "mapsengine" :>+       "v1" :>+         "rasterCollections" :>+           Capture "id" Text :>+             "rasters" :>+               QueryParam "createdAfter" DateTime' :>+                 QueryParam "creatorEmail" Text :>+                   QueryParam "role" RasterCollectionsRastersListRole :>+                     QueryParam "bbox" Text :>+                       QueryParam "modifiedAfter" DateTime' :>+                         QueryParam "modifiedBefore" DateTime' :>+                           QueryParam "pageToken" Text :>+                             QueryParam "search" Text :>+                               QueryParam "maxResults" (Textual Word32) :>+                                 QueryParam "tags" Text :>+                                   QueryParam "createdBefore" DateTime' :>+                                     QueryParam "alt" AltJSON :>+                                       Get '[JSON]+                                         RasterCollectionsRastersListResponse++-- | Return all rasters within a raster collection.+--+-- /See:/ 'rasterCollectionsRastersList' smart constructor.+data RasterCollectionsRastersList = RasterCollectionsRastersList+    { _rcrlCreatedAfter   :: !(Maybe DateTime')+    , _rcrlCreatorEmail   :: !(Maybe Text)+    , _rcrlRole           :: !(Maybe RasterCollectionsRastersListRole)+    , _rcrlBbox           :: !(Maybe Text)+    , _rcrlId             :: !Text+    , _rcrlModifiedAfter  :: !(Maybe DateTime')+    , _rcrlModifiedBefore :: !(Maybe DateTime')+    , _rcrlPageToken      :: !(Maybe Text)+    , _rcrlSearch         :: !(Maybe Text)+    , _rcrlMaxResults     :: !(Maybe (Textual Word32))+    , _rcrlTags           :: !(Maybe Text)+    , _rcrlCreatedBefore  :: !(Maybe DateTime')+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'RasterCollectionsRastersList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rcrlCreatedAfter'+--+-- * 'rcrlCreatorEmail'+--+-- * 'rcrlRole'+--+-- * 'rcrlBbox'+--+-- * 'rcrlId'+--+-- * 'rcrlModifiedAfter'+--+-- * 'rcrlModifiedBefore'+--+-- * 'rcrlPageToken'+--+-- * 'rcrlSearch'+--+-- * 'rcrlMaxResults'+--+-- * 'rcrlTags'+--+-- * 'rcrlCreatedBefore'+rasterCollectionsRastersList+    :: Text -- ^ 'rcrlId'+    -> RasterCollectionsRastersList+rasterCollectionsRastersList pRcrlId_ =+    RasterCollectionsRastersList+    { _rcrlCreatedAfter = Nothing+    , _rcrlCreatorEmail = Nothing+    , _rcrlRole = Nothing+    , _rcrlBbox = Nothing+    , _rcrlId = pRcrlId_+    , _rcrlModifiedAfter = Nothing+    , _rcrlModifiedBefore = Nothing+    , _rcrlPageToken = Nothing+    , _rcrlSearch = Nothing+    , _rcrlMaxResults = Nothing+    , _rcrlTags = Nothing+    , _rcrlCreatedBefore = Nothing+    }++-- | An RFC 3339 formatted date-time value (e.g. 1970-01-01T00:00:00Z).+-- Returned assets will have been created at or after this time.+rcrlCreatedAfter :: Lens' RasterCollectionsRastersList (Maybe UTCTime)+rcrlCreatedAfter+  = lens _rcrlCreatedAfter+      (\ s a -> s{_rcrlCreatedAfter = a})+      . mapping _DateTime++-- | An email address representing a user. Returned assets that have been+-- created by the user associated with the provided email address.+rcrlCreatorEmail :: Lens' RasterCollectionsRastersList (Maybe Text)+rcrlCreatorEmail+  = lens _rcrlCreatorEmail+      (\ s a -> s{_rcrlCreatorEmail = a})++-- | The role parameter indicates that the response should only contain+-- assets where the current user has the specified level of access.+rcrlRole :: Lens' RasterCollectionsRastersList (Maybe RasterCollectionsRastersListRole)+rcrlRole = lens _rcrlRole (\ s a -> s{_rcrlRole = a})++-- | A bounding box, expressed as \"west,south,east,north\". If set, only+-- assets which intersect this bounding box will be returned.+rcrlBbox :: Lens' RasterCollectionsRastersList (Maybe Text)+rcrlBbox = lens _rcrlBbox (\ s a -> s{_rcrlBbox = a})++-- | The ID of the raster collection to which these rasters belong.+rcrlId :: Lens' RasterCollectionsRastersList Text+rcrlId = lens _rcrlId (\ s a -> s{_rcrlId = a})++-- | An RFC 3339 formatted date-time value (e.g. 1970-01-01T00:00:00Z).+-- Returned assets will have been modified at or after this time.+rcrlModifiedAfter :: Lens' RasterCollectionsRastersList (Maybe UTCTime)+rcrlModifiedAfter+  = lens _rcrlModifiedAfter+      (\ s a -> s{_rcrlModifiedAfter = a})+      . mapping _DateTime++-- | An RFC 3339 formatted date-time value (e.g. 1970-01-01T00:00:00Z).+-- Returned assets will have been modified at or before this time.+rcrlModifiedBefore :: Lens' RasterCollectionsRastersList (Maybe UTCTime)+rcrlModifiedBefore+  = lens _rcrlModifiedBefore+      (\ s a -> s{_rcrlModifiedBefore = a})+      . mapping _DateTime++-- | The continuation token, used to page through large result sets. To get+-- the next page of results, set this parameter to the value of+-- nextPageToken from the previous response.+rcrlPageToken :: Lens' RasterCollectionsRastersList (Maybe Text)+rcrlPageToken+  = lens _rcrlPageToken+      (\ s a -> s{_rcrlPageToken = a})++-- | An unstructured search string used to filter the set of results based on+-- asset metadata.+rcrlSearch :: Lens' RasterCollectionsRastersList (Maybe Text)+rcrlSearch+  = lens _rcrlSearch (\ s a -> s{_rcrlSearch = a})++-- | The maximum number of items to include in a single response page. The+-- maximum supported value is 100.+rcrlMaxResults :: Lens' RasterCollectionsRastersList (Maybe Word32)+rcrlMaxResults+  = lens _rcrlMaxResults+      (\ s a -> s{_rcrlMaxResults = a})+      . mapping _Coerce++-- | A comma separated list of tags. Returned assets will contain all the+-- tags from the list.+rcrlTags :: Lens' RasterCollectionsRastersList (Maybe Text)+rcrlTags = lens _rcrlTags (\ s a -> s{_rcrlTags = a})++-- | An RFC 3339 formatted date-time value (e.g. 1970-01-01T00:00:00Z).+-- Returned assets will have been created at or before this time.+rcrlCreatedBefore :: Lens' RasterCollectionsRastersList (Maybe UTCTime)+rcrlCreatedBefore+  = lens _rcrlCreatedBefore+      (\ s a -> s{_rcrlCreatedBefore = a})+      . mapping _DateTime++instance GoogleRequest RasterCollectionsRastersList+         where+        type Rs RasterCollectionsRastersList =+             RasterCollectionsRastersListResponse+        requestClient RasterCollectionsRastersList{..}+          = go _rcrlId _rcrlCreatedAfter _rcrlCreatorEmail+              _rcrlRole+              _rcrlBbox+              _rcrlModifiedAfter+              _rcrlModifiedBefore+              _rcrlPageToken+              _rcrlSearch+              _rcrlMaxResults+              _rcrlTags+              _rcrlCreatedBefore+              (Just AltJSON)+              mapsEngineService+          where go+                  = buildClient+                      (Proxy :: Proxy RasterCollectionsRastersListResource)+                      mempty
+ gen/Network/Google/Resource/MapsEngine/Rasters/Delete.hs view
@@ -0,0 +1,83 @@+{-# 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.MapsEngine.Rasters.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 raster.+--+-- /See:/ <https://developers.google.com/maps-engine/ Google Maps Engine API Reference> for @mapsengine.rasters.delete@.+module Network.Google.Resource.MapsEngine.Rasters.Delete+    (+    -- * REST Resource+      RastersDeleteResource++    -- * Creating a Request+    , rastersDelete+    , RastersDelete++    -- * Request Lenses+    , rdId+    ) where++import           Network.Google.MapsEngine.Types+import           Network.Google.Prelude++-- | A resource alias for @mapsengine.rasters.delete@ method which the+-- 'RastersDelete' request conforms to.+type RastersDeleteResource =+     "mapsengine" :>+       "v1" :>+         "rasters" :>+           Capture "id" Text :>+             QueryParam "alt" AltJSON :> Delete '[JSON] ()++-- | Delete a raster.+--+-- /See:/ 'rastersDelete' smart constructor.+newtype RastersDelete = RastersDelete+    { _rdId :: Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'RastersDelete' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rdId'+rastersDelete+    :: Text -- ^ 'rdId'+    -> RastersDelete+rastersDelete pRdId_ =+    RastersDelete+    { _rdId = pRdId_+    }++-- | The ID of the raster. Only the raster creator or project owner are+-- permitted to delete. If the raster is included in a layer or mosaic, the+-- request will fail. Remove it from all parents prior to deleting.+rdId :: Lens' RastersDelete Text+rdId = lens _rdId (\ s a -> s{_rdId = a})++instance GoogleRequest RastersDelete where+        type Rs RastersDelete = ()+        requestClient RastersDelete{..}+          = go _rdId (Just AltJSON) mapsEngineService+          where go+                  = buildClient (Proxy :: Proxy RastersDeleteResource)+                      mempty
+ gen/Network/Google/Resource/MapsEngine/Rasters/Files/Insert.hs view
@@ -0,0 +1,121 @@+{-# 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.MapsEngine.Rasters.Files.Insert+-- 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)+--+-- Upload a file to a raster asset.+--+-- /See:/ <https://developers.google.com/maps-engine/ Google Maps Engine API Reference> for @mapsengine.rasters.files.insert@.+module Network.Google.Resource.MapsEngine.Rasters.Files.Insert+    (+    -- * REST Resource+      RastersFilesInsertResource++    -- * Creating a Request+    , rastersFilesInsert+    , RastersFilesInsert++    -- * Request Lenses+    , rfiId+    , rfiFilename+    ) where++import           Network.Google.MapsEngine.Types+import           Network.Google.Prelude++-- | A resource alias for @mapsengine.rasters.files.insert@ method which the+-- 'RastersFilesInsert' request conforms to.+type RastersFilesInsertResource =+     "mapsengine" :>+       "v1" :>+         "rasters" :>+           Capture "id" Text :>+             "files" :>+               QueryParam "filename" Text :>+                 QueryParam "alt" AltJSON :> Post '[JSON] ()+       :<|>+       "upload" :>+         "mapsengine" :>+           "v1" :>+             "rasters" :>+               Capture "id" Text :>+                 "files" :>+                   QueryParam "filename" Text :>+                     QueryParam "alt" AltJSON :>+                       QueryParam "uploadType" AltMedia :>+                         ReqBody '[OctetStream] RequestBody :> Post '[JSON] ()++-- | Upload a file to a raster asset.+--+-- /See:/ 'rastersFilesInsert' smart constructor.+data RastersFilesInsert = RastersFilesInsert+    { _rfiId       :: !Text+    , _rfiFilename :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'RastersFilesInsert' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rfiId'+--+-- * 'rfiFilename'+rastersFilesInsert+    :: Text -- ^ 'rfiId'+    -> Text -- ^ 'rfiFilename'+    -> RastersFilesInsert+rastersFilesInsert pRfiId_ pRfiFilename_ =+    RastersFilesInsert+    { _rfiId = pRfiId_+    , _rfiFilename = pRfiFilename_+    }++-- | The ID of the raster asset.+rfiId :: Lens' RastersFilesInsert Text+rfiId = lens _rfiId (\ s a -> s{_rfiId = a})++-- | The file name of this uploaded file.+rfiFilename :: Lens' RastersFilesInsert Text+rfiFilename+  = lens _rfiFilename (\ s a -> s{_rfiFilename = a})++instance GoogleRequest RastersFilesInsert where+        type Rs RastersFilesInsert = ()+        requestClient RastersFilesInsert{..}+          = go _rfiId (Just _rfiFilename) (Just AltJSON)+              mapsEngineService+          where go :<|> _+                  = buildClient+                      (Proxy :: Proxy RastersFilesInsertResource)+                      mempty++instance GoogleRequest+         (MediaUpload RastersFilesInsert) where+        type Rs (MediaUpload RastersFilesInsert) = ()+        requestClient+          (MediaUpload RastersFilesInsert{..} body)+          = go _rfiId (Just _rfiFilename) (Just AltJSON)+              (Just AltMedia)+              body+              mapsEngineService+          where _ :<|> go+                  = buildClient+                      (Proxy :: Proxy RastersFilesInsertResource)+                      mempty
+ gen/Network/Google/Resource/MapsEngine/Rasters/Get.hs view
@@ -0,0 +1,81 @@+{-# 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.MapsEngine.Rasters.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)+--+-- Return metadata for a single raster.+--+-- /See:/ <https://developers.google.com/maps-engine/ Google Maps Engine API Reference> for @mapsengine.rasters.get@.+module Network.Google.Resource.MapsEngine.Rasters.Get+    (+    -- * REST Resource+      RastersGetResource++    -- * Creating a Request+    , rastersGet+    , RastersGet++    -- * Request Lenses+    , rgId+    ) where++import           Network.Google.MapsEngine.Types+import           Network.Google.Prelude++-- | A resource alias for @mapsengine.rasters.get@ method which the+-- 'RastersGet' request conforms to.+type RastersGetResource =+     "mapsengine" :>+       "v1" :>+         "rasters" :>+           Capture "id" Text :>+             QueryParam "alt" AltJSON :> Get '[JSON] Raster++-- | Return metadata for a single raster.+--+-- /See:/ 'rastersGet' smart constructor.+newtype RastersGet = RastersGet+    { _rgId :: Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'RastersGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rgId'+rastersGet+    :: Text -- ^ 'rgId'+    -> RastersGet+rastersGet pRgId_ =+    RastersGet+    { _rgId = pRgId_+    }++-- | The ID of the raster.+rgId :: Lens' RastersGet Text+rgId = lens _rgId (\ s a -> s{_rgId = a})++instance GoogleRequest RastersGet where+        type Rs RastersGet = Raster+        requestClient RastersGet{..}+          = go _rgId (Just AltJSON) mapsEngineService+          where go+                  = buildClient (Proxy :: Proxy RastersGetResource)+                      mempty
+ gen/Network/Google/Resource/MapsEngine/Rasters/List.hs view
@@ -0,0 +1,251 @@+{-# 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.MapsEngine.Rasters.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)+--+-- Return all rasters readable by the current user.+--+-- /See:/ <https://developers.google.com/maps-engine/ Google Maps Engine API Reference> for @mapsengine.rasters.list@.+module Network.Google.Resource.MapsEngine.Rasters.List+    (+    -- * REST Resource+      RastersListResource++    -- * Creating a Request+    , rastersList+    , RastersList++    -- * Request Lenses+    , rlCreatedAfter+    , rlCreatorEmail+    , rlRole+    , rlBbox+    , rlProcessingStatus+    , rlModifiedAfter+    , rlModifiedBefore+    , rlPageToken+    , rlProjectId+    , rlSearch+    , rlMaxResults+    , rlTags+    , rlCreatedBefore+    ) where++import           Network.Google.MapsEngine.Types+import           Network.Google.Prelude++-- | A resource alias for @mapsengine.rasters.list@ method which the+-- 'RastersList' request conforms to.+type RastersListResource =+     "mapsengine" :>+       "v1" :>+         "rasters" :>+           QueryParam "projectId" Text :>+             QueryParam "createdAfter" DateTime' :>+               QueryParam "creatorEmail" Text :>+                 QueryParam "role" RastersListRole :>+                   QueryParam "bbox" Text :>+                     QueryParam "processingStatus"+                       RastersListProcessingStatus+                       :>+                       QueryParam "modifiedAfter" DateTime' :>+                         QueryParam "modifiedBefore" DateTime' :>+                           QueryParam "pageToken" Text :>+                             QueryParam "search" Text :>+                               QueryParam "maxResults" (Textual Word32) :>+                                 QueryParam "tags" Text :>+                                   QueryParam "createdBefore" DateTime' :>+                                     QueryParam "alt" AltJSON :>+                                       Get '[JSON] RastersListResponse++-- | Return all rasters readable by the current user.+--+-- /See:/ 'rastersList' smart constructor.+data RastersList = RastersList+    { _rlCreatedAfter     :: !(Maybe DateTime')+    , _rlCreatorEmail     :: !(Maybe Text)+    , _rlRole             :: !(Maybe RastersListRole)+    , _rlBbox             :: !(Maybe Text)+    , _rlProcessingStatus :: !(Maybe RastersListProcessingStatus)+    , _rlModifiedAfter    :: !(Maybe DateTime')+    , _rlModifiedBefore   :: !(Maybe DateTime')+    , _rlPageToken        :: !(Maybe Text)+    , _rlProjectId        :: !Text+    , _rlSearch           :: !(Maybe Text)+    , _rlMaxResults       :: !(Maybe (Textual Word32))+    , _rlTags             :: !(Maybe Text)+    , _rlCreatedBefore    :: !(Maybe DateTime')+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'RastersList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rlCreatedAfter'+--+-- * 'rlCreatorEmail'+--+-- * 'rlRole'+--+-- * 'rlBbox'+--+-- * 'rlProcessingStatus'+--+-- * 'rlModifiedAfter'+--+-- * 'rlModifiedBefore'+--+-- * 'rlPageToken'+--+-- * 'rlProjectId'+--+-- * 'rlSearch'+--+-- * 'rlMaxResults'+--+-- * 'rlTags'+--+-- * 'rlCreatedBefore'+rastersList+    :: Text -- ^ 'rlProjectId'+    -> RastersList+rastersList pRlProjectId_ =+    RastersList+    { _rlCreatedAfter = Nothing+    , _rlCreatorEmail = Nothing+    , _rlRole = Nothing+    , _rlBbox = Nothing+    , _rlProcessingStatus = Nothing+    , _rlModifiedAfter = Nothing+    , _rlModifiedBefore = Nothing+    , _rlPageToken = Nothing+    , _rlProjectId = pRlProjectId_+    , _rlSearch = Nothing+    , _rlMaxResults = Nothing+    , _rlTags = Nothing+    , _rlCreatedBefore = Nothing+    }++-- | An RFC 3339 formatted date-time value (e.g. 1970-01-01T00:00:00Z).+-- Returned assets will have been created at or after this time.+rlCreatedAfter :: Lens' RastersList (Maybe UTCTime)+rlCreatedAfter+  = lens _rlCreatedAfter+      (\ s a -> s{_rlCreatedAfter = a})+      . mapping _DateTime++-- | An email address representing a user. Returned assets that have been+-- created by the user associated with the provided email address.+rlCreatorEmail :: Lens' RastersList (Maybe Text)+rlCreatorEmail+  = lens _rlCreatorEmail+      (\ s a -> s{_rlCreatorEmail = a})++-- | The role parameter indicates that the response should only contain+-- assets where the current user has the specified level of access.+rlRole :: Lens' RastersList (Maybe RastersListRole)+rlRole = lens _rlRole (\ s a -> s{_rlRole = a})++-- | A bounding box, expressed as \"west,south,east,north\". If set, only+-- assets which intersect this bounding box will be returned.+rlBbox :: Lens' RastersList (Maybe Text)+rlBbox = lens _rlBbox (\ s a -> s{_rlBbox = a})++rlProcessingStatus :: Lens' RastersList (Maybe RastersListProcessingStatus)+rlProcessingStatus+  = lens _rlProcessingStatus+      (\ s a -> s{_rlProcessingStatus = a})++-- | An RFC 3339 formatted date-time value (e.g. 1970-01-01T00:00:00Z).+-- Returned assets will have been modified at or after this time.+rlModifiedAfter :: Lens' RastersList (Maybe UTCTime)+rlModifiedAfter+  = lens _rlModifiedAfter+      (\ s a -> s{_rlModifiedAfter = a})+      . mapping _DateTime++-- | An RFC 3339 formatted date-time value (e.g. 1970-01-01T00:00:00Z).+-- Returned assets will have been modified at or before this time.+rlModifiedBefore :: Lens' RastersList (Maybe UTCTime)+rlModifiedBefore+  = lens _rlModifiedBefore+      (\ s a -> s{_rlModifiedBefore = a})+      . mapping _DateTime++-- | The continuation token, used to page through large result sets. To get+-- the next page of results, set this parameter to the value of+-- nextPageToken from the previous response.+rlPageToken :: Lens' RastersList (Maybe Text)+rlPageToken+  = lens _rlPageToken (\ s a -> s{_rlPageToken = a})++-- | The ID of a Maps Engine project, used to filter the response. To list+-- all available projects with their IDs, send a Projects: list request.+-- You can also find your project ID as the value of the DashboardPlace:cid+-- URL parameter when signed in to mapsengine.google.com.+rlProjectId :: Lens' RastersList Text+rlProjectId+  = lens _rlProjectId (\ s a -> s{_rlProjectId = a})++-- | An unstructured search string used to filter the set of results based on+-- asset metadata.+rlSearch :: Lens' RastersList (Maybe Text)+rlSearch = lens _rlSearch (\ s a -> s{_rlSearch = a})++-- | The maximum number of items to include in a single response page. The+-- maximum supported value is 100.+rlMaxResults :: Lens' RastersList (Maybe Word32)+rlMaxResults+  = lens _rlMaxResults (\ s a -> s{_rlMaxResults = a})+      . mapping _Coerce++-- | A comma separated list of tags. Returned assets will contain all the+-- tags from the list.+rlTags :: Lens' RastersList (Maybe Text)+rlTags = lens _rlTags (\ s a -> s{_rlTags = a})++-- | An RFC 3339 formatted date-time value (e.g. 1970-01-01T00:00:00Z).+-- Returned assets will have been created at or before this time.+rlCreatedBefore :: Lens' RastersList (Maybe UTCTime)+rlCreatedBefore+  = lens _rlCreatedBefore+      (\ s a -> s{_rlCreatedBefore = a})+      . mapping _DateTime++instance GoogleRequest RastersList where+        type Rs RastersList = RastersListResponse+        requestClient RastersList{..}+          = go (Just _rlProjectId) _rlCreatedAfter+              _rlCreatorEmail+              _rlRole+              _rlBbox+              _rlProcessingStatus+              _rlModifiedAfter+              _rlModifiedBefore+              _rlPageToken+              _rlSearch+              _rlMaxResults+              _rlTags+              _rlCreatedBefore+              (Just AltJSON)+              mapsEngineService+          where go+                  = buildClient (Proxy :: Proxy RastersListResource)+                      mempty
+ gen/Network/Google/Resource/MapsEngine/Rasters/Parents/List.hs view
@@ -0,0 +1,111 @@+{-# 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.MapsEngine.Rasters.Parents.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)+--+-- Return all parent ids of the specified rasters.+--+-- /See:/ <https://developers.google.com/maps-engine/ Google Maps Engine API Reference> for @mapsengine.rasters.parents.list@.+module Network.Google.Resource.MapsEngine.Rasters.Parents.List+    (+    -- * REST Resource+      RastersParentsListResource++    -- * Creating a Request+    , rastersParentsList+    , RastersParentsList++    -- * Request Lenses+    , rId+    , rPageToken+    , rMaxResults+    ) where++import           Network.Google.MapsEngine.Types+import           Network.Google.Prelude++-- | A resource alias for @mapsengine.rasters.parents.list@ method which the+-- 'RastersParentsList' request conforms to.+type RastersParentsListResource =+     "mapsengine" :>+       "v1" :>+         "rasters" :>+           Capture "id" Text :>+             "parents" :>+               QueryParam "pageToken" Text :>+                 QueryParam "maxResults" (Textual Word32) :>+                   QueryParam "alt" AltJSON :>+                     Get '[JSON] ParentsListResponse++-- | Return all parent ids of the specified rasters.+--+-- /See:/ 'rastersParentsList' smart constructor.+data RastersParentsList = RastersParentsList+    { _rId         :: !Text+    , _rPageToken  :: !(Maybe Text)+    , _rMaxResults :: !(Maybe (Textual Word32))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'RastersParentsList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rId'+--+-- * 'rPageToken'+--+-- * 'rMaxResults'+rastersParentsList+    :: Text -- ^ 'rId'+    -> RastersParentsList+rastersParentsList pRId_ =+    RastersParentsList+    { _rId = pRId_+    , _rPageToken = Nothing+    , _rMaxResults = Nothing+    }++-- | The ID of the rasters whose parents will be listed.+rId :: Lens' RastersParentsList Text+rId = lens _rId (\ s a -> s{_rId = a})++-- | The continuation token, used to page through large result sets. To get+-- the next page of results, set this parameter to the value of+-- nextPageToken from the previous response.+rPageToken :: Lens' RastersParentsList (Maybe Text)+rPageToken+  = lens _rPageToken (\ s a -> s{_rPageToken = a})++-- | The maximum number of items to include in a single response page. The+-- maximum supported value is 50.+rMaxResults :: Lens' RastersParentsList (Maybe Word32)+rMaxResults+  = lens _rMaxResults (\ s a -> s{_rMaxResults = a}) .+      mapping _Coerce++instance GoogleRequest RastersParentsList where+        type Rs RastersParentsList = ParentsListResponse+        requestClient RastersParentsList{..}+          = go _rId _rPageToken _rMaxResults (Just AltJSON)+              mapsEngineService+          where go+                  = buildClient+                      (Proxy :: Proxy RastersParentsListResource)+                      mempty
+ gen/Network/Google/Resource/MapsEngine/Rasters/Patch.hs view
@@ -0,0 +1,94 @@+{-# 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.MapsEngine.Rasters.Patch+-- 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)+--+-- Mutate a raster asset.+--+-- /See:/ <https://developers.google.com/maps-engine/ Google Maps Engine API Reference> for @mapsengine.rasters.patch@.+module Network.Google.Resource.MapsEngine.Rasters.Patch+    (+    -- * REST Resource+      RastersPatchResource++    -- * Creating a Request+    , rastersPatch+    , RastersPatch++    -- * Request Lenses+    , rppPayload+    , rppId+    ) where++import           Network.Google.MapsEngine.Types+import           Network.Google.Prelude++-- | A resource alias for @mapsengine.rasters.patch@ method which the+-- 'RastersPatch' request conforms to.+type RastersPatchResource =+     "mapsengine" :>+       "v1" :>+         "rasters" :>+           Capture "id" Text :>+             QueryParam "alt" AltJSON :>+               ReqBody '[JSON] Raster :> Patch '[JSON] ()++-- | Mutate a raster asset.+--+-- /See:/ 'rastersPatch' smart constructor.+data RastersPatch = RastersPatch+    { _rppPayload :: !Raster+    , _rppId      :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'RastersPatch' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rppPayload'+--+-- * 'rppId'+rastersPatch+    :: Raster -- ^ 'rppPayload'+    -> Text -- ^ 'rppId'+    -> RastersPatch+rastersPatch pRppPayload_ pRppId_ =+    RastersPatch+    { _rppPayload = pRppPayload_+    , _rppId = pRppId_+    }++-- | Multipart request metadata.+rppPayload :: Lens' RastersPatch Raster+rppPayload+  = lens _rppPayload (\ s a -> s{_rppPayload = a})++-- | The ID of the raster.+rppId :: Lens' RastersPatch Text+rppId = lens _rppId (\ s a -> s{_rppId = a})++instance GoogleRequest RastersPatch where+        type Rs RastersPatch = ()+        requestClient RastersPatch{..}+          = go _rppId (Just AltJSON) _rppPayload+              mapsEngineService+          where go+                  = buildClient (Proxy :: Proxy RastersPatchResource)+                      mempty
+ gen/Network/Google/Resource/MapsEngine/Rasters/Permissions/BatchDelete.hs view
@@ -0,0 +1,101 @@+{-# 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.MapsEngine.Rasters.Permissions.BatchDelete+-- 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)+--+-- Remove permission entries from an already existing asset.+--+-- /See:/ <https://developers.google.com/maps-engine/ Google Maps Engine API Reference> for @mapsengine.rasters.permissions.batchDelete@.+module Network.Google.Resource.MapsEngine.Rasters.Permissions.BatchDelete+    (+    -- * REST Resource+      RastersPermissionsBatchDeleteResource++    -- * Creating a Request+    , rastersPermissionsBatchDelete+    , RastersPermissionsBatchDelete++    -- * Request Lenses+    , rpbdPayload+    , rpbdId+    ) where++import           Network.Google.MapsEngine.Types+import           Network.Google.Prelude++-- | A resource alias for @mapsengine.rasters.permissions.batchDelete@ method which the+-- 'RastersPermissionsBatchDelete' request conforms to.+type RastersPermissionsBatchDeleteResource =+     "mapsengine" :>+       "v1" :>+         "rasters" :>+           Capture "id" Text :>+             "permissions" :>+               "batchDelete" :>+                 QueryParam "alt" AltJSON :>+                   ReqBody '[JSON] PermissionsBatchDeleteRequest :>+                     Post '[JSON] PermissionsBatchDeleteResponse++-- | Remove permission entries from an already existing asset.+--+-- /See:/ 'rastersPermissionsBatchDelete' smart constructor.+data RastersPermissionsBatchDelete = RastersPermissionsBatchDelete+    { _rpbdPayload :: !PermissionsBatchDeleteRequest+    , _rpbdId      :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'RastersPermissionsBatchDelete' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rpbdPayload'+--+-- * 'rpbdId'+rastersPermissionsBatchDelete+    :: PermissionsBatchDeleteRequest -- ^ 'rpbdPayload'+    -> Text -- ^ 'rpbdId'+    -> RastersPermissionsBatchDelete+rastersPermissionsBatchDelete pRpbdPayload_ pRpbdId_ =+    RastersPermissionsBatchDelete+    { _rpbdPayload = pRpbdPayload_+    , _rpbdId = pRpbdId_+    }++-- | Multipart request metadata.+rpbdPayload :: Lens' RastersPermissionsBatchDelete PermissionsBatchDeleteRequest+rpbdPayload+  = lens _rpbdPayload (\ s a -> s{_rpbdPayload = a})++-- | The ID of the asset from which permissions will be removed.+rpbdId :: Lens' RastersPermissionsBatchDelete Text+rpbdId = lens _rpbdId (\ s a -> s{_rpbdId = a})++instance GoogleRequest RastersPermissionsBatchDelete+         where+        type Rs RastersPermissionsBatchDelete =+             PermissionsBatchDeleteResponse+        requestClient RastersPermissionsBatchDelete{..}+          = go _rpbdId (Just AltJSON) _rpbdPayload+              mapsEngineService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy RastersPermissionsBatchDeleteResource)+                      mempty
+ gen/Network/Google/Resource/MapsEngine/Rasters/Permissions/BatchUpdate.hs view
@@ -0,0 +1,105 @@+{-# 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.MapsEngine.Rasters.Permissions.BatchUpdate+-- 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)+--+-- Add or update permission entries to an already existing asset. An asset+-- can hold up to 20 different permission entries. Each batchInsert request+-- is atomic.+--+-- /See:/ <https://developers.google.com/maps-engine/ Google Maps Engine API Reference> for @mapsengine.rasters.permissions.batchUpdate@.+module Network.Google.Resource.MapsEngine.Rasters.Permissions.BatchUpdate+    (+    -- * REST Resource+      RastersPermissionsBatchUpdateResource++    -- * Creating a Request+    , rastersPermissionsBatchUpdate+    , RastersPermissionsBatchUpdate++    -- * Request Lenses+    , rpbuPayload+    , rpbuId+    ) where++import           Network.Google.MapsEngine.Types+import           Network.Google.Prelude++-- | A resource alias for @mapsengine.rasters.permissions.batchUpdate@ method which the+-- 'RastersPermissionsBatchUpdate' request conforms to.+type RastersPermissionsBatchUpdateResource =+     "mapsengine" :>+       "v1" :>+         "rasters" :>+           Capture "id" Text :>+             "permissions" :>+               "batchUpdate" :>+                 QueryParam "alt" AltJSON :>+                   ReqBody '[JSON] PermissionsBatchUpdateRequest :>+                     Post '[JSON] PermissionsBatchUpdateResponse++-- | Add or update permission entries to an already existing asset. An asset+-- can hold up to 20 different permission entries. Each batchInsert request+-- is atomic.+--+-- /See:/ 'rastersPermissionsBatchUpdate' smart constructor.+data RastersPermissionsBatchUpdate = RastersPermissionsBatchUpdate+    { _rpbuPayload :: !PermissionsBatchUpdateRequest+    , _rpbuId      :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'RastersPermissionsBatchUpdate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rpbuPayload'+--+-- * 'rpbuId'+rastersPermissionsBatchUpdate+    :: PermissionsBatchUpdateRequest -- ^ 'rpbuPayload'+    -> Text -- ^ 'rpbuId'+    -> RastersPermissionsBatchUpdate+rastersPermissionsBatchUpdate pRpbuPayload_ pRpbuId_ =+    RastersPermissionsBatchUpdate+    { _rpbuPayload = pRpbuPayload_+    , _rpbuId = pRpbuId_+    }++-- | Multipart request metadata.+rpbuPayload :: Lens' RastersPermissionsBatchUpdate PermissionsBatchUpdateRequest+rpbuPayload+  = lens _rpbuPayload (\ s a -> s{_rpbuPayload = a})++-- | The ID of the asset to which permissions will be added.+rpbuId :: Lens' RastersPermissionsBatchUpdate Text+rpbuId = lens _rpbuId (\ s a -> s{_rpbuId = a})++instance GoogleRequest RastersPermissionsBatchUpdate+         where+        type Rs RastersPermissionsBatchUpdate =+             PermissionsBatchUpdateResponse+        requestClient RastersPermissionsBatchUpdate{..}+          = go _rpbuId (Just AltJSON) _rpbuPayload+              mapsEngineService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy RastersPermissionsBatchUpdateResource)+                      mempty
+ gen/Network/Google/Resource/MapsEngine/Rasters/Permissions/List.hs view
@@ -0,0 +1,85 @@+{-# 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.MapsEngine.Rasters.Permissions.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)+--+-- Return all of the permissions for the specified asset.+--+-- /See:/ <https://developers.google.com/maps-engine/ Google Maps Engine API Reference> for @mapsengine.rasters.permissions.list@.+module Network.Google.Resource.MapsEngine.Rasters.Permissions.List+    (+    -- * REST Resource+      RastersPermissionsListResource++    -- * Creating a Request+    , rastersPermissionsList+    , RastersPermissionsList++    -- * Request Lenses+    , rplId+    ) where++import           Network.Google.MapsEngine.Types+import           Network.Google.Prelude++-- | A resource alias for @mapsengine.rasters.permissions.list@ method which the+-- 'RastersPermissionsList' request conforms to.+type RastersPermissionsListResource =+     "mapsengine" :>+       "v1" :>+         "rasters" :>+           Capture "id" Text :>+             "permissions" :>+               QueryParam "alt" AltJSON :>+                 Get '[JSON] PermissionsListResponse++-- | Return all of the permissions for the specified asset.+--+-- /See:/ 'rastersPermissionsList' smart constructor.+newtype RastersPermissionsList = RastersPermissionsList+    { _rplId :: Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'RastersPermissionsList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rplId'+rastersPermissionsList+    :: Text -- ^ 'rplId'+    -> RastersPermissionsList+rastersPermissionsList pRplId_ =+    RastersPermissionsList+    { _rplId = pRplId_+    }++-- | The ID of the asset whose permissions will be listed.+rplId :: Lens' RastersPermissionsList Text+rplId = lens _rplId (\ s a -> s{_rplId = a})++instance GoogleRequest RastersPermissionsList where+        type Rs RastersPermissionsList =+             PermissionsListResponse+        requestClient RastersPermissionsList{..}+          = go _rplId (Just AltJSON) mapsEngineService+          where go+                  = buildClient+                      (Proxy :: Proxy RastersPermissionsListResource)+                      mempty
+ gen/Network/Google/Resource/MapsEngine/Rasters/Process.hs view
@@ -0,0 +1,83 @@+{-# 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.MapsEngine.Rasters.Process+-- 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)+--+-- Process a raster asset.+--+-- /See:/ <https://developers.google.com/maps-engine/ Google Maps Engine API Reference> for @mapsengine.rasters.process@.+module Network.Google.Resource.MapsEngine.Rasters.Process+    (+    -- * REST Resource+      RastersProcessResource++    -- * Creating a Request+    , rastersProcess+    , RastersProcess++    -- * Request Lenses+    , rpId+    ) where++import           Network.Google.MapsEngine.Types+import           Network.Google.Prelude++-- | A resource alias for @mapsengine.rasters.process@ method which the+-- 'RastersProcess' request conforms to.+type RastersProcessResource =+     "mapsengine" :>+       "v1" :>+         "rasters" :>+           Capture "id" Text :>+             "process" :>+               QueryParam "alt" AltJSON :>+                 Post '[JSON] ProcessResponse++-- | Process a raster asset.+--+-- /See:/ 'rastersProcess' smart constructor.+newtype RastersProcess = RastersProcess+    { _rpId :: Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'RastersProcess' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rpId'+rastersProcess+    :: Text -- ^ 'rpId'+    -> RastersProcess+rastersProcess pRpId_ =+    RastersProcess+    { _rpId = pRpId_+    }++-- | The ID of the raster.+rpId :: Lens' RastersProcess Text+rpId = lens _rpId (\ s a -> s{_rpId = a})++instance GoogleRequest RastersProcess where+        type Rs RastersProcess = ProcessResponse+        requestClient RastersProcess{..}+          = go _rpId (Just AltJSON) mapsEngineService+          where go+                  = buildClient (Proxy :: Proxy RastersProcessResource)+                      mempty
+ gen/Network/Google/Resource/MapsEngine/Rasters/Upload.hs view
@@ -0,0 +1,83 @@+{-# 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.MapsEngine.Rasters.Upload+-- 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 skeleton raster asset for upload.+--+-- /See:/ <https://developers.google.com/maps-engine/ Google Maps Engine API Reference> for @mapsengine.rasters.upload@.+module Network.Google.Resource.MapsEngine.Rasters.Upload+    (+    -- * REST Resource+      RastersUploadResource++    -- * Creating a Request+    , rastersUpload+    , RastersUpload++    -- * Request Lenses+    , ruPayload+    ) where++import           Network.Google.MapsEngine.Types+import           Network.Google.Prelude++-- | A resource alias for @mapsengine.rasters.upload@ method which the+-- 'RastersUpload' request conforms to.+type RastersUploadResource =+     "mapsengine" :>+       "v1" :>+         "rasters" :>+           "upload" :>+             QueryParam "alt" AltJSON :>+               ReqBody '[JSON] Raster :> Post '[JSON] Raster++-- | Create a skeleton raster asset for upload.+--+-- /See:/ 'rastersUpload' smart constructor.+newtype RastersUpload = RastersUpload+    { _ruPayload :: Raster+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'RastersUpload' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ruPayload'+rastersUpload+    :: Raster -- ^ 'ruPayload'+    -> RastersUpload+rastersUpload pRuPayload_ =+    RastersUpload+    { _ruPayload = pRuPayload_+    }++-- | Multipart request metadata.+ruPayload :: Lens' RastersUpload Raster+ruPayload+  = lens _ruPayload (\ s a -> s{_ruPayload = a})++instance GoogleRequest RastersUpload where+        type Rs RastersUpload = Raster+        requestClient RastersUpload{..}+          = go (Just AltJSON) _ruPayload mapsEngineService+          where go+                  = buildClient (Proxy :: Proxy RastersUploadResource)+                      mempty
+ gen/Network/Google/Resource/MapsEngine/Tables/Create.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.MapsEngine.Tables.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 table asset.+--+-- /See:/ <https://developers.google.com/maps-engine/ Google Maps Engine API Reference> for @mapsengine.tables.create@.+module Network.Google.Resource.MapsEngine.Tables.Create+    (+    -- * REST Resource+      TablesCreateResource++    -- * Creating a Request+    , tablesCreate+    , TablesCreate++    -- * Request Lenses+    , tcPayload+    ) where++import           Network.Google.MapsEngine.Types+import           Network.Google.Prelude++-- | A resource alias for @mapsengine.tables.create@ method which the+-- 'TablesCreate' request conforms to.+type TablesCreateResource =+     "mapsengine" :>+       "v1" :>+         "tables" :>+           QueryParam "alt" AltJSON :>+             ReqBody '[JSON] Table :> Post '[JSON] Table++-- | Create a table asset.+--+-- /See:/ 'tablesCreate' smart constructor.+newtype TablesCreate = TablesCreate+    { _tcPayload :: Table+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TablesCreate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tcPayload'+tablesCreate+    :: Table -- ^ 'tcPayload'+    -> TablesCreate+tablesCreate pTcPayload_ =+    TablesCreate+    { _tcPayload = pTcPayload_+    }++-- | Multipart request metadata.+tcPayload :: Lens' TablesCreate Table+tcPayload+  = lens _tcPayload (\ s a -> s{_tcPayload = a})++instance GoogleRequest TablesCreate where+        type Rs TablesCreate = Table+        requestClient TablesCreate{..}+          = go (Just AltJSON) _tcPayload mapsEngineService+          where go+                  = buildClient (Proxy :: Proxy TablesCreateResource)+                      mempty
+ gen/Network/Google/Resource/MapsEngine/Tables/Delete.hs view
@@ -0,0 +1,83 @@+{-# 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.MapsEngine.Tables.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 table.+--+-- /See:/ <https://developers.google.com/maps-engine/ Google Maps Engine API Reference> for @mapsengine.tables.delete@.+module Network.Google.Resource.MapsEngine.Tables.Delete+    (+    -- * REST Resource+      TablesDeleteResource++    -- * Creating a Request+    , tablesDelete+    , TablesDelete++    -- * Request Lenses+    , tdId+    ) where++import           Network.Google.MapsEngine.Types+import           Network.Google.Prelude++-- | A resource alias for @mapsengine.tables.delete@ method which the+-- 'TablesDelete' request conforms to.+type TablesDeleteResource =+     "mapsengine" :>+       "v1" :>+         "tables" :>+           Capture "id" Text :>+             QueryParam "alt" AltJSON :> Delete '[JSON] ()++-- | Delete a table.+--+-- /See:/ 'tablesDelete' smart constructor.+newtype TablesDelete = TablesDelete+    { _tdId :: Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TablesDelete' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tdId'+tablesDelete+    :: Text -- ^ 'tdId'+    -> TablesDelete+tablesDelete pTdId_ =+    TablesDelete+    { _tdId = pTdId_+    }++-- | The ID of the table. Only the table creator or project owner are+-- permitted to delete. If the table is included in a layer, the request+-- will fail. Remove it from all layers prior to deleting.+tdId :: Lens' TablesDelete Text+tdId = lens _tdId (\ s a -> s{_tdId = a})++instance GoogleRequest TablesDelete where+        type Rs TablesDelete = ()+        requestClient TablesDelete{..}+          = go _tdId (Just AltJSON) mapsEngineService+          where go+                  = buildClient (Proxy :: Proxy TablesDeleteResource)+                      mempty
+ gen/Network/Google/Resource/MapsEngine/Tables/Features/BatchDelete.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.MapsEngine.Tables.Features.BatchDelete+-- 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 all features matching the given IDs.+--+-- /See:/ <https://developers.google.com/maps-engine/ Google Maps Engine API Reference> for @mapsengine.tables.features.batchDelete@.+module Network.Google.Resource.MapsEngine.Tables.Features.BatchDelete+    (+    -- * REST Resource+      TablesFeaturesBatchDeleteResource++    -- * Creating a Request+    , tablesFeaturesBatchDelete+    , TablesFeaturesBatchDelete++    -- * Request Lenses+    , tfbdPayload+    , tfbdId+    ) where++import           Network.Google.MapsEngine.Types+import           Network.Google.Prelude++-- | A resource alias for @mapsengine.tables.features.batchDelete@ method which the+-- 'TablesFeaturesBatchDelete' request conforms to.+type TablesFeaturesBatchDeleteResource =+     "mapsengine" :>+       "v1" :>+         "tables" :>+           Capture "id" Text :>+             "features" :>+               "batchDelete" :>+                 QueryParam "alt" AltJSON :>+                   ReqBody '[JSON] FeaturesBatchDeleteRequest :>+                     Post '[JSON] ()++-- | Delete all features matching the given IDs.+--+-- /See:/ 'tablesFeaturesBatchDelete' smart constructor.+data TablesFeaturesBatchDelete = TablesFeaturesBatchDelete+    { _tfbdPayload :: !FeaturesBatchDeleteRequest+    , _tfbdId      :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TablesFeaturesBatchDelete' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tfbdPayload'+--+-- * 'tfbdId'+tablesFeaturesBatchDelete+    :: FeaturesBatchDeleteRequest -- ^ 'tfbdPayload'+    -> Text -- ^ 'tfbdId'+    -> TablesFeaturesBatchDelete+tablesFeaturesBatchDelete pTfbdPayload_ pTfbdId_ =+    TablesFeaturesBatchDelete+    { _tfbdPayload = pTfbdPayload_+    , _tfbdId = pTfbdId_+    }++-- | Multipart request metadata.+tfbdPayload :: Lens' TablesFeaturesBatchDelete FeaturesBatchDeleteRequest+tfbdPayload+  = lens _tfbdPayload (\ s a -> s{_tfbdPayload = a})++-- | The ID of the table that contains the features to be deleted.+tfbdId :: Lens' TablesFeaturesBatchDelete Text+tfbdId = lens _tfbdId (\ s a -> s{_tfbdId = a})++instance GoogleRequest TablesFeaturesBatchDelete+         where+        type Rs TablesFeaturesBatchDelete = ()+        requestClient TablesFeaturesBatchDelete{..}+          = go _tfbdId (Just AltJSON) _tfbdPayload+              mapsEngineService+          where go+                  = buildClient+                      (Proxy :: Proxy TablesFeaturesBatchDeleteResource)+                      mempty
+ gen/Network/Google/Resource/MapsEngine/Tables/Features/BatchInsert.hs view
@@ -0,0 +1,111 @@+{-# 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.MapsEngine.Tables.Features.BatchInsert+-- 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)+--+-- Append features to an existing table. A single batchInsert request can+-- create: - Up to 50 features. - A combined total of 10 000 vertices.+-- Feature limits are documented in the Supported data formats and limits+-- article of the Google Maps Engine help center. Note that free and paid+-- accounts have different limits. For more information about inserting+-- features, read Creating features in the Google Maps Engine developer\'s+-- guide.+--+-- /See:/ <https://developers.google.com/maps-engine/ Google Maps Engine API Reference> for @mapsengine.tables.features.batchInsert@.+module Network.Google.Resource.MapsEngine.Tables.Features.BatchInsert+    (+    -- * REST Resource+      TablesFeaturesBatchInsertResource++    -- * Creating a Request+    , tablesFeaturesBatchInsert+    , TablesFeaturesBatchInsert++    -- * Request Lenses+    , tfbiPayload+    , tfbiId+    ) where++import           Network.Google.MapsEngine.Types+import           Network.Google.Prelude++-- | A resource alias for @mapsengine.tables.features.batchInsert@ method which the+-- 'TablesFeaturesBatchInsert' request conforms to.+type TablesFeaturesBatchInsertResource =+     "mapsengine" :>+       "v1" :>+         "tables" :>+           Capture "id" Text :>+             "features" :>+               "batchInsert" :>+                 QueryParam "alt" AltJSON :>+                   ReqBody '[JSON] FeaturesBatchInsertRequest :>+                     Post '[JSON] ()++-- | Append features to an existing table. A single batchInsert request can+-- create: - Up to 50 features. - A combined total of 10 000 vertices.+-- Feature limits are documented in the Supported data formats and limits+-- article of the Google Maps Engine help center. Note that free and paid+-- accounts have different limits. For more information about inserting+-- features, read Creating features in the Google Maps Engine developer\'s+-- guide.+--+-- /See:/ 'tablesFeaturesBatchInsert' smart constructor.+data TablesFeaturesBatchInsert = TablesFeaturesBatchInsert+    { _tfbiPayload :: !FeaturesBatchInsertRequest+    , _tfbiId      :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TablesFeaturesBatchInsert' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tfbiPayload'+--+-- * 'tfbiId'+tablesFeaturesBatchInsert+    :: FeaturesBatchInsertRequest -- ^ 'tfbiPayload'+    -> Text -- ^ 'tfbiId'+    -> TablesFeaturesBatchInsert+tablesFeaturesBatchInsert pTfbiPayload_ pTfbiId_ =+    TablesFeaturesBatchInsert+    { _tfbiPayload = pTfbiPayload_+    , _tfbiId = pTfbiId_+    }++-- | Multipart request metadata.+tfbiPayload :: Lens' TablesFeaturesBatchInsert FeaturesBatchInsertRequest+tfbiPayload+  = lens _tfbiPayload (\ s a -> s{_tfbiPayload = a})++-- | The ID of the table to append the features to.+tfbiId :: Lens' TablesFeaturesBatchInsert Text+tfbiId = lens _tfbiId (\ s a -> s{_tfbiId = a})++instance GoogleRequest TablesFeaturesBatchInsert+         where+        type Rs TablesFeaturesBatchInsert = ()+        requestClient TablesFeaturesBatchInsert{..}+          = go _tfbiId (Just AltJSON) _tfbiPayload+              mapsEngineService+          where go+                  = buildClient+                      (Proxy :: Proxy TablesFeaturesBatchInsertResource)+                      mempty
+ gen/Network/Google/Resource/MapsEngine/Tables/Features/BatchPatch.hs view
@@ -0,0 +1,120 @@+{-# 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.MapsEngine.Tables.Features.BatchPatch+-- 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)+--+-- Update the supplied features. A single batchPatch request can update: -+-- Up to 50 features. - A combined total of 10 000 vertices. Feature limits+-- are documented in the Supported data formats and limits article of the+-- Google Maps Engine help center. Note that free and paid accounts have+-- different limits. Feature updates use HTTP PATCH semantics: - A supplied+-- value replaces an existing value (if any) in that field. - Omitted+-- fields remain unchanged. - Complex values in geometries and properties+-- must be replaced as atomic units. For example, providing just the+-- coordinates of a geometry is not allowed; the complete geometry,+-- including type, must be supplied. - Setting a property\'s value to null+-- deletes that property. For more information about updating features,+-- read Updating features in the Google Maps Engine developer\'s guide.+--+-- /See:/ <https://developers.google.com/maps-engine/ Google Maps Engine API Reference> for @mapsengine.tables.features.batchPatch@.+module Network.Google.Resource.MapsEngine.Tables.Features.BatchPatch+    (+    -- * REST Resource+      TablesFeaturesBatchPatchResource++    -- * Creating a Request+    , tablesFeaturesBatchPatch+    , TablesFeaturesBatchPatch++    -- * Request Lenses+    , tfbpPayload+    , tfbpId+    ) where++import           Network.Google.MapsEngine.Types+import           Network.Google.Prelude++-- | A resource alias for @mapsengine.tables.features.batchPatch@ method which the+-- 'TablesFeaturesBatchPatch' request conforms to.+type TablesFeaturesBatchPatchResource =+     "mapsengine" :>+       "v1" :>+         "tables" :>+           Capture "id" Text :>+             "features" :>+               "batchPatch" :>+                 QueryParam "alt" AltJSON :>+                   ReqBody '[JSON] FeaturesBatchPatchRequest :>+                     Post '[JSON] ()++-- | Update the supplied features. A single batchPatch request can update: -+-- Up to 50 features. - A combined total of 10 000 vertices. Feature limits+-- are documented in the Supported data formats and limits article of the+-- Google Maps Engine help center. Note that free and paid accounts have+-- different limits. Feature updates use HTTP PATCH semantics: - A supplied+-- value replaces an existing value (if any) in that field. - Omitted+-- fields remain unchanged. - Complex values in geometries and properties+-- must be replaced as atomic units. For example, providing just the+-- coordinates of a geometry is not allowed; the complete geometry,+-- including type, must be supplied. - Setting a property\'s value to null+-- deletes that property. For more information about updating features,+-- read Updating features in the Google Maps Engine developer\'s guide.+--+-- /See:/ 'tablesFeaturesBatchPatch' smart constructor.+data TablesFeaturesBatchPatch = TablesFeaturesBatchPatch+    { _tfbpPayload :: !FeaturesBatchPatchRequest+    , _tfbpId      :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TablesFeaturesBatchPatch' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tfbpPayload'+--+-- * 'tfbpId'+tablesFeaturesBatchPatch+    :: FeaturesBatchPatchRequest -- ^ 'tfbpPayload'+    -> Text -- ^ 'tfbpId'+    -> TablesFeaturesBatchPatch+tablesFeaturesBatchPatch pTfbpPayload_ pTfbpId_ =+    TablesFeaturesBatchPatch+    { _tfbpPayload = pTfbpPayload_+    , _tfbpId = pTfbpId_+    }++-- | Multipart request metadata.+tfbpPayload :: Lens' TablesFeaturesBatchPatch FeaturesBatchPatchRequest+tfbpPayload+  = lens _tfbpPayload (\ s a -> s{_tfbpPayload = a})++-- | The ID of the table containing the features to be patched.+tfbpId :: Lens' TablesFeaturesBatchPatch Text+tfbpId = lens _tfbpId (\ s a -> s{_tfbpId = a})++instance GoogleRequest TablesFeaturesBatchPatch where+        type Rs TablesFeaturesBatchPatch = ()+        requestClient TablesFeaturesBatchPatch{..}+          = go _tfbpId (Just AltJSON) _tfbpPayload+              mapsEngineService+          where go+                  = buildClient+                      (Proxy :: Proxy TablesFeaturesBatchPatchResource)+                      mempty
+ gen/Network/Google/Resource/MapsEngine/Tables/Features/Get.hs view
@@ -0,0 +1,120 @@+{-# 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.MapsEngine.Tables.Features.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)+--+-- Return a single feature, given its ID.+--+-- /See:/ <https://developers.google.com/maps-engine/ Google Maps Engine API Reference> for @mapsengine.tables.features.get@.+module Network.Google.Resource.MapsEngine.Tables.Features.Get+    (+    -- * REST Resource+      TablesFeaturesGetResource++    -- * Creating a Request+    , tablesFeaturesGet+    , TablesFeaturesGet++    -- * Request Lenses+    , tfgVersion+    , tfgId+    , tfgSelect+    , tfgTableId+    ) where++import           Network.Google.MapsEngine.Types+import           Network.Google.Prelude++-- | A resource alias for @mapsengine.tables.features.get@ method which the+-- 'TablesFeaturesGet' request conforms to.+type TablesFeaturesGetResource =+     "mapsengine" :>+       "v1" :>+         "tables" :>+           Capture "tableId" Text :>+             "features" :>+               Capture "id" Text :>+                 QueryParam "version" TablesFeaturesGetVersion :>+                   QueryParam "select" Text :>+                     QueryParam "alt" AltJSON :> Get '[JSON] Feature++-- | Return a single feature, given its ID.+--+-- /See:/ 'tablesFeaturesGet' smart constructor.+data TablesFeaturesGet = TablesFeaturesGet+    { _tfgVersion :: !(Maybe TablesFeaturesGetVersion)+    , _tfgId      :: !Text+    , _tfgSelect  :: !(Maybe Text)+    , _tfgTableId :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TablesFeaturesGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tfgVersion'+--+-- * 'tfgId'+--+-- * 'tfgSelect'+--+-- * 'tfgTableId'+tablesFeaturesGet+    :: Text -- ^ 'tfgId'+    -> Text -- ^ 'tfgTableId'+    -> TablesFeaturesGet+tablesFeaturesGet pTfgId_ pTfgTableId_ =+    TablesFeaturesGet+    { _tfgVersion = Nothing+    , _tfgId = pTfgId_+    , _tfgSelect = Nothing+    , _tfgTableId = pTfgTableId_+    }++-- | The table version to access. See Accessing Public Data for information.+tfgVersion :: Lens' TablesFeaturesGet (Maybe TablesFeaturesGetVersion)+tfgVersion+  = lens _tfgVersion (\ s a -> s{_tfgVersion = a})++-- | The ID of the feature to get.+tfgId :: Lens' TablesFeaturesGet Text+tfgId = lens _tfgId (\ s a -> s{_tfgId = a})++-- | A SQL-like projection clause used to specify returned properties. If+-- this parameter is not included, all properties are returned.+tfgSelect :: Lens' TablesFeaturesGet (Maybe Text)+tfgSelect+  = lens _tfgSelect (\ s a -> s{_tfgSelect = a})++-- | The ID of the table.+tfgTableId :: Lens' TablesFeaturesGet Text+tfgTableId+  = lens _tfgTableId (\ s a -> s{_tfgTableId = a})++instance GoogleRequest TablesFeaturesGet where+        type Rs TablesFeaturesGet = Feature+        requestClient TablesFeaturesGet{..}+          = go _tfgTableId _tfgId _tfgVersion _tfgSelect+              (Just AltJSON)+              mapsEngineService+          where go+                  = buildClient+                      (Proxy :: Proxy TablesFeaturesGetResource)+                      mempty
+ gen/Network/Google/Resource/MapsEngine/Tables/Features/List.hs view
@@ -0,0 +1,201 @@+{-# 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.MapsEngine.Tables.Features.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)+--+-- Return all features readable by the current user.+--+-- /See:/ <https://developers.google.com/maps-engine/ Google Maps Engine API Reference> for @mapsengine.tables.features.list@.+module Network.Google.Resource.MapsEngine.Tables.Features.List+    (+    -- * REST Resource+      TablesFeaturesListResource++    -- * Creating a Request+    , tablesFeaturesList+    , TablesFeaturesList++    -- * Request Lenses+    , tflInclude+    , tflWhere+    , tflOrderBy+    , tflVersion+    , tflId+    , tflLimit+    , tflPageToken+    , tflSelect+    , tflIntersects+    , tflMaxResults+    ) where++import           Network.Google.MapsEngine.Types+import           Network.Google.Prelude++-- | A resource alias for @mapsengine.tables.features.list@ method which the+-- 'TablesFeaturesList' request conforms to.+type TablesFeaturesListResource =+     "mapsengine" :>+       "v1" :>+         "tables" :>+           Capture "id" Text :>+             "features" :>+               QueryParam "include" Text :>+                 QueryParam "where" Text :>+                   QueryParam "orderBy" Text :>+                     QueryParam "version" TablesFeaturesListVersion :>+                       QueryParam "limit" (Textual Word32) :>+                         QueryParam "pageToken" Text :>+                           QueryParam "select" Text :>+                             QueryParam "intersects" Text :>+                               QueryParam "maxResults" (Textual Word32) :>+                                 QueryParam "alt" AltJSON :>+                                   Get '[JSON] FeaturesListResponse++-- | Return all features readable by the current user.+--+-- /See:/ 'tablesFeaturesList' smart constructor.+data TablesFeaturesList = TablesFeaturesList+    { _tflInclude    :: !(Maybe Text)+    , _tflWhere      :: !(Maybe Text)+    , _tflOrderBy    :: !(Maybe Text)+    , _tflVersion    :: !(Maybe TablesFeaturesListVersion)+    , _tflId         :: !Text+    , _tflLimit      :: !(Maybe (Textual Word32))+    , _tflPageToken  :: !(Maybe Text)+    , _tflSelect     :: !(Maybe Text)+    , _tflIntersects :: !(Maybe Text)+    , _tflMaxResults :: !(Maybe (Textual Word32))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TablesFeaturesList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tflInclude'+--+-- * 'tflWhere'+--+-- * 'tflOrderBy'+--+-- * 'tflVersion'+--+-- * 'tflId'+--+-- * 'tflLimit'+--+-- * 'tflPageToken'+--+-- * 'tflSelect'+--+-- * 'tflIntersects'+--+-- * 'tflMaxResults'+tablesFeaturesList+    :: Text -- ^ 'tflId'+    -> TablesFeaturesList+tablesFeaturesList pTflId_ =+    TablesFeaturesList+    { _tflInclude = Nothing+    , _tflWhere = Nothing+    , _tflOrderBy = Nothing+    , _tflVersion = Nothing+    , _tflId = pTflId_+    , _tflLimit = Nothing+    , _tflPageToken = Nothing+    , _tflSelect = Nothing+    , _tflIntersects = Nothing+    , _tflMaxResults = Nothing+    }++-- | A comma separated list of optional data to include. Optional data+-- available: schema.+tflInclude :: Lens' TablesFeaturesList (Maybe Text)+tflInclude+  = lens _tflInclude (\ s a -> s{_tflInclude = a})++-- | An SQL-like predicate used to filter results.+tflWhere :: Lens' TablesFeaturesList (Maybe Text)+tflWhere = lens _tflWhere (\ s a -> s{_tflWhere = a})++-- | An SQL-like order by clause used to sort results. If this parameter is+-- not included, the order of features is undefined.+tflOrderBy :: Lens' TablesFeaturesList (Maybe Text)+tflOrderBy+  = lens _tflOrderBy (\ s a -> s{_tflOrderBy = a})++-- | The table version to access. See Accessing Public Data for information.+tflVersion :: Lens' TablesFeaturesList (Maybe TablesFeaturesListVersion)+tflVersion+  = lens _tflVersion (\ s a -> s{_tflVersion = a})++-- | The ID of the table to which these features belong.+tflId :: Lens' TablesFeaturesList Text+tflId = lens _tflId (\ s a -> s{_tflId = a})++-- | The total number of features to return from the query, irrespective of+-- the number of pages.+tflLimit :: Lens' TablesFeaturesList (Maybe Word32)+tflLimit+  = lens _tflLimit (\ s a -> s{_tflLimit = a}) .+      mapping _Coerce++-- | The continuation token, used to page through large result sets. To get+-- the next page of results, set this parameter to the value of+-- nextPageToken from the previous response.+tflPageToken :: Lens' TablesFeaturesList (Maybe Text)+tflPageToken+  = lens _tflPageToken (\ s a -> s{_tflPageToken = a})++-- | A SQL-like projection clause used to specify returned properties. If+-- this parameter is not included, all properties are returned.+tflSelect :: Lens' TablesFeaturesList (Maybe Text)+tflSelect+  = lens _tflSelect (\ s a -> s{_tflSelect = a})++-- | A geometry literal that specifies the spatial restriction of the query.+tflIntersects :: Lens' TablesFeaturesList (Maybe Text)+tflIntersects+  = lens _tflIntersects+      (\ s a -> s{_tflIntersects = a})++-- | The maximum number of items to include in the response, used for paging.+-- The maximum supported value is 1000.+tflMaxResults :: Lens' TablesFeaturesList (Maybe Word32)+tflMaxResults+  = lens _tflMaxResults+      (\ s a -> s{_tflMaxResults = a})+      . mapping _Coerce++instance GoogleRequest TablesFeaturesList where+        type Rs TablesFeaturesList = FeaturesListResponse+        requestClient TablesFeaturesList{..}+          = go _tflId _tflInclude _tflWhere _tflOrderBy+              _tflVersion+              _tflLimit+              _tflPageToken+              _tflSelect+              _tflIntersects+              _tflMaxResults+              (Just AltJSON)+              mapsEngineService+          where go+                  = buildClient+                      (Proxy :: Proxy TablesFeaturesListResource)+                      mempty
+ gen/Network/Google/Resource/MapsEngine/Tables/Files/Insert.hs view
@@ -0,0 +1,127 @@+{-# 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.MapsEngine.Tables.Files.Insert+-- 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)+--+-- Upload a file to a placeholder table asset. See Table Upload in the+-- Developer\'s Guide for more information. Supported file types are listed+-- in the Supported data formats and limits article of the Google Maps+-- Engine help center.+--+-- /See:/ <https://developers.google.com/maps-engine/ Google Maps Engine API Reference> for @mapsengine.tables.files.insert@.+module Network.Google.Resource.MapsEngine.Tables.Files.Insert+    (+    -- * REST Resource+      TablesFilesInsertResource++    -- * Creating a Request+    , tablesFilesInsert+    , TablesFilesInsert++    -- * Request Lenses+    , tfiId+    , tfiFilename+    ) where++import           Network.Google.MapsEngine.Types+import           Network.Google.Prelude++-- | A resource alias for @mapsengine.tables.files.insert@ method which the+-- 'TablesFilesInsert' request conforms to.+type TablesFilesInsertResource =+     "mapsengine" :>+       "v1" :>+         "tables" :>+           Capture "id" Text :>+             "files" :>+               QueryParam "filename" Text :>+                 QueryParam "alt" AltJSON :> Post '[JSON] ()+       :<|>+       "upload" :>+         "mapsengine" :>+           "v1" :>+             "tables" :>+               Capture "id" Text :>+                 "files" :>+                   QueryParam "filename" Text :>+                     QueryParam "alt" AltJSON :>+                       QueryParam "uploadType" AltMedia :>+                         ReqBody '[OctetStream] RequestBody :> Post '[JSON] ()++-- | Upload a file to a placeholder table asset. See Table Upload in the+-- Developer\'s Guide for more information. Supported file types are listed+-- in the Supported data formats and limits article of the Google Maps+-- Engine help center.+--+-- /See:/ 'tablesFilesInsert' smart constructor.+data TablesFilesInsert = TablesFilesInsert+    { _tfiId       :: !Text+    , _tfiFilename :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TablesFilesInsert' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tfiId'+--+-- * 'tfiFilename'+tablesFilesInsert+    :: Text -- ^ 'tfiId'+    -> Text -- ^ 'tfiFilename'+    -> TablesFilesInsert+tablesFilesInsert pTfiId_ pTfiFilename_ =+    TablesFilesInsert+    { _tfiId = pTfiId_+    , _tfiFilename = pTfiFilename_+    }++-- | The ID of the table asset.+tfiId :: Lens' TablesFilesInsert Text+tfiId = lens _tfiId (\ s a -> s{_tfiId = a})++-- | The file name of this uploaded file.+tfiFilename :: Lens' TablesFilesInsert Text+tfiFilename+  = lens _tfiFilename (\ s a -> s{_tfiFilename = a})++instance GoogleRequest TablesFilesInsert where+        type Rs TablesFilesInsert = ()+        requestClient TablesFilesInsert{..}+          = go _tfiId (Just _tfiFilename) (Just AltJSON)+              mapsEngineService+          where go :<|> _+                  = buildClient+                      (Proxy :: Proxy TablesFilesInsertResource)+                      mempty++instance GoogleRequest+         (MediaUpload TablesFilesInsert) where+        type Rs (MediaUpload TablesFilesInsert) = ()+        requestClient+          (MediaUpload TablesFilesInsert{..} body)+          = go _tfiId (Just _tfiFilename) (Just AltJSON)+              (Just AltMedia)+              body+              mapsEngineService+          where _ :<|> go+                  = buildClient+                      (Proxy :: Proxy TablesFilesInsertResource)+                      mempty
+ gen/Network/Google/Resource/MapsEngine/Tables/Get.hs view
@@ -0,0 +1,92 @@+{-# 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.MapsEngine.Tables.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)+--+-- Return metadata for a particular table, including the schema.+--+-- /See:/ <https://developers.google.com/maps-engine/ Google Maps Engine API Reference> for @mapsengine.tables.get@.+module Network.Google.Resource.MapsEngine.Tables.Get+    (+    -- * REST Resource+      TablesGetResource++    -- * Creating a Request+    , tablesGet+    , TablesGet++    -- * Request Lenses+    , tgVersion+    , tgId+    ) where++import           Network.Google.MapsEngine.Types+import           Network.Google.Prelude++-- | A resource alias for @mapsengine.tables.get@ method which the+-- 'TablesGet' request conforms to.+type TablesGetResource =+     "mapsengine" :>+       "v1" :>+         "tables" :>+           Capture "id" Text :>+             QueryParam "version" TablesGetVersion :>+               QueryParam "alt" AltJSON :> Get '[JSON] Table++-- | Return metadata for a particular table, including the schema.+--+-- /See:/ 'tablesGet' smart constructor.+data TablesGet = TablesGet+    { _tgVersion :: !(Maybe TablesGetVersion)+    , _tgId      :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TablesGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tgVersion'+--+-- * 'tgId'+tablesGet+    :: Text -- ^ 'tgId'+    -> TablesGet+tablesGet pTgId_ =+    TablesGet+    { _tgVersion = Nothing+    , _tgId = pTgId_+    }++tgVersion :: Lens' TablesGet (Maybe TablesGetVersion)+tgVersion+  = lens _tgVersion (\ s a -> s{_tgVersion = a})++-- | The ID of the table.+tgId :: Lens' TablesGet Text+tgId = lens _tgId (\ s a -> s{_tgId = a})++instance GoogleRequest TablesGet where+        type Rs TablesGet = Table+        requestClient TablesGet{..}+          = go _tgId _tgVersion (Just AltJSON)+              mapsEngineService+          where go+                  = buildClient (Proxy :: Proxy TablesGetResource)+                      mempty
+ gen/Network/Google/Resource/MapsEngine/Tables/List.hs view
@@ -0,0 +1,248 @@+{-# 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.MapsEngine.Tables.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)+--+-- Return all tables readable by the current user.+--+-- /See:/ <https://developers.google.com/maps-engine/ Google Maps Engine API Reference> for @mapsengine.tables.list@.+module Network.Google.Resource.MapsEngine.Tables.List+    (+    -- * REST Resource+      TablesListResource++    -- * Creating a Request+    , tablesList+    , TablesList++    -- * Request Lenses+    , tlCreatedAfter+    , tlCreatorEmail+    , tlRole+    , tlBbox+    , tlProcessingStatus+    , tlModifiedAfter+    , tlModifiedBefore+    , tlPageToken+    , tlProjectId+    , tlSearch+    , tlMaxResults+    , tlTags+    , tlCreatedBefore+    ) where++import           Network.Google.MapsEngine.Types+import           Network.Google.Prelude++-- | A resource alias for @mapsengine.tables.list@ method which the+-- 'TablesList' request conforms to.+type TablesListResource =+     "mapsengine" :>+       "v1" :>+         "tables" :>+           QueryParam "createdAfter" DateTime' :>+             QueryParam "creatorEmail" Text :>+               QueryParam "role" TablesListRole :>+                 QueryParam "bbox" Text :>+                   QueryParam "processingStatus"+                     TablesListProcessingStatus+                     :>+                     QueryParam "modifiedAfter" DateTime' :>+                       QueryParam "modifiedBefore" DateTime' :>+                         QueryParam "pageToken" Text :>+                           QueryParam "projectId" Text :>+                             QueryParam "search" Text :>+                               QueryParam "maxResults" (Textual Word32) :>+                                 QueryParam "tags" Text :>+                                   QueryParam "createdBefore" DateTime' :>+                                     QueryParam "alt" AltJSON :>+                                       Get '[JSON] TablesListResponse++-- | Return all tables readable by the current user.+--+-- /See:/ 'tablesList' smart constructor.+data TablesList = TablesList+    { _tlCreatedAfter     :: !(Maybe DateTime')+    , _tlCreatorEmail     :: !(Maybe Text)+    , _tlRole             :: !(Maybe TablesListRole)+    , _tlBbox             :: !(Maybe Text)+    , _tlProcessingStatus :: !(Maybe TablesListProcessingStatus)+    , _tlModifiedAfter    :: !(Maybe DateTime')+    , _tlModifiedBefore   :: !(Maybe DateTime')+    , _tlPageToken        :: !(Maybe Text)+    , _tlProjectId        :: !(Maybe Text)+    , _tlSearch           :: !(Maybe Text)+    , _tlMaxResults       :: !(Maybe (Textual Word32))+    , _tlTags             :: !(Maybe Text)+    , _tlCreatedBefore    :: !(Maybe DateTime')+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TablesList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tlCreatedAfter'+--+-- * 'tlCreatorEmail'+--+-- * 'tlRole'+--+-- * 'tlBbox'+--+-- * 'tlProcessingStatus'+--+-- * 'tlModifiedAfter'+--+-- * 'tlModifiedBefore'+--+-- * 'tlPageToken'+--+-- * 'tlProjectId'+--+-- * 'tlSearch'+--+-- * 'tlMaxResults'+--+-- * 'tlTags'+--+-- * 'tlCreatedBefore'+tablesList+    :: TablesList+tablesList =+    TablesList+    { _tlCreatedAfter = Nothing+    , _tlCreatorEmail = Nothing+    , _tlRole = Nothing+    , _tlBbox = Nothing+    , _tlProcessingStatus = Nothing+    , _tlModifiedAfter = Nothing+    , _tlModifiedBefore = Nothing+    , _tlPageToken = Nothing+    , _tlProjectId = Nothing+    , _tlSearch = Nothing+    , _tlMaxResults = Nothing+    , _tlTags = Nothing+    , _tlCreatedBefore = Nothing+    }++-- | An RFC 3339 formatted date-time value (e.g. 1970-01-01T00:00:00Z).+-- Returned assets will have been created at or after this time.+tlCreatedAfter :: Lens' TablesList (Maybe UTCTime)+tlCreatedAfter+  = lens _tlCreatedAfter+      (\ s a -> s{_tlCreatedAfter = a})+      . mapping _DateTime++-- | An email address representing a user. Returned assets that have been+-- created by the user associated with the provided email address.+tlCreatorEmail :: Lens' TablesList (Maybe Text)+tlCreatorEmail+  = lens _tlCreatorEmail+      (\ s a -> s{_tlCreatorEmail = a})++-- | The role parameter indicates that the response should only contain+-- assets where the current user has the specified level of access.+tlRole :: Lens' TablesList (Maybe TablesListRole)+tlRole = lens _tlRole (\ s a -> s{_tlRole = a})++-- | A bounding box, expressed as \"west,south,east,north\". If set, only+-- assets which intersect this bounding box will be returned.+tlBbox :: Lens' TablesList (Maybe Text)+tlBbox = lens _tlBbox (\ s a -> s{_tlBbox = a})++tlProcessingStatus :: Lens' TablesList (Maybe TablesListProcessingStatus)+tlProcessingStatus+  = lens _tlProcessingStatus+      (\ s a -> s{_tlProcessingStatus = a})++-- | An RFC 3339 formatted date-time value (e.g. 1970-01-01T00:00:00Z).+-- Returned assets will have been modified at or after this time.+tlModifiedAfter :: Lens' TablesList (Maybe UTCTime)+tlModifiedAfter+  = lens _tlModifiedAfter+      (\ s a -> s{_tlModifiedAfter = a})+      . mapping _DateTime++-- | An RFC 3339 formatted date-time value (e.g. 1970-01-01T00:00:00Z).+-- Returned assets will have been modified at or before this time.+tlModifiedBefore :: Lens' TablesList (Maybe UTCTime)+tlModifiedBefore+  = lens _tlModifiedBefore+      (\ s a -> s{_tlModifiedBefore = a})+      . mapping _DateTime++-- | The continuation token, used to page through large result sets. To get+-- the next page of results, set this parameter to the value of+-- nextPageToken from the previous response.+tlPageToken :: Lens' TablesList (Maybe Text)+tlPageToken+  = lens _tlPageToken (\ s a -> s{_tlPageToken = a})++-- | The ID of a Maps Engine project, used to filter the response. To list+-- all available projects with their IDs, send a Projects: list request.+-- You can also find your project ID as the value of the DashboardPlace:cid+-- URL parameter when signed in to mapsengine.google.com.+tlProjectId :: Lens' TablesList (Maybe Text)+tlProjectId+  = lens _tlProjectId (\ s a -> s{_tlProjectId = a})++-- | An unstructured search string used to filter the set of results based on+-- asset metadata.+tlSearch :: Lens' TablesList (Maybe Text)+tlSearch = lens _tlSearch (\ s a -> s{_tlSearch = a})++-- | The maximum number of items to include in a single response page. The+-- maximum supported value is 100.+tlMaxResults :: Lens' TablesList (Maybe Word32)+tlMaxResults+  = lens _tlMaxResults (\ s a -> s{_tlMaxResults = a})+      . mapping _Coerce++-- | A comma separated list of tags. Returned assets will contain all the+-- tags from the list.+tlTags :: Lens' TablesList (Maybe Text)+tlTags = lens _tlTags (\ s a -> s{_tlTags = a})++-- | An RFC 3339 formatted date-time value (e.g. 1970-01-01T00:00:00Z).+-- Returned assets will have been created at or before this time.+tlCreatedBefore :: Lens' TablesList (Maybe UTCTime)+tlCreatedBefore+  = lens _tlCreatedBefore+      (\ s a -> s{_tlCreatedBefore = a})+      . mapping _DateTime++instance GoogleRequest TablesList where+        type Rs TablesList = TablesListResponse+        requestClient TablesList{..}+          = go _tlCreatedAfter _tlCreatorEmail _tlRole _tlBbox+              _tlProcessingStatus+              _tlModifiedAfter+              _tlModifiedBefore+              _tlPageToken+              _tlProjectId+              _tlSearch+              _tlMaxResults+              _tlTags+              _tlCreatedBefore+              (Just AltJSON)+              mapsEngineService+          where go+                  = buildClient (Proxy :: Proxy TablesListResource)+                      mempty
+ gen/Network/Google/Resource/MapsEngine/Tables/Parents/List.hs view
@@ -0,0 +1,111 @@+{-# 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.MapsEngine.Tables.Parents.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)+--+-- Return all parent ids of the specified table.+--+-- /See:/ <https://developers.google.com/maps-engine/ Google Maps Engine API Reference> for @mapsengine.tables.parents.list@.+module Network.Google.Resource.MapsEngine.Tables.Parents.List+    (+    -- * REST Resource+      TablesParentsListResource++    -- * Creating a Request+    , tablesParentsList+    , TablesParentsList++    -- * Request Lenses+    , tId+    , tPageToken+    , tMaxResults+    ) where++import           Network.Google.MapsEngine.Types+import           Network.Google.Prelude++-- | A resource alias for @mapsengine.tables.parents.list@ method which the+-- 'TablesParentsList' request conforms to.+type TablesParentsListResource =+     "mapsengine" :>+       "v1" :>+         "tables" :>+           Capture "id" Text :>+             "parents" :>+               QueryParam "pageToken" Text :>+                 QueryParam "maxResults" (Textual Word32) :>+                   QueryParam "alt" AltJSON :>+                     Get '[JSON] ParentsListResponse++-- | Return all parent ids of the specified table.+--+-- /See:/ 'tablesParentsList' smart constructor.+data TablesParentsList = TablesParentsList+    { _tId         :: !Text+    , _tPageToken  :: !(Maybe Text)+    , _tMaxResults :: !(Maybe (Textual Word32))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TablesParentsList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tId'+--+-- * 'tPageToken'+--+-- * 'tMaxResults'+tablesParentsList+    :: Text -- ^ 'tId'+    -> TablesParentsList+tablesParentsList pTId_ =+    TablesParentsList+    { _tId = pTId_+    , _tPageToken = Nothing+    , _tMaxResults = Nothing+    }++-- | The ID of the table whose parents will be listed.+tId :: Lens' TablesParentsList Text+tId = lens _tId (\ s a -> s{_tId = a})++-- | The continuation token, used to page through large result sets. To get+-- the next page of results, set this parameter to the value of+-- nextPageToken from the previous response.+tPageToken :: Lens' TablesParentsList (Maybe Text)+tPageToken+  = lens _tPageToken (\ s a -> s{_tPageToken = a})++-- | The maximum number of items to include in a single response page. The+-- maximum supported value is 50.+tMaxResults :: Lens' TablesParentsList (Maybe Word32)+tMaxResults+  = lens _tMaxResults (\ s a -> s{_tMaxResults = a}) .+      mapping _Coerce++instance GoogleRequest TablesParentsList where+        type Rs TablesParentsList = ParentsListResponse+        requestClient TablesParentsList{..}+          = go _tId _tPageToken _tMaxResults (Just AltJSON)+              mapsEngineService+          where go+                  = buildClient+                      (Proxy :: Proxy TablesParentsListResource)+                      mempty
+ gen/Network/Google/Resource/MapsEngine/Tables/Patch.hs view
@@ -0,0 +1,94 @@+{-# 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.MapsEngine.Tables.Patch+-- 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)+--+-- Mutate a table asset.+--+-- /See:/ <https://developers.google.com/maps-engine/ Google Maps Engine API Reference> for @mapsengine.tables.patch@.+module Network.Google.Resource.MapsEngine.Tables.Patch+    (+    -- * REST Resource+      TablesPatchResource++    -- * Creating a Request+    , tablesPatch+    , TablesPatch++    -- * Request Lenses+    , tpPayload+    , tpId+    ) where++import           Network.Google.MapsEngine.Types+import           Network.Google.Prelude++-- | A resource alias for @mapsengine.tables.patch@ method which the+-- 'TablesPatch' request conforms to.+type TablesPatchResource =+     "mapsengine" :>+       "v1" :>+         "tables" :>+           Capture "id" Text :>+             QueryParam "alt" AltJSON :>+               ReqBody '[JSON] Table :> Patch '[JSON] ()++-- | Mutate a table asset.+--+-- /See:/ 'tablesPatch' smart constructor.+data TablesPatch = TablesPatch+    { _tpPayload :: !Table+    , _tpId      :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TablesPatch' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tpPayload'+--+-- * 'tpId'+tablesPatch+    :: Table -- ^ 'tpPayload'+    -> Text -- ^ 'tpId'+    -> TablesPatch+tablesPatch pTpPayload_ pTpId_ =+    TablesPatch+    { _tpPayload = pTpPayload_+    , _tpId = pTpId_+    }++-- | Multipart request metadata.+tpPayload :: Lens' TablesPatch Table+tpPayload+  = lens _tpPayload (\ s a -> s{_tpPayload = a})++-- | The ID of the table.+tpId :: Lens' TablesPatch Text+tpId = lens _tpId (\ s a -> s{_tpId = a})++instance GoogleRequest TablesPatch where+        type Rs TablesPatch = ()+        requestClient TablesPatch{..}+          = go _tpId (Just AltJSON) _tpPayload+              mapsEngineService+          where go+                  = buildClient (Proxy :: Proxy TablesPatchResource)+                      mempty
+ gen/Network/Google/Resource/MapsEngine/Tables/Permissions/BatchDelete.hs view
@@ -0,0 +1,100 @@+{-# 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.MapsEngine.Tables.Permissions.BatchDelete+-- 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)+--+-- Remove permission entries from an already existing asset.+--+-- /See:/ <https://developers.google.com/maps-engine/ Google Maps Engine API Reference> for @mapsengine.tables.permissions.batchDelete@.+module Network.Google.Resource.MapsEngine.Tables.Permissions.BatchDelete+    (+    -- * REST Resource+      TablesPermissionsBatchDeleteResource++    -- * Creating a Request+    , tablesPermissionsBatchDelete+    , TablesPermissionsBatchDelete++    -- * Request Lenses+    , tpbdPayload+    , tpbdId+    ) where++import           Network.Google.MapsEngine.Types+import           Network.Google.Prelude++-- | A resource alias for @mapsengine.tables.permissions.batchDelete@ method which the+-- 'TablesPermissionsBatchDelete' request conforms to.+type TablesPermissionsBatchDeleteResource =+     "mapsengine" :>+       "v1" :>+         "tables" :>+           Capture "id" Text :>+             "permissions" :>+               "batchDelete" :>+                 QueryParam "alt" AltJSON :>+                   ReqBody '[JSON] PermissionsBatchDeleteRequest :>+                     Post '[JSON] PermissionsBatchDeleteResponse++-- | Remove permission entries from an already existing asset.+--+-- /See:/ 'tablesPermissionsBatchDelete' smart constructor.+data TablesPermissionsBatchDelete = TablesPermissionsBatchDelete+    { _tpbdPayload :: !PermissionsBatchDeleteRequest+    , _tpbdId      :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TablesPermissionsBatchDelete' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tpbdPayload'+--+-- * 'tpbdId'+tablesPermissionsBatchDelete+    :: PermissionsBatchDeleteRequest -- ^ 'tpbdPayload'+    -> Text -- ^ 'tpbdId'+    -> TablesPermissionsBatchDelete+tablesPermissionsBatchDelete pTpbdPayload_ pTpbdId_ =+    TablesPermissionsBatchDelete+    { _tpbdPayload = pTpbdPayload_+    , _tpbdId = pTpbdId_+    }++-- | Multipart request metadata.+tpbdPayload :: Lens' TablesPermissionsBatchDelete PermissionsBatchDeleteRequest+tpbdPayload+  = lens _tpbdPayload (\ s a -> s{_tpbdPayload = a})++-- | The ID of the asset from which permissions will be removed.+tpbdId :: Lens' TablesPermissionsBatchDelete Text+tpbdId = lens _tpbdId (\ s a -> s{_tpbdId = a})++instance GoogleRequest TablesPermissionsBatchDelete+         where+        type Rs TablesPermissionsBatchDelete =+             PermissionsBatchDeleteResponse+        requestClient TablesPermissionsBatchDelete{..}+          = go _tpbdId (Just AltJSON) _tpbdPayload+              mapsEngineService+          where go+                  = buildClient+                      (Proxy :: Proxy TablesPermissionsBatchDeleteResource)+                      mempty
+ gen/Network/Google/Resource/MapsEngine/Tables/Permissions/BatchUpdate.hs view
@@ -0,0 +1,104 @@+{-# 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.MapsEngine.Tables.Permissions.BatchUpdate+-- 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)+--+-- Add or update permission entries to an already existing asset. An asset+-- can hold up to 20 different permission entries. Each batchInsert request+-- is atomic.+--+-- /See:/ <https://developers.google.com/maps-engine/ Google Maps Engine API Reference> for @mapsengine.tables.permissions.batchUpdate@.+module Network.Google.Resource.MapsEngine.Tables.Permissions.BatchUpdate+    (+    -- * REST Resource+      TablesPermissionsBatchUpdateResource++    -- * Creating a Request+    , tablesPermissionsBatchUpdate+    , TablesPermissionsBatchUpdate++    -- * Request Lenses+    , tpbuPayload+    , tpbuId+    ) where++import           Network.Google.MapsEngine.Types+import           Network.Google.Prelude++-- | A resource alias for @mapsengine.tables.permissions.batchUpdate@ method which the+-- 'TablesPermissionsBatchUpdate' request conforms to.+type TablesPermissionsBatchUpdateResource =+     "mapsengine" :>+       "v1" :>+         "tables" :>+           Capture "id" Text :>+             "permissions" :>+               "batchUpdate" :>+                 QueryParam "alt" AltJSON :>+                   ReqBody '[JSON] PermissionsBatchUpdateRequest :>+                     Post '[JSON] PermissionsBatchUpdateResponse++-- | Add or update permission entries to an already existing asset. An asset+-- can hold up to 20 different permission entries. Each batchInsert request+-- is atomic.+--+-- /See:/ 'tablesPermissionsBatchUpdate' smart constructor.+data TablesPermissionsBatchUpdate = TablesPermissionsBatchUpdate+    { _tpbuPayload :: !PermissionsBatchUpdateRequest+    , _tpbuId      :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TablesPermissionsBatchUpdate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tpbuPayload'+--+-- * 'tpbuId'+tablesPermissionsBatchUpdate+    :: PermissionsBatchUpdateRequest -- ^ 'tpbuPayload'+    -> Text -- ^ 'tpbuId'+    -> TablesPermissionsBatchUpdate+tablesPermissionsBatchUpdate pTpbuPayload_ pTpbuId_ =+    TablesPermissionsBatchUpdate+    { _tpbuPayload = pTpbuPayload_+    , _tpbuId = pTpbuId_+    }++-- | Multipart request metadata.+tpbuPayload :: Lens' TablesPermissionsBatchUpdate PermissionsBatchUpdateRequest+tpbuPayload+  = lens _tpbuPayload (\ s a -> s{_tpbuPayload = a})++-- | The ID of the asset to which permissions will be added.+tpbuId :: Lens' TablesPermissionsBatchUpdate Text+tpbuId = lens _tpbuId (\ s a -> s{_tpbuId = a})++instance GoogleRequest TablesPermissionsBatchUpdate+         where+        type Rs TablesPermissionsBatchUpdate =+             PermissionsBatchUpdateResponse+        requestClient TablesPermissionsBatchUpdate{..}+          = go _tpbuId (Just AltJSON) _tpbuPayload+              mapsEngineService+          where go+                  = buildClient+                      (Proxy :: Proxy TablesPermissionsBatchUpdateResource)+                      mempty
+ gen/Network/Google/Resource/MapsEngine/Tables/Permissions/List.hs view
@@ -0,0 +1,85 @@+{-# 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.MapsEngine.Tables.Permissions.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)+--+-- Return all of the permissions for the specified asset.+--+-- /See:/ <https://developers.google.com/maps-engine/ Google Maps Engine API Reference> for @mapsengine.tables.permissions.list@.+module Network.Google.Resource.MapsEngine.Tables.Permissions.List+    (+    -- * REST Resource+      TablesPermissionsListResource++    -- * Creating a Request+    , tablesPermissionsList+    , TablesPermissionsList++    -- * Request Lenses+    , tplId+    ) where++import           Network.Google.MapsEngine.Types+import           Network.Google.Prelude++-- | A resource alias for @mapsengine.tables.permissions.list@ method which the+-- 'TablesPermissionsList' request conforms to.+type TablesPermissionsListResource =+     "mapsengine" :>+       "v1" :>+         "tables" :>+           Capture "id" Text :>+             "permissions" :>+               QueryParam "alt" AltJSON :>+                 Get '[JSON] PermissionsListResponse++-- | Return all of the permissions for the specified asset.+--+-- /See:/ 'tablesPermissionsList' smart constructor.+newtype TablesPermissionsList = TablesPermissionsList+    { _tplId :: Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TablesPermissionsList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tplId'+tablesPermissionsList+    :: Text -- ^ 'tplId'+    -> TablesPermissionsList+tablesPermissionsList pTplId_ =+    TablesPermissionsList+    { _tplId = pTplId_+    }++-- | The ID of the asset whose permissions will be listed.+tplId :: Lens' TablesPermissionsList Text+tplId = lens _tplId (\ s a -> s{_tplId = a})++instance GoogleRequest TablesPermissionsList where+        type Rs TablesPermissionsList =+             PermissionsListResponse+        requestClient TablesPermissionsList{..}+          = go _tplId (Just AltJSON) mapsEngineService+          where go+                  = buildClient+                      (Proxy :: Proxy TablesPermissionsListResource)+                      mempty
+ gen/Network/Google/Resource/MapsEngine/Tables/Process.hs view
@@ -0,0 +1,83 @@+{-# 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.MapsEngine.Tables.Process+-- 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)+--+-- Process a table asset.+--+-- /See:/ <https://developers.google.com/maps-engine/ Google Maps Engine API Reference> for @mapsengine.tables.process@.+module Network.Google.Resource.MapsEngine.Tables.Process+    (+    -- * REST Resource+      TablesProcessResource++    -- * Creating a Request+    , tablesProcess+    , TablesProcess++    -- * Request Lenses+    , tpsId+    ) where++import           Network.Google.MapsEngine.Types+import           Network.Google.Prelude++-- | A resource alias for @mapsengine.tables.process@ method which the+-- 'TablesProcess' request conforms to.+type TablesProcessResource =+     "mapsengine" :>+       "v1" :>+         "tables" :>+           Capture "id" Text :>+             "process" :>+               QueryParam "alt" AltJSON :>+                 Post '[JSON] ProcessResponse++-- | Process a table asset.+--+-- /See:/ 'tablesProcess' smart constructor.+newtype TablesProcess = TablesProcess+    { _tpsId :: Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TablesProcess' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tpsId'+tablesProcess+    :: Text -- ^ 'tpsId'+    -> TablesProcess+tablesProcess pTpsId_ =+    TablesProcess+    { _tpsId = pTpsId_+    }++-- | The ID of the table.+tpsId :: Lens' TablesProcess Text+tpsId = lens _tpsId (\ s a -> s{_tpsId = a})++instance GoogleRequest TablesProcess where+        type Rs TablesProcess = ProcessResponse+        requestClient TablesProcess{..}+          = go _tpsId (Just AltJSON) mapsEngineService+          where go+                  = buildClient (Proxy :: Proxy TablesProcessResource)+                      mempty
+ gen/Network/Google/Resource/MapsEngine/Tables/Upload.hs view
@@ -0,0 +1,91 @@+{-# 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.MapsEngine.Tables.Upload+-- 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 placeholder table asset to which table files can be uploaded.+-- Once the placeholder has been created, files are uploaded to the+-- https:\/\/www.googleapis.com\/upload\/mapsengine\/v1\/tables\/table_id\/files+-- endpoint. See Table Upload in the Developer\'s Guide or Table.files:+-- insert in the reference documentation for more information.+--+-- /See:/ <https://developers.google.com/maps-engine/ Google Maps Engine API Reference> for @mapsengine.tables.upload@.+module Network.Google.Resource.MapsEngine.Tables.Upload+    (+    -- * REST Resource+      TablesUploadResource++    -- * Creating a Request+    , tablesUpload+    , TablesUpload++    -- * Request Lenses+    , tuPayload+    ) where++import           Network.Google.MapsEngine.Types+import           Network.Google.Prelude++-- | A resource alias for @mapsengine.tables.upload@ method which the+-- 'TablesUpload' request conforms to.+type TablesUploadResource =+     "mapsengine" :>+       "v1" :>+         "tables" :>+           "upload" :>+             QueryParam "alt" AltJSON :>+               ReqBody '[JSON] Table :> Post '[JSON] Table++-- | Create a placeholder table asset to which table files can be uploaded.+-- Once the placeholder has been created, files are uploaded to the+-- https:\/\/www.googleapis.com\/upload\/mapsengine\/v1\/tables\/table_id\/files+-- endpoint. See Table Upload in the Developer\'s Guide or Table.files:+-- insert in the reference documentation for more information.+--+-- /See:/ 'tablesUpload' smart constructor.+newtype TablesUpload = TablesUpload+    { _tuPayload :: Table+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TablesUpload' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tuPayload'+tablesUpload+    :: Table -- ^ 'tuPayload'+    -> TablesUpload+tablesUpload pTuPayload_ =+    TablesUpload+    { _tuPayload = pTuPayload_+    }++-- | Multipart request metadata.+tuPayload :: Lens' TablesUpload Table+tuPayload+  = lens _tuPayload (\ s a -> s{_tuPayload = a})++instance GoogleRequest TablesUpload where+        type Rs TablesUpload = Table+        requestClient TablesUpload{..}+          = go (Just AltJSON) _tuPayload mapsEngineService+          where go+                  = buildClient (Proxy :: Proxy TablesUploadResource)+                      mempty
+ gogol-maps-engine.cabal view
@@ -0,0 +1,123 @@+name:                  gogol-maps-engine+version:               0.0.1+synopsis:              Google Maps Engine 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 Maps Engine API allows developers to store and query+    geospatial vector and raster data.+    .+    /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.MapsEngine+        , Network.Google.MapsEngine.Types+        , Network.Google.Resource.MapsEngine.Assets.Get+        , Network.Google.Resource.MapsEngine.Assets.List+        , Network.Google.Resource.MapsEngine.Assets.Parents.List+        , Network.Google.Resource.MapsEngine.Assets.Permissions.List+        , Network.Google.Resource.MapsEngine.Layers.CancelProcessing+        , Network.Google.Resource.MapsEngine.Layers.Create+        , Network.Google.Resource.MapsEngine.Layers.Delete+        , Network.Google.Resource.MapsEngine.Layers.Get+        , Network.Google.Resource.MapsEngine.Layers.GetPublished+        , Network.Google.Resource.MapsEngine.Layers.List+        , Network.Google.Resource.MapsEngine.Layers.ListPublished+        , Network.Google.Resource.MapsEngine.Layers.Parents.List+        , Network.Google.Resource.MapsEngine.Layers.Patch+        , Network.Google.Resource.MapsEngine.Layers.Permissions.BatchDelete+        , Network.Google.Resource.MapsEngine.Layers.Permissions.BatchUpdate+        , Network.Google.Resource.MapsEngine.Layers.Permissions.List+        , Network.Google.Resource.MapsEngine.Layers.Process+        , Network.Google.Resource.MapsEngine.Layers.Publish+        , Network.Google.Resource.MapsEngine.Layers.UnPublish+        , Network.Google.Resource.MapsEngine.Maps.Create+        , Network.Google.Resource.MapsEngine.Maps.Delete+        , Network.Google.Resource.MapsEngine.Maps.Get+        , Network.Google.Resource.MapsEngine.Maps.GetPublished+        , Network.Google.Resource.MapsEngine.Maps.List+        , Network.Google.Resource.MapsEngine.Maps.ListPublished+        , Network.Google.Resource.MapsEngine.Maps.Patch+        , Network.Google.Resource.MapsEngine.Maps.Permissions.BatchDelete+        , Network.Google.Resource.MapsEngine.Maps.Permissions.BatchUpdate+        , Network.Google.Resource.MapsEngine.Maps.Permissions.List+        , Network.Google.Resource.MapsEngine.Maps.Publish+        , Network.Google.Resource.MapsEngine.Maps.UnPublish+        , Network.Google.Resource.MapsEngine.Projects.Icons.Create+        , Network.Google.Resource.MapsEngine.Projects.Icons.Get+        , Network.Google.Resource.MapsEngine.Projects.Icons.List+        , Network.Google.Resource.MapsEngine.Projects.List+        , Network.Google.Resource.MapsEngine.RasterCollections.CancelProcessing+        , Network.Google.Resource.MapsEngine.RasterCollections.Create+        , Network.Google.Resource.MapsEngine.RasterCollections.Delete+        , Network.Google.Resource.MapsEngine.RasterCollections.Get+        , Network.Google.Resource.MapsEngine.RasterCollections.List+        , Network.Google.Resource.MapsEngine.RasterCollections.Parents.List+        , Network.Google.Resource.MapsEngine.RasterCollections.Patch+        , Network.Google.Resource.MapsEngine.RasterCollections.Permissions.BatchDelete+        , Network.Google.Resource.MapsEngine.RasterCollections.Permissions.BatchUpdate+        , Network.Google.Resource.MapsEngine.RasterCollections.Permissions.List+        , Network.Google.Resource.MapsEngine.RasterCollections.Process+        , Network.Google.Resource.MapsEngine.RasterCollections.Rasters.BatchDelete+        , Network.Google.Resource.MapsEngine.RasterCollections.Rasters.BatchInsert+        , Network.Google.Resource.MapsEngine.RasterCollections.Rasters.List+        , Network.Google.Resource.MapsEngine.Rasters.Delete+        , Network.Google.Resource.MapsEngine.Rasters.Files.Insert+        , Network.Google.Resource.MapsEngine.Rasters.Get+        , Network.Google.Resource.MapsEngine.Rasters.List+        , Network.Google.Resource.MapsEngine.Rasters.Parents.List+        , Network.Google.Resource.MapsEngine.Rasters.Patch+        , Network.Google.Resource.MapsEngine.Rasters.Permissions.BatchDelete+        , Network.Google.Resource.MapsEngine.Rasters.Permissions.BatchUpdate+        , Network.Google.Resource.MapsEngine.Rasters.Permissions.List+        , Network.Google.Resource.MapsEngine.Rasters.Process+        , Network.Google.Resource.MapsEngine.Rasters.Upload+        , Network.Google.Resource.MapsEngine.Tables.Create+        , Network.Google.Resource.MapsEngine.Tables.Delete+        , Network.Google.Resource.MapsEngine.Tables.Features.BatchDelete+        , Network.Google.Resource.MapsEngine.Tables.Features.BatchInsert+        , Network.Google.Resource.MapsEngine.Tables.Features.BatchPatch+        , Network.Google.Resource.MapsEngine.Tables.Features.Get+        , Network.Google.Resource.MapsEngine.Tables.Features.List+        , Network.Google.Resource.MapsEngine.Tables.Files.Insert+        , Network.Google.Resource.MapsEngine.Tables.Get+        , Network.Google.Resource.MapsEngine.Tables.List+        , Network.Google.Resource.MapsEngine.Tables.Parents.List+        , Network.Google.Resource.MapsEngine.Tables.Patch+        , Network.Google.Resource.MapsEngine.Tables.Permissions.BatchDelete+        , Network.Google.Resource.MapsEngine.Tables.Permissions.BatchUpdate+        , Network.Google.Resource.MapsEngine.Tables.Permissions.List+        , Network.Google.Resource.MapsEngine.Tables.Process+        , Network.Google.Resource.MapsEngine.Tables.Upload++    other-modules:+          Network.Google.MapsEngine.Types.Product+        , Network.Google.MapsEngine.Types.Sum++    build-depends:+          gogol-core == 0.0.1.*+        , base       >= 4.7 && < 5