packages feed

gogol-appengine (empty) → 0.0.1

raw patch · 19 files changed

+6205/−0 lines, 19 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-appengine++* [Version](#version)+* [Description](#description)+* [Contribute](#contribute)+* [Licence](#licence)+++## Version++`0.0.1`+++## Description++A client library for the Google App Engine Admin.+++## 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-appengine` 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/AppEngine.hs view
@@ -0,0 +1,390 @@+{-# LANGUAGE DataKinds         #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE TypeOperators     #-}++{-# OPTIONS_GHC -fno-warn-unused-imports    #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}++-- |+-- Module      : Network.Google.AppEngine+-- 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 App Engine Admin API enables developers to provision and+-- manage their App Engine applications.+--+-- /See:/ <https://developers.google.com/appengine/ Google App Engine Admin API Reference>+module Network.Google.AppEngine+    (+    -- * Service Configuration+      appEngineService++    -- * API Declaration+    , AppEngineAPI++    -- * Resources++    -- ** appengine.apps.get+    , module Network.Google.Resource.AppEngine.Apps.Get++    -- ** appengine.apps.modules.delete+    , module Network.Google.Resource.AppEngine.Apps.Modules.Delete++    -- ** appengine.apps.modules.get+    , module Network.Google.Resource.AppEngine.Apps.Modules.Get++    -- ** appengine.apps.modules.list+    , module Network.Google.Resource.AppEngine.Apps.Modules.List++    -- ** appengine.apps.modules.patch+    , module Network.Google.Resource.AppEngine.Apps.Modules.Patch++    -- ** appengine.apps.modules.versions.create+    , module Network.Google.Resource.AppEngine.Apps.Modules.Versions.Create++    -- ** appengine.apps.modules.versions.delete+    , module Network.Google.Resource.AppEngine.Apps.Modules.Versions.Delete++    -- ** appengine.apps.modules.versions.get+    , module Network.Google.Resource.AppEngine.Apps.Modules.Versions.Get++    -- ** appengine.apps.modules.versions.list+    , module Network.Google.Resource.AppEngine.Apps.Modules.Versions.List++    -- ** appengine.apps.operations.get+    , module Network.Google.Resource.AppEngine.Apps.Operations.Get++    -- ** appengine.apps.operations.list+    , module Network.Google.Resource.AppEngine.Apps.Operations.List++    -- * Types++    -- ** Status+    , Status+    , status+    , sDetails+    , sCode+    , sMessage++    -- ** OperationSchema+    , OperationSchema+    , operationSchema+    , osAddtional++    -- ** TrafficSplit+    , TrafficSplit+    , trafficSplit+    , tsShardBy+    , tsAllocations++    -- ** ScriptHandler+    , ScriptHandler+    , scriptHandler+    , shScriptPath++    -- ** URLMap+    , URLMap+    , urlMap+    , umScript+    , umSecurityLevel+    , umAPIEndpoint+    , umURLRegex+    , umRedirectHTTPResponseCode+    , umAuthFailAction+    , umStaticFiles+    , umLogin+    , umStaticDirectory++    -- ** Library+    , Library+    , library+    , lName+    , lVersion++    -- ** ListOperationsResponse+    , ListOperationsResponse+    , listOperationsResponse+    , lorNextPageToken+    , lorOperations++    -- ** HealthCheck+    , HealthCheck+    , healthCheck+    , hcHealthyThreshold+    , hcDisableHealthCheck+    , hcCheckInterval+    , hcRestartThreshold+    , hcHost+    , hcTimeout+    , hcUnhealthyThreshold++    -- ** APIConfigHandler+    , APIConfigHandler+    , apiConfigHandler+    , achScript+    , achSecurityLevel+    , achURL+    , achAuthFailAction+    , achLogin++    -- ** VersionEnvVariables+    , VersionEnvVariables+    , versionEnvVariables+    , vevAddtional++    -- ** Application+    , Application+    , application+    , aLocation+    , aCodeBucket+    , aName+    , aDispatchRules+    , aId++    -- ** VersionBetaSettings+    , VersionBetaSettings+    , versionBetaSettings+    , vbsAddtional++    -- ** Operation+    , Operation+    , operation+    , oDone+    , oError+    , oResponse+    , oName+    , oMetadata++    -- ** URLDispatchRule+    , URLDispatchRule+    , urlDispatchRule+    , udrPath+    , udrDomain+    , udrModule++    -- ** StaticDirectoryHandlerHTTPHeaders+    , StaticDirectoryHandlerHTTPHeaders+    , staticDirectoryHandlerHTTPHeaders+    , sdhhttphAddtional++    -- ** ListVersionsResponse+    , ListVersionsResponse+    , listVersionsResponse+    , lvrNextPageToken+    , lvrVersions++    -- ** FileInfo+    , FileInfo+    , fileInfo+    , fiSha1Sum+    , fiMimeType+    , fiSourceURL++    -- ** AutomaticScaling+    , AutomaticScaling+    , automaticScaling+    , asMaxTotalInstances+    , asMinIdleInstances+    , asMinPendingLatency+    , asCPUUtilization+    , asMaxIdleInstances+    , asMinTotalInstances+    , asMaxConcurrentRequests+    , asCoolDownPeriod+    , asMaxPendingLatency++    -- ** ListModulesResponse+    , ListModulesResponse+    , listModulesResponse+    , lmrNextPageToken+    , lmrModules++    -- ** APIEndpointHandler+    , APIEndpointHandler+    , apiEndpointHandler+    , aehScriptPath++    -- ** StatusDetailsItem+    , StatusDetailsItem+    , statusDetailsItem+    , sdiAddtional++    -- ** Network+    , Network+    , network+    , nForwardedPorts+    , nInstanceTag+    , nName++    -- ** StaticFilesHandlerHTTPHeaders+    , StaticFilesHandlerHTTPHeaders+    , staticFilesHandlerHTTPHeaders+    , sfhhttphAddtional++    -- ** Resources+    , Resources+    , resources+    , rMemoryGb+    , rDiskGb+    , rCPU++    -- ** DeploymentFiles+    , DeploymentFiles+    , deploymentFiles+    , dfAddtional++    -- ** CPUUtilization+    , CPUUtilization+    , cpuUtilization+    , cuAggregationWindowLength+    , cuTargetUtilization++    -- ** TrafficSplitAllocations+    , TrafficSplitAllocations+    , trafficSplitAllocations+    , tsaAddtional++    -- ** ManualScaling+    , ManualScaling+    , manualScaling+    , msInstances++    -- ** BasicScaling+    , BasicScaling+    , basicScaling+    , bsMaxInstances+    , bsIdleTimeout++    -- ** Version+    , Version+    , version+    , vCreationTime+    , vRuntime+    , vDeployer+    , vNobuildFilesRegex+    , vInstanceClass+    , vHealthCheck+    , vEnv+    , vDefaultExpiration+    , vAutomaticScaling+    , vErrorHandlers+    , vVM+    , vHandlers+    , vInboundServices+    , vNetwork+    , vResources+    , vName+    , vThreadsafe+    , vBetaSettings+    , vBasicScaling+    , vManualScaling+    , vAPIConfig+    , vId+    , vEnvVariables+    , vServingStatus+    , vLibraries+    , vDeployment++    -- ** Module+    , Module+    , module'+    , mSplit+    , mName+    , mId++    -- ** StaticFilesHandler+    , StaticFilesHandler+    , staticFilesHandler+    , sfhHTTPHeaders+    , sfhPath+    , sfhRequireMatchingFile+    , sfhExpiration+    , sfhMimeType+    , sfhApplicationReadable+    , sfhUploadPathRegex++    -- ** ErrorHandler+    , ErrorHandler+    , errorHandler+    , ehMimeType+    , ehErrorCode+    , ehStaticFile++    -- ** OperationMetadata+    , OperationMetadata+    , operationMetadata+    , omInsertTime+    , omUser+    , omMethod+    , omEndTime+    , omOperationType+    , omTarget++    -- ** SourceReference+    , SourceReference+    , sourceReference+    , srRepository+    , srRevisionId++    -- ** OperationResponse+    , OperationResponse+    , operationResponse+    , orAddtional++    -- ** ContainerInfo+    , ContainerInfo+    , containerInfo+    , ciImage++    -- ** Deployment+    , Deployment+    , deployment+    , dContainer+    , dFiles+    , dSourceReferences++    -- ** StaticDirectoryHandler+    , StaticDirectoryHandler+    , staticDirectoryHandler+    , sdhHTTPHeaders+    , sdhRequireMatchingFile+    , sdhExpiration+    , sdhMimeType+    , sdhApplicationReadable+    , sdhDirectory+    ) where++import           Network.Google.AppEngine.Types+import           Network.Google.Prelude+import           Network.Google.Resource.AppEngine.Apps.Get+import           Network.Google.Resource.AppEngine.Apps.Modules.Delete+import           Network.Google.Resource.AppEngine.Apps.Modules.Get+import           Network.Google.Resource.AppEngine.Apps.Modules.List+import           Network.Google.Resource.AppEngine.Apps.Modules.Patch+import           Network.Google.Resource.AppEngine.Apps.Modules.Versions.Create+import           Network.Google.Resource.AppEngine.Apps.Modules.Versions.Delete+import           Network.Google.Resource.AppEngine.Apps.Modules.Versions.Get+import           Network.Google.Resource.AppEngine.Apps.Modules.Versions.List+import           Network.Google.Resource.AppEngine.Apps.Operations.Get+import           Network.Google.Resource.AppEngine.Apps.Operations.List++{- $resources+TODO+-}++-- | Represents the entirety of the methods and resources available for the Google App Engine Admin API service.+type AppEngineAPI =+     AppsModulesVersionsListResource :<|>+       AppsModulesVersionsGetResource+       :<|> AppsModulesVersionsCreateResource+       :<|> AppsModulesVersionsDeleteResource+       :<|> AppsModulesListResource+       :<|> AppsModulesPatchResource+       :<|> AppsModulesGetResource+       :<|> AppsModulesDeleteResource+       :<|> AppsOperationsListResource+       :<|> AppsOperationsGetResource+       :<|> AppsGetResource
+ gen/Network/Google/AppEngine/Types.hs view
@@ -0,0 +1,331 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module      : Network.Google.AppEngine.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.AppEngine.Types+    (+    -- * Service Configuration+      appEngineService++    -- * OAuth Scopes+    , cloudPlatformScope++    -- * Status+    , Status+    , status+    , sDetails+    , sCode+    , sMessage++    -- * OperationSchema+    , OperationSchema+    , operationSchema+    , osAddtional++    -- * TrafficSplit+    , TrafficSplit+    , trafficSplit+    , tsShardBy+    , tsAllocations++    -- * ScriptHandler+    , ScriptHandler+    , scriptHandler+    , shScriptPath++    -- * URLMap+    , URLMap+    , urlMap+    , umScript+    , umSecurityLevel+    , umAPIEndpoint+    , umURLRegex+    , umRedirectHTTPResponseCode+    , umAuthFailAction+    , umStaticFiles+    , umLogin+    , umStaticDirectory++    -- * Library+    , Library+    , library+    , lName+    , lVersion++    -- * ListOperationsResponse+    , ListOperationsResponse+    , listOperationsResponse+    , lorNextPageToken+    , lorOperations++    -- * HealthCheck+    , HealthCheck+    , healthCheck+    , hcHealthyThreshold+    , hcDisableHealthCheck+    , hcCheckInterval+    , hcRestartThreshold+    , hcHost+    , hcTimeout+    , hcUnhealthyThreshold++    -- * APIConfigHandler+    , APIConfigHandler+    , apiConfigHandler+    , achScript+    , achSecurityLevel+    , achURL+    , achAuthFailAction+    , achLogin++    -- * VersionEnvVariables+    , VersionEnvVariables+    , versionEnvVariables+    , vevAddtional++    -- * Application+    , Application+    , application+    , aLocation+    , aCodeBucket+    , aName+    , aDispatchRules+    , aId++    -- * VersionBetaSettings+    , VersionBetaSettings+    , versionBetaSettings+    , vbsAddtional++    -- * Operation+    , Operation+    , operation+    , oDone+    , oError+    , oResponse+    , oName+    , oMetadata++    -- * URLDispatchRule+    , URLDispatchRule+    , urlDispatchRule+    , udrPath+    , udrDomain+    , udrModule++    -- * StaticDirectoryHandlerHTTPHeaders+    , StaticDirectoryHandlerHTTPHeaders+    , staticDirectoryHandlerHTTPHeaders+    , sdhhttphAddtional++    -- * ListVersionsResponse+    , ListVersionsResponse+    , listVersionsResponse+    , lvrNextPageToken+    , lvrVersions++    -- * FileInfo+    , FileInfo+    , fileInfo+    , fiSha1Sum+    , fiMimeType+    , fiSourceURL++    -- * AutomaticScaling+    , AutomaticScaling+    , automaticScaling+    , asMaxTotalInstances+    , asMinIdleInstances+    , asMinPendingLatency+    , asCPUUtilization+    , asMaxIdleInstances+    , asMinTotalInstances+    , asMaxConcurrentRequests+    , asCoolDownPeriod+    , asMaxPendingLatency++    -- * ListModulesResponse+    , ListModulesResponse+    , listModulesResponse+    , lmrNextPageToken+    , lmrModules++    -- * APIEndpointHandler+    , APIEndpointHandler+    , apiEndpointHandler+    , aehScriptPath++    -- * StatusDetailsItem+    , StatusDetailsItem+    , statusDetailsItem+    , sdiAddtional++    -- * Network+    , Network+    , network+    , nForwardedPorts+    , nInstanceTag+    , nName++    -- * StaticFilesHandlerHTTPHeaders+    , StaticFilesHandlerHTTPHeaders+    , staticFilesHandlerHTTPHeaders+    , sfhhttphAddtional++    -- * Resources+    , Resources+    , resources+    , rMemoryGb+    , rDiskGb+    , rCPU++    -- * DeploymentFiles+    , DeploymentFiles+    , deploymentFiles+    , dfAddtional++    -- * CPUUtilization+    , CPUUtilization+    , cpuUtilization+    , cuAggregationWindowLength+    , cuTargetUtilization++    -- * TrafficSplitAllocations+    , TrafficSplitAllocations+    , trafficSplitAllocations+    , tsaAddtional++    -- * ManualScaling+    , ManualScaling+    , manualScaling+    , msInstances++    -- * BasicScaling+    , BasicScaling+    , basicScaling+    , bsMaxInstances+    , bsIdleTimeout++    -- * Version+    , Version+    , version+    , vCreationTime+    , vRuntime+    , vDeployer+    , vNobuildFilesRegex+    , vInstanceClass+    , vHealthCheck+    , vEnv+    , vDefaultExpiration+    , vAutomaticScaling+    , vErrorHandlers+    , vVM+    , vHandlers+    , vInboundServices+    , vNetwork+    , vResources+    , vName+    , vThreadsafe+    , vBetaSettings+    , vBasicScaling+    , vManualScaling+    , vAPIConfig+    , vId+    , vEnvVariables+    , vServingStatus+    , vLibraries+    , vDeployment++    -- * Module+    , Module+    , module'+    , mSplit+    , mName+    , mId++    -- * StaticFilesHandler+    , StaticFilesHandler+    , staticFilesHandler+    , sfhHTTPHeaders+    , sfhPath+    , sfhRequireMatchingFile+    , sfhExpiration+    , sfhMimeType+    , sfhApplicationReadable+    , sfhUploadPathRegex++    -- * ErrorHandler+    , ErrorHandler+    , errorHandler+    , ehMimeType+    , ehErrorCode+    , ehStaticFile++    -- * OperationMetadata+    , OperationMetadata+    , operationMetadata+    , omInsertTime+    , omUser+    , omMethod+    , omEndTime+    , omOperationType+    , omTarget++    -- * SourceReference+    , SourceReference+    , sourceReference+    , srRepository+    , srRevisionId++    -- * OperationResponse+    , OperationResponse+    , operationResponse+    , orAddtional++    -- * ContainerInfo+    , ContainerInfo+    , containerInfo+    , ciImage++    -- * Deployment+    , Deployment+    , deployment+    , dContainer+    , dFiles+    , dSourceReferences++    -- * StaticDirectoryHandler+    , StaticDirectoryHandler+    , staticDirectoryHandler+    , sdhHTTPHeaders+    , sdhRequireMatchingFile+    , sdhExpiration+    , sdhMimeType+    , sdhApplicationReadable+    , sdhDirectory+    ) where++import           Network.Google.AppEngine.Types.Product+import           Network.Google.AppEngine.Types.Sum+import           Network.Google.Prelude++-- | Default request referring to version 'v1beta4' of the Google App Engine Admin API. This contains the host and root path used as a starting point for constructing service requests.+appEngineService :: Service+appEngineService+  = defaultService (ServiceId "appengine:v1beta4")+      "appengine.googleapis.com"++-- | View and manage your data across Google Cloud Platform services+cloudPlatformScope :: OAuthScope+cloudPlatformScope = "https://www.googleapis.com/auth/cloud-platform";
+ gen/Network/Google/AppEngine/Types/Product.hs view
@@ -0,0 +1,2804 @@+{-# 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.AppEngine.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.AppEngine.Types.Product where++import           Network.Google.AppEngine.Types.Sum+import           Network.Google.Prelude++-- | The \`Status\` type defines a logical error model that is suitable for+-- different programming environments, including REST APIs and RPC APIs. It+-- is used by [gRPC](https:\/\/github.com\/grpc). The error model is+-- designed to be: - Simple to use and understand for most users - Flexible+-- enough to meet unexpected needs # Overview The \`Status\` message+-- contains three pieces of data: error code, error message, and error+-- details. The error code should be an enum value of+-- [google.rpc.Code][google.rpc.Code], but it may accept additional error+-- codes if needed. The error message should be a developer-facing English+-- message that helps developers *understand* and *resolve* the error. If a+-- localized user-facing error message is needed, put the localized message+-- in the error details or localize it in the client. The optional error+-- details may contain arbitrary information about the error. There is a+-- predefined set of error detail types in the package \`google.rpc\` which+-- can be used for common error conditions. # Language mapping The+-- \`Status\` message is the logical representation of the error model, but+-- it is not necessarily the actual wire format. When the \`Status\`+-- message is exposed in different client libraries and different wire+-- protocols, it can be mapped differently. For example, it will likely be+-- mapped to some exceptions in Java, but more likely mapped to some error+-- codes in C. # Other uses The error model and the \`Status\` message can+-- be used in a variety of environments, either with or without APIs, to+-- provide a consistent developer experience across different environments.+-- Example uses of this error model include: - Partial errors. If a service+-- needs to return partial errors to the client, it may embed the+-- \`Status\` in the normal response to indicate the partial errors. -+-- Workflow errors. A typical workflow has multiple steps. Each step may+-- have a \`Status\` message for error reporting purpose. - Batch+-- operations. If a client uses batch request and batch response, the+-- \`Status\` message should be used directly inside batch response, one+-- for each error sub-response. - Asynchronous operations. If an API call+-- embeds asynchronous operation results in its response, the status of+-- those operations should be represented directly using the \`Status\`+-- message. - Logging. If some API errors are stored in logs, the message+-- \`Status\` could be used directly after any stripping needed for+-- security\/privacy reasons.+--+-- /See:/ 'status' smart constructor.+data Status = Status+    { _sDetails :: !(Maybe [StatusDetailsItem])+    , _sCode    :: !(Maybe (Textual Int32))+    , _sMessage :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Status' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sDetails'+--+-- * 'sCode'+--+-- * 'sMessage'+status+    :: Status+status =+    Status+    { _sDetails = Nothing+    , _sCode = Nothing+    , _sMessage = Nothing+    }++-- | A list of messages that carry the error details. There will be a common+-- set of message types for APIs to use.+sDetails :: Lens' Status [StatusDetailsItem]+sDetails+  = lens _sDetails (\ s a -> s{_sDetails = a}) .+      _Default+      . _Coerce++-- | The status code, which should be an enum value of+-- [google.rpc.Code][google.rpc.Code].+sCode :: Lens' Status (Maybe Int32)+sCode+  = lens _sCode (\ s a -> s{_sCode = a}) .+      mapping _Coerce++-- | A developer-facing error message, which should be in English. Any+-- user-facing error message should be localized and sent in the+-- [google.rpc.Status.details][google.rpc.Status.details] field, or+-- localized by the client.+sMessage :: Lens' Status (Maybe Text)+sMessage = lens _sMessage (\ s a -> s{_sMessage = a})++instance FromJSON Status where+        parseJSON+          = withObject "Status"+              (\ o ->+                 Status <$>+                   (o .:? "details" .!= mempty) <*> (o .:? "code") <*>+                     (o .:? "message"))++instance ToJSON Status where+        toJSON Status{..}+          = object+              (catMaybes+                 [("details" .=) <$> _sDetails,+                  ("code" .=) <$> _sCode,+                  ("message" .=) <$> _sMessage])++-- | Service-specific metadata associated with the operation. It typically+-- contains progress information and common metadata such as create time.+-- Some services might not provide such metadata. Any method that returns a+-- long-running operation should document the metadata type, if any.+--+-- /See:/ 'operationSchema' smart constructor.+newtype OperationSchema = OperationSchema+    { _osAddtional :: HashMap Text JSONValue+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'OperationSchema' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'osAddtional'+operationSchema+    :: HashMap Text JSONValue -- ^ 'osAddtional'+    -> OperationSchema+operationSchema pOsAddtional_ =+    OperationSchema+    { _osAddtional = _Coerce # pOsAddtional_+    }++-- | Properties of the object. Contains field \'ype with type URL.+osAddtional :: Lens' OperationSchema (HashMap Text JSONValue)+osAddtional+  = lens _osAddtional (\ s a -> s{_osAddtional = a}) .+      _Coerce++instance FromJSON OperationSchema where+        parseJSON+          = withObject "OperationSchema"+              (\ o -> OperationSchema <$> (parseJSONObject o))++instance ToJSON OperationSchema where+        toJSON = toJSON . _osAddtional++-- | Configuration for traffic splitting for versions within a single module.+-- Traffic splitting allows traffic directed to the module to be assigned+-- to one of several versions in a fractional way, enabling experiments and+-- canarying new builds, for example.+--+-- /See:/ 'trafficSplit' smart constructor.+data TrafficSplit = TrafficSplit+    { _tsShardBy     :: !(Maybe Text)+    , _tsAllocations :: !(Maybe TrafficSplitAllocations)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TrafficSplit' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tsShardBy'+--+-- * 'tsAllocations'+trafficSplit+    :: TrafficSplit+trafficSplit =+    TrafficSplit+    { _tsShardBy = Nothing+    , _tsAllocations = Nothing+    }++-- | Which mechanism should be used as a selector when choosing a version to+-- send a request to. The traffic selection algorithm will be stable for+-- either type until allocations are changed.+tsShardBy :: Lens' TrafficSplit (Maybe Text)+tsShardBy+  = lens _tsShardBy (\ s a -> s{_tsShardBy = a})++-- | Mapping from module version IDs within the module to fractional (0.000,+-- 1] allocations of traffic for that version. Each version may only be+-- specified once, but some versions in the module may not have any traffic+-- allocation. Modules that have traffic allocated in this field may not be+-- deleted until the module is deleted, or their traffic allocation is+-- removed. Allocations must sum to 1. Supports precision up to two decimal+-- places for IP-based splits and up to three decimal places for+-- cookie-based splits.+tsAllocations :: Lens' TrafficSplit (Maybe TrafficSplitAllocations)+tsAllocations+  = lens _tsAllocations+      (\ s a -> s{_tsAllocations = a})++instance FromJSON TrafficSplit where+        parseJSON+          = withObject "TrafficSplit"+              (\ o ->+                 TrafficSplit <$>+                   (o .:? "shardBy") <*> (o .:? "allocations"))++instance ToJSON TrafficSplit where+        toJSON TrafficSplit{..}+          = object+              (catMaybes+                 [("shardBy" .=) <$> _tsShardBy,+                  ("allocations" .=) <$> _tsAllocations])++-- | Executes a script to handle the request that matches the URL pattern.+--+-- /See:/ 'scriptHandler' smart constructor.+newtype ScriptHandler = ScriptHandler+    { _shScriptPath :: Maybe Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ScriptHandler' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'shScriptPath'+scriptHandler+    :: ScriptHandler+scriptHandler =+    ScriptHandler+    { _shScriptPath = Nothing+    }++-- | Specifies the path to the script from the application root directory.+shScriptPath :: Lens' ScriptHandler (Maybe Text)+shScriptPath+  = lens _shScriptPath (\ s a -> s{_shScriptPath = a})++instance FromJSON ScriptHandler where+        parseJSON+          = withObject "ScriptHandler"+              (\ o -> ScriptHandler <$> (o .:? "scriptPath"))++instance ToJSON ScriptHandler where+        toJSON ScriptHandler{..}+          = object+              (catMaybes [("scriptPath" .=) <$> _shScriptPath])++-- | A URL pattern and description of how it should be handled. App Engine+-- can handle URLs by executing application code, or by serving static+-- files uploaded with the code, such as images, CSS or JavaScript.+--+-- /See:/ 'urlMap' smart constructor.+data URLMap = URLMap+    { _umScript                   :: !(Maybe ScriptHandler)+    , _umSecurityLevel            :: !(Maybe Text)+    , _umAPIEndpoint              :: !(Maybe APIEndpointHandler)+    , _umURLRegex                 :: !(Maybe Text)+    , _umRedirectHTTPResponseCode :: !(Maybe Text)+    , _umAuthFailAction           :: !(Maybe Text)+    , _umStaticFiles              :: !(Maybe StaticFilesHandler)+    , _umLogin                    :: !(Maybe Text)+    , _umStaticDirectory          :: !(Maybe StaticDirectoryHandler)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'URLMap' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'umScript'+--+-- * 'umSecurityLevel'+--+-- * 'umAPIEndpoint'+--+-- * 'umURLRegex'+--+-- * 'umRedirectHTTPResponseCode'+--+-- * 'umAuthFailAction'+--+-- * 'umStaticFiles'+--+-- * 'umLogin'+--+-- * 'umStaticDirectory'+urlMap+    :: URLMap+urlMap =+    URLMap+    { _umScript = Nothing+    , _umSecurityLevel = Nothing+    , _umAPIEndpoint = Nothing+    , _umURLRegex = Nothing+    , _umRedirectHTTPResponseCode = Nothing+    , _umAuthFailAction = Nothing+    , _umStaticFiles = Nothing+    , _umLogin = Nothing+    , _umStaticDirectory = Nothing+    }++-- | Executes a script to handle the request that matches the URL pattern.+umScript :: Lens' URLMap (Maybe ScriptHandler)+umScript = lens _umScript (\ s a -> s{_umScript = a})++-- | Configures whether security (HTTPS) should be enforced for this URL.+umSecurityLevel :: Lens' URLMap (Maybe Text)+umSecurityLevel+  = lens _umSecurityLevel+      (\ s a -> s{_umSecurityLevel = a})++-- | Use API Endpoints to handle requests.+umAPIEndpoint :: Lens' URLMap (Maybe APIEndpointHandler)+umAPIEndpoint+  = lens _umAPIEndpoint+      (\ s a -> s{_umAPIEndpoint = a})++-- | A URL prefix. This value uses regular expression syntax (and so regexp+-- special characters must be escaped), but it should not contain+-- groupings. All URLs that begin with this prefix are handled by this+-- handler, using the portion of the URL after the prefix as part of the+-- file path. This is always required.+umURLRegex :: Lens' URLMap (Maybe Text)+umURLRegex+  = lens _umURLRegex (\ s a -> s{_umURLRegex = a})++-- | \`30x\` code to use when performing redirects for the \`secure\` field.+-- A \`302\` is used by default.+umRedirectHTTPResponseCode :: Lens' URLMap (Maybe Text)+umRedirectHTTPResponseCode+  = lens _umRedirectHTTPResponseCode+      (\ s a -> s{_umRedirectHTTPResponseCode = a})++-- | For users not logged in, how to handle access to resources with required+-- login. Defaults to \"redirect\".+umAuthFailAction :: Lens' URLMap (Maybe Text)+umAuthFailAction+  = lens _umAuthFailAction+      (\ s a -> s{_umAuthFailAction = a})++-- | Returns the contents of a file, such as an image, as the response.+umStaticFiles :: Lens' URLMap (Maybe StaticFilesHandler)+umStaticFiles+  = lens _umStaticFiles+      (\ s a -> s{_umStaticFiles = a})++-- | What level of login is required to access this resource.+umLogin :: Lens' URLMap (Maybe Text)+umLogin = lens _umLogin (\ s a -> s{_umLogin = a})++-- | Serves the entire contents of a directory as static files. This+-- attribute is deprecated. You can mimic the behavior of static+-- directories using static files.+umStaticDirectory :: Lens' URLMap (Maybe StaticDirectoryHandler)+umStaticDirectory+  = lens _umStaticDirectory+      (\ s a -> s{_umStaticDirectory = a})++instance FromJSON URLMap where+        parseJSON+          = withObject "URLMap"+              (\ o ->+                 URLMap <$>+                   (o .:? "script") <*> (o .:? "securityLevel") <*>+                     (o .:? "apiEndpoint")+                     <*> (o .:? "urlRegex")+                     <*> (o .:? "redirectHttpResponseCode")+                     <*> (o .:? "authFailAction")+                     <*> (o .:? "staticFiles")+                     <*> (o .:? "login")+                     <*> (o .:? "staticDirectory"))++instance ToJSON URLMap where+        toJSON URLMap{..}+          = object+              (catMaybes+                 [("script" .=) <$> _umScript,+                  ("securityLevel" .=) <$> _umSecurityLevel,+                  ("apiEndpoint" .=) <$> _umAPIEndpoint,+                  ("urlRegex" .=) <$> _umURLRegex,+                  ("redirectHttpResponseCode" .=) <$>+                    _umRedirectHTTPResponseCode,+                  ("authFailAction" .=) <$> _umAuthFailAction,+                  ("staticFiles" .=) <$> _umStaticFiles,+                  ("login" .=) <$> _umLogin,+                  ("staticDirectory" .=) <$> _umStaticDirectory])++-- | A Python runtime third-party library required by the application.+--+-- /See:/ 'library' smart constructor.+data Library = Library+    { _lName    :: !(Maybe Text)+    , _lVersion :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Library' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lName'+--+-- * 'lVersion'+library+    :: Library+library =+    Library+    { _lName = Nothing+    , _lVersion = Nothing+    }++-- | The name of the library, e.g. \"PIL\" or \"django\".+lName :: Lens' Library (Maybe Text)+lName = lens _lName (\ s a -> s{_lName = a})++-- | The version of the library to select, or \"latest\".+lVersion :: Lens' Library (Maybe Text)+lVersion = lens _lVersion (\ s a -> s{_lVersion = a})++instance FromJSON Library where+        parseJSON+          = withObject "Library"+              (\ o ->+                 Library <$> (o .:? "name") <*> (o .:? "version"))++instance ToJSON Library where+        toJSON Library{..}+          = object+              (catMaybes+                 [("name" .=) <$> _lName,+                  ("version" .=) <$> _lVersion])++-- | The response message for+-- [Operations.ListOperations][google.longrunning.Operations.ListOperations].+--+-- /See:/ 'listOperationsResponse' smart constructor.+data ListOperationsResponse = ListOperationsResponse+    { _lorNextPageToken :: !(Maybe Text)+    , _lorOperations    :: !(Maybe [Operation])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ListOperationsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lorNextPageToken'+--+-- * 'lorOperations'+listOperationsResponse+    :: ListOperationsResponse+listOperationsResponse =+    ListOperationsResponse+    { _lorNextPageToken = Nothing+    , _lorOperations = Nothing+    }++-- | The standard List next-page token.+lorNextPageToken :: Lens' ListOperationsResponse (Maybe Text)+lorNextPageToken+  = lens _lorNextPageToken+      (\ s a -> s{_lorNextPageToken = a})++-- | A list of operations that matches the specified filter in the request.+lorOperations :: Lens' ListOperationsResponse [Operation]+lorOperations+  = lens _lorOperations+      (\ s a -> s{_lorOperations = a})+      . _Default+      . _Coerce++instance FromJSON ListOperationsResponse where+        parseJSON+          = withObject "ListOperationsResponse"+              (\ o ->+                 ListOperationsResponse <$>+                   (o .:? "nextPageToken") <*>+                     (o .:? "operations" .!= mempty))++instance ToJSON ListOperationsResponse where+        toJSON ListOperationsResponse{..}+          = object+              (catMaybes+                 [("nextPageToken" .=) <$> _lorNextPageToken,+                  ("operations" .=) <$> _lorOperations])++-- | Configure health checking for the VM instances. Unhealthy VM instances+-- will be killed and replaced with new instances.+--+-- /See:/ 'healthCheck' smart constructor.+data HealthCheck = HealthCheck+    { _hcHealthyThreshold   :: !(Maybe (Textual Word32))+    , _hcDisableHealthCheck :: !(Maybe Bool)+    , _hcCheckInterval      :: !(Maybe Text)+    , _hcRestartThreshold   :: !(Maybe (Textual Word32))+    , _hcHost               :: !(Maybe Text)+    , _hcTimeout            :: !(Maybe Text)+    , _hcUnhealthyThreshold :: !(Maybe (Textual Word32))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'HealthCheck' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'hcHealthyThreshold'+--+-- * 'hcDisableHealthCheck'+--+-- * 'hcCheckInterval'+--+-- * 'hcRestartThreshold'+--+-- * 'hcHost'+--+-- * 'hcTimeout'+--+-- * 'hcUnhealthyThreshold'+healthCheck+    :: HealthCheck+healthCheck =+    HealthCheck+    { _hcHealthyThreshold = Nothing+    , _hcDisableHealthCheck = Nothing+    , _hcCheckInterval = Nothing+    , _hcRestartThreshold = Nothing+    , _hcHost = Nothing+    , _hcTimeout = Nothing+    , _hcUnhealthyThreshold = Nothing+    }++-- | The number of consecutive successful health checks before receiving+-- traffic.+hcHealthyThreshold :: Lens' HealthCheck (Maybe Word32)+hcHealthyThreshold+  = lens _hcHealthyThreshold+      (\ s a -> s{_hcHealthyThreshold = a})+      . mapping _Coerce++-- | Whether to explicitly disable health checks for this instance.+hcDisableHealthCheck :: Lens' HealthCheck (Maybe Bool)+hcDisableHealthCheck+  = lens _hcDisableHealthCheck+      (\ s a -> s{_hcDisableHealthCheck = a})++-- | The interval between health checks.+hcCheckInterval :: Lens' HealthCheck (Maybe Text)+hcCheckInterval+  = lens _hcCheckInterval+      (\ s a -> s{_hcCheckInterval = a})++-- | The number of consecutive failed health checks before an instance is+-- restarted.+hcRestartThreshold :: Lens' HealthCheck (Maybe Word32)+hcRestartThreshold+  = lens _hcRestartThreshold+      (\ s a -> s{_hcRestartThreshold = a})+      . mapping _Coerce++-- | The host header to send when performing an HTTP health check (e.g.+-- myapp.appspot.com)+hcHost :: Lens' HealthCheck (Maybe Text)+hcHost = lens _hcHost (\ s a -> s{_hcHost = a})++-- | The amount of time before the health check is considered failed.+hcTimeout :: Lens' HealthCheck (Maybe Text)+hcTimeout+  = lens _hcTimeout (\ s a -> s{_hcTimeout = a})++-- | The number of consecutive failed health checks before removing traffic.+hcUnhealthyThreshold :: Lens' HealthCheck (Maybe Word32)+hcUnhealthyThreshold+  = lens _hcUnhealthyThreshold+      (\ s a -> s{_hcUnhealthyThreshold = a})+      . mapping _Coerce++instance FromJSON HealthCheck where+        parseJSON+          = withObject "HealthCheck"+              (\ o ->+                 HealthCheck <$>+                   (o .:? "healthyThreshold") <*>+                     (o .:? "disableHealthCheck")+                     <*> (o .:? "checkInterval")+                     <*> (o .:? "restartThreshold")+                     <*> (o .:? "host")+                     <*> (o .:? "timeout")+                     <*> (o .:? "unhealthyThreshold"))++instance ToJSON HealthCheck where+        toJSON HealthCheck{..}+          = object+              (catMaybes+                 [("healthyThreshold" .=) <$> _hcHealthyThreshold,+                  ("disableHealthCheck" .=) <$> _hcDisableHealthCheck,+                  ("checkInterval" .=) <$> _hcCheckInterval,+                  ("restartThreshold" .=) <$> _hcRestartThreshold,+                  ("host" .=) <$> _hcHost,+                  ("timeout" .=) <$> _hcTimeout,+                  ("unhealthyThreshold" .=) <$> _hcUnhealthyThreshold])++-- | API Serving configuration for Cloud Endpoints.+--+-- /See:/ 'apiConfigHandler' smart constructor.+data APIConfigHandler = APIConfigHandler+    { _achScript         :: !(Maybe Text)+    , _achSecurityLevel  :: !(Maybe Text)+    , _achURL            :: !(Maybe Text)+    , _achAuthFailAction :: !(Maybe Text)+    , _achLogin          :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'APIConfigHandler' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'achScript'+--+-- * 'achSecurityLevel'+--+-- * 'achURL'+--+-- * 'achAuthFailAction'+--+-- * 'achLogin'+apiConfigHandler+    :: APIConfigHandler+apiConfigHandler =+    APIConfigHandler+    { _achScript = Nothing+    , _achSecurityLevel = Nothing+    , _achURL = Nothing+    , _achAuthFailAction = Nothing+    , _achLogin = Nothing+    }++-- | Specifies the path to the script from the application root directory.+achScript :: Lens' APIConfigHandler (Maybe Text)+achScript+  = lens _achScript (\ s a -> s{_achScript = a})++-- | Configures whether security (HTTPS) should be enforced for this URL.+achSecurityLevel :: Lens' APIConfigHandler (Maybe Text)+achSecurityLevel+  = lens _achSecurityLevel+      (\ s a -> s{_achSecurityLevel = a})++-- | URL to serve the endpoint at.+achURL :: Lens' APIConfigHandler (Maybe Text)+achURL = lens _achURL (\ s a -> s{_achURL = a})++-- | For users not logged in, how to handle access to resources with required+-- login. Defaults to \"redirect\".+achAuthFailAction :: Lens' APIConfigHandler (Maybe Text)+achAuthFailAction+  = lens _achAuthFailAction+      (\ s a -> s{_achAuthFailAction = a})++-- | What level of login is required to access this resource. Default is+-- \"optional\".+achLogin :: Lens' APIConfigHandler (Maybe Text)+achLogin = lens _achLogin (\ s a -> s{_achLogin = a})++instance FromJSON APIConfigHandler where+        parseJSON+          = withObject "APIConfigHandler"+              (\ o ->+                 APIConfigHandler <$>+                   (o .:? "script") <*> (o .:? "securityLevel") <*>+                     (o .:? "url")+                     <*> (o .:? "authFailAction")+                     <*> (o .:? "login"))++instance ToJSON APIConfigHandler where+        toJSON APIConfigHandler{..}+          = object+              (catMaybes+                 [("script" .=) <$> _achScript,+                  ("securityLevel" .=) <$> _achSecurityLevel,+                  ("url" .=) <$> _achURL,+                  ("authFailAction" .=) <$> _achAuthFailAction,+                  ("login" .=) <$> _achLogin])++-- | Environment variables made available to the application. Only returned+-- in \`GET\` requests if \`view=FULL\` is set. May only be set on create+-- requests; once created, is immutable.+--+-- /See:/ 'versionEnvVariables' smart constructor.+newtype VersionEnvVariables = VersionEnvVariables+    { _vevAddtional :: HashMap Text Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'VersionEnvVariables' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'vevAddtional'+versionEnvVariables+    :: HashMap Text Text -- ^ 'vevAddtional'+    -> VersionEnvVariables+versionEnvVariables pVevAddtional_ =+    VersionEnvVariables+    { _vevAddtional = _Coerce # pVevAddtional_+    }++vevAddtional :: Lens' VersionEnvVariables (HashMap Text Text)+vevAddtional+  = lens _vevAddtional (\ s a -> s{_vevAddtional = a})+      . _Coerce++instance FromJSON VersionEnvVariables where+        parseJSON+          = withObject "VersionEnvVariables"+              (\ o -> VersionEnvVariables <$> (parseJSONObject o))++instance ToJSON VersionEnvVariables where+        toJSON = toJSON . _vevAddtional++-- | An Application contains the top-level configuration of an App Engine+-- application.+--+-- /See:/ 'application' smart constructor.+data Application = Application+    { _aLocation      :: !(Maybe Text)+    , _aCodeBucket    :: !(Maybe Text)+    , _aName          :: !(Maybe Text)+    , _aDispatchRules :: !(Maybe [URLDispatchRule])+    , _aId            :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Application' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'aLocation'+--+-- * 'aCodeBucket'+--+-- * 'aName'+--+-- * 'aDispatchRules'+--+-- * 'aId'+application+    :: Application+application =+    Application+    { _aLocation = Nothing+    , _aCodeBucket = Nothing+    , _aName = Nothing+    , _aDispatchRules = Nothing+    , _aId = Nothing+    }++-- | The location from which the application will be run. Choices are+-- \"us-central\" for United States and \"europe-west\" for European Union.+-- Application instances will run out of data centers in the chosen+-- location and all of the application\'s End User Content will be stored+-- at rest in the chosen location. The default is \"us-central\".+aLocation :: Lens' Application (Maybe Text)+aLocation+  = lens _aLocation (\ s a -> s{_aLocation = a})++-- | A Google Cloud Storage bucket which can be used for storing files+-- associated with an application. This bucket is associated with the+-- application and can be used by the gcloud deployment commands.+-- \'OutputOnly+aCodeBucket :: Lens' Application (Maybe Text)+aCodeBucket+  = lens _aCodeBucket (\ s a -> s{_aCodeBucket = a})++-- | The full path to the application in the API. Example: \"apps\/myapp\".+-- \'OutputOnly+aName :: Lens' Application (Maybe Text)+aName = lens _aName (\ s a -> s{_aName = a})++-- | HTTP path dispatch rules for requests to the app that do not explicitly+-- target a module or version. The rules are order-dependent.+aDispatchRules :: Lens' Application [URLDispatchRule]+aDispatchRules+  = lens _aDispatchRules+      (\ s a -> s{_aDispatchRules = a})+      . _Default+      . _Coerce++-- | The relative name\/path of the application. Example: \"myapp\".+-- \'OutputOnly+aId :: Lens' Application (Maybe Text)+aId = lens _aId (\ s a -> s{_aId = a})++instance FromJSON Application where+        parseJSON+          = withObject "Application"+              (\ o ->+                 Application <$>+                   (o .:? "location") <*> (o .:? "codeBucket") <*>+                     (o .:? "name")+                     <*> (o .:? "dispatchRules" .!= mempty)+                     <*> (o .:? "id"))++instance ToJSON Application where+        toJSON Application{..}+          = object+              (catMaybes+                 [("location" .=) <$> _aLocation,+                  ("codeBucket" .=) <$> _aCodeBucket,+                  ("name" .=) <$> _aName,+                  ("dispatchRules" .=) <$> _aDispatchRules,+                  ("id" .=) <$> _aId])++-- | Beta settings supplied to the application via metadata.+--+-- /See:/ 'versionBetaSettings' smart constructor.+newtype VersionBetaSettings = VersionBetaSettings+    { _vbsAddtional :: HashMap Text Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'VersionBetaSettings' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'vbsAddtional'+versionBetaSettings+    :: HashMap Text Text -- ^ 'vbsAddtional'+    -> VersionBetaSettings+versionBetaSettings pVbsAddtional_ =+    VersionBetaSettings+    { _vbsAddtional = _Coerce # pVbsAddtional_+    }++vbsAddtional :: Lens' VersionBetaSettings (HashMap Text Text)+vbsAddtional+  = lens _vbsAddtional (\ s a -> s{_vbsAddtional = a})+      . _Coerce++instance FromJSON VersionBetaSettings where+        parseJSON+          = withObject "VersionBetaSettings"+              (\ o -> VersionBetaSettings <$> (parseJSONObject o))++instance ToJSON VersionBetaSettings where+        toJSON = toJSON . _vbsAddtional++-- | This resource represents a long-running operation that is the result of+-- a network API call.+--+-- /See:/ 'operation' smart constructor.+data Operation = Operation+    { _oDone     :: !(Maybe Bool)+    , _oError    :: !(Maybe Status)+    , _oResponse :: !(Maybe OperationResponse)+    , _oName     :: !(Maybe Text)+    , _oMetadata :: !(Maybe OperationSchema)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Operation' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'oDone'+--+-- * 'oError'+--+-- * 'oResponse'+--+-- * 'oName'+--+-- * 'oMetadata'+operation+    :: Operation+operation =+    Operation+    { _oDone = Nothing+    , _oError = Nothing+    , _oResponse = Nothing+    , _oName = Nothing+    , _oMetadata = Nothing+    }++-- | If the value is \`false\`, it means the operation is still in progress.+-- If true, the operation is completed, and either \`error\` or+-- \`response\` is available.+oDone :: Lens' Operation (Maybe Bool)+oDone = lens _oDone (\ s a -> s{_oDone = a})++-- | The error result of the operation in case of failure.+oError :: Lens' Operation (Maybe Status)+oError = lens _oError (\ s a -> s{_oError = a})++-- | The normal response of the operation in case of success. If the original+-- method returns no data on success, such as \`Delete\`, the response is+-- \`google.protobuf.Empty\`. If the original method is standard+-- \`Get\`\/\`Create\`\/\`Update\`, the response should be the resource.+-- For other methods, the response should have the type \`XxxResponse\`,+-- where \`Xxx\` is the original method name. For example, if the original+-- method name is \`TakeSnapshot()\`, the inferred response type is+-- \`TakeSnapshotResponse\`.+oResponse :: Lens' Operation (Maybe OperationResponse)+oResponse+  = lens _oResponse (\ s a -> s{_oResponse = a})++-- | The server-assigned name, which is only unique within the same service+-- that originally returns it. If you use the default HTTP mapping above,+-- the \`name\` should have the format of+-- \`operations\/some\/unique\/name\`.+oName :: Lens' Operation (Maybe Text)+oName = lens _oName (\ s a -> s{_oName = a})++-- | Service-specific metadata associated with the operation. It typically+-- contains progress information and common metadata such as create time.+-- Some services might not provide such metadata. Any method that returns a+-- long-running operation should document the metadata type, if any.+oMetadata :: Lens' Operation (Maybe OperationSchema)+oMetadata+  = lens _oMetadata (\ s a -> s{_oMetadata = a})++instance FromJSON Operation where+        parseJSON+          = withObject "Operation"+              (\ o ->+                 Operation <$>+                   (o .:? "done") <*> (o .:? "error") <*>+                     (o .:? "response")+                     <*> (o .:? "name")+                     <*> (o .:? "metadata"))++instance ToJSON Operation where+        toJSON Operation{..}+          = object+              (catMaybes+                 [("done" .=) <$> _oDone, ("error" .=) <$> _oError,+                  ("response" .=) <$> _oResponse,+                  ("name" .=) <$> _oName,+                  ("metadata" .=) <$> _oMetadata])++-- | Rules to match an HTTP request and dispatch that request to a module.+--+-- /See:/ 'urlDispatchRule' smart constructor.+data URLDispatchRule = URLDispatchRule+    { _udrPath   :: !(Maybe Text)+    , _udrDomain :: !(Maybe Text)+    , _udrModule :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'URLDispatchRule' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'udrPath'+--+-- * 'udrDomain'+--+-- * 'udrModule'+urlDispatchRule+    :: URLDispatchRule+urlDispatchRule =+    URLDispatchRule+    { _udrPath = Nothing+    , _udrDomain = Nothing+    , _udrModule = Nothing+    }++-- | The pathname within the host. This must start with a \'\/\'. A single+-- \'*\' (glob) can be included at the end of the path. The sum of the+-- lengths of the domain and path may not exceed 100 characters.+udrPath :: Lens' URLDispatchRule (Maybe Text)+udrPath = lens _udrPath (\ s a -> s{_udrPath = a})++-- | The domain name to match on. Supports \'*\' (glob) wildcarding on the+-- left-hand side of a \'.\'. If empty, all domains will be matched (the+-- same as \'*\').+udrDomain :: Lens' URLDispatchRule (Maybe Text)+udrDomain+  = lens _udrDomain (\ s a -> s{_udrDomain = a})++-- | The resource id of a Module in this application that should service the+-- matched request. The Module must already exist. Example: \"default\".+udrModule :: Lens' URLDispatchRule (Maybe Text)+udrModule+  = lens _udrModule (\ s a -> s{_udrModule = a})++instance FromJSON URLDispatchRule where+        parseJSON+          = withObject "URLDispatchRule"+              (\ o ->+                 URLDispatchRule <$>+                   (o .:? "path") <*> (o .:? "domain") <*>+                     (o .:? "module"))++instance ToJSON URLDispatchRule where+        toJSON URLDispatchRule{..}+          = object+              (catMaybes+                 [("path" .=) <$> _udrPath,+                  ("domain" .=) <$> _udrDomain,+                  ("module" .=) <$> _udrModule])++-- | HTTP headers to use for all responses from these URLs.+--+-- /See:/ 'staticDirectoryHandlerHTTPHeaders' smart constructor.+newtype StaticDirectoryHandlerHTTPHeaders = StaticDirectoryHandlerHTTPHeaders+    { _sdhhttphAddtional :: HashMap Text Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'StaticDirectoryHandlerHTTPHeaders' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sdhhttphAddtional'+staticDirectoryHandlerHTTPHeaders+    :: HashMap Text Text -- ^ 'sdhhttphAddtional'+    -> StaticDirectoryHandlerHTTPHeaders+staticDirectoryHandlerHTTPHeaders pSdhhttphAddtional_ =+    StaticDirectoryHandlerHTTPHeaders+    { _sdhhttphAddtional = _Coerce # pSdhhttphAddtional_+    }++sdhhttphAddtional :: Lens' StaticDirectoryHandlerHTTPHeaders (HashMap Text Text)+sdhhttphAddtional+  = lens _sdhhttphAddtional+      (\ s a -> s{_sdhhttphAddtional = a})+      . _Coerce++instance FromJSON StaticDirectoryHandlerHTTPHeaders+         where+        parseJSON+          = withObject "StaticDirectoryHandlerHTTPHeaders"+              (\ o ->+                 StaticDirectoryHandlerHTTPHeaders <$>+                   (parseJSONObject o))++instance ToJSON StaticDirectoryHandlerHTTPHeaders+         where+        toJSON = toJSON . _sdhhttphAddtional++-- | Response message for \`Versions.ListVersions\`.+--+-- /See:/ 'listVersionsResponse' smart constructor.+data ListVersionsResponse = ListVersionsResponse+    { _lvrNextPageToken :: !(Maybe Text)+    , _lvrVersions      :: !(Maybe [Version])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ListVersionsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lvrNextPageToken'+--+-- * 'lvrVersions'+listVersionsResponse+    :: ListVersionsResponse+listVersionsResponse =+    ListVersionsResponse+    { _lvrNextPageToken = Nothing+    , _lvrVersions = Nothing+    }++-- | Continuation token for fetching the next page of results.+lvrNextPageToken :: Lens' ListVersionsResponse (Maybe Text)+lvrNextPageToken+  = lens _lvrNextPageToken+      (\ s a -> s{_lvrNextPageToken = a})++-- | The versions belonging to the requested application module.+lvrVersions :: Lens' ListVersionsResponse [Version]+lvrVersions+  = lens _lvrVersions (\ s a -> s{_lvrVersions = a}) .+      _Default+      . _Coerce++instance FromJSON ListVersionsResponse where+        parseJSON+          = withObject "ListVersionsResponse"+              (\ o ->+                 ListVersionsResponse <$>+                   (o .:? "nextPageToken") <*>+                     (o .:? "versions" .!= mempty))++instance ToJSON ListVersionsResponse where+        toJSON ListVersionsResponse{..}+          = object+              (catMaybes+                 [("nextPageToken" .=) <$> _lvrNextPageToken,+                  ("versions" .=) <$> _lvrVersions])++-- | A single source file which is part of the application to be deployed.+--+-- /See:/ 'fileInfo' smart constructor.+data FileInfo = FileInfo+    { _fiSha1Sum   :: !(Maybe Text)+    , _fiMimeType  :: !(Maybe Text)+    , _fiSourceURL :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'FileInfo' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'fiSha1Sum'+--+-- * 'fiMimeType'+--+-- * 'fiSourceURL'+fileInfo+    :: FileInfo+fileInfo =+    FileInfo+    { _fiSha1Sum = Nothing+    , _fiMimeType = Nothing+    , _fiSourceURL = Nothing+    }++-- | The SHA1 (160 bits) hash of the file in hex.+fiSha1Sum :: Lens' FileInfo (Maybe Text)+fiSha1Sum+  = lens _fiSha1Sum (\ s a -> s{_fiSha1Sum = a})++-- | The MIME type of the file; if unspecified, the value from Google Cloud+-- Storage will be used.+fiMimeType :: Lens' FileInfo (Maybe Text)+fiMimeType+  = lens _fiMimeType (\ s a -> s{_fiMimeType = a})++-- | The URL source to use to fetch this file. Must be a URL to a resource in+-- Google Cloud Storage.+fiSourceURL :: Lens' FileInfo (Maybe Text)+fiSourceURL+  = lens _fiSourceURL (\ s a -> s{_fiSourceURL = a})++instance FromJSON FileInfo where+        parseJSON+          = withObject "FileInfo"+              (\ o ->+                 FileInfo <$>+                   (o .:? "sha1Sum") <*> (o .:? "mimeType") <*>+                     (o .:? "sourceUrl"))++instance ToJSON FileInfo where+        toJSON FileInfo{..}+          = object+              (catMaybes+                 [("sha1Sum" .=) <$> _fiSha1Sum,+                  ("mimeType" .=) <$> _fiMimeType,+                  ("sourceUrl" .=) <$> _fiSourceURL])++-- | Automatic scaling is the scaling policy that App Engine has used since+-- its inception. It is based on request rate, response latencies, and+-- other application metrics.+--+-- /See:/ 'automaticScaling' smart constructor.+data AutomaticScaling = AutomaticScaling+    { _asMaxTotalInstances     :: !(Maybe (Textual Int32))+    , _asMinIdleInstances      :: !(Maybe (Textual Int32))+    , _asMinPendingLatency     :: !(Maybe Text)+    , _asCPUUtilization        :: !(Maybe CPUUtilization)+    , _asMaxIdleInstances      :: !(Maybe (Textual Int32))+    , _asMinTotalInstances     :: !(Maybe (Textual Int32))+    , _asMaxConcurrentRequests :: !(Maybe (Textual Int32))+    , _asCoolDownPeriod        :: !(Maybe Text)+    , _asMaxPendingLatency     :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AutomaticScaling' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'asMaxTotalInstances'+--+-- * 'asMinIdleInstances'+--+-- * 'asMinPendingLatency'+--+-- * 'asCPUUtilization'+--+-- * 'asMaxIdleInstances'+--+-- * 'asMinTotalInstances'+--+-- * 'asMaxConcurrentRequests'+--+-- * 'asCoolDownPeriod'+--+-- * 'asMaxPendingLatency'+automaticScaling+    :: AutomaticScaling+automaticScaling =+    AutomaticScaling+    { _asMaxTotalInstances = Nothing+    , _asMinIdleInstances = Nothing+    , _asMinPendingLatency = Nothing+    , _asCPUUtilization = Nothing+    , _asMaxIdleInstances = Nothing+    , _asMinTotalInstances = Nothing+    , _asMaxConcurrentRequests = Nothing+    , _asCoolDownPeriod = Nothing+    , _asMaxPendingLatency = Nothing+    }++-- | Max number of instances that App Engine should start to handle requests.+asMaxTotalInstances :: Lens' AutomaticScaling (Maybe Int32)+asMaxTotalInstances+  = lens _asMaxTotalInstances+      (\ s a -> s{_asMaxTotalInstances = a})+      . mapping _Coerce++-- | The minimum number of idle instances that App Engine should maintain for+-- this version. Only applies to the default version of a module, since+-- other versions are not expected to receive significant traffic.+asMinIdleInstances :: Lens' AutomaticScaling (Maybe Int32)+asMinIdleInstances+  = lens _asMinIdleInstances+      (\ s a -> s{_asMinIdleInstances = a})+      . mapping _Coerce++-- | The minimum amount of time that App Engine should allow a request to+-- wait in the pending queue before starting a new instance to handle it.+asMinPendingLatency :: Lens' AutomaticScaling (Maybe Text)+asMinPendingLatency+  = lens _asMinPendingLatency+      (\ s a -> s{_asMinPendingLatency = a})++-- | Target scaling by CPU usage.+asCPUUtilization :: Lens' AutomaticScaling (Maybe CPUUtilization)+asCPUUtilization+  = lens _asCPUUtilization+      (\ s a -> s{_asCPUUtilization = a})++-- | The maximum number of idle instances that App Engine should maintain for+-- this version.+asMaxIdleInstances :: Lens' AutomaticScaling (Maybe Int32)+asMaxIdleInstances+  = lens _asMaxIdleInstances+      (\ s a -> s{_asMaxIdleInstances = a})+      . mapping _Coerce++-- | Minimum number of instances that App Engine should maintain.+asMinTotalInstances :: Lens' AutomaticScaling (Maybe Int32)+asMinTotalInstances+  = lens _asMinTotalInstances+      (\ s a -> s{_asMinTotalInstances = a})+      . mapping _Coerce++-- | The number of concurrent requests an automatic scaling instance can+-- accept before the scheduler spawns a new instance. Default value is+-- chosen based on the runtime.+asMaxConcurrentRequests :: Lens' AutomaticScaling (Maybe Int32)+asMaxConcurrentRequests+  = lens _asMaxConcurrentRequests+      (\ s a -> s{_asMaxConcurrentRequests = a})+      . mapping _Coerce++-- | The amount of time that the+-- [Autoscaler](https:\/\/cloud.google.com\/compute\/docs\/autoscaler\/)+-- should wait between changes to the number of virtual machines. Applies+-- only to the VM runtime.+asCoolDownPeriod :: Lens' AutomaticScaling (Maybe Text)+asCoolDownPeriod+  = lens _asCoolDownPeriod+      (\ s a -> s{_asCoolDownPeriod = a})++-- | The maximum amount of time that App Engine should allow a request to+-- wait in the pending queue before starting a new instance to handle it.+asMaxPendingLatency :: Lens' AutomaticScaling (Maybe Text)+asMaxPendingLatency+  = lens _asMaxPendingLatency+      (\ s a -> s{_asMaxPendingLatency = a})++instance FromJSON AutomaticScaling where+        parseJSON+          = withObject "AutomaticScaling"+              (\ o ->+                 AutomaticScaling <$>+                   (o .:? "maxTotalInstances") <*>+                     (o .:? "minIdleInstances")+                     <*> (o .:? "minPendingLatency")+                     <*> (o .:? "cpuUtilization")+                     <*> (o .:? "maxIdleInstances")+                     <*> (o .:? "minTotalInstances")+                     <*> (o .:? "maxConcurrentRequests")+                     <*> (o .:? "coolDownPeriod")+                     <*> (o .:? "maxPendingLatency"))++instance ToJSON AutomaticScaling where+        toJSON AutomaticScaling{..}+          = object+              (catMaybes+                 [("maxTotalInstances" .=) <$> _asMaxTotalInstances,+                  ("minIdleInstances" .=) <$> _asMinIdleInstances,+                  ("minPendingLatency" .=) <$> _asMinPendingLatency,+                  ("cpuUtilization" .=) <$> _asCPUUtilization,+                  ("maxIdleInstances" .=) <$> _asMaxIdleInstances,+                  ("minTotalInstances" .=) <$> _asMinTotalInstances,+                  ("maxConcurrentRequests" .=) <$>+                    _asMaxConcurrentRequests,+                  ("coolDownPeriod" .=) <$> _asCoolDownPeriod,+                  ("maxPendingLatency" .=) <$> _asMaxPendingLatency])++-- | Response message for \`Modules.ListModules\`.+--+-- /See:/ 'listModulesResponse' smart constructor.+data ListModulesResponse = ListModulesResponse+    { _lmrNextPageToken :: !(Maybe Text)+    , _lmrModules       :: !(Maybe [Module])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ListModulesResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lmrNextPageToken'+--+-- * 'lmrModules'+listModulesResponse+    :: ListModulesResponse+listModulesResponse =+    ListModulesResponse+    { _lmrNextPageToken = Nothing+    , _lmrModules = Nothing+    }++-- | Continuation token for fetching the next page of results.+lmrNextPageToken :: Lens' ListModulesResponse (Maybe Text)+lmrNextPageToken+  = lens _lmrNextPageToken+      (\ s a -> s{_lmrNextPageToken = a})++-- | The modules belonging to the requested application.+lmrModules :: Lens' ListModulesResponse [Module]+lmrModules+  = lens _lmrModules (\ s a -> s{_lmrModules = a}) .+      _Default+      . _Coerce++instance FromJSON ListModulesResponse where+        parseJSON+          = withObject "ListModulesResponse"+              (\ o ->+                 ListModulesResponse <$>+                   (o .:? "nextPageToken") <*>+                     (o .:? "modules" .!= mempty))++instance ToJSON ListModulesResponse where+        toJSON ListModulesResponse{..}+          = object+              (catMaybes+                 [("nextPageToken" .=) <$> _lmrNextPageToken,+                  ("modules" .=) <$> _lmrModules])++-- | Use Google Cloud Endpoints to handle requests.+--+-- /See:/ 'apiEndpointHandler' smart constructor.+newtype APIEndpointHandler = APIEndpointHandler+    { _aehScriptPath :: Maybe Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'APIEndpointHandler' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'aehScriptPath'+apiEndpointHandler+    :: APIEndpointHandler+apiEndpointHandler =+    APIEndpointHandler+    { _aehScriptPath = Nothing+    }++-- | Specifies the path to the script from the application root directory.+aehScriptPath :: Lens' APIEndpointHandler (Maybe Text)+aehScriptPath+  = lens _aehScriptPath+      (\ s a -> s{_aehScriptPath = a})++instance FromJSON APIEndpointHandler where+        parseJSON+          = withObject "APIEndpointHandler"+              (\ o -> APIEndpointHandler <$> (o .:? "scriptPath"))++instance ToJSON APIEndpointHandler where+        toJSON APIEndpointHandler{..}+          = object+              (catMaybes [("scriptPath" .=) <$> _aehScriptPath])++--+-- /See:/ 'statusDetailsItem' smart constructor.+newtype StatusDetailsItem = StatusDetailsItem+    { _sdiAddtional :: HashMap Text JSONValue+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'StatusDetailsItem' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sdiAddtional'+statusDetailsItem+    :: HashMap Text JSONValue -- ^ 'sdiAddtional'+    -> StatusDetailsItem+statusDetailsItem pSdiAddtional_ =+    StatusDetailsItem+    { _sdiAddtional = _Coerce # pSdiAddtional_+    }++-- | Properties of the object. Contains field \'ype with type URL.+sdiAddtional :: Lens' StatusDetailsItem (HashMap Text JSONValue)+sdiAddtional+  = lens _sdiAddtional (\ s a -> s{_sdiAddtional = a})+      . _Coerce++instance FromJSON StatusDetailsItem where+        parseJSON+          = withObject "StatusDetailsItem"+              (\ o -> StatusDetailsItem <$> (parseJSONObject o))++instance ToJSON StatusDetailsItem where+        toJSON = toJSON . _sdiAddtional++-- | Used to specify extra network settings (for VM runtimes only).+--+-- /See:/ 'network' smart constructor.+data Network = Network+    { _nForwardedPorts :: !(Maybe [Text])+    , _nInstanceTag    :: !(Maybe Text)+    , _nName           :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Network' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'nForwardedPorts'+--+-- * 'nInstanceTag'+--+-- * 'nName'+network+    :: Network+network =+    Network+    { _nForwardedPorts = Nothing+    , _nInstanceTag = Nothing+    , _nName = Nothing+    }++-- | A list of ports (or port pairs) to forward from the VM into the app+-- container.+nForwardedPorts :: Lens' Network [Text]+nForwardedPorts+  = lens _nForwardedPorts+      (\ s a -> s{_nForwardedPorts = a})+      . _Default+      . _Coerce++-- | A tag to apply to the VM instance during creation.+nInstanceTag :: Lens' Network (Maybe Text)+nInstanceTag+  = lens _nInstanceTag (\ s a -> s{_nInstanceTag = a})++-- | The Google Compute Engine network where the VMs will be created. If not+-- specified, or empty, the network named \"default\" will be used. (The+-- short name should be specified, not the resource path.)+nName :: Lens' Network (Maybe Text)+nName = lens _nName (\ s a -> s{_nName = a})++instance FromJSON Network where+        parseJSON+          = withObject "Network"+              (\ o ->+                 Network <$>+                   (o .:? "forwardedPorts" .!= mempty) <*>+                     (o .:? "instanceTag")+                     <*> (o .:? "name"))++instance ToJSON Network where+        toJSON Network{..}+          = object+              (catMaybes+                 [("forwardedPorts" .=) <$> _nForwardedPorts,+                  ("instanceTag" .=) <$> _nInstanceTag,+                  ("name" .=) <$> _nName])++-- | HTTP headers to use for all responses from these URLs.+--+-- /See:/ 'staticFilesHandlerHTTPHeaders' smart constructor.+newtype StaticFilesHandlerHTTPHeaders = StaticFilesHandlerHTTPHeaders+    { _sfhhttphAddtional :: HashMap Text Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'StaticFilesHandlerHTTPHeaders' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sfhhttphAddtional'+staticFilesHandlerHTTPHeaders+    :: HashMap Text Text -- ^ 'sfhhttphAddtional'+    -> StaticFilesHandlerHTTPHeaders+staticFilesHandlerHTTPHeaders pSfhhttphAddtional_ =+    StaticFilesHandlerHTTPHeaders+    { _sfhhttphAddtional = _Coerce # pSfhhttphAddtional_+    }++sfhhttphAddtional :: Lens' StaticFilesHandlerHTTPHeaders (HashMap Text Text)+sfhhttphAddtional+  = lens _sfhhttphAddtional+      (\ s a -> s{_sfhhttphAddtional = a})+      . _Coerce++instance FromJSON StaticFilesHandlerHTTPHeaders where+        parseJSON+          = withObject "StaticFilesHandlerHTTPHeaders"+              (\ o ->+                 StaticFilesHandlerHTTPHeaders <$>+                   (parseJSONObject o))++instance ToJSON StaticFilesHandlerHTTPHeaders where+        toJSON = toJSON . _sfhhttphAddtional++-- | Used to specify how many machine resources an app version needs.+--+-- /See:/ 'resources' smart constructor.+data Resources = Resources+    { _rMemoryGb :: !(Maybe (Textual Double))+    , _rDiskGb   :: !(Maybe (Textual Double))+    , _rCPU      :: !(Maybe (Textual Double))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Resources' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rMemoryGb'+--+-- * 'rDiskGb'+--+-- * 'rCPU'+resources+    :: Resources+resources =+    Resources+    { _rMemoryGb = Nothing+    , _rDiskGb = Nothing+    , _rCPU = Nothing+    }++-- | How much memory, in GB, an app version needs.+rMemoryGb :: Lens' Resources (Maybe Double)+rMemoryGb+  = lens _rMemoryGb (\ s a -> s{_rMemoryGb = a}) .+      mapping _Coerce++-- | How much disk size, in GB, an app version needs.+rDiskGb :: Lens' Resources (Maybe Double)+rDiskGb+  = lens _rDiskGb (\ s a -> s{_rDiskGb = a}) .+      mapping _Coerce++-- | How many CPU cores an app version needs.+rCPU :: Lens' Resources (Maybe Double)+rCPU+  = lens _rCPU (\ s a -> s{_rCPU = a}) .+      mapping _Coerce++instance FromJSON Resources where+        parseJSON+          = withObject "Resources"+              (\ o ->+                 Resources <$>+                   (o .:? "memoryGb") <*> (o .:? "diskGb") <*>+                     (o .:? "cpu"))++instance ToJSON Resources where+        toJSON Resources{..}+          = object+              (catMaybes+                 [("memoryGb" .=) <$> _rMemoryGb,+                  ("diskGb" .=) <$> _rDiskGb, ("cpu" .=) <$> _rCPU])++-- | A manifest of files stored in Google Cloud Storage which should be+-- included as part of this application. All files must be readable using+-- the credentials supplied with this call.+--+-- /See:/ 'deploymentFiles' smart constructor.+newtype DeploymentFiles = DeploymentFiles+    { _dfAddtional :: HashMap Text FileInfo+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DeploymentFiles' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dfAddtional'+deploymentFiles+    :: HashMap Text FileInfo -- ^ 'dfAddtional'+    -> DeploymentFiles+deploymentFiles pDfAddtional_ =+    DeploymentFiles+    { _dfAddtional = _Coerce # pDfAddtional_+    }++dfAddtional :: Lens' DeploymentFiles (HashMap Text FileInfo)+dfAddtional+  = lens _dfAddtional (\ s a -> s{_dfAddtional = a}) .+      _Coerce++instance FromJSON DeploymentFiles where+        parseJSON+          = withObject "DeploymentFiles"+              (\ o -> DeploymentFiles <$> (parseJSONObject o))++instance ToJSON DeploymentFiles where+        toJSON = toJSON . _dfAddtional++-- | Target scaling by CPU usage.+--+-- /See:/ 'cpuUtilization' smart constructor.+data CPUUtilization = CPUUtilization+    { _cuAggregationWindowLength :: !(Maybe Text)+    , _cuTargetUtilization       :: !(Maybe (Textual Double))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CPUUtilization' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cuAggregationWindowLength'+--+-- * 'cuTargetUtilization'+cpuUtilization+    :: CPUUtilization+cpuUtilization =+    CPUUtilization+    { _cuAggregationWindowLength = Nothing+    , _cuTargetUtilization = Nothing+    }++-- | The period of time over which CPU utilization is calculated.+cuAggregationWindowLength :: Lens' CPUUtilization (Maybe Text)+cuAggregationWindowLength+  = lens _cuAggregationWindowLength+      (\ s a -> s{_cuAggregationWindowLength = a})++-- | Target (0-1) CPU utilization ratio to maintain when scaling.+cuTargetUtilization :: Lens' CPUUtilization (Maybe Double)+cuTargetUtilization+  = lens _cuTargetUtilization+      (\ s a -> s{_cuTargetUtilization = a})+      . mapping _Coerce++instance FromJSON CPUUtilization where+        parseJSON+          = withObject "CPUUtilization"+              (\ o ->+                 CPUUtilization <$>+                   (o .:? "aggregationWindowLength") <*>+                     (o .:? "targetUtilization"))++instance ToJSON CPUUtilization where+        toJSON CPUUtilization{..}+          = object+              (catMaybes+                 [("aggregationWindowLength" .=) <$>+                    _cuAggregationWindowLength,+                  ("targetUtilization" .=) <$> _cuTargetUtilization])++-- | Mapping from module version IDs within the module to fractional (0.000,+-- 1] allocations of traffic for that version. Each version may only be+-- specified once, but some versions in the module may not have any traffic+-- allocation. Modules that have traffic allocated in this field may not be+-- deleted until the module is deleted, or their traffic allocation is+-- removed. Allocations must sum to 1. Supports precision up to two decimal+-- places for IP-based splits and up to three decimal places for+-- cookie-based splits.+--+-- /See:/ 'trafficSplitAllocations' smart constructor.+newtype TrafficSplitAllocations = TrafficSplitAllocations+    { _tsaAddtional :: HashMap Text (Textual Double)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TrafficSplitAllocations' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tsaAddtional'+trafficSplitAllocations+    :: HashMap Text Double -- ^ 'tsaAddtional'+    -> TrafficSplitAllocations+trafficSplitAllocations pTsaAddtional_ =+    TrafficSplitAllocations+    { _tsaAddtional = _Coerce # pTsaAddtional_+    }++tsaAddtional :: Lens' TrafficSplitAllocations (HashMap Text Double)+tsaAddtional+  = lens _tsaAddtional (\ s a -> s{_tsaAddtional = a})+      . _Coerce++instance FromJSON TrafficSplitAllocations where+        parseJSON+          = withObject "TrafficSplitAllocations"+              (\ o ->+                 TrafficSplitAllocations <$> (parseJSONObject o))++instance ToJSON TrafficSplitAllocations where+        toJSON = toJSON . _tsaAddtional++-- | A module with manual scaling runs continuously, allowing you to perform+-- complex initialization and rely on the state of its memory over time.+--+-- /See:/ 'manualScaling' smart constructor.+newtype ManualScaling = ManualScaling+    { _msInstances :: Maybe (Textual Int32)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ManualScaling' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'msInstances'+manualScaling+    :: ManualScaling+manualScaling =+    ManualScaling+    { _msInstances = Nothing+    }++-- | The number of instances to assign to the module at the start. This+-- number can later be altered by using the [Modules+-- API](https:\/\/cloud.google.com\/appengine\/docs\/python\/modules\/functions)+-- \`set_num_instances()\` function.+msInstances :: Lens' ManualScaling (Maybe Int32)+msInstances+  = lens _msInstances (\ s a -> s{_msInstances = a}) .+      mapping _Coerce++instance FromJSON ManualScaling where+        parseJSON+          = withObject "ManualScaling"+              (\ o -> ManualScaling <$> (o .:? "instances"))++instance ToJSON ManualScaling where+        toJSON ManualScaling{..}+          = object+              (catMaybes [("instances" .=) <$> _msInstances])++-- | A module with basic scaling will create an instance when the application+-- receives a request. The instance will be turned down when the app+-- becomes idle. Basic scaling is ideal for work that is intermittent or+-- driven by user activity.+--+-- /See:/ 'basicScaling' smart constructor.+data BasicScaling = BasicScaling+    { _bsMaxInstances :: !(Maybe (Textual Int32))+    , _bsIdleTimeout  :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'BasicScaling' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'bsMaxInstances'+--+-- * 'bsIdleTimeout'+basicScaling+    :: BasicScaling+basicScaling =+    BasicScaling+    { _bsMaxInstances = Nothing+    , _bsIdleTimeout = Nothing+    }++-- | The maximum number of instances for App Engine to create for this+-- version.+bsMaxInstances :: Lens' BasicScaling (Maybe Int32)+bsMaxInstances+  = lens _bsMaxInstances+      (\ s a -> s{_bsMaxInstances = a})+      . mapping _Coerce++-- | The instance will be shut down this amount of time after receiving its+-- last request.+bsIdleTimeout :: Lens' BasicScaling (Maybe Text)+bsIdleTimeout+  = lens _bsIdleTimeout+      (\ s a -> s{_bsIdleTimeout = a})++instance FromJSON BasicScaling where+        parseJSON+          = withObject "BasicScaling"+              (\ o ->+                 BasicScaling <$>+                   (o .:? "maxInstances") <*> (o .:? "idleTimeout"))++instance ToJSON BasicScaling where+        toJSON BasicScaling{..}+          = object+              (catMaybes+                 [("maxInstances" .=) <$> _bsMaxInstances,+                  ("idleTimeout" .=) <$> _bsIdleTimeout])++-- | A Version is a specific set of source code and configuration files+-- deployed to a module.+--+-- /See:/ 'version' smart constructor.+data Version = Version+    { _vCreationTime      :: !(Maybe Text)+    , _vRuntime           :: !(Maybe Text)+    , _vDeployer          :: !(Maybe Text)+    , _vNobuildFilesRegex :: !(Maybe Text)+    , _vInstanceClass     :: !(Maybe Text)+    , _vHealthCheck       :: !(Maybe HealthCheck)+    , _vEnv               :: !(Maybe Text)+    , _vDefaultExpiration :: !(Maybe Text)+    , _vAutomaticScaling  :: !(Maybe AutomaticScaling)+    , _vErrorHandlers     :: !(Maybe [ErrorHandler])+    , _vVM                :: !(Maybe Bool)+    , _vHandlers          :: !(Maybe [URLMap])+    , _vInboundServices   :: !(Maybe [Text])+    , _vNetwork           :: !(Maybe Network)+    , _vResources         :: !(Maybe Resources)+    , _vName              :: !(Maybe Text)+    , _vThreadsafe        :: !(Maybe Bool)+    , _vBetaSettings      :: !(Maybe VersionBetaSettings)+    , _vBasicScaling      :: !(Maybe BasicScaling)+    , _vManualScaling     :: !(Maybe ManualScaling)+    , _vAPIConfig         :: !(Maybe APIConfigHandler)+    , _vId                :: !(Maybe Text)+    , _vEnvVariables      :: !(Maybe VersionEnvVariables)+    , _vServingStatus     :: !(Maybe Text)+    , _vLibraries         :: !(Maybe [Library])+    , _vDeployment        :: !(Maybe Deployment)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Version' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'vCreationTime'+--+-- * 'vRuntime'+--+-- * 'vDeployer'+--+-- * 'vNobuildFilesRegex'+--+-- * 'vInstanceClass'+--+-- * 'vHealthCheck'+--+-- * 'vEnv'+--+-- * 'vDefaultExpiration'+--+-- * 'vAutomaticScaling'+--+-- * 'vErrorHandlers'+--+-- * 'vVM'+--+-- * 'vHandlers'+--+-- * 'vInboundServices'+--+-- * 'vNetwork'+--+-- * 'vResources'+--+-- * 'vName'+--+-- * 'vThreadsafe'+--+-- * 'vBetaSettings'+--+-- * 'vBasicScaling'+--+-- * 'vManualScaling'+--+-- * 'vAPIConfig'+--+-- * 'vId'+--+-- * 'vEnvVariables'+--+-- * 'vServingStatus'+--+-- * 'vLibraries'+--+-- * 'vDeployment'+version+    :: Version+version =+    Version+    { _vCreationTime = Nothing+    , _vRuntime = Nothing+    , _vDeployer = Nothing+    , _vNobuildFilesRegex = Nothing+    , _vInstanceClass = Nothing+    , _vHealthCheck = Nothing+    , _vEnv = Nothing+    , _vDefaultExpiration = Nothing+    , _vAutomaticScaling = Nothing+    , _vErrorHandlers = Nothing+    , _vVM = Nothing+    , _vHandlers = Nothing+    , _vInboundServices = Nothing+    , _vNetwork = Nothing+    , _vResources = Nothing+    , _vName = Nothing+    , _vThreadsafe = Nothing+    , _vBetaSettings = Nothing+    , _vBasicScaling = Nothing+    , _vManualScaling = Nothing+    , _vAPIConfig = Nothing+    , _vId = Nothing+    , _vEnvVariables = Nothing+    , _vServingStatus = Nothing+    , _vLibraries = Nothing+    , _vDeployment = Nothing+    }++-- | Creation time of this version. This will be between the start and end+-- times of the operation that creates this version. \'OutputOnly+vCreationTime :: Lens' Version (Maybe Text)+vCreationTime+  = lens _vCreationTime+      (\ s a -> s{_vCreationTime = a})++-- | The desired runtime. Values can include python27, java7, go, etc.+vRuntime :: Lens' Version (Maybe Text)+vRuntime = lens _vRuntime (\ s a -> s{_vRuntime = a})++-- | The email address of the user who created this version. \'OutputOnly+vDeployer :: Lens' Version (Maybe Text)+vDeployer+  = lens _vDeployer (\ s a -> s{_vDeployer = a})++-- | Go only. Files that match this pattern will not be built into the app.+-- May only be set on create requests.+vNobuildFilesRegex :: Lens' Version (Maybe Text)+vNobuildFilesRegex+  = lens _vNobuildFilesRegex+      (\ s a -> s{_vNobuildFilesRegex = a})++-- | The frontend instance class to use to run this app. Valid values are+-- \`[F1, F2, F4, F4_1G]\`. Default: \"F1\"+vInstanceClass :: Lens' Version (Maybe Text)+vInstanceClass+  = lens _vInstanceClass+      (\ s a -> s{_vInstanceClass = a})++-- | Configure health checking for the VM instances. Unhealthy VM instances+-- will be stopped and replaced with new instances. Only returned in+-- \`GET\` requests if \`view=FULL\` is set. May only be set on create+-- requests; once created, is immutable.+vHealthCheck :: Lens' Version (Maybe HealthCheck)+vHealthCheck+  = lens _vHealthCheck (\ s a -> s{_vHealthCheck = a})++-- | The App Engine execution environment to use for this version. Default:+-- \"1\"+vEnv :: Lens' Version (Maybe Text)+vEnv = lens _vEnv (\ s a -> s{_vEnv = a})++-- | The length of time a static file served by a static file handler ought+-- to be cached by web proxies and browsers, if the handler does not+-- specify its own expiration. Only returned in \`GET\` requests if+-- \`view=FULL\` is set. May only be set on create requests; once created,+-- is immutable.+vDefaultExpiration :: Lens' Version (Maybe Text)+vDefaultExpiration+  = lens _vDefaultExpiration+      (\ s a -> s{_vDefaultExpiration = a})++-- | Automatic scaling is the scaling policy that App Engine has used since+-- its inception. It is based on request rate, response latencies, and+-- other application metrics.+vAutomaticScaling :: Lens' Version (Maybe AutomaticScaling)+vAutomaticScaling+  = lens _vAutomaticScaling+      (\ s a -> s{_vAutomaticScaling = a})++-- | Custom static error pages instead of these generic error pages, (limit+-- 10 KB\/page) Only returned in \`GET\` requests if \`view=FULL\` is set.+-- May only be set on create requests; once created, is immutable.+vErrorHandlers :: Lens' Version [ErrorHandler]+vErrorHandlers+  = lens _vErrorHandlers+      (\ s a -> s{_vErrorHandlers = a})+      . _Default+      . _Coerce++-- | Whether to deploy this app in a VM container (deprecated, use+-- \"env\":\"2\").+vVM :: Lens' Version (Maybe Bool)+vVM = lens _vVM (\ s a -> s{_vVM = a})++-- | An ordered list of URL Matching patterns that should be applied to+-- incoming requests. The first matching URL consumes the request, and+-- subsequent handlers are not attempted. Only returned in \`GET\` requests+-- if \`view=FULL\` is set. May only be set on create requests; once+-- created, is immutable.+vHandlers :: Lens' Version [URLMap]+vHandlers+  = lens _vHandlers (\ s a -> s{_vHandlers = a}) .+      _Default+      . _Coerce++-- | Before an application can receive email or XMPP messages, the+-- application must be configured to enable the service.+vInboundServices :: Lens' Version [Text]+vInboundServices+  = lens _vInboundServices+      (\ s a -> s{_vInboundServices = a})+      . _Default+      . _Coerce++-- | Used to specify extra network settings (for VM runtimes only).+vNetwork :: Lens' Version (Maybe Network)+vNetwork = lens _vNetwork (\ s a -> s{_vNetwork = a})++-- | Used to specify how many machine resources an app version needs (for VM+-- runtimes only).+vResources :: Lens' Version (Maybe Resources)+vResources+  = lens _vResources (\ s a -> s{_vResources = a})++-- | The full path to the Version resource in the API. Example:+-- \"apps\/myapp\/modules\/default\/versions\/v1\". \'OutputOnly+vName :: Lens' Version (Maybe Text)+vName = lens _vName (\ s a -> s{_vName = a})++-- | If true, multiple requests can be dispatched to the app at once.+vThreadsafe :: Lens' Version (Maybe Bool)+vThreadsafe+  = lens _vThreadsafe (\ s a -> s{_vThreadsafe = a})++-- | Beta settings supplied to the application via metadata.+vBetaSettings :: Lens' Version (Maybe VersionBetaSettings)+vBetaSettings+  = lens _vBetaSettings+      (\ s a -> s{_vBetaSettings = a})++-- | A module with basic scaling will create an instance when the application+-- receives a request. The instance will be turned down when the app+-- becomes idle. Basic scaling is ideal for work that is intermittent or+-- driven by user activity.+vBasicScaling :: Lens' Version (Maybe BasicScaling)+vBasicScaling+  = lens _vBasicScaling+      (\ s a -> s{_vBasicScaling = a})++-- | A module with manual scaling runs continuously, allowing you to perform+-- complex initialization and rely on the state of its memory over time.+vManualScaling :: Lens' Version (Maybe ManualScaling)+vManualScaling+  = lens _vManualScaling+      (\ s a -> s{_vManualScaling = a})++-- | Serving configuration for Google Cloud Endpoints. Only returned in+-- \`GET\` requests if \`view=FULL\` is set. May only be set on create+-- requests; once created, is immutable.+vAPIConfig :: Lens' Version (Maybe APIConfigHandler)+vAPIConfig+  = lens _vAPIConfig (\ s a -> s{_vAPIConfig = a})++-- | The relative name\/path of the Version within the module. Example:+-- \"v1\". Version specifiers can contain lowercase letters, digits, and+-- hyphens. It cannot begin with the prefix \`ah-\` and the names+-- \`default\` and \`latest\` are reserved and cannot be used.+vId :: Lens' Version (Maybe Text)+vId = lens _vId (\ s a -> s{_vId = a})++-- | Environment variables made available to the application. Only returned+-- in \`GET\` requests if \`view=FULL\` is set. May only be set on create+-- requests; once created, is immutable.+vEnvVariables :: Lens' Version (Maybe VersionEnvVariables)+vEnvVariables+  = lens _vEnvVariables+      (\ s a -> s{_vEnvVariables = a})++-- | The current serving status of this version. Only \`SERVING\` versions+-- will have instances created or billed for. If this field is unset when a+-- version is created, \`SERVING\` status will be assumed. It is an error+-- to explicitly set this field to \`SERVING_STATUS_UNSPECIFIED\`.+vServingStatus :: Lens' Version (Maybe Text)+vServingStatus+  = lens _vServingStatus+      (\ s a -> s{_vServingStatus = a})++-- | Configuration for Python runtime third-party libraries required by the+-- application. Only returned in \`GET\` requests if \`view=FULL\` is set.+-- May only be set on create requests; once created, is immutable.+vLibraries :: Lens' Version [Library]+vLibraries+  = lens _vLibraries (\ s a -> s{_vLibraries = a}) .+      _Default+      . _Coerce++-- | Code and application artifacts that make up this version. Only returned+-- in \`GET\` requests if \`view=FULL\` is set. May only be set on create+-- requests; once created, is immutable.+vDeployment :: Lens' Version (Maybe Deployment)+vDeployment+  = lens _vDeployment (\ s a -> s{_vDeployment = a})++instance FromJSON Version where+        parseJSON+          = withObject "Version"+              (\ o ->+                 Version <$>+                   (o .:? "creationTime") <*> (o .:? "runtime") <*>+                     (o .:? "deployer")+                     <*> (o .:? "nobuildFilesRegex")+                     <*> (o .:? "instanceClass")+                     <*> (o .:? "healthCheck")+                     <*> (o .:? "env")+                     <*> (o .:? "defaultExpiration")+                     <*> (o .:? "automaticScaling")+                     <*> (o .:? "errorHandlers" .!= mempty)+                     <*> (o .:? "vm")+                     <*> (o .:? "handlers" .!= mempty)+                     <*> (o .:? "inboundServices" .!= mempty)+                     <*> (o .:? "network")+                     <*> (o .:? "resources")+                     <*> (o .:? "name")+                     <*> (o .:? "threadsafe")+                     <*> (o .:? "betaSettings")+                     <*> (o .:? "basicScaling")+                     <*> (o .:? "manualScaling")+                     <*> (o .:? "apiConfig")+                     <*> (o .:? "id")+                     <*> (o .:? "envVariables")+                     <*> (o .:? "servingStatus")+                     <*> (o .:? "libraries" .!= mempty)+                     <*> (o .:? "deployment"))++instance ToJSON Version where+        toJSON Version{..}+          = object+              (catMaybes+                 [("creationTime" .=) <$> _vCreationTime,+                  ("runtime" .=) <$> _vRuntime,+                  ("deployer" .=) <$> _vDeployer,+                  ("nobuildFilesRegex" .=) <$> _vNobuildFilesRegex,+                  ("instanceClass" .=) <$> _vInstanceClass,+                  ("healthCheck" .=) <$> _vHealthCheck,+                  ("env" .=) <$> _vEnv,+                  ("defaultExpiration" .=) <$> _vDefaultExpiration,+                  ("automaticScaling" .=) <$> _vAutomaticScaling,+                  ("errorHandlers" .=) <$> _vErrorHandlers,+                  ("vm" .=) <$> _vVM, ("handlers" .=) <$> _vHandlers,+                  ("inboundServices" .=) <$> _vInboundServices,+                  ("network" .=) <$> _vNetwork,+                  ("resources" .=) <$> _vResources,+                  ("name" .=) <$> _vName,+                  ("threadsafe" .=) <$> _vThreadsafe,+                  ("betaSettings" .=) <$> _vBetaSettings,+                  ("basicScaling" .=) <$> _vBasicScaling,+                  ("manualScaling" .=) <$> _vManualScaling,+                  ("apiConfig" .=) <$> _vAPIConfig, ("id" .=) <$> _vId,+                  ("envVariables" .=) <$> _vEnvVariables,+                  ("servingStatus" .=) <$> _vServingStatus,+                  ("libraries" .=) <$> _vLibraries,+                  ("deployment" .=) <$> _vDeployment])++-- | A module is a component of an application that provides a single service+-- or configuration. A module has a collection of versions that define a+-- specific set of code used to implement the functionality of that module.+--+-- /See:/ 'module'' smart constructor.+data Module = Module+    { _mSplit :: !(Maybe TrafficSplit)+    , _mName  :: !(Maybe Text)+    , _mId    :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Module' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mSplit'+--+-- * 'mName'+--+-- * 'mId'+module'+    :: Module+module' =+    Module+    { _mSplit = Nothing+    , _mName = Nothing+    , _mId = Nothing+    }++-- | A mapping that defines fractional HTTP traffic diversion to different+-- versions within the module.+mSplit :: Lens' Module (Maybe TrafficSplit)+mSplit = lens _mSplit (\ s a -> s{_mSplit = a})++-- | The full path to the Module resource in the API. Example:+-- \"apps\/myapp\/modules\/default\" \'OutputOnly+mName :: Lens' Module (Maybe Text)+mName = lens _mName (\ s a -> s{_mName = a})++-- | The relative name\/path of the module within the application. Example:+-- \"default\" \'OutputOnly+mId :: Lens' Module (Maybe Text)+mId = lens _mId (\ s a -> s{_mId = a})++instance FromJSON Module where+        parseJSON+          = withObject "Module"+              (\ o ->+                 Module <$>+                   (o .:? "split") <*> (o .:? "name") <*> (o .:? "id"))++instance ToJSON Module where+        toJSON Module{..}+          = object+              (catMaybes+                 [("split" .=) <$> _mSplit, ("name" .=) <$> _mName,+                  ("id" .=) <$> _mId])++-- | Files served directly to the user for a given URL, such as images, CSS+-- stylesheets, or JavaScript source files. Static file handlers describe+-- which files in the application directory are static files, and which+-- URLs serve them.+--+-- /See:/ 'staticFilesHandler' smart constructor.+data StaticFilesHandler = StaticFilesHandler+    { _sfhHTTPHeaders         :: !(Maybe StaticFilesHandlerHTTPHeaders)+    , _sfhPath                :: !(Maybe Text)+    , _sfhRequireMatchingFile :: !(Maybe Bool)+    , _sfhExpiration          :: !(Maybe Text)+    , _sfhMimeType            :: !(Maybe Text)+    , _sfhApplicationReadable :: !(Maybe Bool)+    , _sfhUploadPathRegex     :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'StaticFilesHandler' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sfhHTTPHeaders'+--+-- * 'sfhPath'+--+-- * 'sfhRequireMatchingFile'+--+-- * 'sfhExpiration'+--+-- * 'sfhMimeType'+--+-- * 'sfhApplicationReadable'+--+-- * 'sfhUploadPathRegex'+staticFilesHandler+    :: StaticFilesHandler+staticFilesHandler =+    StaticFilesHandler+    { _sfhHTTPHeaders = Nothing+    , _sfhPath = Nothing+    , _sfhRequireMatchingFile = Nothing+    , _sfhExpiration = Nothing+    , _sfhMimeType = Nothing+    , _sfhApplicationReadable = Nothing+    , _sfhUploadPathRegex = Nothing+    }++-- | HTTP headers to use for all responses from these URLs.+sfhHTTPHeaders :: Lens' StaticFilesHandler (Maybe StaticFilesHandlerHTTPHeaders)+sfhHTTPHeaders+  = lens _sfhHTTPHeaders+      (\ s a -> s{_sfhHTTPHeaders = a})++-- | The path to the static files matched by the URL pattern, from the+-- application root directory. The path can refer to text matched in+-- groupings in the URL pattern.+sfhPath :: Lens' StaticFilesHandler (Maybe Text)+sfhPath = lens _sfhPath (\ s a -> s{_sfhPath = a})++-- | If true, this [UrlMap][google.appengine.v1beta4.UrlMap] entry does not+-- match the request unless the file referenced by the handler also exists.+-- If no such file exists, processing will continue with the next+-- [UrlMap][google.appengine.v1beta4.UrlMap] that matches the requested+-- URL.+sfhRequireMatchingFile :: Lens' StaticFilesHandler (Maybe Bool)+sfhRequireMatchingFile+  = lens _sfhRequireMatchingFile+      (\ s a -> s{_sfhRequireMatchingFile = a})++-- | The length of time a static file served by this handler ought to be+-- cached by web proxies and browsers.+sfhExpiration :: Lens' StaticFilesHandler (Maybe Text)+sfhExpiration+  = lens _sfhExpiration+      (\ s a -> s{_sfhExpiration = a})++-- | If specified, all files served by this handler will be served using the+-- specified MIME type. If not specified, the MIME type for a file will be+-- derived from the file\'s filename extension.+sfhMimeType :: Lens' StaticFilesHandler (Maybe Text)+sfhMimeType+  = lens _sfhMimeType (\ s a -> s{_sfhMimeType = a})++-- | By default, files declared in static file handlers are uploaded as+-- static data and are only served to end users, they cannot be read by an+-- application. If this field is set to true, the files are also uploaded+-- as code data so your application can read them. Both uploads are charged+-- against your code and static data storage resource quotas.+sfhApplicationReadable :: Lens' StaticFilesHandler (Maybe Bool)+sfhApplicationReadable+  = lens _sfhApplicationReadable+      (\ s a -> s{_sfhApplicationReadable = a})++-- | A regular expression that matches the file paths for all files that will+-- be referenced by this handler.+sfhUploadPathRegex :: Lens' StaticFilesHandler (Maybe Text)+sfhUploadPathRegex+  = lens _sfhUploadPathRegex+      (\ s a -> s{_sfhUploadPathRegex = a})++instance FromJSON StaticFilesHandler where+        parseJSON+          = withObject "StaticFilesHandler"+              (\ o ->+                 StaticFilesHandler <$>+                   (o .:? "httpHeaders") <*> (o .:? "path") <*>+                     (o .:? "requireMatchingFile")+                     <*> (o .:? "expiration")+                     <*> (o .:? "mimeType")+                     <*> (o .:? "applicationReadable")+                     <*> (o .:? "uploadPathRegex"))++instance ToJSON StaticFilesHandler where+        toJSON StaticFilesHandler{..}+          = object+              (catMaybes+                 [("httpHeaders" .=) <$> _sfhHTTPHeaders,+                  ("path" .=) <$> _sfhPath,+                  ("requireMatchingFile" .=) <$>+                    _sfhRequireMatchingFile,+                  ("expiration" .=) <$> _sfhExpiration,+                  ("mimeType" .=) <$> _sfhMimeType,+                  ("applicationReadable" .=) <$>+                    _sfhApplicationReadable,+                  ("uploadPathRegex" .=) <$> _sfhUploadPathRegex])++-- | A custom static error page to be served when an error occurs.+--+-- /See:/ 'errorHandler' smart constructor.+data ErrorHandler = ErrorHandler+    { _ehMimeType   :: !(Maybe Text)+    , _ehErrorCode  :: !(Maybe Text)+    , _ehStaticFile :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ErrorHandler' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ehMimeType'+--+-- * 'ehErrorCode'+--+-- * 'ehStaticFile'+errorHandler+    :: ErrorHandler+errorHandler =+    ErrorHandler+    { _ehMimeType = Nothing+    , _ehErrorCode = Nothing+    , _ehStaticFile = Nothing+    }++-- | MIME type of file. If unspecified, \"text\/html\" is assumed.+ehMimeType :: Lens' ErrorHandler (Maybe Text)+ehMimeType+  = lens _ehMimeType (\ s a -> s{_ehMimeType = a})++-- | The error condition this handler applies to.+ehErrorCode :: Lens' ErrorHandler (Maybe Text)+ehErrorCode+  = lens _ehErrorCode (\ s a -> s{_ehErrorCode = a})++-- | Static file content to be served for this error.+ehStaticFile :: Lens' ErrorHandler (Maybe Text)+ehStaticFile+  = lens _ehStaticFile (\ s a -> s{_ehStaticFile = a})++instance FromJSON ErrorHandler where+        parseJSON+          = withObject "ErrorHandler"+              (\ o ->+                 ErrorHandler <$>+                   (o .:? "mimeType") <*> (o .:? "errorCode") <*>+                     (o .:? "staticFile"))++instance ToJSON ErrorHandler where+        toJSON ErrorHandler{..}+          = object+              (catMaybes+                 [("mimeType" .=) <$> _ehMimeType,+                  ("errorCode" .=) <$> _ehErrorCode,+                  ("staticFile" .=) <$> _ehStaticFile])++-- | Metadata for the given+-- [google.longrunning.Operation][google.longrunning.Operation].+--+-- /See:/ 'operationMetadata' smart constructor.+data OperationMetadata = OperationMetadata+    { _omInsertTime    :: !(Maybe Text)+    , _omUser          :: !(Maybe Text)+    , _omMethod        :: !(Maybe Text)+    , _omEndTime       :: !(Maybe Text)+    , _omOperationType :: !(Maybe Text)+    , _omTarget        :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'OperationMetadata' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'omInsertTime'+--+-- * 'omUser'+--+-- * 'omMethod'+--+-- * 'omEndTime'+--+-- * 'omOperationType'+--+-- * 'omTarget'+operationMetadata+    :: OperationMetadata+operationMetadata =+    OperationMetadata+    { _omInsertTime = Nothing+    , _omUser = Nothing+    , _omMethod = Nothing+    , _omEndTime = Nothing+    , _omOperationType = Nothing+    , _omTarget = Nothing+    }++-- | Timestamp that this operation was received. \'OutputOnly+omInsertTime :: Lens' OperationMetadata (Maybe Text)+omInsertTime+  = lens _omInsertTime (\ s a -> s{_omInsertTime = a})++-- | The user who requested this operation. \'OutputOnly+omUser :: Lens' OperationMetadata (Maybe Text)+omUser = lens _omUser (\ s a -> s{_omUser = a})++-- | API method name that initiated the operation. Example:+-- \"google.appengine.v1beta4.Version.CreateVersion\". \'OutputOnly+omMethod :: Lens' OperationMetadata (Maybe Text)+omMethod = lens _omMethod (\ s a -> s{_omMethod = a})++-- | Timestamp that this operation was completed. (Not present if the+-- operation is still in progress.) \'OutputOnly+omEndTime :: Lens' OperationMetadata (Maybe Text)+omEndTime+  = lens _omEndTime (\ s a -> s{_omEndTime = a})++-- | The type of the operation (deprecated, use method field instead).+-- Example: \"create_version\". \'OutputOnly+omOperationType :: Lens' OperationMetadata (Maybe Text)+omOperationType+  = lens _omOperationType+      (\ s a -> s{_omOperationType = a})++-- | Resource that this operation is acting on. Example:+-- \"apps\/myapp\/modules\/default\". \'OutputOnly+omTarget :: Lens' OperationMetadata (Maybe Text)+omTarget = lens _omTarget (\ s a -> s{_omTarget = a})++instance FromJSON OperationMetadata where+        parseJSON+          = withObject "OperationMetadata"+              (\ o ->+                 OperationMetadata <$>+                   (o .:? "insertTime") <*> (o .:? "user") <*>+                     (o .:? "method")+                     <*> (o .:? "endTime")+                     <*> (o .:? "operationType")+                     <*> (o .:? "target"))++instance ToJSON OperationMetadata where+        toJSON OperationMetadata{..}+          = object+              (catMaybes+                 [("insertTime" .=) <$> _omInsertTime,+                  ("user" .=) <$> _omUser, ("method" .=) <$> _omMethod,+                  ("endTime" .=) <$> _omEndTime,+                  ("operationType" .=) <$> _omOperationType,+                  ("target" .=) <$> _omTarget])++-- | A reference to a particular snapshot of the source tree used to build+-- and deploy the application.+--+-- /See:/ 'sourceReference' smart constructor.+data SourceReference = SourceReference+    { _srRepository :: !(Maybe Text)+    , _srRevisionId :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SourceReference' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'srRepository'+--+-- * 'srRevisionId'+sourceReference+    :: SourceReference+sourceReference =+    SourceReference+    { _srRepository = Nothing+    , _srRevisionId = Nothing+    }++-- | Optional. A URI string identifying the repository. Example:+-- \"https:\/\/source.developers.google.com\/p\/app-123\/r\/default\"+srRepository :: Lens' SourceReference (Maybe Text)+srRepository+  = lens _srRepository (\ s a -> s{_srRepository = a})++-- | The canonical (and persistent) identifier of the deployed revision, i.e.+-- any kind of aliases including tags or branch names are not allowed.+-- Example (git): \"2198322f89e0bb2e25021667c2ed489d1fd34e6b\"+srRevisionId :: Lens' SourceReference (Maybe Text)+srRevisionId+  = lens _srRevisionId (\ s a -> s{_srRevisionId = a})++instance FromJSON SourceReference where+        parseJSON+          = withObject "SourceReference"+              (\ o ->+                 SourceReference <$>+                   (o .:? "repository") <*> (o .:? "revisionId"))++instance ToJSON SourceReference where+        toJSON SourceReference{..}+          = object+              (catMaybes+                 [("repository" .=) <$> _srRepository,+                  ("revisionId" .=) <$> _srRevisionId])++-- | The normal response of the operation in case of success. If the original+-- method returns no data on success, such as \`Delete\`, the response is+-- \`google.protobuf.Empty\`. If the original method is standard+-- \`Get\`\/\`Create\`\/\`Update\`, the response should be the resource.+-- For other methods, the response should have the type \`XxxResponse\`,+-- where \`Xxx\` is the original method name. For example, if the original+-- method name is \`TakeSnapshot()\`, the inferred response type is+-- \`TakeSnapshotResponse\`.+--+-- /See:/ 'operationResponse' smart constructor.+newtype OperationResponse = OperationResponse+    { _orAddtional :: HashMap Text JSONValue+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'OperationResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'orAddtional'+operationResponse+    :: HashMap Text JSONValue -- ^ 'orAddtional'+    -> OperationResponse+operationResponse pOrAddtional_ =+    OperationResponse+    { _orAddtional = _Coerce # pOrAddtional_+    }++-- | Properties of the object. Contains field \'ype with type URL.+orAddtional :: Lens' OperationResponse (HashMap Text JSONValue)+orAddtional+  = lens _orAddtional (\ s a -> s{_orAddtional = a}) .+      _Coerce++instance FromJSON OperationResponse where+        parseJSON+          = withObject "OperationResponse"+              (\ o -> OperationResponse <$> (parseJSONObject o))++instance ToJSON OperationResponse where+        toJSON = toJSON . _orAddtional++-- | A Docker (container) image which should be used to start the+-- application.+--+-- /See:/ 'containerInfo' smart constructor.+newtype ContainerInfo = ContainerInfo+    { _ciImage :: Maybe Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ContainerInfo' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ciImage'+containerInfo+    :: ContainerInfo+containerInfo =+    ContainerInfo+    { _ciImage = Nothing+    }++-- | Reference to a hosted container image. Must be a URI to a resource in a+-- Docker repository. Must be fully qualified, including tag or digest.+-- e.g. gcr.io\/my-project\/image:tag or gcr.io\/my-project\/image\'digest+ciImage :: Lens' ContainerInfo (Maybe Text)+ciImage = lens _ciImage (\ s a -> s{_ciImage = a})++instance FromJSON ContainerInfo where+        parseJSON+          = withObject "ContainerInfo"+              (\ o -> ContainerInfo <$> (o .:? "image"))++instance ToJSON ContainerInfo where+        toJSON ContainerInfo{..}+          = object (catMaybes [("image" .=) <$> _ciImage])++-- | Code and application artifacts used to deploy a version to App Engine.+--+-- /See:/ 'deployment' smart constructor.+data Deployment = Deployment+    { _dContainer        :: !(Maybe ContainerInfo)+    , _dFiles            :: !(Maybe DeploymentFiles)+    , _dSourceReferences :: !(Maybe [SourceReference])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Deployment' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dContainer'+--+-- * 'dFiles'+--+-- * 'dSourceReferences'+deployment+    :: Deployment+deployment =+    Deployment+    { _dContainer = Nothing+    , _dFiles = Nothing+    , _dSourceReferences = Nothing+    }++-- | If supplied, a docker (container) image which should be used to start+-- the application. Only applicable to the \'vm\' runtime.+dContainer :: Lens' Deployment (Maybe ContainerInfo)+dContainer+  = lens _dContainer (\ s a -> s{_dContainer = a})++-- | A manifest of files stored in Google Cloud Storage which should be+-- included as part of this application. All files must be readable using+-- the credentials supplied with this call.+dFiles :: Lens' Deployment (Maybe DeploymentFiles)+dFiles = lens _dFiles (\ s a -> s{_dFiles = a})++-- | The origin of the source code for this deployment. There can be more+-- than one source reference per Version if source code is distributed+-- among multiple repositories.+dSourceReferences :: Lens' Deployment [SourceReference]+dSourceReferences+  = lens _dSourceReferences+      (\ s a -> s{_dSourceReferences = a})+      . _Default+      . _Coerce++instance FromJSON Deployment where+        parseJSON+          = withObject "Deployment"+              (\ o ->+                 Deployment <$>+                   (o .:? "container") <*> (o .:? "files") <*>+                     (o .:? "sourceReferences" .!= mempty))++instance ToJSON Deployment where+        toJSON Deployment{..}+          = object+              (catMaybes+                 [("container" .=) <$> _dContainer,+                  ("files" .=) <$> _dFiles,+                  ("sourceReferences" .=) <$> _dSourceReferences])++-- | Files served directly to the user for a given URL, such as images, CSS+-- stylesheets, or JavaScript source files. Static directory handlers make+-- it easy to serve the entire contents of a directory as static files.+--+-- /See:/ 'staticDirectoryHandler' smart constructor.+data StaticDirectoryHandler = StaticDirectoryHandler+    { _sdhHTTPHeaders         :: !(Maybe StaticDirectoryHandlerHTTPHeaders)+    , _sdhRequireMatchingFile :: !(Maybe Bool)+    , _sdhExpiration          :: !(Maybe Text)+    , _sdhMimeType            :: !(Maybe Text)+    , _sdhApplicationReadable :: !(Maybe Bool)+    , _sdhDirectory           :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'StaticDirectoryHandler' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sdhHTTPHeaders'+--+-- * 'sdhRequireMatchingFile'+--+-- * 'sdhExpiration'+--+-- * 'sdhMimeType'+--+-- * 'sdhApplicationReadable'+--+-- * 'sdhDirectory'+staticDirectoryHandler+    :: StaticDirectoryHandler+staticDirectoryHandler =+    StaticDirectoryHandler+    { _sdhHTTPHeaders = Nothing+    , _sdhRequireMatchingFile = Nothing+    , _sdhExpiration = Nothing+    , _sdhMimeType = Nothing+    , _sdhApplicationReadable = Nothing+    , _sdhDirectory = Nothing+    }++-- | HTTP headers to use for all responses from these URLs.+sdhHTTPHeaders :: Lens' StaticDirectoryHandler (Maybe StaticDirectoryHandlerHTTPHeaders)+sdhHTTPHeaders+  = lens _sdhHTTPHeaders+      (\ s a -> s{_sdhHTTPHeaders = a})++-- | If true, this UrlMap entry does not match the request unless the file+-- referenced by the handler also exists. If no such file exists,+-- processing will continue with the next UrlMap that matches the requested+-- URL.+sdhRequireMatchingFile :: Lens' StaticDirectoryHandler (Maybe Bool)+sdhRequireMatchingFile+  = lens _sdhRequireMatchingFile+      (\ s a -> s{_sdhRequireMatchingFile = a})++-- | The length of time a static file served by this handler ought to be+-- cached by web proxies and browsers.+sdhExpiration :: Lens' StaticDirectoryHandler (Maybe Text)+sdhExpiration+  = lens _sdhExpiration+      (\ s a -> s{_sdhExpiration = a})++-- | If specified, all files served by this handler will be served using the+-- specified MIME type. If not specified, the MIME type for a file will be+-- derived from the file\'s filename extension.+sdhMimeType :: Lens' StaticDirectoryHandler (Maybe Text)+sdhMimeType+  = lens _sdhMimeType (\ s a -> s{_sdhMimeType = a})++-- | By default, files declared in static file handlers are uploaded as+-- static data and are only served to end users, they cannot be read by an+-- application. If this field is set to true, the files are also uploaded+-- as code data so your application can read them. Both uploads are charged+-- against your code and static data storage resource quotas.+sdhApplicationReadable :: Lens' StaticDirectoryHandler (Maybe Bool)+sdhApplicationReadable+  = lens _sdhApplicationReadable+      (\ s a -> s{_sdhApplicationReadable = a})++-- | The path to the directory containing the static files, from the+-- application root directory. Everything after the end of the matched url+-- pattern is appended to static_dir to form the full path to the requested+-- file.+sdhDirectory :: Lens' StaticDirectoryHandler (Maybe Text)+sdhDirectory+  = lens _sdhDirectory (\ s a -> s{_sdhDirectory = a})++instance FromJSON StaticDirectoryHandler where+        parseJSON+          = withObject "StaticDirectoryHandler"+              (\ o ->+                 StaticDirectoryHandler <$>+                   (o .:? "httpHeaders") <*>+                     (o .:? "requireMatchingFile")+                     <*> (o .:? "expiration")+                     <*> (o .:? "mimeType")+                     <*> (o .:? "applicationReadable")+                     <*> (o .:? "directory"))++instance ToJSON StaticDirectoryHandler where+        toJSON StaticDirectoryHandler{..}+          = object+              (catMaybes+                 [("httpHeaders" .=) <$> _sdhHTTPHeaders,+                  ("requireMatchingFile" .=) <$>+                    _sdhRequireMatchingFile,+                  ("expiration" .=) <$> _sdhExpiration,+                  ("mimeType" .=) <$> _sdhMimeType,+                  ("applicationReadable" .=) <$>+                    _sdhApplicationReadable,+                  ("directory" .=) <$> _sdhDirectory])
+ gen/Network/Google/AppEngine/Types/Sum.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE LambdaCase         #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module      : Network.Google.AppEngine.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.AppEngine.Types.Sum where++import           Network.Google.Prelude
+ gen/Network/Google/Resource/AppEngine/Apps/Get.hs view
@@ -0,0 +1,181 @@+{-# 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.AppEngine.Apps.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)+--+-- Gets information about an application.+--+-- /See:/ <https://developers.google.com/appengine/ Google App Engine Admin API Reference> for @appengine.apps.get@.+module Network.Google.Resource.AppEngine.Apps.Get+    (+    -- * REST Resource+      AppsGetResource++    -- * Creating a Request+    , appsGet+    , AppsGet++    -- * Request Lenses+    , agXgafv+    , agUploadProtocol+    , agPp+    , agAccessToken+    , agUploadType+    , agBearerToken+    , agAppsId+    , agEnsureResourcesExist+    , agCallback+    ) where++import           Network.Google.AppEngine.Types+import           Network.Google.Prelude++-- | A resource alias for @appengine.apps.get@ method which the+-- 'AppsGet' request conforms to.+type AppsGetResource =+     "v1beta4" :>+       "apps" :>+         Capture "appsId" Text :>+           QueryParam "$.xgafv" Text :>+             QueryParam "upload_protocol" Text :>+               QueryParam "pp" Bool :>+                 QueryParam "access_token" Text :>+                   QueryParam "uploadType" Text :>+                     QueryParam "bearer_token" Text :>+                       QueryParam "ensureResourcesExist" Bool :>+                         QueryParam "callback" Text :>+                           QueryParam "alt" AltJSON :> Get '[JSON] Application++-- | Gets information about an application.+--+-- /See:/ 'appsGet' smart constructor.+data AppsGet = AppsGet+    { _agXgafv                :: !(Maybe Text)+    , _agUploadProtocol       :: !(Maybe Text)+    , _agPp                   :: !Bool+    , _agAccessToken          :: !(Maybe Text)+    , _agUploadType           :: !(Maybe Text)+    , _agBearerToken          :: !(Maybe Text)+    , _agAppsId               :: !Text+    , _agEnsureResourcesExist :: !(Maybe Bool)+    , _agCallback             :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AppsGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'agXgafv'+--+-- * 'agUploadProtocol'+--+-- * 'agPp'+--+-- * 'agAccessToken'+--+-- * 'agUploadType'+--+-- * 'agBearerToken'+--+-- * 'agAppsId'+--+-- * 'agEnsureResourcesExist'+--+-- * 'agCallback'+appsGet+    :: Text -- ^ 'agAppsId'+    -> AppsGet+appsGet pAgAppsId_ =+    AppsGet+    { _agXgafv = Nothing+    , _agUploadProtocol = Nothing+    , _agPp = True+    , _agAccessToken = Nothing+    , _agUploadType = Nothing+    , _agBearerToken = Nothing+    , _agAppsId = pAgAppsId_+    , _agEnsureResourcesExist = Nothing+    , _agCallback = Nothing+    }++-- | V1 error format.+agXgafv :: Lens' AppsGet (Maybe Text)+agXgafv = lens _agXgafv (\ s a -> s{_agXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+agUploadProtocol :: Lens' AppsGet (Maybe Text)+agUploadProtocol+  = lens _agUploadProtocol+      (\ s a -> s{_agUploadProtocol = a})++-- | Pretty-print response.+agPp :: Lens' AppsGet Bool+agPp = lens _agPp (\ s a -> s{_agPp = a})++-- | OAuth access token.+agAccessToken :: Lens' AppsGet (Maybe Text)+agAccessToken+  = lens _agAccessToken+      (\ s a -> s{_agAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+agUploadType :: Lens' AppsGet (Maybe Text)+agUploadType+  = lens _agUploadType (\ s a -> s{_agUploadType = a})++-- | OAuth bearer token.+agBearerToken :: Lens' AppsGet (Maybe Text)+agBearerToken+  = lens _agBearerToken+      (\ s a -> s{_agBearerToken = a})++-- | Part of \`name\`. Name of the application to get. For example:+-- \"apps\/myapp\".+agAppsId :: Lens' AppsGet Text+agAppsId = lens _agAppsId (\ s a -> s{_agAppsId = a})++-- | Certain resources associated with an application are created on-demand.+-- Controls whether these resources should be created when performing the+-- \`GET\` operation. If specified and any resources cloud not be created,+-- the request will fail with an error code.+agEnsureResourcesExist :: Lens' AppsGet (Maybe Bool)+agEnsureResourcesExist+  = lens _agEnsureResourcesExist+      (\ s a -> s{_agEnsureResourcesExist = a})++-- | JSONP+agCallback :: Lens' AppsGet (Maybe Text)+agCallback+  = lens _agCallback (\ s a -> s{_agCallback = a})++instance GoogleRequest AppsGet where+        type Rs AppsGet = Application+        requestClient AppsGet{..}+          = go _agAppsId _agXgafv _agUploadProtocol+              (Just _agPp)+              _agAccessToken+              _agUploadType+              _agBearerToken+              _agEnsureResourcesExist+              _agCallback+              (Just AltJSON)+              appEngineService+          where go+                  = buildClient (Proxy :: Proxy AppsGetResource) mempty
+ gen/Network/Google/Resource/AppEngine/Apps/Modules/Delete.hs view
@@ -0,0 +1,184 @@+{-# 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.AppEngine.Apps.Modules.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)+--+-- Deletes a module and all enclosed versions.+--+-- /See:/ <https://developers.google.com/appengine/ Google App Engine Admin API Reference> for @appengine.apps.modules.delete@.+module Network.Google.Resource.AppEngine.Apps.Modules.Delete+    (+    -- * REST Resource+      AppsModulesDeleteResource++    -- * Creating a Request+    , appsModulesDelete+    , AppsModulesDelete++    -- * Request Lenses+    , amdXgafv+    , amdUploadProtocol+    , amdPp+    , amdAccessToken+    , amdUploadType+    , amdModulesId+    , amdBearerToken+    , amdAppsId+    , amdCallback+    ) where++import           Network.Google.AppEngine.Types+import           Network.Google.Prelude++-- | A resource alias for @appengine.apps.modules.delete@ method which the+-- 'AppsModulesDelete' request conforms to.+type AppsModulesDeleteResource =+     "v1beta4" :>+       "apps" :>+         Capture "appsId" Text :>+           "modules" :>+             Capture "modulesId" Text :>+               QueryParam "$.xgafv" Text :>+                 QueryParam "upload_protocol" Text :>+                   QueryParam "pp" Bool :>+                     QueryParam "access_token" Text :>+                       QueryParam "uploadType" Text :>+                         QueryParam "bearer_token" Text :>+                           QueryParam "callback" Text :>+                             QueryParam "alt" AltJSON :>+                               Delete '[JSON] Operation++-- | Deletes a module and all enclosed versions.+--+-- /See:/ 'appsModulesDelete' smart constructor.+data AppsModulesDelete = AppsModulesDelete+    { _amdXgafv          :: !(Maybe Text)+    , _amdUploadProtocol :: !(Maybe Text)+    , _amdPp             :: !Bool+    , _amdAccessToken    :: !(Maybe Text)+    , _amdUploadType     :: !(Maybe Text)+    , _amdModulesId      :: !Text+    , _amdBearerToken    :: !(Maybe Text)+    , _amdAppsId         :: !Text+    , _amdCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AppsModulesDelete' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'amdXgafv'+--+-- * 'amdUploadProtocol'+--+-- * 'amdPp'+--+-- * 'amdAccessToken'+--+-- * 'amdUploadType'+--+-- * 'amdModulesId'+--+-- * 'amdBearerToken'+--+-- * 'amdAppsId'+--+-- * 'amdCallback'+appsModulesDelete+    :: Text -- ^ 'amdModulesId'+    -> Text -- ^ 'amdAppsId'+    -> AppsModulesDelete+appsModulesDelete pAmdModulesId_ pAmdAppsId_ =+    AppsModulesDelete+    { _amdXgafv = Nothing+    , _amdUploadProtocol = Nothing+    , _amdPp = True+    , _amdAccessToken = Nothing+    , _amdUploadType = Nothing+    , _amdModulesId = pAmdModulesId_+    , _amdBearerToken = Nothing+    , _amdAppsId = pAmdAppsId_+    , _amdCallback = Nothing+    }++-- | V1 error format.+amdXgafv :: Lens' AppsModulesDelete (Maybe Text)+amdXgafv = lens _amdXgafv (\ s a -> s{_amdXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+amdUploadProtocol :: Lens' AppsModulesDelete (Maybe Text)+amdUploadProtocol+  = lens _amdUploadProtocol+      (\ s a -> s{_amdUploadProtocol = a})++-- | Pretty-print response.+amdPp :: Lens' AppsModulesDelete Bool+amdPp = lens _amdPp (\ s a -> s{_amdPp = a})++-- | OAuth access token.+amdAccessToken :: Lens' AppsModulesDelete (Maybe Text)+amdAccessToken+  = lens _amdAccessToken+      (\ s a -> s{_amdAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+amdUploadType :: Lens' AppsModulesDelete (Maybe Text)+amdUploadType+  = lens _amdUploadType+      (\ s a -> s{_amdUploadType = a})++-- | Part of \`name\`. See documentation of \`appsId\`.+amdModulesId :: Lens' AppsModulesDelete Text+amdModulesId+  = lens _amdModulesId (\ s a -> s{_amdModulesId = a})++-- | OAuth bearer token.+amdBearerToken :: Lens' AppsModulesDelete (Maybe Text)+amdBearerToken+  = lens _amdBearerToken+      (\ s a -> s{_amdBearerToken = a})++-- | Part of \`name\`. Name of the resource requested. For example:+-- \"apps\/myapp\/modules\/default\".+amdAppsId :: Lens' AppsModulesDelete Text+amdAppsId+  = lens _amdAppsId (\ s a -> s{_amdAppsId = a})++-- | JSONP+amdCallback :: Lens' AppsModulesDelete (Maybe Text)+amdCallback+  = lens _amdCallback (\ s a -> s{_amdCallback = a})++instance GoogleRequest AppsModulesDelete where+        type Rs AppsModulesDelete = Operation+        requestClient AppsModulesDelete{..}+          = go _amdAppsId _amdModulesId _amdXgafv+              _amdUploadProtocol+              (Just _amdPp)+              _amdAccessToken+              _amdUploadType+              _amdBearerToken+              _amdCallback+              (Just AltJSON)+              appEngineService+          where go+                  = buildClient+                      (Proxy :: Proxy AppsModulesDeleteResource)+                      mempty
+ gen/Network/Google/Resource/AppEngine/Apps/Modules/Get.hs view
@@ -0,0 +1,182 @@+{-# 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.AppEngine.Apps.Modules.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)+--+-- Gets the current configuration of the module.+--+-- /See:/ <https://developers.google.com/appengine/ Google App Engine Admin API Reference> for @appengine.apps.modules.get@.+module Network.Google.Resource.AppEngine.Apps.Modules.Get+    (+    -- * REST Resource+      AppsModulesGetResource++    -- * Creating a Request+    , appsModulesGet+    , AppsModulesGet++    -- * Request Lenses+    , amgXgafv+    , amgUploadProtocol+    , amgPp+    , amgAccessToken+    , amgUploadType+    , amgModulesId+    , amgBearerToken+    , amgAppsId+    , amgCallback+    ) where++import           Network.Google.AppEngine.Types+import           Network.Google.Prelude++-- | A resource alias for @appengine.apps.modules.get@ method which the+-- 'AppsModulesGet' request conforms to.+type AppsModulesGetResource =+     "v1beta4" :>+       "apps" :>+         Capture "appsId" Text :>+           "modules" :>+             Capture "modulesId" Text :>+               QueryParam "$.xgafv" Text :>+                 QueryParam "upload_protocol" Text :>+                   QueryParam "pp" Bool :>+                     QueryParam "access_token" Text :>+                       QueryParam "uploadType" Text :>+                         QueryParam "bearer_token" Text :>+                           QueryParam "callback" Text :>+                             QueryParam "alt" AltJSON :> Get '[JSON] Module++-- | Gets the current configuration of the module.+--+-- /See:/ 'appsModulesGet' smart constructor.+data AppsModulesGet = AppsModulesGet+    { _amgXgafv          :: !(Maybe Text)+    , _amgUploadProtocol :: !(Maybe Text)+    , _amgPp             :: !Bool+    , _amgAccessToken    :: !(Maybe Text)+    , _amgUploadType     :: !(Maybe Text)+    , _amgModulesId      :: !Text+    , _amgBearerToken    :: !(Maybe Text)+    , _amgAppsId         :: !Text+    , _amgCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AppsModulesGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'amgXgafv'+--+-- * 'amgUploadProtocol'+--+-- * 'amgPp'+--+-- * 'amgAccessToken'+--+-- * 'amgUploadType'+--+-- * 'amgModulesId'+--+-- * 'amgBearerToken'+--+-- * 'amgAppsId'+--+-- * 'amgCallback'+appsModulesGet+    :: Text -- ^ 'amgModulesId'+    -> Text -- ^ 'amgAppsId'+    -> AppsModulesGet+appsModulesGet pAmgModulesId_ pAmgAppsId_ =+    AppsModulesGet+    { _amgXgafv = Nothing+    , _amgUploadProtocol = Nothing+    , _amgPp = True+    , _amgAccessToken = Nothing+    , _amgUploadType = Nothing+    , _amgModulesId = pAmgModulesId_+    , _amgBearerToken = Nothing+    , _amgAppsId = pAmgAppsId_+    , _amgCallback = Nothing+    }++-- | V1 error format.+amgXgafv :: Lens' AppsModulesGet (Maybe Text)+amgXgafv = lens _amgXgafv (\ s a -> s{_amgXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+amgUploadProtocol :: Lens' AppsModulesGet (Maybe Text)+amgUploadProtocol+  = lens _amgUploadProtocol+      (\ s a -> s{_amgUploadProtocol = a})++-- | Pretty-print response.+amgPp :: Lens' AppsModulesGet Bool+amgPp = lens _amgPp (\ s a -> s{_amgPp = a})++-- | OAuth access token.+amgAccessToken :: Lens' AppsModulesGet (Maybe Text)+amgAccessToken+  = lens _amgAccessToken+      (\ s a -> s{_amgAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+amgUploadType :: Lens' AppsModulesGet (Maybe Text)+amgUploadType+  = lens _amgUploadType+      (\ s a -> s{_amgUploadType = a})++-- | Part of \`name\`. See documentation of \`appsId\`.+amgModulesId :: Lens' AppsModulesGet Text+amgModulesId+  = lens _amgModulesId (\ s a -> s{_amgModulesId = a})++-- | OAuth bearer token.+amgBearerToken :: Lens' AppsModulesGet (Maybe Text)+amgBearerToken+  = lens _amgBearerToken+      (\ s a -> s{_amgBearerToken = a})++-- | Part of \`name\`. Name of the resource requested. For example:+-- \"apps\/myapp\/modules\/default\".+amgAppsId :: Lens' AppsModulesGet Text+amgAppsId+  = lens _amgAppsId (\ s a -> s{_amgAppsId = a})++-- | JSONP+amgCallback :: Lens' AppsModulesGet (Maybe Text)+amgCallback+  = lens _amgCallback (\ s a -> s{_amgCallback = a})++instance GoogleRequest AppsModulesGet where+        type Rs AppsModulesGet = Module+        requestClient AppsModulesGet{..}+          = go _amgAppsId _amgModulesId _amgXgafv+              _amgUploadProtocol+              (Just _amgPp)+              _amgAccessToken+              _amgUploadType+              _amgBearerToken+              _amgCallback+              (Just AltJSON)+              appEngineService+          where go+                  = buildClient (Proxy :: Proxy AppsModulesGetResource)+                      mempty
+ gen/Network/Google/Resource/AppEngine/Apps/Modules/List.hs view
@@ -0,0 +1,196 @@+{-# 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.AppEngine.Apps.Modules.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)+--+-- Lists all the modules in the application.+--+-- /See:/ <https://developers.google.com/appengine/ Google App Engine Admin API Reference> for @appengine.apps.modules.list@.+module Network.Google.Resource.AppEngine.Apps.Modules.List+    (+    -- * REST Resource+      AppsModulesListResource++    -- * Creating a Request+    , appsModulesList+    , AppsModulesList++    -- * Request Lenses+    , amlXgafv+    , amlUploadProtocol+    , amlPp+    , amlAccessToken+    , amlUploadType+    , amlBearerToken+    , amlAppsId+    , amlPageToken+    , amlPageSize+    , amlCallback+    ) where++import           Network.Google.AppEngine.Types+import           Network.Google.Prelude++-- | A resource alias for @appengine.apps.modules.list@ method which the+-- 'AppsModulesList' request conforms to.+type AppsModulesListResource =+     "v1beta4" :>+       "apps" :>+         Capture "appsId" Text :>+           "modules" :>+             QueryParam "$.xgafv" Text :>+               QueryParam "upload_protocol" Text :>+                 QueryParam "pp" Bool :>+                   QueryParam "access_token" Text :>+                     QueryParam "uploadType" Text :>+                       QueryParam "bearer_token" Text :>+                         QueryParam "pageToken" Text :>+                           QueryParam "pageSize" (Textual Int32) :>+                             QueryParam "callback" Text :>+                               QueryParam "alt" AltJSON :>+                                 Get '[JSON] ListModulesResponse++-- | Lists all the modules in the application.+--+-- /See:/ 'appsModulesList' smart constructor.+data AppsModulesList = AppsModulesList+    { _amlXgafv          :: !(Maybe Text)+    , _amlUploadProtocol :: !(Maybe Text)+    , _amlPp             :: !Bool+    , _amlAccessToken    :: !(Maybe Text)+    , _amlUploadType     :: !(Maybe Text)+    , _amlBearerToken    :: !(Maybe Text)+    , _amlAppsId         :: !Text+    , _amlPageToken      :: !(Maybe Text)+    , _amlPageSize       :: !(Maybe (Textual Int32))+    , _amlCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AppsModulesList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'amlXgafv'+--+-- * 'amlUploadProtocol'+--+-- * 'amlPp'+--+-- * 'amlAccessToken'+--+-- * 'amlUploadType'+--+-- * 'amlBearerToken'+--+-- * 'amlAppsId'+--+-- * 'amlPageToken'+--+-- * 'amlPageSize'+--+-- * 'amlCallback'+appsModulesList+    :: Text -- ^ 'amlAppsId'+    -> AppsModulesList+appsModulesList pAmlAppsId_ =+    AppsModulesList+    { _amlXgafv = Nothing+    , _amlUploadProtocol = Nothing+    , _amlPp = True+    , _amlAccessToken = Nothing+    , _amlUploadType = Nothing+    , _amlBearerToken = Nothing+    , _amlAppsId = pAmlAppsId_+    , _amlPageToken = Nothing+    , _amlPageSize = Nothing+    , _amlCallback = Nothing+    }++-- | V1 error format.+amlXgafv :: Lens' AppsModulesList (Maybe Text)+amlXgafv = lens _amlXgafv (\ s a -> s{_amlXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+amlUploadProtocol :: Lens' AppsModulesList (Maybe Text)+amlUploadProtocol+  = lens _amlUploadProtocol+      (\ s a -> s{_amlUploadProtocol = a})++-- | Pretty-print response.+amlPp :: Lens' AppsModulesList Bool+amlPp = lens _amlPp (\ s a -> s{_amlPp = a})++-- | OAuth access token.+amlAccessToken :: Lens' AppsModulesList (Maybe Text)+amlAccessToken+  = lens _amlAccessToken+      (\ s a -> s{_amlAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+amlUploadType :: Lens' AppsModulesList (Maybe Text)+amlUploadType+  = lens _amlUploadType+      (\ s a -> s{_amlUploadType = a})++-- | OAuth bearer token.+amlBearerToken :: Lens' AppsModulesList (Maybe Text)+amlBearerToken+  = lens _amlBearerToken+      (\ s a -> s{_amlBearerToken = a})++-- | Part of \`name\`. Name of the resource requested. For example:+-- \"apps\/myapp\".+amlAppsId :: Lens' AppsModulesList Text+amlAppsId+  = lens _amlAppsId (\ s a -> s{_amlAppsId = a})++-- | Continuation token for fetching the next page of results.+amlPageToken :: Lens' AppsModulesList (Maybe Text)+amlPageToken+  = lens _amlPageToken (\ s a -> s{_amlPageToken = a})++-- | Maximum results to return per page.+amlPageSize :: Lens' AppsModulesList (Maybe Int32)+amlPageSize+  = lens _amlPageSize (\ s a -> s{_amlPageSize = a}) .+      mapping _Coerce++-- | JSONP+amlCallback :: Lens' AppsModulesList (Maybe Text)+amlCallback+  = lens _amlCallback (\ s a -> s{_amlCallback = a})++instance GoogleRequest AppsModulesList where+        type Rs AppsModulesList = ListModulesResponse+        requestClient AppsModulesList{..}+          = go _amlAppsId _amlXgafv _amlUploadProtocol+              (Just _amlPp)+              _amlAccessToken+              _amlUploadType+              _amlBearerToken+              _amlPageToken+              _amlPageSize+              _amlCallback+              (Just AltJSON)+              appEngineService+          where go+                  = buildClient+                      (Proxy :: Proxy AppsModulesListResource)+                      mempty
+ gen/Network/Google/Resource/AppEngine/Apps/Modules/Patch.hs view
@@ -0,0 +1,222 @@+{-# 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.AppEngine.Apps.Modules.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)+--+-- Updates the configuration of the specified module.+--+-- /See:/ <https://developers.google.com/appengine/ Google App Engine Admin API Reference> for @appengine.apps.modules.patch@.+module Network.Google.Resource.AppEngine.Apps.Modules.Patch+    (+    -- * REST Resource+      AppsModulesPatchResource++    -- * Creating a Request+    , appsModulesPatch+    , AppsModulesPatch++    -- * Request Lenses+    , ampXgafv+    , ampUploadProtocol+    , ampPp+    , ampAccessToken+    , ampUploadType+    , ampPayload+    , ampModulesId+    , ampMigrateTraffic+    , ampMask+    , ampBearerToken+    , ampAppsId+    , ampCallback+    ) where++import           Network.Google.AppEngine.Types+import           Network.Google.Prelude++-- | A resource alias for @appengine.apps.modules.patch@ method which the+-- 'AppsModulesPatch' request conforms to.+type AppsModulesPatchResource =+     "v1beta4" :>+       "apps" :>+         Capture "appsId" Text :>+           "modules" :>+             Capture "modulesId" Text :>+               QueryParam "$.xgafv" Text :>+                 QueryParam "upload_protocol" Text :>+                   QueryParam "pp" Bool :>+                     QueryParam "access_token" Text :>+                       QueryParam "uploadType" Text :>+                         QueryParam "migrateTraffic" Bool :>+                           QueryParam "mask" Text :>+                             QueryParam "bearer_token" Text :>+                               QueryParam "callback" Text :>+                                 QueryParam "alt" AltJSON :>+                                   ReqBody '[JSON] Module :>+                                     Patch '[JSON] Operation++-- | Updates the configuration of the specified module.+--+-- /See:/ 'appsModulesPatch' smart constructor.+data AppsModulesPatch = AppsModulesPatch+    { _ampXgafv          :: !(Maybe Text)+    , _ampUploadProtocol :: !(Maybe Text)+    , _ampPp             :: !Bool+    , _ampAccessToken    :: !(Maybe Text)+    , _ampUploadType     :: !(Maybe Text)+    , _ampPayload        :: !Module+    , _ampModulesId      :: !Text+    , _ampMigrateTraffic :: !(Maybe Bool)+    , _ampMask           :: !(Maybe Text)+    , _ampBearerToken    :: !(Maybe Text)+    , _ampAppsId         :: !Text+    , _ampCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AppsModulesPatch' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ampXgafv'+--+-- * 'ampUploadProtocol'+--+-- * 'ampPp'+--+-- * 'ampAccessToken'+--+-- * 'ampUploadType'+--+-- * 'ampPayload'+--+-- * 'ampModulesId'+--+-- * 'ampMigrateTraffic'+--+-- * 'ampMask'+--+-- * 'ampBearerToken'+--+-- * 'ampAppsId'+--+-- * 'ampCallback'+appsModulesPatch+    :: Module -- ^ 'ampPayload'+    -> Text -- ^ 'ampModulesId'+    -> Text -- ^ 'ampAppsId'+    -> AppsModulesPatch+appsModulesPatch pAmpPayload_ pAmpModulesId_ pAmpAppsId_ =+    AppsModulesPatch+    { _ampXgafv = Nothing+    , _ampUploadProtocol = Nothing+    , _ampPp = True+    , _ampAccessToken = Nothing+    , _ampUploadType = Nothing+    , _ampPayload = pAmpPayload_+    , _ampModulesId = pAmpModulesId_+    , _ampMigrateTraffic = Nothing+    , _ampMask = Nothing+    , _ampBearerToken = Nothing+    , _ampAppsId = pAmpAppsId_+    , _ampCallback = Nothing+    }++-- | V1 error format.+ampXgafv :: Lens' AppsModulesPatch (Maybe Text)+ampXgafv = lens _ampXgafv (\ s a -> s{_ampXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+ampUploadProtocol :: Lens' AppsModulesPatch (Maybe Text)+ampUploadProtocol+  = lens _ampUploadProtocol+      (\ s a -> s{_ampUploadProtocol = a})++-- | Pretty-print response.+ampPp :: Lens' AppsModulesPatch Bool+ampPp = lens _ampPp (\ s a -> s{_ampPp = a})++-- | OAuth access token.+ampAccessToken :: Lens' AppsModulesPatch (Maybe Text)+ampAccessToken+  = lens _ampAccessToken+      (\ s a -> s{_ampAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+ampUploadType :: Lens' AppsModulesPatch (Maybe Text)+ampUploadType+  = lens _ampUploadType+      (\ s a -> s{_ampUploadType = a})++-- | Multipart request metadata.+ampPayload :: Lens' AppsModulesPatch Module+ampPayload+  = lens _ampPayload (\ s a -> s{_ampPayload = a})++-- | Part of \`name\`. See documentation of \`appsId\`.+ampModulesId :: Lens' AppsModulesPatch Text+ampModulesId+  = lens _ampModulesId (\ s a -> s{_ampModulesId = a})++-- | Whether to use Traffic Migration to shift traffic gradually. Traffic can+-- only be migrated from a single version to another single version.+ampMigrateTraffic :: Lens' AppsModulesPatch (Maybe Bool)+ampMigrateTraffic+  = lens _ampMigrateTraffic+      (\ s a -> s{_ampMigrateTraffic = a})++-- | Standard field mask for the set of fields to be updated.+ampMask :: Lens' AppsModulesPatch (Maybe Text)+ampMask = lens _ampMask (\ s a -> s{_ampMask = a})++-- | OAuth bearer token.+ampBearerToken :: Lens' AppsModulesPatch (Maybe Text)+ampBearerToken+  = lens _ampBearerToken+      (\ s a -> s{_ampBearerToken = a})++-- | Part of \`name\`. Name of the resource to update. For example:+-- \"apps\/myapp\/modules\/default\".+ampAppsId :: Lens' AppsModulesPatch Text+ampAppsId+  = lens _ampAppsId (\ s a -> s{_ampAppsId = a})++-- | JSONP+ampCallback :: Lens' AppsModulesPatch (Maybe Text)+ampCallback+  = lens _ampCallback (\ s a -> s{_ampCallback = a})++instance GoogleRequest AppsModulesPatch where+        type Rs AppsModulesPatch = Operation+        requestClient AppsModulesPatch{..}+          = go _ampAppsId _ampModulesId _ampXgafv+              _ampUploadProtocol+              (Just _ampPp)+              _ampAccessToken+              _ampUploadType+              _ampMigrateTraffic+              _ampMask+              _ampBearerToken+              _ampCallback+              (Just AltJSON)+              _ampPayload+              appEngineService+          where go+                  = buildClient+                      (Proxy :: Proxy AppsModulesPatchResource)+                      mempty
+ gen/Network/Google/Resource/AppEngine/Apps/Modules/Versions/Create.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.AppEngine.Apps.Modules.Versions.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)+--+-- Deploys new code and resource files to a version.+--+-- /See:/ <https://developers.google.com/appengine/ Google App Engine Admin API Reference> for @appengine.apps.modules.versions.create@.+module Network.Google.Resource.AppEngine.Apps.Modules.Versions.Create+    (+    -- * REST Resource+      AppsModulesVersionsCreateResource++    -- * Creating a Request+    , appsModulesVersionsCreate+    , AppsModulesVersionsCreate++    -- * Request Lenses+    , amvcXgafv+    , amvcUploadProtocol+    , amvcPp+    , amvcAccessToken+    , amvcUploadType+    , amvcPayload+    , amvcModulesId+    , amvcBearerToken+    , amvcAppsId+    , amvcCallback+    ) where++import           Network.Google.AppEngine.Types+import           Network.Google.Prelude++-- | A resource alias for @appengine.apps.modules.versions.create@ method which the+-- 'AppsModulesVersionsCreate' request conforms to.+type AppsModulesVersionsCreateResource =+     "v1beta4" :>+       "apps" :>+         Capture "appsId" Text :>+           "modules" :>+             Capture "modulesId" Text :>+               "versions" :>+                 QueryParam "$.xgafv" Text :>+                   QueryParam "upload_protocol" Text :>+                     QueryParam "pp" Bool :>+                       QueryParam "access_token" Text :>+                         QueryParam "uploadType" Text :>+                           QueryParam "bearer_token" Text :>+                             QueryParam "callback" Text :>+                               QueryParam "alt" AltJSON :>+                                 ReqBody '[JSON] Version :>+                                   Post '[JSON] Operation++-- | Deploys new code and resource files to a version.+--+-- /See:/ 'appsModulesVersionsCreate' smart constructor.+data AppsModulesVersionsCreate = AppsModulesVersionsCreate+    { _amvcXgafv          :: !(Maybe Text)+    , _amvcUploadProtocol :: !(Maybe Text)+    , _amvcPp             :: !Bool+    , _amvcAccessToken    :: !(Maybe Text)+    , _amvcUploadType     :: !(Maybe Text)+    , _amvcPayload        :: !Version+    , _amvcModulesId      :: !Text+    , _amvcBearerToken    :: !(Maybe Text)+    , _amvcAppsId         :: !Text+    , _amvcCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AppsModulesVersionsCreate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'amvcXgafv'+--+-- * 'amvcUploadProtocol'+--+-- * 'amvcPp'+--+-- * 'amvcAccessToken'+--+-- * 'amvcUploadType'+--+-- * 'amvcPayload'+--+-- * 'amvcModulesId'+--+-- * 'amvcBearerToken'+--+-- * 'amvcAppsId'+--+-- * 'amvcCallback'+appsModulesVersionsCreate+    :: Version -- ^ 'amvcPayload'+    -> Text -- ^ 'amvcModulesId'+    -> Text -- ^ 'amvcAppsId'+    -> AppsModulesVersionsCreate+appsModulesVersionsCreate pAmvcPayload_ pAmvcModulesId_ pAmvcAppsId_ =+    AppsModulesVersionsCreate+    { _amvcXgafv = Nothing+    , _amvcUploadProtocol = Nothing+    , _amvcPp = True+    , _amvcAccessToken = Nothing+    , _amvcUploadType = Nothing+    , _amvcPayload = pAmvcPayload_+    , _amvcModulesId = pAmvcModulesId_+    , _amvcBearerToken = Nothing+    , _amvcAppsId = pAmvcAppsId_+    , _amvcCallback = Nothing+    }++-- | V1 error format.+amvcXgafv :: Lens' AppsModulesVersionsCreate (Maybe Text)+amvcXgafv+  = lens _amvcXgafv (\ s a -> s{_amvcXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+amvcUploadProtocol :: Lens' AppsModulesVersionsCreate (Maybe Text)+amvcUploadProtocol+  = lens _amvcUploadProtocol+      (\ s a -> s{_amvcUploadProtocol = a})++-- | Pretty-print response.+amvcPp :: Lens' AppsModulesVersionsCreate Bool+amvcPp = lens _amvcPp (\ s a -> s{_amvcPp = a})++-- | OAuth access token.+amvcAccessToken :: Lens' AppsModulesVersionsCreate (Maybe Text)+amvcAccessToken+  = lens _amvcAccessToken+      (\ s a -> s{_amvcAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+amvcUploadType :: Lens' AppsModulesVersionsCreate (Maybe Text)+amvcUploadType+  = lens _amvcUploadType+      (\ s a -> s{_amvcUploadType = a})++-- | Multipart request metadata.+amvcPayload :: Lens' AppsModulesVersionsCreate Version+amvcPayload+  = lens _amvcPayload (\ s a -> s{_amvcPayload = a})++-- | Part of \`name\`. See documentation of \`appsId\`.+amvcModulesId :: Lens' AppsModulesVersionsCreate Text+amvcModulesId+  = lens _amvcModulesId+      (\ s a -> s{_amvcModulesId = a})++-- | OAuth bearer token.+amvcBearerToken :: Lens' AppsModulesVersionsCreate (Maybe Text)+amvcBearerToken+  = lens _amvcBearerToken+      (\ s a -> s{_amvcBearerToken = a})++-- | Part of \`name\`. Name of the resource to update. For example:+-- \"apps\/myapp\/modules\/default\".+amvcAppsId :: Lens' AppsModulesVersionsCreate Text+amvcAppsId+  = lens _amvcAppsId (\ s a -> s{_amvcAppsId = a})++-- | JSONP+amvcCallback :: Lens' AppsModulesVersionsCreate (Maybe Text)+amvcCallback+  = lens _amvcCallback (\ s a -> s{_amvcCallback = a})++instance GoogleRequest AppsModulesVersionsCreate+         where+        type Rs AppsModulesVersionsCreate = Operation+        requestClient AppsModulesVersionsCreate{..}+          = go _amvcAppsId _amvcModulesId _amvcXgafv+              _amvcUploadProtocol+              (Just _amvcPp)+              _amvcAccessToken+              _amvcUploadType+              _amvcBearerToken+              _amvcCallback+              (Just AltJSON)+              _amvcPayload+              appEngineService+          where go+                  = buildClient+                      (Proxy :: Proxy AppsModulesVersionsCreateResource)+                      mempty
+ gen/Network/Google/Resource/AppEngine/Apps/Modules/Versions/Delete.hs view
@@ -0,0 +1,202 @@+{-# 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.AppEngine.Apps.Modules.Versions.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)+--+-- Deletes an existing version.+--+-- /See:/ <https://developers.google.com/appengine/ Google App Engine Admin API Reference> for @appengine.apps.modules.versions.delete@.+module Network.Google.Resource.AppEngine.Apps.Modules.Versions.Delete+    (+    -- * REST Resource+      AppsModulesVersionsDeleteResource++    -- * Creating a Request+    , appsModulesVersionsDelete+    , AppsModulesVersionsDelete++    -- * Request Lenses+    , amvdXgafv+    , amvdUploadProtocol+    , amvdPp+    , amvdAccessToken+    , amvdUploadType+    , amvdVersionsId+    , amvdModulesId+    , amvdBearerToken+    , amvdAppsId+    , amvdCallback+    ) where++import           Network.Google.AppEngine.Types+import           Network.Google.Prelude++-- | A resource alias for @appengine.apps.modules.versions.delete@ method which the+-- 'AppsModulesVersionsDelete' request conforms to.+type AppsModulesVersionsDeleteResource =+     "v1beta4" :>+       "apps" :>+         Capture "appsId" Text :>+           "modules" :>+             Capture "modulesId" Text :>+               "versions" :>+                 Capture "versionsId" Text :>+                   QueryParam "$.xgafv" Text :>+                     QueryParam "upload_protocol" Text :>+                       QueryParam "pp" Bool :>+                         QueryParam "access_token" Text :>+                           QueryParam "uploadType" Text :>+                             QueryParam "bearer_token" Text :>+                               QueryParam "callback" Text :>+                                 QueryParam "alt" AltJSON :>+                                   Delete '[JSON] Operation++-- | Deletes an existing version.+--+-- /See:/ 'appsModulesVersionsDelete' smart constructor.+data AppsModulesVersionsDelete = AppsModulesVersionsDelete+    { _amvdXgafv          :: !(Maybe Text)+    , _amvdUploadProtocol :: !(Maybe Text)+    , _amvdPp             :: !Bool+    , _amvdAccessToken    :: !(Maybe Text)+    , _amvdUploadType     :: !(Maybe Text)+    , _amvdVersionsId     :: !Text+    , _amvdModulesId      :: !Text+    , _amvdBearerToken    :: !(Maybe Text)+    , _amvdAppsId         :: !Text+    , _amvdCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AppsModulesVersionsDelete' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'amvdXgafv'+--+-- * 'amvdUploadProtocol'+--+-- * 'amvdPp'+--+-- * 'amvdAccessToken'+--+-- * 'amvdUploadType'+--+-- * 'amvdVersionsId'+--+-- * 'amvdModulesId'+--+-- * 'amvdBearerToken'+--+-- * 'amvdAppsId'+--+-- * 'amvdCallback'+appsModulesVersionsDelete+    :: Text -- ^ 'amvdVersionsId'+    -> Text -- ^ 'amvdModulesId'+    -> Text -- ^ 'amvdAppsId'+    -> AppsModulesVersionsDelete+appsModulesVersionsDelete pAmvdVersionsId_ pAmvdModulesId_ pAmvdAppsId_ =+    AppsModulesVersionsDelete+    { _amvdXgafv = Nothing+    , _amvdUploadProtocol = Nothing+    , _amvdPp = True+    , _amvdAccessToken = Nothing+    , _amvdUploadType = Nothing+    , _amvdVersionsId = pAmvdVersionsId_+    , _amvdModulesId = pAmvdModulesId_+    , _amvdBearerToken = Nothing+    , _amvdAppsId = pAmvdAppsId_+    , _amvdCallback = Nothing+    }++-- | V1 error format.+amvdXgafv :: Lens' AppsModulesVersionsDelete (Maybe Text)+amvdXgafv+  = lens _amvdXgafv (\ s a -> s{_amvdXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+amvdUploadProtocol :: Lens' AppsModulesVersionsDelete (Maybe Text)+amvdUploadProtocol+  = lens _amvdUploadProtocol+      (\ s a -> s{_amvdUploadProtocol = a})++-- | Pretty-print response.+amvdPp :: Lens' AppsModulesVersionsDelete Bool+amvdPp = lens _amvdPp (\ s a -> s{_amvdPp = a})++-- | OAuth access token.+amvdAccessToken :: Lens' AppsModulesVersionsDelete (Maybe Text)+amvdAccessToken+  = lens _amvdAccessToken+      (\ s a -> s{_amvdAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+amvdUploadType :: Lens' AppsModulesVersionsDelete (Maybe Text)+amvdUploadType+  = lens _amvdUploadType+      (\ s a -> s{_amvdUploadType = a})++-- | Part of \`name\`. See documentation of \`appsId\`.+amvdVersionsId :: Lens' AppsModulesVersionsDelete Text+amvdVersionsId+  = lens _amvdVersionsId+      (\ s a -> s{_amvdVersionsId = a})++-- | Part of \`name\`. See documentation of \`appsId\`.+amvdModulesId :: Lens' AppsModulesVersionsDelete Text+amvdModulesId+  = lens _amvdModulesId+      (\ s a -> s{_amvdModulesId = a})++-- | OAuth bearer token.+amvdBearerToken :: Lens' AppsModulesVersionsDelete (Maybe Text)+amvdBearerToken+  = lens _amvdBearerToken+      (\ s a -> s{_amvdBearerToken = a})++-- | Part of \`name\`. Name of the resource requested. For example:+-- \"apps\/myapp\/modules\/default\/versions\/v1\".+amvdAppsId :: Lens' AppsModulesVersionsDelete Text+amvdAppsId+  = lens _amvdAppsId (\ s a -> s{_amvdAppsId = a})++-- | JSONP+amvdCallback :: Lens' AppsModulesVersionsDelete (Maybe Text)+amvdCallback+  = lens _amvdCallback (\ s a -> s{_amvdCallback = a})++instance GoogleRequest AppsModulesVersionsDelete+         where+        type Rs AppsModulesVersionsDelete = Operation+        requestClient AppsModulesVersionsDelete{..}+          = go _amvdAppsId _amvdModulesId _amvdVersionsId+              _amvdXgafv+              _amvdUploadProtocol+              (Just _amvdPp)+              _amvdAccessToken+              _amvdUploadType+              _amvdBearerToken+              _amvdCallback+              (Just AltJSON)+              appEngineService+          where go+                  = buildClient+                      (Proxy :: Proxy AppsModulesVersionsDeleteResource)+                      mempty
+ gen/Network/Google/Resource/AppEngine/Apps/Modules/Versions/Get.hs view
@@ -0,0 +1,212 @@+{-# 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.AppEngine.Apps.Modules.Versions.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)+--+-- Gets application deployment information.+--+-- /See:/ <https://developers.google.com/appengine/ Google App Engine Admin API Reference> for @appengine.apps.modules.versions.get@.+module Network.Google.Resource.AppEngine.Apps.Modules.Versions.Get+    (+    -- * REST Resource+      AppsModulesVersionsGetResource++    -- * Creating a Request+    , appsModulesVersionsGet+    , AppsModulesVersionsGet++    -- * Request Lenses+    , amvgXgafv+    , amvgUploadProtocol+    , amvgPp+    , amvgAccessToken+    , amvgUploadType+    , amvgVersionsId+    , amvgModulesId+    , amvgBearerToken+    , amvgAppsId+    , amvgView+    , amvgCallback+    ) where++import           Network.Google.AppEngine.Types+import           Network.Google.Prelude++-- | A resource alias for @appengine.apps.modules.versions.get@ method which the+-- 'AppsModulesVersionsGet' request conforms to.+type AppsModulesVersionsGetResource =+     "v1beta4" :>+       "apps" :>+         Capture "appsId" Text :>+           "modules" :>+             Capture "modulesId" Text :>+               "versions" :>+                 Capture "versionsId" Text :>+                   QueryParam "$.xgafv" Text :>+                     QueryParam "upload_protocol" Text :>+                       QueryParam "pp" Bool :>+                         QueryParam "access_token" Text :>+                           QueryParam "uploadType" Text :>+                             QueryParam "bearer_token" Text :>+                               QueryParam "view" Text :>+                                 QueryParam "callback" Text :>+                                   QueryParam "alt" AltJSON :>+                                     Get '[JSON] Version++-- | Gets application deployment information.+--+-- /See:/ 'appsModulesVersionsGet' smart constructor.+data AppsModulesVersionsGet = AppsModulesVersionsGet+    { _amvgXgafv          :: !(Maybe Text)+    , _amvgUploadProtocol :: !(Maybe Text)+    , _amvgPp             :: !Bool+    , _amvgAccessToken    :: !(Maybe Text)+    , _amvgUploadType     :: !(Maybe Text)+    , _amvgVersionsId     :: !Text+    , _amvgModulesId      :: !Text+    , _amvgBearerToken    :: !(Maybe Text)+    , _amvgAppsId         :: !Text+    , _amvgView           :: !(Maybe Text)+    , _amvgCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AppsModulesVersionsGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'amvgXgafv'+--+-- * 'amvgUploadProtocol'+--+-- * 'amvgPp'+--+-- * 'amvgAccessToken'+--+-- * 'amvgUploadType'+--+-- * 'amvgVersionsId'+--+-- * 'amvgModulesId'+--+-- * 'amvgBearerToken'+--+-- * 'amvgAppsId'+--+-- * 'amvgView'+--+-- * 'amvgCallback'+appsModulesVersionsGet+    :: Text -- ^ 'amvgVersionsId'+    -> Text -- ^ 'amvgModulesId'+    -> Text -- ^ 'amvgAppsId'+    -> AppsModulesVersionsGet+appsModulesVersionsGet pAmvgVersionsId_ pAmvgModulesId_ pAmvgAppsId_ =+    AppsModulesVersionsGet+    { _amvgXgafv = Nothing+    , _amvgUploadProtocol = Nothing+    , _amvgPp = True+    , _amvgAccessToken = Nothing+    , _amvgUploadType = Nothing+    , _amvgVersionsId = pAmvgVersionsId_+    , _amvgModulesId = pAmvgModulesId_+    , _amvgBearerToken = Nothing+    , _amvgAppsId = pAmvgAppsId_+    , _amvgView = Nothing+    , _amvgCallback = Nothing+    }++-- | V1 error format.+amvgXgafv :: Lens' AppsModulesVersionsGet (Maybe Text)+amvgXgafv+  = lens _amvgXgafv (\ s a -> s{_amvgXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+amvgUploadProtocol :: Lens' AppsModulesVersionsGet (Maybe Text)+amvgUploadProtocol+  = lens _amvgUploadProtocol+      (\ s a -> s{_amvgUploadProtocol = a})++-- | Pretty-print response.+amvgPp :: Lens' AppsModulesVersionsGet Bool+amvgPp = lens _amvgPp (\ s a -> s{_amvgPp = a})++-- | OAuth access token.+amvgAccessToken :: Lens' AppsModulesVersionsGet (Maybe Text)+amvgAccessToken+  = lens _amvgAccessToken+      (\ s a -> s{_amvgAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+amvgUploadType :: Lens' AppsModulesVersionsGet (Maybe Text)+amvgUploadType+  = lens _amvgUploadType+      (\ s a -> s{_amvgUploadType = a})++-- | Part of \`name\`. See documentation of \`appsId\`.+amvgVersionsId :: Lens' AppsModulesVersionsGet Text+amvgVersionsId+  = lens _amvgVersionsId+      (\ s a -> s{_amvgVersionsId = a})++-- | Part of \`name\`. See documentation of \`appsId\`.+amvgModulesId :: Lens' AppsModulesVersionsGet Text+amvgModulesId+  = lens _amvgModulesId+      (\ s a -> s{_amvgModulesId = a})++-- | OAuth bearer token.+amvgBearerToken :: Lens' AppsModulesVersionsGet (Maybe Text)+amvgBearerToken+  = lens _amvgBearerToken+      (\ s a -> s{_amvgBearerToken = a})++-- | Part of \`name\`. Name of the resource requested. For example:+-- \"apps\/myapp\/modules\/default\/versions\/v1\".+amvgAppsId :: Lens' AppsModulesVersionsGet Text+amvgAppsId+  = lens _amvgAppsId (\ s a -> s{_amvgAppsId = a})++-- | Controls the set of fields returned in the \`Get\` response.+amvgView :: Lens' AppsModulesVersionsGet (Maybe Text)+amvgView = lens _amvgView (\ s a -> s{_amvgView = a})++-- | JSONP+amvgCallback :: Lens' AppsModulesVersionsGet (Maybe Text)+amvgCallback+  = lens _amvgCallback (\ s a -> s{_amvgCallback = a})++instance GoogleRequest AppsModulesVersionsGet where+        type Rs AppsModulesVersionsGet = Version+        requestClient AppsModulesVersionsGet{..}+          = go _amvgAppsId _amvgModulesId _amvgVersionsId+              _amvgXgafv+              _amvgUploadProtocol+              (Just _amvgPp)+              _amvgAccessToken+              _amvgUploadType+              _amvgBearerToken+              _amvgView+              _amvgCallback+              (Just AltJSON)+              appEngineService+          where go+                  = buildClient+                      (Proxy :: Proxy AppsModulesVersionsGetResource)+                      mempty
+ gen/Network/Google/Resource/AppEngine/Apps/Modules/Versions/List.hs view
@@ -0,0 +1,225 @@+{-# 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.AppEngine.Apps.Modules.Versions.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)+--+-- Lists the versions of a module.+--+-- /See:/ <https://developers.google.com/appengine/ Google App Engine Admin API Reference> for @appengine.apps.modules.versions.list@.+module Network.Google.Resource.AppEngine.Apps.Modules.Versions.List+    (+    -- * REST Resource+      AppsModulesVersionsListResource++    -- * Creating a Request+    , appsModulesVersionsList+    , AppsModulesVersionsList++    -- * Request Lenses+    , amvlXgafv+    , amvlUploadProtocol+    , amvlPp+    , amvlAccessToken+    , amvlUploadType+    , amvlModulesId+    , amvlBearerToken+    , amvlAppsId+    , amvlView+    , amvlPageToken+    , amvlPageSize+    , amvlCallback+    ) where++import           Network.Google.AppEngine.Types+import           Network.Google.Prelude++-- | A resource alias for @appengine.apps.modules.versions.list@ method which the+-- 'AppsModulesVersionsList' request conforms to.+type AppsModulesVersionsListResource =+     "v1beta4" :>+       "apps" :>+         Capture "appsId" Text :>+           "modules" :>+             Capture "modulesId" Text :>+               "versions" :>+                 QueryParam "$.xgafv" Text :>+                   QueryParam "upload_protocol" Text :>+                     QueryParam "pp" Bool :>+                       QueryParam "access_token" Text :>+                         QueryParam "uploadType" Text :>+                           QueryParam "bearer_token" Text :>+                             QueryParam "view" Text :>+                               QueryParam "pageToken" Text :>+                                 QueryParam "pageSize" (Textual Int32) :>+                                   QueryParam "callback" Text :>+                                     QueryParam "alt" AltJSON :>+                                       Get '[JSON] ListVersionsResponse++-- | Lists the versions of a module.+--+-- /See:/ 'appsModulesVersionsList' smart constructor.+data AppsModulesVersionsList = AppsModulesVersionsList+    { _amvlXgafv          :: !(Maybe Text)+    , _amvlUploadProtocol :: !(Maybe Text)+    , _amvlPp             :: !Bool+    , _amvlAccessToken    :: !(Maybe Text)+    , _amvlUploadType     :: !(Maybe Text)+    , _amvlModulesId      :: !Text+    , _amvlBearerToken    :: !(Maybe Text)+    , _amvlAppsId         :: !Text+    , _amvlView           :: !(Maybe Text)+    , _amvlPageToken      :: !(Maybe Text)+    , _amvlPageSize       :: !(Maybe (Textual Int32))+    , _amvlCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AppsModulesVersionsList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'amvlXgafv'+--+-- * 'amvlUploadProtocol'+--+-- * 'amvlPp'+--+-- * 'amvlAccessToken'+--+-- * 'amvlUploadType'+--+-- * 'amvlModulesId'+--+-- * 'amvlBearerToken'+--+-- * 'amvlAppsId'+--+-- * 'amvlView'+--+-- * 'amvlPageToken'+--+-- * 'amvlPageSize'+--+-- * 'amvlCallback'+appsModulesVersionsList+    :: Text -- ^ 'amvlModulesId'+    -> Text -- ^ 'amvlAppsId'+    -> AppsModulesVersionsList+appsModulesVersionsList pAmvlModulesId_ pAmvlAppsId_ =+    AppsModulesVersionsList+    { _amvlXgafv = Nothing+    , _amvlUploadProtocol = Nothing+    , _amvlPp = True+    , _amvlAccessToken = Nothing+    , _amvlUploadType = Nothing+    , _amvlModulesId = pAmvlModulesId_+    , _amvlBearerToken = Nothing+    , _amvlAppsId = pAmvlAppsId_+    , _amvlView = Nothing+    , _amvlPageToken = Nothing+    , _amvlPageSize = Nothing+    , _amvlCallback = Nothing+    }++-- | V1 error format.+amvlXgafv :: Lens' AppsModulesVersionsList (Maybe Text)+amvlXgafv+  = lens _amvlXgafv (\ s a -> s{_amvlXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+amvlUploadProtocol :: Lens' AppsModulesVersionsList (Maybe Text)+amvlUploadProtocol+  = lens _amvlUploadProtocol+      (\ s a -> s{_amvlUploadProtocol = a})++-- | Pretty-print response.+amvlPp :: Lens' AppsModulesVersionsList Bool+amvlPp = lens _amvlPp (\ s a -> s{_amvlPp = a})++-- | OAuth access token.+amvlAccessToken :: Lens' AppsModulesVersionsList (Maybe Text)+amvlAccessToken+  = lens _amvlAccessToken+      (\ s a -> s{_amvlAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+amvlUploadType :: Lens' AppsModulesVersionsList (Maybe Text)+amvlUploadType+  = lens _amvlUploadType+      (\ s a -> s{_amvlUploadType = a})++-- | Part of \`name\`. See documentation of \`appsId\`.+amvlModulesId :: Lens' AppsModulesVersionsList Text+amvlModulesId+  = lens _amvlModulesId+      (\ s a -> s{_amvlModulesId = a})++-- | OAuth bearer token.+amvlBearerToken :: Lens' AppsModulesVersionsList (Maybe Text)+amvlBearerToken+  = lens _amvlBearerToken+      (\ s a -> s{_amvlBearerToken = a})++-- | Part of \`name\`. Name of the resource requested. For example:+-- \"apps\/myapp\/modules\/default\".+amvlAppsId :: Lens' AppsModulesVersionsList Text+amvlAppsId+  = lens _amvlAppsId (\ s a -> s{_amvlAppsId = a})++-- | Controls the set of fields returned in the \`List\` response.+amvlView :: Lens' AppsModulesVersionsList (Maybe Text)+amvlView = lens _amvlView (\ s a -> s{_amvlView = a})++-- | Continuation token for fetching the next page of results.+amvlPageToken :: Lens' AppsModulesVersionsList (Maybe Text)+amvlPageToken+  = lens _amvlPageToken+      (\ s a -> s{_amvlPageToken = a})++-- | Maximum results to return per page.+amvlPageSize :: Lens' AppsModulesVersionsList (Maybe Int32)+amvlPageSize+  = lens _amvlPageSize (\ s a -> s{_amvlPageSize = a})+      . mapping _Coerce++-- | JSONP+amvlCallback :: Lens' AppsModulesVersionsList (Maybe Text)+amvlCallback+  = lens _amvlCallback (\ s a -> s{_amvlCallback = a})++instance GoogleRequest AppsModulesVersionsList where+        type Rs AppsModulesVersionsList =+             ListVersionsResponse+        requestClient AppsModulesVersionsList{..}+          = go _amvlAppsId _amvlModulesId _amvlXgafv+              _amvlUploadProtocol+              (Just _amvlPp)+              _amvlAccessToken+              _amvlUploadType+              _amvlBearerToken+              _amvlView+              _amvlPageToken+              _amvlPageSize+              _amvlCallback+              (Just AltJSON)+              appEngineService+          where go+                  = buildClient+                      (Proxy :: Proxy AppsModulesVersionsListResource)+                      mempty
+ gen/Network/Google/Resource/AppEngine/Apps/Operations/Get.hs view
@@ -0,0 +1,187 @@+{-# 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.AppEngine.Apps.Operations.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)+--+-- Gets the latest state of a long-running operation. Clients can use this+-- method to poll the operation result at intervals as recommended by the+-- API service.+--+-- /See:/ <https://developers.google.com/appengine/ Google App Engine Admin API Reference> for @appengine.apps.operations.get@.+module Network.Google.Resource.AppEngine.Apps.Operations.Get+    (+    -- * REST Resource+      AppsOperationsGetResource++    -- * Creating a Request+    , appsOperationsGet+    , AppsOperationsGet++    -- * Request Lenses+    , aogXgafv+    , aogUploadProtocol+    , aogPp+    , aogAccessToken+    , aogUploadType+    , aogBearerToken+    , aogAppsId+    , aogOperationsId+    , aogCallback+    ) where++import           Network.Google.AppEngine.Types+import           Network.Google.Prelude++-- | A resource alias for @appengine.apps.operations.get@ method which the+-- 'AppsOperationsGet' request conforms to.+type AppsOperationsGetResource =+     "v1beta4" :>+       "apps" :>+         Capture "appsId" Text :>+           "operations" :>+             Capture "operationsId" Text :>+               QueryParam "$.xgafv" Text :>+                 QueryParam "upload_protocol" Text :>+                   QueryParam "pp" Bool :>+                     QueryParam "access_token" Text :>+                       QueryParam "uploadType" Text :>+                         QueryParam "bearer_token" Text :>+                           QueryParam "callback" Text :>+                             QueryParam "alt" AltJSON :> Get '[JSON] Operation++-- | Gets the latest state of a long-running operation. Clients can use this+-- method to poll the operation result at intervals as recommended by the+-- API service.+--+-- /See:/ 'appsOperationsGet' smart constructor.+data AppsOperationsGet = AppsOperationsGet+    { _aogXgafv          :: !(Maybe Text)+    , _aogUploadProtocol :: !(Maybe Text)+    , _aogPp             :: !Bool+    , _aogAccessToken    :: !(Maybe Text)+    , _aogUploadType     :: !(Maybe Text)+    , _aogBearerToken    :: !(Maybe Text)+    , _aogAppsId         :: !Text+    , _aogOperationsId   :: !Text+    , _aogCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AppsOperationsGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'aogXgafv'+--+-- * 'aogUploadProtocol'+--+-- * 'aogPp'+--+-- * 'aogAccessToken'+--+-- * 'aogUploadType'+--+-- * 'aogBearerToken'+--+-- * 'aogAppsId'+--+-- * 'aogOperationsId'+--+-- * 'aogCallback'+appsOperationsGet+    :: Text -- ^ 'aogAppsId'+    -> Text -- ^ 'aogOperationsId'+    -> AppsOperationsGet+appsOperationsGet pAogAppsId_ pAogOperationsId_ =+    AppsOperationsGet+    { _aogXgafv = Nothing+    , _aogUploadProtocol = Nothing+    , _aogPp = True+    , _aogAccessToken = Nothing+    , _aogUploadType = Nothing+    , _aogBearerToken = Nothing+    , _aogAppsId = pAogAppsId_+    , _aogOperationsId = pAogOperationsId_+    , _aogCallback = Nothing+    }++-- | V1 error format.+aogXgafv :: Lens' AppsOperationsGet (Maybe Text)+aogXgafv = lens _aogXgafv (\ s a -> s{_aogXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+aogUploadProtocol :: Lens' AppsOperationsGet (Maybe Text)+aogUploadProtocol+  = lens _aogUploadProtocol+      (\ s a -> s{_aogUploadProtocol = a})++-- | Pretty-print response.+aogPp :: Lens' AppsOperationsGet Bool+aogPp = lens _aogPp (\ s a -> s{_aogPp = a})++-- | OAuth access token.+aogAccessToken :: Lens' AppsOperationsGet (Maybe Text)+aogAccessToken+  = lens _aogAccessToken+      (\ s a -> s{_aogAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+aogUploadType :: Lens' AppsOperationsGet (Maybe Text)+aogUploadType+  = lens _aogUploadType+      (\ s a -> s{_aogUploadType = a})++-- | OAuth bearer token.+aogBearerToken :: Lens' AppsOperationsGet (Maybe Text)+aogBearerToken+  = lens _aogBearerToken+      (\ s a -> s{_aogBearerToken = a})++-- | Part of \`name\`. The name of the operation resource.+aogAppsId :: Lens' AppsOperationsGet Text+aogAppsId+  = lens _aogAppsId (\ s a -> s{_aogAppsId = a})++-- | Part of \`name\`. See documentation of \`appsId\`.+aogOperationsId :: Lens' AppsOperationsGet Text+aogOperationsId+  = lens _aogOperationsId+      (\ s a -> s{_aogOperationsId = a})++-- | JSONP+aogCallback :: Lens' AppsOperationsGet (Maybe Text)+aogCallback+  = lens _aogCallback (\ s a -> s{_aogCallback = a})++instance GoogleRequest AppsOperationsGet where+        type Rs AppsOperationsGet = Operation+        requestClient AppsOperationsGet{..}+          = go _aogAppsId _aogOperationsId _aogXgafv+              _aogUploadProtocol+              (Just _aogPp)+              _aogAccessToken+              _aogUploadType+              _aogBearerToken+              _aogCallback+              (Just AltJSON)+              appEngineService+          where go+                  = buildClient+                      (Proxy :: Proxy AppsOperationsGetResource)+                      mempty
+ gen/Network/Google/Resource/AppEngine/Apps/Operations/List.hs view
@@ -0,0 +1,215 @@+{-# 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.AppEngine.Apps.Operations.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)+--+-- Lists operations that match the specified filter in the request. If the+-- server doesn\'t support this method, it returns \`UNIMPLEMENTED\`. NOTE:+-- the \`name\` binding below allows API services to override the binding+-- to use different resource name schemes, such as+-- \`users\/*\/operations\`.+--+-- /See:/ <https://developers.google.com/appengine/ Google App Engine Admin API Reference> for @appengine.apps.operations.list@.+module Network.Google.Resource.AppEngine.Apps.Operations.List+    (+    -- * REST Resource+      AppsOperationsListResource++    -- * Creating a Request+    , appsOperationsList+    , AppsOperationsList++    -- * Request Lenses+    , aolXgafv+    , aolUploadProtocol+    , aolPp+    , aolAccessToken+    , aolUploadType+    , aolBearerToken+    , aolAppsId+    , aolFilter+    , aolPageToken+    , aolPageSize+    , aolCallback+    ) where++import           Network.Google.AppEngine.Types+import           Network.Google.Prelude++-- | A resource alias for @appengine.apps.operations.list@ method which the+-- 'AppsOperationsList' request conforms to.+type AppsOperationsListResource =+     "v1beta4" :>+       "apps" :>+         Capture "appsId" Text :>+           "operations" :>+             QueryParam "$.xgafv" Text :>+               QueryParam "upload_protocol" Text :>+                 QueryParam "pp" Bool :>+                   QueryParam "access_token" Text :>+                     QueryParam "uploadType" Text :>+                       QueryParam "bearer_token" Text :>+                         QueryParam "filter" Text :>+                           QueryParam "pageToken" Text :>+                             QueryParam "pageSize" (Textual Int32) :>+                               QueryParam "callback" Text :>+                                 QueryParam "alt" AltJSON :>+                                   Get '[JSON] ListOperationsResponse++-- | Lists operations that match the specified filter in the request. If the+-- server doesn\'t support this method, it returns \`UNIMPLEMENTED\`. NOTE:+-- the \`name\` binding below allows API services to override the binding+-- to use different resource name schemes, such as+-- \`users\/*\/operations\`.+--+-- /See:/ 'appsOperationsList' smart constructor.+data AppsOperationsList = AppsOperationsList+    { _aolXgafv          :: !(Maybe Text)+    , _aolUploadProtocol :: !(Maybe Text)+    , _aolPp             :: !Bool+    , _aolAccessToken    :: !(Maybe Text)+    , _aolUploadType     :: !(Maybe Text)+    , _aolBearerToken    :: !(Maybe Text)+    , _aolAppsId         :: !Text+    , _aolFilter         :: !(Maybe Text)+    , _aolPageToken      :: !(Maybe Text)+    , _aolPageSize       :: !(Maybe (Textual Int32))+    , _aolCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AppsOperationsList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'aolXgafv'+--+-- * 'aolUploadProtocol'+--+-- * 'aolPp'+--+-- * 'aolAccessToken'+--+-- * 'aolUploadType'+--+-- * 'aolBearerToken'+--+-- * 'aolAppsId'+--+-- * 'aolFilter'+--+-- * 'aolPageToken'+--+-- * 'aolPageSize'+--+-- * 'aolCallback'+appsOperationsList+    :: Text -- ^ 'aolAppsId'+    -> AppsOperationsList+appsOperationsList pAolAppsId_ =+    AppsOperationsList+    { _aolXgafv = Nothing+    , _aolUploadProtocol = Nothing+    , _aolPp = True+    , _aolAccessToken = Nothing+    , _aolUploadType = Nothing+    , _aolBearerToken = Nothing+    , _aolAppsId = pAolAppsId_+    , _aolFilter = Nothing+    , _aolPageToken = Nothing+    , _aolPageSize = Nothing+    , _aolCallback = Nothing+    }++-- | V1 error format.+aolXgafv :: Lens' AppsOperationsList (Maybe Text)+aolXgafv = lens _aolXgafv (\ s a -> s{_aolXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+aolUploadProtocol :: Lens' AppsOperationsList (Maybe Text)+aolUploadProtocol+  = lens _aolUploadProtocol+      (\ s a -> s{_aolUploadProtocol = a})++-- | Pretty-print response.+aolPp :: Lens' AppsOperationsList Bool+aolPp = lens _aolPp (\ s a -> s{_aolPp = a})++-- | OAuth access token.+aolAccessToken :: Lens' AppsOperationsList (Maybe Text)+aolAccessToken+  = lens _aolAccessToken+      (\ s a -> s{_aolAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+aolUploadType :: Lens' AppsOperationsList (Maybe Text)+aolUploadType+  = lens _aolUploadType+      (\ s a -> s{_aolUploadType = a})++-- | OAuth bearer token.+aolBearerToken :: Lens' AppsOperationsList (Maybe Text)+aolBearerToken+  = lens _aolBearerToken+      (\ s a -> s{_aolBearerToken = a})++-- | Part of \`name\`. The name of the operation collection.+aolAppsId :: Lens' AppsOperationsList Text+aolAppsId+  = lens _aolAppsId (\ s a -> s{_aolAppsId = a})++-- | The standard list filter.+aolFilter :: Lens' AppsOperationsList (Maybe Text)+aolFilter+  = lens _aolFilter (\ s a -> s{_aolFilter = a})++-- | The standard list page token.+aolPageToken :: Lens' AppsOperationsList (Maybe Text)+aolPageToken+  = lens _aolPageToken (\ s a -> s{_aolPageToken = a})++-- | The standard list page size.+aolPageSize :: Lens' AppsOperationsList (Maybe Int32)+aolPageSize+  = lens _aolPageSize (\ s a -> s{_aolPageSize = a}) .+      mapping _Coerce++-- | JSONP+aolCallback :: Lens' AppsOperationsList (Maybe Text)+aolCallback+  = lens _aolCallback (\ s a -> s{_aolCallback = a})++instance GoogleRequest AppsOperationsList where+        type Rs AppsOperationsList = ListOperationsResponse+        requestClient AppsOperationsList{..}+          = go _aolAppsId _aolXgafv _aolUploadProtocol+              (Just _aolPp)+              _aolAccessToken+              _aolUploadType+              _aolBearerToken+              _aolFilter+              _aolPageToken+              _aolPageSize+              _aolCallback+              (Just AltJSON)+              appEngineService+          where go+                  = buildClient+                      (Proxy :: Proxy AppsOperationsListResource)+                      mempty
+ gogol-appengine.cabal view
@@ -0,0 +1,57 @@+name:                  gogol-appengine+version:               0.0.1+synopsis:              Google App Engine Admin 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 App Engine Admin API enables developers to provision and+    manage their App Engine applications.+    .+    /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 @v1beta4@+    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.AppEngine+        , Network.Google.AppEngine.Types+        , Network.Google.Resource.AppEngine.Apps.Get+        , Network.Google.Resource.AppEngine.Apps.Modules.Delete+        , Network.Google.Resource.AppEngine.Apps.Modules.Get+        , Network.Google.Resource.AppEngine.Apps.Modules.List+        , Network.Google.Resource.AppEngine.Apps.Modules.Patch+        , Network.Google.Resource.AppEngine.Apps.Modules.Versions.Create+        , Network.Google.Resource.AppEngine.Apps.Modules.Versions.Delete+        , Network.Google.Resource.AppEngine.Apps.Modules.Versions.Get+        , Network.Google.Resource.AppEngine.Apps.Modules.Versions.List+        , Network.Google.Resource.AppEngine.Apps.Operations.Get+        , Network.Google.Resource.AppEngine.Apps.Operations.List++    other-modules:+          Network.Google.AppEngine.Types.Product+        , Network.Google.AppEngine.Types.Sum++    build-depends:+          gogol-core == 0.0.1.*+        , base       >= 4.7 && < 5