packages feed

gogol-cloudfunctions (empty) → 0.4.0

raw patch · 23 files changed

+5946/−0 lines, 23 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-cloudfunctions++* [Version](#version)+* [Description](#description)+* [Contribute](#contribute)+* [Licence](#licence)+++## Version++`0.3.0`+++## Description++A client library for the Google Cloud Functions.+++## Contribute++For any problems, comments, or feedback please create an issue [here on GitHub](https://github.com/brendanhay/gogol/issues).++> _Note:_ this library is an auto-generated Haskell package. Please see `gogol-gen` for more information.+++## Licence++`gogol-cloudfunctions` 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/CloudFunctions.hs view
@@ -0,0 +1,371 @@+{-# LANGUAGE DataKinds         #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE TypeOperators     #-}++{-# OPTIONS_GHC -fno-warn-unused-imports    #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}++-- |+-- Module      : Network.Google.CloudFunctions+-- Copyright   : (c) 2015-2016 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)+--+-- Manages lightweight user-provided functions executed in response to+-- events.+--+-- /See:/ <https://cloud.google.com/functions Cloud Functions API Reference>+module Network.Google.CloudFunctions+    (+    -- * Service Configuration+      cloudFunctionsService++    -- * OAuth Scopes+    , cloudPlatformScope++    -- * API Declaration+    , CloudFunctionsAPI++    -- * Resources++    -- ** cloudfunctions.operations.get+    , module Network.Google.Resource.CloudFunctions.Operations.Get++    -- ** cloudfunctions.operations.list+    , module Network.Google.Resource.CloudFunctions.Operations.List++    -- ** cloudfunctions.projects.locations.functions.call+    , module Network.Google.Resource.CloudFunctions.Projects.Locations.Functions.Call++    -- ** cloudfunctions.projects.locations.functions.create+    , module Network.Google.Resource.CloudFunctions.Projects.Locations.Functions.Create++    -- ** cloudfunctions.projects.locations.functions.delete+    , module Network.Google.Resource.CloudFunctions.Projects.Locations.Functions.Delete++    -- ** cloudfunctions.projects.locations.functions.generateDownloadUrl+    , module Network.Google.Resource.CloudFunctions.Projects.Locations.Functions.GenerateDownloadURL++    -- ** cloudfunctions.projects.locations.functions.generateUploadUrl+    , module Network.Google.Resource.CloudFunctions.Projects.Locations.Functions.GenerateUploadURL++    -- ** cloudfunctions.projects.locations.functions.get+    , module Network.Google.Resource.CloudFunctions.Projects.Locations.Functions.Get++    -- ** cloudfunctions.projects.locations.functions.getIamPolicy+    , module Network.Google.Resource.CloudFunctions.Projects.Locations.Functions.GetIAMPolicy++    -- ** cloudfunctions.projects.locations.functions.list+    , module Network.Google.Resource.CloudFunctions.Projects.Locations.Functions.List++    -- ** cloudfunctions.projects.locations.functions.patch+    , module Network.Google.Resource.CloudFunctions.Projects.Locations.Functions.Patch++    -- ** cloudfunctions.projects.locations.functions.setIamPolicy+    , module Network.Google.Resource.CloudFunctions.Projects.Locations.Functions.SetIAMPolicy++    -- ** cloudfunctions.projects.locations.functions.testIamPermissions+    , module Network.Google.Resource.CloudFunctions.Projects.Locations.Functions.TestIAMPermissions++    -- ** cloudfunctions.projects.locations.list+    , module Network.Google.Resource.CloudFunctions.Projects.Locations.List++    -- * Types++    -- ** Status+    , Status+    , status+    , sDetails+    , sCode+    , sMessage++    -- ** AuditConfig+    , AuditConfig+    , auditConfig+    , acService+    , acAuditLogConfigs++    -- ** OperationMetadataV1Type+    , OperationMetadataV1Type (..)++    -- ** OperationMetadataV1Beta2+    , OperationMetadataV1Beta2+    , operationMetadataV1Beta2+    , omvbVersionId+    , omvbUpdateTime+    , omvbType+    , omvbTarget+    , omvbRequest++    -- ** Expr+    , Expr+    , expr+    , eLocation+    , eExpression+    , eTitle+    , eDescription++    -- ** ListLocationsResponse+    , ListLocationsResponse+    , listLocationsResponse+    , llrNextPageToken+    , llrLocations++    -- ** ListOperationsResponse+    , ListOperationsResponse+    , listOperationsResponse+    , lorNextPageToken+    , lorOperations++    -- ** GenerateUploadURLRequest+    , GenerateUploadURLRequest+    , generateUploadURLRequest++    -- ** Location+    , Location+    , location+    , lName+    , lMetadata+    , lDisplayName+    , lLabels+    , lLocationId++    -- ** Operation+    , Operation+    , operation+    , oDone+    , oError+    , oResponse+    , oName+    , oMetadata++    -- ** GenerateDownloadURLRequest+    , GenerateDownloadURLRequest+    , generateDownloadURLRequest+    , gdurVersionId++    -- ** Retry+    , Retry+    , retry++    -- ** GenerateUploadURLResponse+    , GenerateUploadURLResponse+    , generateUploadURLResponse+    , guurUploadURL++    -- ** FailurePolicy+    , FailurePolicy+    , failurePolicy+    , fpRetry++    -- ** CallFunctionResponse+    , CallFunctionResponse+    , callFunctionResponse+    , cfrExecutionId+    , cfrError+    , cfrResult++    -- ** HTTPSTrigger+    , HTTPSTrigger+    , httpsTrigger+    , htURL++    -- ** StatusDetailsItem+    , StatusDetailsItem+    , statusDetailsItem+    , sdiAddtional++    -- ** CloudFunctionEnvironmentVariables+    , CloudFunctionEnvironmentVariables+    , cloudFunctionEnvironmentVariables+    , cfevAddtional++    -- ** OperationMetadataV1Request+    , OperationMetadataV1Request+    , operationMetadataV1Request+    , omvrAddtional++    -- ** SetIAMPolicyRequest+    , SetIAMPolicyRequest+    , setIAMPolicyRequest+    , siprUpdateMask+    , siprPolicy++    -- ** EventTrigger+    , EventTrigger+    , eventTrigger+    , etService+    , etFailurePolicy+    , etEventType+    , etResource++    -- ** SourceRepository+    , SourceRepository+    , sourceRepository+    , srURL+    , srDeployedURL++    -- ** OperationMetadataV1+    , OperationMetadataV1+    , operationMetadataV1+    , omvVersionId+    , omvUpdateTime+    , omvType+    , omvTarget+    , omvRequest++    -- ** CloudFunctionStatus+    , CloudFunctionStatus (..)++    -- ** OperationMetadataV1Beta2Type+    , OperationMetadataV1Beta2Type (..)++    -- ** GenerateDownloadURLResponse+    , GenerateDownloadURLResponse+    , generateDownloadURLResponse+    , gdurDownloadURL++    -- ** AuditLogConfigLogType+    , AuditLogConfigLogType (..)++    -- ** Xgafv+    , Xgafv (..)++    -- ** TestIAMPermissionsRequest+    , TestIAMPermissionsRequest+    , testIAMPermissionsRequest+    , tiprPermissions++    -- ** TestIAMPermissionsResponse+    , TestIAMPermissionsResponse+    , testIAMPermissionsResponse+    , tiamprPermissions++    -- ** Policy+    , Policy+    , policy+    , pAuditConfigs+    , pEtag+    , pVersion+    , pBindings++    -- ** LocationLabels+    , LocationLabels+    , locationLabels+    , llAddtional++    -- ** ListFunctionsResponse+    , ListFunctionsResponse+    , listFunctionsResponse+    , lfrNextPageToken+    , lfrFunctions++    -- ** LocationMetadata+    , LocationMetadata+    , locationMetadata+    , lmAddtional++    -- ** OperationMetadata+    , OperationMetadata+    , operationMetadata+    , omAddtional++    -- ** AuditLogConfig+    , AuditLogConfig+    , auditLogConfig+    , alcLogType+    , alcExemptedMembers++    -- ** CloudFunction+    , CloudFunction+    , cloudFunction+    , cfRuntime+    , cfStatus+    , cfSourceArchiveURL+    , cfVersionId+    , cfSourceUploadURL+    , cfEntryPoint+    , cfHTTPSTrigger+    , cfNetwork+    , cfMaxInstances+    , cfEventTrigger+    , cfUpdateTime+    , cfName+    , cfSourceRepository+    , cfAvailableMemoryMb+    , cfLabels+    , cfServiceAccountEmail+    , cfEnvironmentVariables+    , cfTimeout+    , cfVPCConnector+    , cfDescription++    -- ** OperationMetadataV1Beta2Request+    , OperationMetadataV1Beta2Request+    , operationMetadataV1Beta2Request+    , omvbrAddtional++    -- ** CloudFunctionLabels+    , CloudFunctionLabels+    , cloudFunctionLabels+    , cflAddtional++    -- ** OperationResponse+    , OperationResponse+    , operationResponse+    , orAddtional++    -- ** CallFunctionRequest+    , CallFunctionRequest+    , callFunctionRequest+    , cfrData++    -- ** Binding+    , Binding+    , binding+    , bMembers+    , bRole+    , bCondition+    ) where++import           Network.Google.CloudFunctions.Types+import           Network.Google.Prelude+import           Network.Google.Resource.CloudFunctions.Operations.Get+import           Network.Google.Resource.CloudFunctions.Operations.List+import           Network.Google.Resource.CloudFunctions.Projects.Locations.Functions.Call+import           Network.Google.Resource.CloudFunctions.Projects.Locations.Functions.Create+import           Network.Google.Resource.CloudFunctions.Projects.Locations.Functions.Delete+import           Network.Google.Resource.CloudFunctions.Projects.Locations.Functions.GenerateDownloadURL+import           Network.Google.Resource.CloudFunctions.Projects.Locations.Functions.GenerateUploadURL+import           Network.Google.Resource.CloudFunctions.Projects.Locations.Functions.Get+import           Network.Google.Resource.CloudFunctions.Projects.Locations.Functions.GetIAMPolicy+import           Network.Google.Resource.CloudFunctions.Projects.Locations.Functions.List+import           Network.Google.Resource.CloudFunctions.Projects.Locations.Functions.Patch+import           Network.Google.Resource.CloudFunctions.Projects.Locations.Functions.SetIAMPolicy+import           Network.Google.Resource.CloudFunctions.Projects.Locations.Functions.TestIAMPermissions+import           Network.Google.Resource.CloudFunctions.Projects.Locations.List++{- $resources+TODO+-}++-- | Represents the entirety of the methods and resources available for the Cloud Functions API service.+type CloudFunctionsAPI =+     OperationsListResource :<|> OperationsGetResource+       :<|> ProjectsLocationsFunctionsListResource+       :<|> ProjectsLocationsFunctionsCallResource+       :<|>+       ProjectsLocationsFunctionsGenerateUploadURLResource+       :<|> ProjectsLocationsFunctionsGetIAMPolicyResource+       :<|> ProjectsLocationsFunctionsPatchResource+       :<|> ProjectsLocationsFunctionsGetResource+       :<|> ProjectsLocationsFunctionsCreateResource+       :<|>+       ProjectsLocationsFunctionsGenerateDownloadURLResource+       :<|> ProjectsLocationsFunctionsSetIAMPolicyResource+       :<|>+       ProjectsLocationsFunctionsTestIAMPermissionsResource+       :<|> ProjectsLocationsFunctionsDeleteResource+       :<|> ProjectsLocationsListResource
+ gen/Network/Google/CloudFunctions/Types.hs view
@@ -0,0 +1,293 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module      : Network.Google.CloudFunctions.Types+-- Copyright   : (c) 2015-2016 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.CloudFunctions.Types+    (+    -- * Service Configuration+      cloudFunctionsService++    -- * OAuth Scopes+    , cloudPlatformScope++    -- * Status+    , Status+    , status+    , sDetails+    , sCode+    , sMessage++    -- * AuditConfig+    , AuditConfig+    , auditConfig+    , acService+    , acAuditLogConfigs++    -- * OperationMetadataV1Type+    , OperationMetadataV1Type (..)++    -- * OperationMetadataV1Beta2+    , OperationMetadataV1Beta2+    , operationMetadataV1Beta2+    , omvbVersionId+    , omvbUpdateTime+    , omvbType+    , omvbTarget+    , omvbRequest++    -- * Expr+    , Expr+    , expr+    , eLocation+    , eExpression+    , eTitle+    , eDescription++    -- * ListLocationsResponse+    , ListLocationsResponse+    , listLocationsResponse+    , llrNextPageToken+    , llrLocations++    -- * ListOperationsResponse+    , ListOperationsResponse+    , listOperationsResponse+    , lorNextPageToken+    , lorOperations++    -- * GenerateUploadURLRequest+    , GenerateUploadURLRequest+    , generateUploadURLRequest++    -- * Location+    , Location+    , location+    , lName+    , lMetadata+    , lDisplayName+    , lLabels+    , lLocationId++    -- * Operation+    , Operation+    , operation+    , oDone+    , oError+    , oResponse+    , oName+    , oMetadata++    -- * GenerateDownloadURLRequest+    , GenerateDownloadURLRequest+    , generateDownloadURLRequest+    , gdurVersionId++    -- * Retry+    , Retry+    , retry++    -- * GenerateUploadURLResponse+    , GenerateUploadURLResponse+    , generateUploadURLResponse+    , guurUploadURL++    -- * FailurePolicy+    , FailurePolicy+    , failurePolicy+    , fpRetry++    -- * CallFunctionResponse+    , CallFunctionResponse+    , callFunctionResponse+    , cfrExecutionId+    , cfrError+    , cfrResult++    -- * HTTPSTrigger+    , HTTPSTrigger+    , httpsTrigger+    , htURL++    -- * StatusDetailsItem+    , StatusDetailsItem+    , statusDetailsItem+    , sdiAddtional++    -- * CloudFunctionEnvironmentVariables+    , CloudFunctionEnvironmentVariables+    , cloudFunctionEnvironmentVariables+    , cfevAddtional++    -- * OperationMetadataV1Request+    , OperationMetadataV1Request+    , operationMetadataV1Request+    , omvrAddtional++    -- * SetIAMPolicyRequest+    , SetIAMPolicyRequest+    , setIAMPolicyRequest+    , siprUpdateMask+    , siprPolicy++    -- * EventTrigger+    , EventTrigger+    , eventTrigger+    , etService+    , etFailurePolicy+    , etEventType+    , etResource++    -- * SourceRepository+    , SourceRepository+    , sourceRepository+    , srURL+    , srDeployedURL++    -- * OperationMetadataV1+    , OperationMetadataV1+    , operationMetadataV1+    , omvVersionId+    , omvUpdateTime+    , omvType+    , omvTarget+    , omvRequest++    -- * CloudFunctionStatus+    , CloudFunctionStatus (..)++    -- * OperationMetadataV1Beta2Type+    , OperationMetadataV1Beta2Type (..)++    -- * GenerateDownloadURLResponse+    , GenerateDownloadURLResponse+    , generateDownloadURLResponse+    , gdurDownloadURL++    -- * AuditLogConfigLogType+    , AuditLogConfigLogType (..)++    -- * Xgafv+    , Xgafv (..)++    -- * TestIAMPermissionsRequest+    , TestIAMPermissionsRequest+    , testIAMPermissionsRequest+    , tiprPermissions++    -- * TestIAMPermissionsResponse+    , TestIAMPermissionsResponse+    , testIAMPermissionsResponse+    , tiamprPermissions++    -- * Policy+    , Policy+    , policy+    , pAuditConfigs+    , pEtag+    , pVersion+    , pBindings++    -- * LocationLabels+    , LocationLabels+    , locationLabels+    , llAddtional++    -- * ListFunctionsResponse+    , ListFunctionsResponse+    , listFunctionsResponse+    , lfrNextPageToken+    , lfrFunctions++    -- * LocationMetadata+    , LocationMetadata+    , locationMetadata+    , lmAddtional++    -- * OperationMetadata+    , OperationMetadata+    , operationMetadata+    , omAddtional++    -- * AuditLogConfig+    , AuditLogConfig+    , auditLogConfig+    , alcLogType+    , alcExemptedMembers++    -- * CloudFunction+    , CloudFunction+    , cloudFunction+    , cfRuntime+    , cfStatus+    , cfSourceArchiveURL+    , cfVersionId+    , cfSourceUploadURL+    , cfEntryPoint+    , cfHTTPSTrigger+    , cfNetwork+    , cfMaxInstances+    , cfEventTrigger+    , cfUpdateTime+    , cfName+    , cfSourceRepository+    , cfAvailableMemoryMb+    , cfLabels+    , cfServiceAccountEmail+    , cfEnvironmentVariables+    , cfTimeout+    , cfVPCConnector+    , cfDescription++    -- * OperationMetadataV1Beta2Request+    , OperationMetadataV1Beta2Request+    , operationMetadataV1Beta2Request+    , omvbrAddtional++    -- * CloudFunctionLabels+    , CloudFunctionLabels+    , cloudFunctionLabels+    , cflAddtional++    -- * OperationResponse+    , OperationResponse+    , operationResponse+    , orAddtional++    -- * CallFunctionRequest+    , CallFunctionRequest+    , callFunctionRequest+    , cfrData++    -- * Binding+    , Binding+    , binding+    , bMembers+    , bRole+    , bCondition+    ) where++import           Network.Google.CloudFunctions.Types.Product+import           Network.Google.CloudFunctions.Types.Sum+import           Network.Google.Prelude++-- | Default request referring to version 'v1' of the Cloud Functions API. This contains the host and root path used as a starting point for constructing service requests.+cloudFunctionsService :: ServiceConfig+cloudFunctionsService+  = defaultService (ServiceId "cloudfunctions:v1")+      "cloudfunctions.googleapis.com"++-- | View and manage your data across Google Cloud Platform services+cloudPlatformScope :: Proxy '["https://www.googleapis.com/auth/cloud-platform"]+cloudPlatformScope = Proxy;
+ gen/Network/Google/CloudFunctions/Types/Product.hs view
@@ -0,0 +1,2217 @@+{-# 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.CloudFunctions.Types.Product+-- Copyright   : (c) 2015-2016 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.CloudFunctions.Types.Product where++import           Network.Google.CloudFunctions.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, 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\` that 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. -+-- 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 is 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.+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 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])++-- | Specifies the audit configuration for a service. The configuration+-- determines which permission types are logged, and what identities, if+-- any, are exempted from logging. An AuditConfig must have one or more+-- AuditLogConfigs. If there are AuditConfigs for both \`allServices\` and+-- a specific service, the union of the two AuditConfigs is used for that+-- service: the log_types specified in each AuditConfig are enabled, and+-- the exempted_members in each AuditLogConfig are exempted. Example Policy+-- with multiple AuditConfigs: { \"audit_configs\": [ { \"service\":+-- \"allServices\" \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\",+-- \"exempted_members\": [ \"user:foo\'gmail.com\" ] }, { \"log_type\":+-- \"DATA_WRITE\", }, { \"log_type\": \"ADMIN_READ\", } ] }, { \"service\":+-- \"fooservice.googleapis.com\" \"audit_log_configs\": [ { \"log_type\":+-- \"DATA_READ\", }, { \"log_type\": \"DATA_WRITE\", \"exempted_members\":+-- [ \"user:bar\'gmail.com\" ] } ] } ] } For fooservice, this policy+-- enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts+-- foo\'gmail.com from DATA_READ logging, and bar\'gmail.com from+-- DATA_WRITE logging.+--+-- /See:/ 'auditConfig' smart constructor.+data AuditConfig = AuditConfig'+    { _acService         :: !(Maybe Text)+    , _acAuditLogConfigs :: !(Maybe [AuditLogConfig])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AuditConfig' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'acService'+--+-- * 'acAuditLogConfigs'+auditConfig+    :: AuditConfig+auditConfig =+    AuditConfig'+    { _acService = Nothing+    , _acAuditLogConfigs = Nothing+    }++-- | Specifies a service that will be enabled for audit logging. For example,+-- \`storage.googleapis.com\`, \`cloudsql.googleapis.com\`. \`allServices\`+-- is a special value that covers all services.+acService :: Lens' AuditConfig (Maybe Text)+acService+  = lens _acService (\ s a -> s{_acService = a})++-- | The configuration for logging of each type of permission.+acAuditLogConfigs :: Lens' AuditConfig [AuditLogConfig]+acAuditLogConfigs+  = lens _acAuditLogConfigs+      (\ s a -> s{_acAuditLogConfigs = a})+      . _Default+      . _Coerce++instance FromJSON AuditConfig where+        parseJSON+          = withObject "AuditConfig"+              (\ o ->+                 AuditConfig' <$>+                   (o .:? "service") <*>+                     (o .:? "auditLogConfigs" .!= mempty))++instance ToJSON AuditConfig where+        toJSON AuditConfig'{..}+          = object+              (catMaybes+                 [("service" .=) <$> _acService,+                  ("auditLogConfigs" .=) <$> _acAuditLogConfigs])++-- | Metadata describing an Operation+--+-- /See:/ 'operationMetadataV1Beta2' smart constructor.+data OperationMetadataV1Beta2 = OperationMetadataV1Beta2'+    { _omvbVersionId  :: !(Maybe (Textual Int64))+    , _omvbUpdateTime :: !(Maybe DateTime')+    , _omvbType       :: !(Maybe OperationMetadataV1Beta2Type)+    , _omvbTarget     :: !(Maybe Text)+    , _omvbRequest    :: !(Maybe OperationMetadataV1Beta2Request)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'OperationMetadataV1Beta2' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'omvbVersionId'+--+-- * 'omvbUpdateTime'+--+-- * 'omvbType'+--+-- * 'omvbTarget'+--+-- * 'omvbRequest'+operationMetadataV1Beta2+    :: OperationMetadataV1Beta2+operationMetadataV1Beta2 =+    OperationMetadataV1Beta2'+    { _omvbVersionId = Nothing+    , _omvbUpdateTime = Nothing+    , _omvbType = Nothing+    , _omvbTarget = Nothing+    , _omvbRequest = Nothing+    }++-- | Version id of the function created or updated by an API call. This field+-- is only populated for Create and Update operations.+omvbVersionId :: Lens' OperationMetadataV1Beta2 (Maybe Int64)+omvbVersionId+  = lens _omvbVersionId+      (\ s a -> s{_omvbVersionId = a})+      . mapping _Coerce++-- | The last update timestamp of the operation.+omvbUpdateTime :: Lens' OperationMetadataV1Beta2 (Maybe UTCTime)+omvbUpdateTime+  = lens _omvbUpdateTime+      (\ s a -> s{_omvbUpdateTime = a})+      . mapping _DateTime++-- | Type of operation.+omvbType :: Lens' OperationMetadataV1Beta2 (Maybe OperationMetadataV1Beta2Type)+omvbType = lens _omvbType (\ s a -> s{_omvbType = a})++-- | Target of the operation - for example+-- projects\/project-1\/locations\/region-1\/functions\/function-1+omvbTarget :: Lens' OperationMetadataV1Beta2 (Maybe Text)+omvbTarget+  = lens _omvbTarget (\ s a -> s{_omvbTarget = a})++-- | The original request that started the operation.+omvbRequest :: Lens' OperationMetadataV1Beta2 (Maybe OperationMetadataV1Beta2Request)+omvbRequest+  = lens _omvbRequest (\ s a -> s{_omvbRequest = a})++instance FromJSON OperationMetadataV1Beta2 where+        parseJSON+          = withObject "OperationMetadataV1Beta2"+              (\ o ->+                 OperationMetadataV1Beta2' <$>+                   (o .:? "versionId") <*> (o .:? "updateTime") <*>+                     (o .:? "type")+                     <*> (o .:? "target")+                     <*> (o .:? "request"))++instance ToJSON OperationMetadataV1Beta2 where+        toJSON OperationMetadataV1Beta2'{..}+          = object+              (catMaybes+                 [("versionId" .=) <$> _omvbVersionId,+                  ("updateTime" .=) <$> _omvbUpdateTime,+                  ("type" .=) <$> _omvbType,+                  ("target" .=) <$> _omvbTarget,+                  ("request" .=) <$> _omvbRequest])++-- | Represents an expression text. Example: title: \"User account presence\"+-- description: \"Determines whether the request has a user account\"+-- expression: \"size(request.user) > 0\"+--+-- /See:/ 'expr' smart constructor.+data Expr = Expr'+    { _eLocation    :: !(Maybe Text)+    , _eExpression  :: !(Maybe Text)+    , _eTitle       :: !(Maybe Text)+    , _eDescription :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Expr' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'eLocation'+--+-- * 'eExpression'+--+-- * 'eTitle'+--+-- * 'eDescription'+expr+    :: Expr+expr =+    Expr'+    { _eLocation = Nothing+    , _eExpression = Nothing+    , _eTitle = Nothing+    , _eDescription = Nothing+    }++-- | An optional string indicating the location of the expression for error+-- reporting, e.g. a file name and a position in the file.+eLocation :: Lens' Expr (Maybe Text)+eLocation+  = lens _eLocation (\ s a -> s{_eLocation = a})++-- | Textual representation of an expression in Common Expression Language+-- syntax. The application context of the containing message determines+-- which well-known feature set of CEL is supported.+eExpression :: Lens' Expr (Maybe Text)+eExpression+  = lens _eExpression (\ s a -> s{_eExpression = a})++-- | An optional title for the expression, i.e. a short string describing its+-- purpose. This can be used e.g. in UIs which allow to enter the+-- expression.+eTitle :: Lens' Expr (Maybe Text)+eTitle = lens _eTitle (\ s a -> s{_eTitle = a})++-- | An optional description of the expression. This is a longer text which+-- describes the expression, e.g. when hovered over it in a UI.+eDescription :: Lens' Expr (Maybe Text)+eDescription+  = lens _eDescription (\ s a -> s{_eDescription = a})++instance FromJSON Expr where+        parseJSON+          = withObject "Expr"+              (\ o ->+                 Expr' <$>+                   (o .:? "location") <*> (o .:? "expression") <*>+                     (o .:? "title")+                     <*> (o .:? "description"))++instance ToJSON Expr where+        toJSON Expr'{..}+          = object+              (catMaybes+                 [("location" .=) <$> _eLocation,+                  ("expression" .=) <$> _eExpression,+                  ("title" .=) <$> _eTitle,+                  ("description" .=) <$> _eDescription])++-- | The response message for Locations.ListLocations.+--+-- /See:/ 'listLocationsResponse' smart constructor.+data ListLocationsResponse = ListLocationsResponse'+    { _llrNextPageToken :: !(Maybe Text)+    , _llrLocations     :: !(Maybe [Location])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ListLocationsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'llrNextPageToken'+--+-- * 'llrLocations'+listLocationsResponse+    :: ListLocationsResponse+listLocationsResponse =+    ListLocationsResponse'+    { _llrNextPageToken = Nothing+    , _llrLocations = Nothing+    }++-- | The standard List next-page token.+llrNextPageToken :: Lens' ListLocationsResponse (Maybe Text)+llrNextPageToken+  = lens _llrNextPageToken+      (\ s a -> s{_llrNextPageToken = a})++-- | A list of locations that matches the specified filter in the request.+llrLocations :: Lens' ListLocationsResponse [Location]+llrLocations+  = lens _llrLocations (\ s a -> s{_llrLocations = a})+      . _Default+      . _Coerce++instance FromJSON ListLocationsResponse where+        parseJSON+          = withObject "ListLocationsResponse"+              (\ o ->+                 ListLocationsResponse' <$>+                   (o .:? "nextPageToken") <*>+                     (o .:? "locations" .!= mempty))++instance ToJSON ListLocationsResponse where+        toJSON ListLocationsResponse'{..}+          = object+              (catMaybes+                 [("nextPageToken" .=) <$> _llrNextPageToken,+                  ("locations" .=) <$> _llrLocations])++-- | The response message for 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])++-- | Request of \`GenerateSourceUploadUrl\` method.+--+-- /See:/ 'generateUploadURLRequest' smart constructor.+data GenerateUploadURLRequest =+    GenerateUploadURLRequest'+    deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'GenerateUploadURLRequest' with the minimum fields required to make a request.+--+generateUploadURLRequest+    :: GenerateUploadURLRequest+generateUploadURLRequest = GenerateUploadURLRequest'++instance FromJSON GenerateUploadURLRequest where+        parseJSON+          = withObject "GenerateUploadURLRequest"+              (\ o -> pure GenerateUploadURLRequest')++instance ToJSON GenerateUploadURLRequest where+        toJSON = const emptyObject++-- | A resource that represents Google Cloud Platform location.+--+-- /See:/ 'location' smart constructor.+data Location = Location'+    { _lName        :: !(Maybe Text)+    , _lMetadata    :: !(Maybe LocationMetadata)+    , _lDisplayName :: !(Maybe Text)+    , _lLabels      :: !(Maybe LocationLabels)+    , _lLocationId  :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Location' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lName'+--+-- * 'lMetadata'+--+-- * 'lDisplayName'+--+-- * 'lLabels'+--+-- * 'lLocationId'+location+    :: Location+location =+    Location'+    { _lName = Nothing+    , _lMetadata = Nothing+    , _lDisplayName = Nothing+    , _lLabels = Nothing+    , _lLocationId = Nothing+    }++-- | Resource name for the location, which may vary between implementations.+-- For example: \`\"projects\/example-project\/locations\/us-east1\"\`+lName :: Lens' Location (Maybe Text)+lName = lens _lName (\ s a -> s{_lName = a})++-- | Service-specific metadata. For example the available capacity at the+-- given location.+lMetadata :: Lens' Location (Maybe LocationMetadata)+lMetadata+  = lens _lMetadata (\ s a -> s{_lMetadata = a})++-- | The friendly name for this location, typically a nearby city name. For+-- example, \"Tokyo\".+lDisplayName :: Lens' Location (Maybe Text)+lDisplayName+  = lens _lDisplayName (\ s a -> s{_lDisplayName = a})++-- | Cross-service attributes for the location. For example+-- {\"cloud.googleapis.com\/region\": \"us-east1\"}+lLabels :: Lens' Location (Maybe LocationLabels)+lLabels = lens _lLabels (\ s a -> s{_lLabels = a})++-- | The canonical id for this location. For example: \`\"us-east1\"\`.+lLocationId :: Lens' Location (Maybe Text)+lLocationId+  = lens _lLocationId (\ s a -> s{_lLocationId = a})++instance FromJSON Location where+        parseJSON+          = withObject "Location"+              (\ o ->+                 Location' <$>+                   (o .:? "name") <*> (o .:? "metadata") <*>+                     (o .:? "displayName")+                     <*> (o .:? "labels")+                     <*> (o .:? "locationId"))++instance ToJSON Location where+        toJSON Location'{..}+          = object+              (catMaybes+                 [("name" .=) <$> _lName,+                  ("metadata" .=) <$> _lMetadata,+                  ("displayName" .=) <$> _lDisplayName,+                  ("labels" .=) <$> _lLabels,+                  ("locationId" .=) <$> _lLocationId])++-- | 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 OperationMetadata)+    } 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 or cancellation.+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, 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 OperationMetadata)+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])++-- | Request of \`GenerateDownloadUrl\` method.+--+-- /See:/ 'generateDownloadURLRequest' smart constructor.+newtype GenerateDownloadURLRequest = GenerateDownloadURLRequest'+    { _gdurVersionId :: Maybe (Textual Word64)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'GenerateDownloadURLRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gdurVersionId'+generateDownloadURLRequest+    :: GenerateDownloadURLRequest+generateDownloadURLRequest =+    GenerateDownloadURLRequest'+    { _gdurVersionId = Nothing+    }++-- | The optional version of function. If not set, default, current version+-- is used.+gdurVersionId :: Lens' GenerateDownloadURLRequest (Maybe Word64)+gdurVersionId+  = lens _gdurVersionId+      (\ s a -> s{_gdurVersionId = a})+      . mapping _Coerce++instance FromJSON GenerateDownloadURLRequest where+        parseJSON+          = withObject "GenerateDownloadURLRequest"+              (\ o ->+                 GenerateDownloadURLRequest' <$> (o .:? "versionId"))++instance ToJSON GenerateDownloadURLRequest where+        toJSON GenerateDownloadURLRequest'{..}+          = object+              (catMaybes [("versionId" .=) <$> _gdurVersionId])++-- | Describes the retry policy in case of function\'s execution failure. A+-- function execution will be retried on any failure. A failed execution+-- will be retried up to 7 days with an exponential backoff (capped at 10+-- seconds). Retried execution is charged as any other execution.+--+-- /See:/ 'retry' smart constructor.+data Retry =+    Retry'+    deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Retry' with the minimum fields required to make a request.+--+retry+    :: Retry+retry = Retry'++instance FromJSON Retry where+        parseJSON = withObject "Retry" (\ o -> pure Retry')++instance ToJSON Retry where+        toJSON = const emptyObject++-- | Response of \`GenerateSourceUploadUrl\` method.+--+-- /See:/ 'generateUploadURLResponse' smart constructor.+newtype GenerateUploadURLResponse = GenerateUploadURLResponse'+    { _guurUploadURL :: Maybe Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'GenerateUploadURLResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'guurUploadURL'+generateUploadURLResponse+    :: GenerateUploadURLResponse+generateUploadURLResponse =+    GenerateUploadURLResponse'+    { _guurUploadURL = Nothing+    }++-- | The generated Google Cloud Storage signed URL that should be used for a+-- function source code upload. The uploaded file should be a zip archive+-- which contains a function.+guurUploadURL :: Lens' GenerateUploadURLResponse (Maybe Text)+guurUploadURL+  = lens _guurUploadURL+      (\ s a -> s{_guurUploadURL = a})++instance FromJSON GenerateUploadURLResponse where+        parseJSON+          = withObject "GenerateUploadURLResponse"+              (\ o ->+                 GenerateUploadURLResponse' <$> (o .:? "uploadUrl"))++instance ToJSON GenerateUploadURLResponse where+        toJSON GenerateUploadURLResponse'{..}+          = object+              (catMaybes [("uploadUrl" .=) <$> _guurUploadURL])++-- | Describes the policy in case of function\'s execution failure. If empty,+-- then defaults to ignoring failures (i.e. not retrying them).+--+-- /See:/ 'failurePolicy' smart constructor.+newtype FailurePolicy = FailurePolicy'+    { _fpRetry :: Maybe Retry+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'FailurePolicy' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'fpRetry'+failurePolicy+    :: FailurePolicy+failurePolicy =+    FailurePolicy'+    { _fpRetry = Nothing+    }++-- | If specified, then the function will be retried in case of a failure.+fpRetry :: Lens' FailurePolicy (Maybe Retry)+fpRetry = lens _fpRetry (\ s a -> s{_fpRetry = a})++instance FromJSON FailurePolicy where+        parseJSON+          = withObject "FailurePolicy"+              (\ o -> FailurePolicy' <$> (o .:? "retry"))++instance ToJSON FailurePolicy where+        toJSON FailurePolicy'{..}+          = object (catMaybes [("retry" .=) <$> _fpRetry])++-- | Response of \`CallFunction\` method.+--+-- /See:/ 'callFunctionResponse' smart constructor.+data CallFunctionResponse = CallFunctionResponse'+    { _cfrExecutionId :: !(Maybe Text)+    , _cfrError       :: !(Maybe Text)+    , _cfrResult      :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CallFunctionResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cfrExecutionId'+--+-- * 'cfrError'+--+-- * 'cfrResult'+callFunctionResponse+    :: CallFunctionResponse+callFunctionResponse =+    CallFunctionResponse'+    { _cfrExecutionId = Nothing+    , _cfrError = Nothing+    , _cfrResult = Nothing+    }++-- | Execution id of function invocation.+cfrExecutionId :: Lens' CallFunctionResponse (Maybe Text)+cfrExecutionId+  = lens _cfrExecutionId+      (\ s a -> s{_cfrExecutionId = a})++-- | Either system or user-function generated error. Set if execution was not+-- successful.+cfrError :: Lens' CallFunctionResponse (Maybe Text)+cfrError = lens _cfrError (\ s a -> s{_cfrError = a})++-- | Result populated for successful execution of synchronous function. Will+-- not be populated if function does not return a result through context.+cfrResult :: Lens' CallFunctionResponse (Maybe Text)+cfrResult+  = lens _cfrResult (\ s a -> s{_cfrResult = a})++instance FromJSON CallFunctionResponse where+        parseJSON+          = withObject "CallFunctionResponse"+              (\ o ->+                 CallFunctionResponse' <$>+                   (o .:? "executionId") <*> (o .:? "error") <*>+                     (o .:? "result"))++instance ToJSON CallFunctionResponse where+        toJSON CallFunctionResponse'{..}+          = object+              (catMaybes+                 [("executionId" .=) <$> _cfrExecutionId,+                  ("error" .=) <$> _cfrError,+                  ("result" .=) <$> _cfrResult])++-- | Describes HttpsTrigger, could be used to connect web hooks to function.+--+-- /See:/ 'httpsTrigger' smart constructor.+newtype HTTPSTrigger = HTTPSTrigger'+    { _htURL :: Maybe Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'HTTPSTrigger' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'htURL'+httpsTrigger+    :: HTTPSTrigger+httpsTrigger =+    HTTPSTrigger'+    { _htURL = Nothing+    }++-- | Output only. The deployed url for the function.+htURL :: Lens' HTTPSTrigger (Maybe Text)+htURL = lens _htURL (\ s a -> s{_htURL = a})++instance FromJSON HTTPSTrigger where+        parseJSON+          = withObject "HTTPSTrigger"+              (\ o -> HTTPSTrigger' <$> (o .:? "url"))++instance ToJSON HTTPSTrigger where+        toJSON HTTPSTrigger'{..}+          = object (catMaybes [("url" .=) <$> _htURL])++--+-- /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 \'type 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++-- | Environment variables that shall be available during function execution.+--+-- /See:/ 'cloudFunctionEnvironmentVariables' smart constructor.+newtype CloudFunctionEnvironmentVariables = CloudFunctionEnvironmentVariables'+    { _cfevAddtional :: HashMap Text Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CloudFunctionEnvironmentVariables' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cfevAddtional'+cloudFunctionEnvironmentVariables+    :: HashMap Text Text -- ^ 'cfevAddtional'+    -> CloudFunctionEnvironmentVariables+cloudFunctionEnvironmentVariables pCfevAddtional_ =+    CloudFunctionEnvironmentVariables'+    { _cfevAddtional = _Coerce # pCfevAddtional_+    }++cfevAddtional :: Lens' CloudFunctionEnvironmentVariables (HashMap Text Text)+cfevAddtional+  = lens _cfevAddtional+      (\ s a -> s{_cfevAddtional = a})+      . _Coerce++instance FromJSON CloudFunctionEnvironmentVariables+         where+        parseJSON+          = withObject "CloudFunctionEnvironmentVariables"+              (\ o ->+                 CloudFunctionEnvironmentVariables' <$>+                   (parseJSONObject o))++instance ToJSON CloudFunctionEnvironmentVariables+         where+        toJSON = toJSON . _cfevAddtional++-- | The original request that started the operation.+--+-- /See:/ 'operationMetadataV1Request' smart constructor.+newtype OperationMetadataV1Request = OperationMetadataV1Request'+    { _omvrAddtional :: HashMap Text JSONValue+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'OperationMetadataV1Request' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'omvrAddtional'+operationMetadataV1Request+    :: HashMap Text JSONValue -- ^ 'omvrAddtional'+    -> OperationMetadataV1Request+operationMetadataV1Request pOmvrAddtional_ =+    OperationMetadataV1Request'+    { _omvrAddtional = _Coerce # pOmvrAddtional_+    }++-- | Properties of the object. Contains field \'type with type URL.+omvrAddtional :: Lens' OperationMetadataV1Request (HashMap Text JSONValue)+omvrAddtional+  = lens _omvrAddtional+      (\ s a -> s{_omvrAddtional = a})+      . _Coerce++instance FromJSON OperationMetadataV1Request where+        parseJSON+          = withObject "OperationMetadataV1Request"+              (\ o ->+                 OperationMetadataV1Request' <$> (parseJSONObject o))++instance ToJSON OperationMetadataV1Request where+        toJSON = toJSON . _omvrAddtional++-- | Request message for \`SetIamPolicy\` method.+--+-- /See:/ 'setIAMPolicyRequest' smart constructor.+data SetIAMPolicyRequest = SetIAMPolicyRequest'+    { _siprUpdateMask :: !(Maybe GFieldMask)+    , _siprPolicy     :: !(Maybe Policy)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SetIAMPolicyRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'siprUpdateMask'+--+-- * 'siprPolicy'+setIAMPolicyRequest+    :: SetIAMPolicyRequest+setIAMPolicyRequest =+    SetIAMPolicyRequest'+    { _siprUpdateMask = Nothing+    , _siprPolicy = Nothing+    }++-- | OPTIONAL: A FieldMask specifying which fields of the policy to modify.+-- Only the fields in the mask will be modified. If no mask is provided,+-- the following default mask is used: paths: \"bindings, etag\" This field+-- is only used by Cloud IAM.+siprUpdateMask :: Lens' SetIAMPolicyRequest (Maybe GFieldMask)+siprUpdateMask+  = lens _siprUpdateMask+      (\ s a -> s{_siprUpdateMask = a})++-- | REQUIRED: The complete policy to be applied to the \`resource\`. The+-- size of the policy is limited to a few 10s of KB. An empty policy is a+-- valid policy but certain Cloud Platform services (such as Projects)+-- might reject them.+siprPolicy :: Lens' SetIAMPolicyRequest (Maybe Policy)+siprPolicy+  = lens _siprPolicy (\ s a -> s{_siprPolicy = a})++instance FromJSON SetIAMPolicyRequest where+        parseJSON+          = withObject "SetIAMPolicyRequest"+              (\ o ->+                 SetIAMPolicyRequest' <$>+                   (o .:? "updateMask") <*> (o .:? "policy"))++instance ToJSON SetIAMPolicyRequest where+        toJSON SetIAMPolicyRequest'{..}+          = object+              (catMaybes+                 [("updateMask" .=) <$> _siprUpdateMask,+                  ("policy" .=) <$> _siprPolicy])++-- | Describes EventTrigger, used to request events be sent from another+-- service.+--+-- /See:/ 'eventTrigger' smart constructor.+data EventTrigger = EventTrigger'+    { _etService       :: !(Maybe Text)+    , _etFailurePolicy :: !(Maybe FailurePolicy)+    , _etEventType     :: !(Maybe Text)+    , _etResource      :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'EventTrigger' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'etService'+--+-- * 'etFailurePolicy'+--+-- * 'etEventType'+--+-- * 'etResource'+eventTrigger+    :: EventTrigger+eventTrigger =+    EventTrigger'+    { _etService = Nothing+    , _etFailurePolicy = Nothing+    , _etEventType = Nothing+    , _etResource = Nothing+    }++-- | The hostname of the service that should be observed. If no string is+-- provided, the default service implementing the API will be used. For+-- example, \`storage.googleapis.com\` is the default for all event types+-- in the \`google.storage\` namespace.+etService :: Lens' EventTrigger (Maybe Text)+etService+  = lens _etService (\ s a -> s{_etService = a})++-- | Specifies policy for failed executions.+etFailurePolicy :: Lens' EventTrigger (Maybe FailurePolicy)+etFailurePolicy+  = lens _etFailurePolicy+      (\ s a -> s{_etFailurePolicy = a})++-- | Required. The type of event to observe. For example:+-- \`providers\/cloud.storage\/eventTypes\/object.change\` and+-- \`providers\/cloud.pubsub\/eventTypes\/topic.publish\`. Event types+-- match pattern \`providers\/*\/eventTypes\/*.*\`. The pattern contains:+-- 1. namespace: For example, \`cloud.storage\` and+-- \`google.firebase.analytics\`. 2. resource type: The type of resource on+-- which event occurs. For example, the Google Cloud Storage API includes+-- the type \`object\`. 3. action: The action that generates the event. For+-- example, action for a Google Cloud Storage Object is \'change\'. These+-- parts are lower case.+etEventType :: Lens' EventTrigger (Maybe Text)+etEventType+  = lens _etEventType (\ s a -> s{_etEventType = a})++-- | Required. The resource(s) from which to observe events, for example,+-- \`projects\/_\/buckets\/myBucket\`. Not all syntactically correct values+-- are accepted by all services. For example: 1. The authorization model+-- must support it. Google Cloud Functions only allows EventTriggers to be+-- deployed that observe resources in the same project as the+-- \`CloudFunction\`. 2. The resource type must match the pattern expected+-- for an \`event_type\`. For example, an \`EventTrigger\` that has an+-- \`event_type\` of \"google.pubsub.topic.publish\" should have a resource+-- that matches Google Cloud Pub\/Sub topics. Additionally, some services+-- may support short names when creating an \`EventTrigger\`. These will+-- always be returned in the normalized \"long\" format. See each+-- *service\'s* documentation for supported formats.+etResource :: Lens' EventTrigger (Maybe Text)+etResource+  = lens _etResource (\ s a -> s{_etResource = a})++instance FromJSON EventTrigger where+        parseJSON+          = withObject "EventTrigger"+              (\ o ->+                 EventTrigger' <$>+                   (o .:? "service") <*> (o .:? "failurePolicy") <*>+                     (o .:? "eventType")+                     <*> (o .:? "resource"))++instance ToJSON EventTrigger where+        toJSON EventTrigger'{..}+          = object+              (catMaybes+                 [("service" .=) <$> _etService,+                  ("failurePolicy" .=) <$> _etFailurePolicy,+                  ("eventType" .=) <$> _etEventType,+                  ("resource" .=) <$> _etResource])++-- | Describes SourceRepository, used to represent parameters related to+-- source repository where a function is hosted.+--+-- /See:/ 'sourceRepository' smart constructor.+data SourceRepository = SourceRepository'+    { _srURL         :: !(Maybe Text)+    , _srDeployedURL :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SourceRepository' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'srURL'+--+-- * 'srDeployedURL'+sourceRepository+    :: SourceRepository+sourceRepository =+    SourceRepository'+    { _srURL = Nothing+    , _srDeployedURL = Nothing+    }++-- | The URL pointing to the hosted repository where the function is defined.+-- There are supported Cloud Source Repository URLs in the following+-- formats: To refer to a specific commit:+-- \`https:\/\/source.developers.google.com\/projects\/*\/repos\/*\/revisions\/*\/paths\/*\`+-- To refer to a moveable alias (branch):+-- \`https:\/\/source.developers.google.com\/projects\/*\/repos\/*\/moveable-aliases\/*\/paths\/*\`+-- In particular, to refer to HEAD use \`master\` moveable alias. To refer+-- to a specific fixed alias (tag):+-- \`https:\/\/source.developers.google.com\/projects\/*\/repos\/*\/fixed-aliases\/*\/paths\/*\`+-- You may omit \`paths\/*\` if you want to use the main directory.+srURL :: Lens' SourceRepository (Maybe Text)+srURL = lens _srURL (\ s a -> s{_srURL = a})++-- | Output only. The URL pointing to the hosted repository where the+-- function were defined at the time of deployment. It always points to a+-- specific commit in the format described above.+srDeployedURL :: Lens' SourceRepository (Maybe Text)+srDeployedURL+  = lens _srDeployedURL+      (\ s a -> s{_srDeployedURL = a})++instance FromJSON SourceRepository where+        parseJSON+          = withObject "SourceRepository"+              (\ o ->+                 SourceRepository' <$>+                   (o .:? "url") <*> (o .:? "deployedUrl"))++instance ToJSON SourceRepository where+        toJSON SourceRepository'{..}+          = object+              (catMaybes+                 [("url" .=) <$> _srURL,+                  ("deployedUrl" .=) <$> _srDeployedURL])++-- | Metadata describing an Operation+--+-- /See:/ 'operationMetadataV1' smart constructor.+data OperationMetadataV1 = OperationMetadataV1'+    { _omvVersionId  :: !(Maybe (Textual Int64))+    , _omvUpdateTime :: !(Maybe DateTime')+    , _omvType       :: !(Maybe OperationMetadataV1Type)+    , _omvTarget     :: !(Maybe Text)+    , _omvRequest    :: !(Maybe OperationMetadataV1Request)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'OperationMetadataV1' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'omvVersionId'+--+-- * 'omvUpdateTime'+--+-- * 'omvType'+--+-- * 'omvTarget'+--+-- * 'omvRequest'+operationMetadataV1+    :: OperationMetadataV1+operationMetadataV1 =+    OperationMetadataV1'+    { _omvVersionId = Nothing+    , _omvUpdateTime = Nothing+    , _omvType = Nothing+    , _omvTarget = Nothing+    , _omvRequest = Nothing+    }++-- | Version id of the function created or updated by an API call. This field+-- is only populated for Create and Update operations.+omvVersionId :: Lens' OperationMetadataV1 (Maybe Int64)+omvVersionId+  = lens _omvVersionId (\ s a -> s{_omvVersionId = a})+      . mapping _Coerce++-- | The last update timestamp of the operation.+omvUpdateTime :: Lens' OperationMetadataV1 (Maybe UTCTime)+omvUpdateTime+  = lens _omvUpdateTime+      (\ s a -> s{_omvUpdateTime = a})+      . mapping _DateTime++-- | Type of operation.+omvType :: Lens' OperationMetadataV1 (Maybe OperationMetadataV1Type)+omvType = lens _omvType (\ s a -> s{_omvType = a})++-- | Target of the operation - for example+-- projects\/project-1\/locations\/region-1\/functions\/function-1+omvTarget :: Lens' OperationMetadataV1 (Maybe Text)+omvTarget+  = lens _omvTarget (\ s a -> s{_omvTarget = a})++-- | The original request that started the operation.+omvRequest :: Lens' OperationMetadataV1 (Maybe OperationMetadataV1Request)+omvRequest+  = lens _omvRequest (\ s a -> s{_omvRequest = a})++instance FromJSON OperationMetadataV1 where+        parseJSON+          = withObject "OperationMetadataV1"+              (\ o ->+                 OperationMetadataV1' <$>+                   (o .:? "versionId") <*> (o .:? "updateTime") <*>+                     (o .:? "type")+                     <*> (o .:? "target")+                     <*> (o .:? "request"))++instance ToJSON OperationMetadataV1 where+        toJSON OperationMetadataV1'{..}+          = object+              (catMaybes+                 [("versionId" .=) <$> _omvVersionId,+                  ("updateTime" .=) <$> _omvUpdateTime,+                  ("type" .=) <$> _omvType,+                  ("target" .=) <$> _omvTarget,+                  ("request" .=) <$> _omvRequest])++-- | Response of \`GenerateDownloadUrl\` method.+--+-- /See:/ 'generateDownloadURLResponse' smart constructor.+newtype GenerateDownloadURLResponse = GenerateDownloadURLResponse'+    { _gdurDownloadURL :: Maybe Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'GenerateDownloadURLResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gdurDownloadURL'+generateDownloadURLResponse+    :: GenerateDownloadURLResponse+generateDownloadURLResponse =+    GenerateDownloadURLResponse'+    { _gdurDownloadURL = Nothing+    }++-- | The generated Google Cloud Storage signed URL that should be used for+-- function source code download.+gdurDownloadURL :: Lens' GenerateDownloadURLResponse (Maybe Text)+gdurDownloadURL+  = lens _gdurDownloadURL+      (\ s a -> s{_gdurDownloadURL = a})++instance FromJSON GenerateDownloadURLResponse where+        parseJSON+          = withObject "GenerateDownloadURLResponse"+              (\ o ->+                 GenerateDownloadURLResponse' <$>+                   (o .:? "downloadUrl"))++instance ToJSON GenerateDownloadURLResponse where+        toJSON GenerateDownloadURLResponse'{..}+          = object+              (catMaybes [("downloadUrl" .=) <$> _gdurDownloadURL])++-- | Request message for \`TestIamPermissions\` method.+--+-- /See:/ 'testIAMPermissionsRequest' smart constructor.+newtype TestIAMPermissionsRequest = TestIAMPermissionsRequest'+    { _tiprPermissions :: Maybe [Text]+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TestIAMPermissionsRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tiprPermissions'+testIAMPermissionsRequest+    :: TestIAMPermissionsRequest+testIAMPermissionsRequest =+    TestIAMPermissionsRequest'+    { _tiprPermissions = Nothing+    }++-- | The set of permissions to check for the \`resource\`. Permissions with+-- wildcards (such as \'*\' or \'storage.*\') are not allowed. For more+-- information see [IAM+-- Overview](https:\/\/cloud.google.com\/iam\/docs\/overview#permissions).+tiprPermissions :: Lens' TestIAMPermissionsRequest [Text]+tiprPermissions+  = lens _tiprPermissions+      (\ s a -> s{_tiprPermissions = a})+      . _Default+      . _Coerce++instance FromJSON TestIAMPermissionsRequest where+        parseJSON+          = withObject "TestIAMPermissionsRequest"+              (\ o ->+                 TestIAMPermissionsRequest' <$>+                   (o .:? "permissions" .!= mempty))++instance ToJSON TestIAMPermissionsRequest where+        toJSON TestIAMPermissionsRequest'{..}+          = object+              (catMaybes [("permissions" .=) <$> _tiprPermissions])++-- | Response message for \`TestIamPermissions\` method.+--+-- /See:/ 'testIAMPermissionsResponse' smart constructor.+newtype TestIAMPermissionsResponse = TestIAMPermissionsResponse'+    { _tiamprPermissions :: Maybe [Text]+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TestIAMPermissionsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tiamprPermissions'+testIAMPermissionsResponse+    :: TestIAMPermissionsResponse+testIAMPermissionsResponse =+    TestIAMPermissionsResponse'+    { _tiamprPermissions = Nothing+    }++-- | A subset of \`TestPermissionsRequest.permissions\` that the caller is+-- allowed.+tiamprPermissions :: Lens' TestIAMPermissionsResponse [Text]+tiamprPermissions+  = lens _tiamprPermissions+      (\ s a -> s{_tiamprPermissions = a})+      . _Default+      . _Coerce++instance FromJSON TestIAMPermissionsResponse where+        parseJSON+          = withObject "TestIAMPermissionsResponse"+              (\ o ->+                 TestIAMPermissionsResponse' <$>+                   (o .:? "permissions" .!= mempty))++instance ToJSON TestIAMPermissionsResponse where+        toJSON TestIAMPermissionsResponse'{..}+          = object+              (catMaybes+                 [("permissions" .=) <$> _tiamprPermissions])++-- | Defines an Identity and Access Management (IAM) policy. It is used to+-- specify access control policies for Cloud Platform resources. A+-- \`Policy\` consists of a list of \`bindings\`. A \`binding\` binds a+-- list of \`members\` to a \`role\`, where the members can be user+-- accounts, Google groups, Google domains, and service accounts. A+-- \`role\` is a named list of permissions defined by IAM. **JSON Example**+-- { \"bindings\": [ { \"role\": \"roles\/owner\", \"members\": [+-- \"user:mike\'example.com\", \"group:admins\'example.com\",+-- \"domain:google.com\",+-- \"serviceAccount:my-other-app\'appspot.gserviceaccount.com\" ] }, {+-- \"role\": \"roles\/viewer\", \"members\": [\"user:sean\'example.com\"] }+-- ] } **YAML Example** bindings: - members: - user:mike\'example.com -+-- group:admins\'example.com - domain:google.com -+-- serviceAccount:my-other-app\'appspot.gserviceaccount.com role:+-- roles\/owner - members: - user:sean\'example.com role: roles\/viewer For+-- a description of IAM and its features, see the [IAM developer\'s+-- guide](https:\/\/cloud.google.com\/iam\/docs).+--+-- /See:/ 'policy' smart constructor.+data Policy = Policy'+    { _pAuditConfigs :: !(Maybe [AuditConfig])+    , _pEtag         :: !(Maybe Bytes)+    , _pVersion      :: !(Maybe (Textual Int32))+    , _pBindings     :: !(Maybe [Binding])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Policy' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pAuditConfigs'+--+-- * 'pEtag'+--+-- * 'pVersion'+--+-- * 'pBindings'+policy+    :: Policy+policy =+    Policy'+    { _pAuditConfigs = Nothing+    , _pEtag = Nothing+    , _pVersion = Nothing+    , _pBindings = Nothing+    }++-- | Specifies cloud audit logging configuration for this policy.+pAuditConfigs :: Lens' Policy [AuditConfig]+pAuditConfigs+  = lens _pAuditConfigs+      (\ s a -> s{_pAuditConfigs = a})+      . _Default+      . _Coerce++-- | \`etag\` is used for optimistic concurrency control as a way to help+-- prevent simultaneous updates of a policy from overwriting each other. It+-- is strongly suggested that systems make use of the \`etag\` in the+-- read-modify-write cycle to perform policy updates in order to avoid race+-- conditions: An \`etag\` is returned in the response to \`getIamPolicy\`,+-- and systems are expected to put that etag in the request to+-- \`setIamPolicy\` to ensure that their change will be applied to the same+-- version of the policy. If no \`etag\` is provided in the call to+-- \`setIamPolicy\`, then the existing policy is overwritten blindly.+pEtag :: Lens' Policy (Maybe ByteString)+pEtag+  = lens _pEtag (\ s a -> s{_pEtag = a}) .+      mapping _Bytes++-- | Deprecated.+pVersion :: Lens' Policy (Maybe Int32)+pVersion+  = lens _pVersion (\ s a -> s{_pVersion = a}) .+      mapping _Coerce++-- | Associates a list of \`members\` to a \`role\`. \`bindings\` with no+-- members will result in an error.+pBindings :: Lens' Policy [Binding]+pBindings+  = lens _pBindings (\ s a -> s{_pBindings = a}) .+      _Default+      . _Coerce++instance FromJSON Policy where+        parseJSON+          = withObject "Policy"+              (\ o ->+                 Policy' <$>+                   (o .:? "auditConfigs" .!= mempty) <*> (o .:? "etag")+                     <*> (o .:? "version")+                     <*> (o .:? "bindings" .!= mempty))++instance ToJSON Policy where+        toJSON Policy'{..}+          = object+              (catMaybes+                 [("auditConfigs" .=) <$> _pAuditConfigs,+                  ("etag" .=) <$> _pEtag, ("version" .=) <$> _pVersion,+                  ("bindings" .=) <$> _pBindings])++-- | Cross-service attributes for the location. For example+-- {\"cloud.googleapis.com\/region\": \"us-east1\"}+--+-- /See:/ 'locationLabels' smart constructor.+newtype LocationLabels = LocationLabels'+    { _llAddtional :: HashMap Text Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'LocationLabels' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'llAddtional'+locationLabels+    :: HashMap Text Text -- ^ 'llAddtional'+    -> LocationLabels+locationLabels pLlAddtional_ =+    LocationLabels'+    { _llAddtional = _Coerce # pLlAddtional_+    }++llAddtional :: Lens' LocationLabels (HashMap Text Text)+llAddtional+  = lens _llAddtional (\ s a -> s{_llAddtional = a}) .+      _Coerce++instance FromJSON LocationLabels where+        parseJSON+          = withObject "LocationLabels"+              (\ o -> LocationLabels' <$> (parseJSONObject o))++instance ToJSON LocationLabels where+        toJSON = toJSON . _llAddtional++-- | Response for the \`ListFunctions\` method.+--+-- /See:/ 'listFunctionsResponse' smart constructor.+data ListFunctionsResponse = ListFunctionsResponse'+    { _lfrNextPageToken :: !(Maybe Text)+    , _lfrFunctions     :: !(Maybe [CloudFunction])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ListFunctionsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lfrNextPageToken'+--+-- * 'lfrFunctions'+listFunctionsResponse+    :: ListFunctionsResponse+listFunctionsResponse =+    ListFunctionsResponse'+    { _lfrNextPageToken = Nothing+    , _lfrFunctions = Nothing+    }++-- | If not empty, indicates that there may be more functions that match the+-- request; this value should be passed in a new+-- google.cloud.functions.v1.ListFunctionsRequest to get more functions.+lfrNextPageToken :: Lens' ListFunctionsResponse (Maybe Text)+lfrNextPageToken+  = lens _lfrNextPageToken+      (\ s a -> s{_lfrNextPageToken = a})++-- | The functions that match the request.+lfrFunctions :: Lens' ListFunctionsResponse [CloudFunction]+lfrFunctions+  = lens _lfrFunctions (\ s a -> s{_lfrFunctions = a})+      . _Default+      . _Coerce++instance FromJSON ListFunctionsResponse where+        parseJSON+          = withObject "ListFunctionsResponse"+              (\ o ->+                 ListFunctionsResponse' <$>+                   (o .:? "nextPageToken") <*>+                     (o .:? "functions" .!= mempty))++instance ToJSON ListFunctionsResponse where+        toJSON ListFunctionsResponse'{..}+          = object+              (catMaybes+                 [("nextPageToken" .=) <$> _lfrNextPageToken,+                  ("functions" .=) <$> _lfrFunctions])++-- | Service-specific metadata. For example the available capacity at the+-- given location.+--+-- /See:/ 'locationMetadata' smart constructor.+newtype LocationMetadata = LocationMetadata'+    { _lmAddtional :: HashMap Text JSONValue+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'LocationMetadata' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lmAddtional'+locationMetadata+    :: HashMap Text JSONValue -- ^ 'lmAddtional'+    -> LocationMetadata+locationMetadata pLmAddtional_ =+    LocationMetadata'+    { _lmAddtional = _Coerce # pLmAddtional_+    }++-- | Properties of the object. Contains field \'type with type URL.+lmAddtional :: Lens' LocationMetadata (HashMap Text JSONValue)+lmAddtional+  = lens _lmAddtional (\ s a -> s{_lmAddtional = a}) .+      _Coerce++instance FromJSON LocationMetadata where+        parseJSON+          = withObject "LocationMetadata"+              (\ o -> LocationMetadata' <$> (parseJSONObject o))++instance ToJSON LocationMetadata where+        toJSON = toJSON . _lmAddtional++-- | 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:/ 'operationMetadata' smart constructor.+newtype OperationMetadata = OperationMetadata'+    { _omAddtional :: HashMap Text JSONValue+    } 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:+--+-- * 'omAddtional'+operationMetadata+    :: HashMap Text JSONValue -- ^ 'omAddtional'+    -> OperationMetadata+operationMetadata pOmAddtional_ =+    OperationMetadata'+    { _omAddtional = _Coerce # pOmAddtional_+    }++-- | Properties of the object. Contains field \'type with type URL.+omAddtional :: Lens' OperationMetadata (HashMap Text JSONValue)+omAddtional+  = lens _omAddtional (\ s a -> s{_omAddtional = a}) .+      _Coerce++instance FromJSON OperationMetadata where+        parseJSON+          = withObject "OperationMetadata"+              (\ o -> OperationMetadata' <$> (parseJSONObject o))++instance ToJSON OperationMetadata where+        toJSON = toJSON . _omAddtional++-- | Provides the configuration for logging a type of permissions. Example: {+-- \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\",+-- \"exempted_members\": [ \"user:foo\'gmail.com\" ] }, { \"log_type\":+-- \"DATA_WRITE\", } ] } This enables \'DATA_READ\' and \'DATA_WRITE\'+-- logging, while exempting foo\'gmail.com from DATA_READ logging.+--+-- /See:/ 'auditLogConfig' smart constructor.+data AuditLogConfig = AuditLogConfig'+    { _alcLogType         :: !(Maybe AuditLogConfigLogType)+    , _alcExemptedMembers :: !(Maybe [Text])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AuditLogConfig' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'alcLogType'+--+-- * 'alcExemptedMembers'+auditLogConfig+    :: AuditLogConfig+auditLogConfig =+    AuditLogConfig'+    { _alcLogType = Nothing+    , _alcExemptedMembers = Nothing+    }++-- | The log type that this config enables.+alcLogType :: Lens' AuditLogConfig (Maybe AuditLogConfigLogType)+alcLogType+  = lens _alcLogType (\ s a -> s{_alcLogType = a})++-- | Specifies the identities that do not cause logging for this type of+-- permission. Follows the same format of Binding.members.+alcExemptedMembers :: Lens' AuditLogConfig [Text]+alcExemptedMembers+  = lens _alcExemptedMembers+      (\ s a -> s{_alcExemptedMembers = a})+      . _Default+      . _Coerce++instance FromJSON AuditLogConfig where+        parseJSON+          = withObject "AuditLogConfig"+              (\ o ->+                 AuditLogConfig' <$>+                   (o .:? "logType") <*>+                     (o .:? "exemptedMembers" .!= mempty))++instance ToJSON AuditLogConfig where+        toJSON AuditLogConfig'{..}+          = object+              (catMaybes+                 [("logType" .=) <$> _alcLogType,+                  ("exemptedMembers" .=) <$> _alcExemptedMembers])++-- | Describes a Cloud Function that contains user computation executed in+-- response to an event. It encapsulate function and triggers+-- configurations. LINT.IfChange+--+-- /See:/ 'cloudFunction' smart constructor.+data CloudFunction = CloudFunction'+    { _cfRuntime              :: !(Maybe Text)+    , _cfStatus               :: !(Maybe CloudFunctionStatus)+    , _cfSourceArchiveURL     :: !(Maybe Text)+    , _cfVersionId            :: !(Maybe (Textual Int64))+    , _cfSourceUploadURL      :: !(Maybe Text)+    , _cfEntryPoint           :: !(Maybe Text)+    , _cfHTTPSTrigger         :: !(Maybe HTTPSTrigger)+    , _cfNetwork              :: !(Maybe Text)+    , _cfMaxInstances         :: !(Maybe (Textual Int32))+    , _cfEventTrigger         :: !(Maybe EventTrigger)+    , _cfUpdateTime           :: !(Maybe DateTime')+    , _cfName                 :: !(Maybe Text)+    , _cfSourceRepository     :: !(Maybe SourceRepository)+    , _cfAvailableMemoryMb    :: !(Maybe (Textual Int32))+    , _cfLabels               :: !(Maybe CloudFunctionLabels)+    , _cfServiceAccountEmail  :: !(Maybe Text)+    , _cfEnvironmentVariables :: !(Maybe CloudFunctionEnvironmentVariables)+    , _cfTimeout              :: !(Maybe GDuration)+    , _cfVPCConnector         :: !(Maybe Text)+    , _cfDescription          :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CloudFunction' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cfRuntime'+--+-- * 'cfStatus'+--+-- * 'cfSourceArchiveURL'+--+-- * 'cfVersionId'+--+-- * 'cfSourceUploadURL'+--+-- * 'cfEntryPoint'+--+-- * 'cfHTTPSTrigger'+--+-- * 'cfNetwork'+--+-- * 'cfMaxInstances'+--+-- * 'cfEventTrigger'+--+-- * 'cfUpdateTime'+--+-- * 'cfName'+--+-- * 'cfSourceRepository'+--+-- * 'cfAvailableMemoryMb'+--+-- * 'cfLabels'+--+-- * 'cfServiceAccountEmail'+--+-- * 'cfEnvironmentVariables'+--+-- * 'cfTimeout'+--+-- * 'cfVPCConnector'+--+-- * 'cfDescription'+cloudFunction+    :: CloudFunction+cloudFunction =+    CloudFunction'+    { _cfRuntime = Nothing+    , _cfStatus = Nothing+    , _cfSourceArchiveURL = Nothing+    , _cfVersionId = Nothing+    , _cfSourceUploadURL = Nothing+    , _cfEntryPoint = Nothing+    , _cfHTTPSTrigger = Nothing+    , _cfNetwork = Nothing+    , _cfMaxInstances = Nothing+    , _cfEventTrigger = Nothing+    , _cfUpdateTime = Nothing+    , _cfName = Nothing+    , _cfSourceRepository = Nothing+    , _cfAvailableMemoryMb = Nothing+    , _cfLabels = Nothing+    , _cfServiceAccountEmail = Nothing+    , _cfEnvironmentVariables = Nothing+    , _cfTimeout = Nothing+    , _cfVPCConnector = Nothing+    , _cfDescription = Nothing+    }++-- | The runtime in which the function is going to run. If empty, defaults to+-- Node.js 6.+cfRuntime :: Lens' CloudFunction (Maybe Text)+cfRuntime+  = lens _cfRuntime (\ s a -> s{_cfRuntime = a})++-- | Output only. Status of the function deployment.+cfStatus :: Lens' CloudFunction (Maybe CloudFunctionStatus)+cfStatus = lens _cfStatus (\ s a -> s{_cfStatus = a})++-- | The Google Cloud Storage URL, starting with gs:\/\/, pointing to the zip+-- archive which contains the function.+cfSourceArchiveURL :: Lens' CloudFunction (Maybe Text)+cfSourceArchiveURL+  = lens _cfSourceArchiveURL+      (\ s a -> s{_cfSourceArchiveURL = a})++-- | Output only. The version identifier of the Cloud Function. Each+-- deployment attempt results in a new version of a function being created.+cfVersionId :: Lens' CloudFunction (Maybe Int64)+cfVersionId+  = lens _cfVersionId (\ s a -> s{_cfVersionId = a}) .+      mapping _Coerce++-- | The Google Cloud Storage signed URL used for source uploading, generated+-- by google.cloud.functions.v1.GenerateUploadUrl+cfSourceUploadURL :: Lens' CloudFunction (Maybe Text)+cfSourceUploadURL+  = lens _cfSourceUploadURL+      (\ s a -> s{_cfSourceUploadURL = a})++-- | The name of the function (as defined in source code) that will be+-- executed. Defaults to the resource name suffix, if not specified. For+-- backward compatibility, if function with given name is not found, then+-- the system will try to use function named \"function\". For Node.js this+-- is name of a function exported by the module specified in+-- \`source_location\`.+cfEntryPoint :: Lens' CloudFunction (Maybe Text)+cfEntryPoint+  = lens _cfEntryPoint (\ s a -> s{_cfEntryPoint = a})++-- | An HTTPS endpoint type of source that can be triggered via URL.+cfHTTPSTrigger :: Lens' CloudFunction (Maybe HTTPSTrigger)+cfHTTPSTrigger+  = lens _cfHTTPSTrigger+      (\ s a -> s{_cfHTTPSTrigger = a})++-- | The VPC Network that this cloud function can connect to. It can be+-- either the fully-qualified URI, or the short name of the network+-- resource. If the short network name is used, the network must belong to+-- the same project. Otherwise, it must belong to a project within the same+-- organization. The format of this field is either+-- \`projects\/{project}\/global\/networks\/{network}\` or \`{network}\`,+-- where {project} is a project id where the network is defined, and+-- {network} is the short name of the network. This field is mutually+-- exclusive with \`vpc_connector\` and will be replaced by it. See [the+-- VPC documentation](https:\/\/cloud.google.com\/compute\/docs\/vpc) for+-- more information on connecting Cloud projects. This feature is currently+-- in alpha, available only for whitelisted users.+cfNetwork :: Lens' CloudFunction (Maybe Text)+cfNetwork+  = lens _cfNetwork (\ s a -> s{_cfNetwork = a})++-- | The limit on the maximum number of function instances that may coexist+-- at a given time. This feature is currently in alpha, available only for+-- whitelisted users.+cfMaxInstances :: Lens' CloudFunction (Maybe Int32)+cfMaxInstances+  = lens _cfMaxInstances+      (\ s a -> s{_cfMaxInstances = a})+      . mapping _Coerce++-- | A source that fires events in response to a condition in another+-- service.+cfEventTrigger :: Lens' CloudFunction (Maybe EventTrigger)+cfEventTrigger+  = lens _cfEventTrigger+      (\ s a -> s{_cfEventTrigger = a})++-- | Output only. The last update timestamp of a Cloud Function.+cfUpdateTime :: Lens' CloudFunction (Maybe UTCTime)+cfUpdateTime+  = lens _cfUpdateTime (\ s a -> s{_cfUpdateTime = a})+      . mapping _DateTime++-- | A user-defined name of the function. Function names must be unique+-- globally and match pattern \`projects\/*\/locations\/*\/functions\/*\`+cfName :: Lens' CloudFunction (Maybe Text)+cfName = lens _cfName (\ s a -> s{_cfName = a})++-- | **Beta Feature** The source repository where a function is hosted.+cfSourceRepository :: Lens' CloudFunction (Maybe SourceRepository)+cfSourceRepository+  = lens _cfSourceRepository+      (\ s a -> s{_cfSourceRepository = a})++-- | The amount of memory in MB available for a function. Defaults to 256MB.+cfAvailableMemoryMb :: Lens' CloudFunction (Maybe Int32)+cfAvailableMemoryMb+  = lens _cfAvailableMemoryMb+      (\ s a -> s{_cfAvailableMemoryMb = a})+      . mapping _Coerce++-- | Labels associated with this Cloud Function.+cfLabels :: Lens' CloudFunction (Maybe CloudFunctionLabels)+cfLabels = lens _cfLabels (\ s a -> s{_cfLabels = a})++-- | Output only. The email of the function\'s service account.+cfServiceAccountEmail :: Lens' CloudFunction (Maybe Text)+cfServiceAccountEmail+  = lens _cfServiceAccountEmail+      (\ s a -> s{_cfServiceAccountEmail = a})++-- | Environment variables that shall be available during function execution.+cfEnvironmentVariables :: Lens' CloudFunction (Maybe CloudFunctionEnvironmentVariables)+cfEnvironmentVariables+  = lens _cfEnvironmentVariables+      (\ s a -> s{_cfEnvironmentVariables = a})++-- | The function execution timeout. Execution is considered failed and can+-- be terminated if the function is not completed at the end of the timeout+-- period. Defaults to 60 seconds.+cfTimeout :: Lens' CloudFunction (Maybe Scientific)+cfTimeout+  = lens _cfTimeout (\ s a -> s{_cfTimeout = a}) .+      mapping _GDuration++-- | The VPC Network Connector that this cloud function can connect to. It+-- can be either the fully-qualified URI, or the short name of the network+-- connector resource. The format of this field is+-- \`projects\/*\/locations\/*\/connectors\/*\` This field is mutually+-- exclusive with \`network\` field and will eventually replace it. See+-- [the VPC documentation](https:\/\/cloud.google.com\/compute\/docs\/vpc)+-- for more information on connecting Cloud projects. This feature is+-- currently in alpha, available only for whitelisted users.+cfVPCConnector :: Lens' CloudFunction (Maybe Text)+cfVPCConnector+  = lens _cfVPCConnector+      (\ s a -> s{_cfVPCConnector = a})++-- | User-provided description of a function.+cfDescription :: Lens' CloudFunction (Maybe Text)+cfDescription+  = lens _cfDescription+      (\ s a -> s{_cfDescription = a})++instance FromJSON CloudFunction where+        parseJSON+          = withObject "CloudFunction"+              (\ o ->+                 CloudFunction' <$>+                   (o .:? "runtime") <*> (o .:? "status") <*>+                     (o .:? "sourceArchiveUrl")+                     <*> (o .:? "versionId")+                     <*> (o .:? "sourceUploadUrl")+                     <*> (o .:? "entryPoint")+                     <*> (o .:? "httpsTrigger")+                     <*> (o .:? "network")+                     <*> (o .:? "maxInstances")+                     <*> (o .:? "eventTrigger")+                     <*> (o .:? "updateTime")+                     <*> (o .:? "name")+                     <*> (o .:? "sourceRepository")+                     <*> (o .:? "availableMemoryMb")+                     <*> (o .:? "labels")+                     <*> (o .:? "serviceAccountEmail")+                     <*> (o .:? "environmentVariables")+                     <*> (o .:? "timeout")+                     <*> (o .:? "vpcConnector")+                     <*> (o .:? "description"))++instance ToJSON CloudFunction where+        toJSON CloudFunction'{..}+          = object+              (catMaybes+                 [("runtime" .=) <$> _cfRuntime,+                  ("status" .=) <$> _cfStatus,+                  ("sourceArchiveUrl" .=) <$> _cfSourceArchiveURL,+                  ("versionId" .=) <$> _cfVersionId,+                  ("sourceUploadUrl" .=) <$> _cfSourceUploadURL,+                  ("entryPoint" .=) <$> _cfEntryPoint,+                  ("httpsTrigger" .=) <$> _cfHTTPSTrigger,+                  ("network" .=) <$> _cfNetwork,+                  ("maxInstances" .=) <$> _cfMaxInstances,+                  ("eventTrigger" .=) <$> _cfEventTrigger,+                  ("updateTime" .=) <$> _cfUpdateTime,+                  ("name" .=) <$> _cfName,+                  ("sourceRepository" .=) <$> _cfSourceRepository,+                  ("availableMemoryMb" .=) <$> _cfAvailableMemoryMb,+                  ("labels" .=) <$> _cfLabels,+                  ("serviceAccountEmail" .=) <$>+                    _cfServiceAccountEmail,+                  ("environmentVariables" .=) <$>+                    _cfEnvironmentVariables,+                  ("timeout" .=) <$> _cfTimeout,+                  ("vpcConnector" .=) <$> _cfVPCConnector,+                  ("description" .=) <$> _cfDescription])++-- | The original request that started the operation.+--+-- /See:/ 'operationMetadataV1Beta2Request' smart constructor.+newtype OperationMetadataV1Beta2Request = OperationMetadataV1Beta2Request'+    { _omvbrAddtional :: HashMap Text JSONValue+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'OperationMetadataV1Beta2Request' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'omvbrAddtional'+operationMetadataV1Beta2Request+    :: HashMap Text JSONValue -- ^ 'omvbrAddtional'+    -> OperationMetadataV1Beta2Request+operationMetadataV1Beta2Request pOmvbrAddtional_ =+    OperationMetadataV1Beta2Request'+    { _omvbrAddtional = _Coerce # pOmvbrAddtional_+    }++-- | Properties of the object. Contains field \'type with type URL.+omvbrAddtional :: Lens' OperationMetadataV1Beta2Request (HashMap Text JSONValue)+omvbrAddtional+  = lens _omvbrAddtional+      (\ s a -> s{_omvbrAddtional = a})+      . _Coerce++instance FromJSON OperationMetadataV1Beta2Request+         where+        parseJSON+          = withObject "OperationMetadataV1Beta2Request"+              (\ o ->+                 OperationMetadataV1Beta2Request' <$>+                   (parseJSONObject o))++instance ToJSON OperationMetadataV1Beta2Request where+        toJSON = toJSON . _omvbrAddtional++-- | Labels associated with this Cloud Function.+--+-- /See:/ 'cloudFunctionLabels' smart constructor.+newtype CloudFunctionLabels = CloudFunctionLabels'+    { _cflAddtional :: HashMap Text Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CloudFunctionLabels' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cflAddtional'+cloudFunctionLabels+    :: HashMap Text Text -- ^ 'cflAddtional'+    -> CloudFunctionLabels+cloudFunctionLabels pCflAddtional_ =+    CloudFunctionLabels'+    { _cflAddtional = _Coerce # pCflAddtional_+    }++cflAddtional :: Lens' CloudFunctionLabels (HashMap Text Text)+cflAddtional+  = lens _cflAddtional (\ s a -> s{_cflAddtional = a})+      . _Coerce++instance FromJSON CloudFunctionLabels where+        parseJSON+          = withObject "CloudFunctionLabels"+              (\ o -> CloudFunctionLabels' <$> (parseJSONObject o))++instance ToJSON CloudFunctionLabels where+        toJSON = toJSON . _cflAddtional++-- | 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 \'type 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++-- | Request for the \`CallFunction\` method.+--+-- /See:/ 'callFunctionRequest' smart constructor.+newtype CallFunctionRequest = CallFunctionRequest'+    { _cfrData :: Maybe Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CallFunctionRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cfrData'+callFunctionRequest+    :: CallFunctionRequest+callFunctionRequest =+    CallFunctionRequest'+    { _cfrData = Nothing+    }++-- | Input to be passed to the function.+cfrData :: Lens' CallFunctionRequest (Maybe Text)+cfrData = lens _cfrData (\ s a -> s{_cfrData = a})++instance FromJSON CallFunctionRequest where+        parseJSON+          = withObject "CallFunctionRequest"+              (\ o -> CallFunctionRequest' <$> (o .:? "data"))++instance ToJSON CallFunctionRequest where+        toJSON CallFunctionRequest'{..}+          = object (catMaybes [("data" .=) <$> _cfrData])++-- | Associates \`members\` with a \`role\`.+--+-- /See:/ 'binding' smart constructor.+data Binding = Binding'+    { _bMembers   :: !(Maybe [Text])+    , _bRole      :: !(Maybe Text)+    , _bCondition :: !(Maybe Expr)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Binding' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'bMembers'+--+-- * 'bRole'+--+-- * 'bCondition'+binding+    :: Binding+binding =+    Binding'+    { _bMembers = Nothing+    , _bRole = Nothing+    , _bCondition = Nothing+    }++-- | Specifies the identities requesting access for a Cloud Platform+-- resource. \`members\` can have the following values: * \`allUsers\`: A+-- special identifier that represents anyone who is on the internet; with+-- or without a Google account. * \`allAuthenticatedUsers\`: A special+-- identifier that represents anyone who is authenticated with a Google+-- account or a service account. * \`user:{emailid}\`: An email address+-- that represents a specific Google account. For example,+-- \`alice\'gmail.com\` . * \`serviceAccount:{emailid}\`: An email address+-- that represents a service account. For example,+-- \`my-other-app\'appspot.gserviceaccount.com\`. * \`group:{emailid}\`: An+-- email address that represents a Google group. For example,+-- \`admins\'example.com\`. * \`domain:{domain}\`: A Google Apps domain+-- name that represents all the users of that domain. For example,+-- \`google.com\` or \`example.com\`.+bMembers :: Lens' Binding [Text]+bMembers+  = lens _bMembers (\ s a -> s{_bMembers = a}) .+      _Default+      . _Coerce++-- | Role that is assigned to \`members\`. For example, \`roles\/viewer\`,+-- \`roles\/editor\`, or \`roles\/owner\`.+bRole :: Lens' Binding (Maybe Text)+bRole = lens _bRole (\ s a -> s{_bRole = a})++-- | Unimplemented. The condition that is associated with this binding. NOTE:+-- an unsatisfied condition will not allow user access via current binding.+-- Different bindings, including their conditions, are examined+-- independently.+bCondition :: Lens' Binding (Maybe Expr)+bCondition+  = lens _bCondition (\ s a -> s{_bCondition = a})++instance FromJSON Binding where+        parseJSON+          = withObject "Binding"+              (\ o ->+                 Binding' <$>+                   (o .:? "members" .!= mempty) <*> (o .:? "role") <*>+                     (o .:? "condition"))++instance ToJSON Binding where+        toJSON Binding'{..}+          = object+              (catMaybes+                 [("members" .=) <$> _bMembers,+                  ("role" .=) <$> _bRole,+                  ("condition" .=) <$> _bCondition])
+ gen/Network/Google/CloudFunctions/Types/Sum.hs view
@@ -0,0 +1,215 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE LambdaCase         #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module      : Network.Google.CloudFunctions.Types.Sum+-- Copyright   : (c) 2015-2016 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.CloudFunctions.Types.Sum where++import           Network.Google.Prelude hiding (Bytes)++-- | Type of operation.+data OperationMetadataV1Type+    = OperationUnspecified+      -- ^ @OPERATION_UNSPECIFIED@+      -- Unknown operation type.+    | CreateFunction+      -- ^ @CREATE_FUNCTION@+      -- Triggered by CreateFunction call+    | UpdateFunction+      -- ^ @UPDATE_FUNCTION@+      -- Triggered by UpdateFunction call+    | DeleteFunction+      -- ^ @DELETE_FUNCTION@+      -- Triggered by DeleteFunction call.+      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable OperationMetadataV1Type++instance FromHttpApiData OperationMetadataV1Type where+    parseQueryParam = \case+        "OPERATION_UNSPECIFIED" -> Right OperationUnspecified+        "CREATE_FUNCTION" -> Right CreateFunction+        "UPDATE_FUNCTION" -> Right UpdateFunction+        "DELETE_FUNCTION" -> Right DeleteFunction+        x -> Left ("Unable to parse OperationMetadataV1Type from: " <> x)++instance ToHttpApiData OperationMetadataV1Type where+    toQueryParam = \case+        OperationUnspecified -> "OPERATION_UNSPECIFIED"+        CreateFunction -> "CREATE_FUNCTION"+        UpdateFunction -> "UPDATE_FUNCTION"+        DeleteFunction -> "DELETE_FUNCTION"++instance FromJSON OperationMetadataV1Type where+    parseJSON = parseJSONText "OperationMetadataV1Type"++instance ToJSON OperationMetadataV1Type where+    toJSON = toJSONText++-- | Output only. Status of the function deployment.+data CloudFunctionStatus+    = CloudFunctionStatusUnspecified+      -- ^ @CLOUD_FUNCTION_STATUS_UNSPECIFIED@+      -- Not specified. Invalid state.+    | Active+      -- ^ @ACTIVE@+      -- Function has been succesfully deployed and is serving.+    | Offline+      -- ^ @OFFLINE@+      -- Function deployment failed and the function isn’t serving.+    | DeployInProgress+      -- ^ @DEPLOY_IN_PROGRESS@+      -- Function is being created or updated.+    | DeleteInProgress+      -- ^ @DELETE_IN_PROGRESS@+      -- Function is being deleted.+    | Unknown+      -- ^ @UNKNOWN@+      -- Function deployment failed and the function serving state is undefined.+      -- The function should be updated or deleted to move it out of this state.+      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable CloudFunctionStatus++instance FromHttpApiData CloudFunctionStatus where+    parseQueryParam = \case+        "CLOUD_FUNCTION_STATUS_UNSPECIFIED" -> Right CloudFunctionStatusUnspecified+        "ACTIVE" -> Right Active+        "OFFLINE" -> Right Offline+        "DEPLOY_IN_PROGRESS" -> Right DeployInProgress+        "DELETE_IN_PROGRESS" -> Right DeleteInProgress+        "UNKNOWN" -> Right Unknown+        x -> Left ("Unable to parse CloudFunctionStatus from: " <> x)++instance ToHttpApiData CloudFunctionStatus where+    toQueryParam = \case+        CloudFunctionStatusUnspecified -> "CLOUD_FUNCTION_STATUS_UNSPECIFIED"+        Active -> "ACTIVE"+        Offline -> "OFFLINE"+        DeployInProgress -> "DEPLOY_IN_PROGRESS"+        DeleteInProgress -> "DELETE_IN_PROGRESS"+        Unknown -> "UNKNOWN"++instance FromJSON CloudFunctionStatus where+    parseJSON = parseJSONText "CloudFunctionStatus"++instance ToJSON CloudFunctionStatus where+    toJSON = toJSONText++-- | Type of operation.+data OperationMetadataV1Beta2Type+    = OMVBTOperationUnspecified+      -- ^ @OPERATION_UNSPECIFIED@+      -- Unknown operation type.+    | OMVBTCreateFunction+      -- ^ @CREATE_FUNCTION@+      -- Triggered by CreateFunction call+    | OMVBTUpdateFunction+      -- ^ @UPDATE_FUNCTION@+      -- Triggered by UpdateFunction call+    | OMVBTDeleteFunction+      -- ^ @DELETE_FUNCTION@+      -- Triggered by DeleteFunction call.+      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable OperationMetadataV1Beta2Type++instance FromHttpApiData OperationMetadataV1Beta2Type where+    parseQueryParam = \case+        "OPERATION_UNSPECIFIED" -> Right OMVBTOperationUnspecified+        "CREATE_FUNCTION" -> Right OMVBTCreateFunction+        "UPDATE_FUNCTION" -> Right OMVBTUpdateFunction+        "DELETE_FUNCTION" -> Right OMVBTDeleteFunction+        x -> Left ("Unable to parse OperationMetadataV1Beta2Type from: " <> x)++instance ToHttpApiData OperationMetadataV1Beta2Type where+    toQueryParam = \case+        OMVBTOperationUnspecified -> "OPERATION_UNSPECIFIED"+        OMVBTCreateFunction -> "CREATE_FUNCTION"+        OMVBTUpdateFunction -> "UPDATE_FUNCTION"+        OMVBTDeleteFunction -> "DELETE_FUNCTION"++instance FromJSON OperationMetadataV1Beta2Type where+    parseJSON = parseJSONText "OperationMetadataV1Beta2Type"++instance ToJSON OperationMetadataV1Beta2Type where+    toJSON = toJSONText++-- | The log type that this config enables.+data AuditLogConfigLogType+    = LogTypeUnspecified+      -- ^ @LOG_TYPE_UNSPECIFIED@+      -- Default case. Should never be this.+    | AdminRead+      -- ^ @ADMIN_READ@+      -- Admin reads. Example: CloudIAM getIamPolicy+    | DataWrite+      -- ^ @DATA_WRITE@+      -- Data writes. Example: CloudSQL Users create+    | DataRead+      -- ^ @DATA_READ@+      -- Data reads. Example: CloudSQL Users list+      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable AuditLogConfigLogType++instance FromHttpApiData AuditLogConfigLogType where+    parseQueryParam = \case+        "LOG_TYPE_UNSPECIFIED" -> Right LogTypeUnspecified+        "ADMIN_READ" -> Right AdminRead+        "DATA_WRITE" -> Right DataWrite+        "DATA_READ" -> Right DataRead+        x -> Left ("Unable to parse AuditLogConfigLogType from: " <> x)++instance ToHttpApiData AuditLogConfigLogType where+    toQueryParam = \case+        LogTypeUnspecified -> "LOG_TYPE_UNSPECIFIED"+        AdminRead -> "ADMIN_READ"+        DataWrite -> "DATA_WRITE"+        DataRead -> "DATA_READ"++instance FromJSON AuditLogConfigLogType where+    parseJSON = parseJSONText "AuditLogConfigLogType"++instance ToJSON AuditLogConfigLogType where+    toJSON = toJSONText++-- | V1 error format.+data Xgafv+    = X1+      -- ^ @1@+      -- v1 error format+    | X2+      -- ^ @2@+      -- v2 error format+      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable Xgafv++instance FromHttpApiData Xgafv where+    parseQueryParam = \case+        "1" -> Right X1+        "2" -> Right X2+        x -> Left ("Unable to parse Xgafv from: " <> x)++instance ToHttpApiData Xgafv where+    toQueryParam = \case+        X1 -> "1"+        X2 -> "2"++instance FromJSON Xgafv where+    parseJSON = parseJSONText "Xgafv"++instance ToJSON Xgafv where+    toJSON = toJSONText
+ gen/Network/Google/Resource/CloudFunctions/Operations/Get.hs view
@@ -0,0 +1,146 @@+{-# 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.CloudFunctions.Operations.Get+-- Copyright   : (c) 2015-2016 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://cloud.google.com/functions Cloud Functions API Reference> for @cloudfunctions.operations.get@.+module Network.Google.Resource.CloudFunctions.Operations.Get+    (+    -- * REST Resource+      OperationsGetResource++    -- * Creating a Request+    , operationsGet+    , OperationsGet++    -- * Request Lenses+    , ogXgafv+    , ogUploadProtocol+    , ogAccessToken+    , ogUploadType+    , ogName+    , ogCallback+    ) where++import           Network.Google.CloudFunctions.Types+import           Network.Google.Prelude++-- | A resource alias for @cloudfunctions.operations.get@ method which the+-- 'OperationsGet' request conforms to.+type OperationsGetResource =+     "v1" :>+       Capture "name" Text :>+         QueryParam "$.xgafv" Xgafv :>+           QueryParam "upload_protocol" Text :>+             QueryParam "access_token" Text :>+               QueryParam "uploadType" 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:/ 'operationsGet' smart constructor.+data OperationsGet = OperationsGet'+    { _ogXgafv          :: !(Maybe Xgafv)+    , _ogUploadProtocol :: !(Maybe Text)+    , _ogAccessToken    :: !(Maybe Text)+    , _ogUploadType     :: !(Maybe Text)+    , _ogName           :: !Text+    , _ogCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'OperationsGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ogXgafv'+--+-- * 'ogUploadProtocol'+--+-- * 'ogAccessToken'+--+-- * 'ogUploadType'+--+-- * 'ogName'+--+-- * 'ogCallback'+operationsGet+    :: Text -- ^ 'ogName'+    -> OperationsGet+operationsGet pOgName_ =+    OperationsGet'+    { _ogXgafv = Nothing+    , _ogUploadProtocol = Nothing+    , _ogAccessToken = Nothing+    , _ogUploadType = Nothing+    , _ogName = pOgName_+    , _ogCallback = Nothing+    }++-- | V1 error format.+ogXgafv :: Lens' OperationsGet (Maybe Xgafv)+ogXgafv = lens _ogXgafv (\ s a -> s{_ogXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+ogUploadProtocol :: Lens' OperationsGet (Maybe Text)+ogUploadProtocol+  = lens _ogUploadProtocol+      (\ s a -> s{_ogUploadProtocol = a})++-- | OAuth access token.+ogAccessToken :: Lens' OperationsGet (Maybe Text)+ogAccessToken+  = lens _ogAccessToken+      (\ s a -> s{_ogAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+ogUploadType :: Lens' OperationsGet (Maybe Text)+ogUploadType+  = lens _ogUploadType (\ s a -> s{_ogUploadType = a})++-- | The name of the operation resource.+ogName :: Lens' OperationsGet Text+ogName = lens _ogName (\ s a -> s{_ogName = a})++-- | JSONP+ogCallback :: Lens' OperationsGet (Maybe Text)+ogCallback+  = lens _ogCallback (\ s a -> s{_ogCallback = a})++instance GoogleRequest OperationsGet where+        type Rs OperationsGet = Operation+        type Scopes OperationsGet =+             '["https://www.googleapis.com/auth/cloud-platform"]+        requestClient OperationsGet'{..}+          = go _ogName _ogXgafv _ogUploadProtocol+              _ogAccessToken+              _ogUploadType+              _ogCallback+              (Just AltJSON)+              cloudFunctionsService+          where go+                  = buildClient (Proxy :: Proxy OperationsGetResource)+                      mempty
+ gen/Network/Google/Resource/CloudFunctions/Operations/List.hs view
@@ -0,0 +1,201 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.CloudFunctions.Operations.List+-- Copyright   : (c) 2015-2016 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 allows API services to override the binding to use+-- different resource name schemes, such as \`users\/*\/operations\`. To+-- override the binding, API services can add a binding such as+-- \`\"\/v1\/{name=users\/*}\/operations\"\` to their service+-- configuration. For backwards compatibility, the default name includes+-- the operations collection id, however overriding users must ensure the+-- name binding is the parent resource, without the operations collection+-- id.+--+-- /See:/ <https://cloud.google.com/functions Cloud Functions API Reference> for @cloudfunctions.operations.list@.+module Network.Google.Resource.CloudFunctions.Operations.List+    (+    -- * REST Resource+      OperationsListResource++    -- * Creating a Request+    , operationsList+    , OperationsList++    -- * Request Lenses+    , olXgafv+    , olUploadProtocol+    , olAccessToken+    , olUploadType+    , olName+    , olFilter+    , olPageToken+    , olPageSize+    , olCallback+    ) where++import           Network.Google.CloudFunctions.Types+import           Network.Google.Prelude++-- | A resource alias for @cloudfunctions.operations.list@ method which the+-- 'OperationsList' request conforms to.+type OperationsListResource =+     "v1" :>+       "operations" :>+         QueryParam "$.xgafv" Xgafv :>+           QueryParam "upload_protocol" Text :>+             QueryParam "access_token" Text :>+               QueryParam "uploadType" Text :>+                 QueryParam "name" 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 allows API services to override the binding to use+-- different resource name schemes, such as \`users\/*\/operations\`. To+-- override the binding, API services can add a binding such as+-- \`\"\/v1\/{name=users\/*}\/operations\"\` to their service+-- configuration. For backwards compatibility, the default name includes+-- the operations collection id, however overriding users must ensure the+-- name binding is the parent resource, without the operations collection+-- id.+--+-- /See:/ 'operationsList' smart constructor.+data OperationsList = OperationsList'+    { _olXgafv          :: !(Maybe Xgafv)+    , _olUploadProtocol :: !(Maybe Text)+    , _olAccessToken    :: !(Maybe Text)+    , _olUploadType     :: !(Maybe Text)+    , _olName           :: !(Maybe Text)+    , _olFilter         :: !(Maybe Text)+    , _olPageToken      :: !(Maybe Text)+    , _olPageSize       :: !(Maybe (Textual Int32))+    , _olCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'OperationsList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'olXgafv'+--+-- * 'olUploadProtocol'+--+-- * 'olAccessToken'+--+-- * 'olUploadType'+--+-- * 'olName'+--+-- * 'olFilter'+--+-- * 'olPageToken'+--+-- * 'olPageSize'+--+-- * 'olCallback'+operationsList+    :: OperationsList+operationsList =+    OperationsList'+    { _olXgafv = Nothing+    , _olUploadProtocol = Nothing+    , _olAccessToken = Nothing+    , _olUploadType = Nothing+    , _olName = Nothing+    , _olFilter = Nothing+    , _olPageToken = Nothing+    , _olPageSize = Nothing+    , _olCallback = Nothing+    }++-- | V1 error format.+olXgafv :: Lens' OperationsList (Maybe Xgafv)+olXgafv = lens _olXgafv (\ s a -> s{_olXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+olUploadProtocol :: Lens' OperationsList (Maybe Text)+olUploadProtocol+  = lens _olUploadProtocol+      (\ s a -> s{_olUploadProtocol = a})++-- | OAuth access token.+olAccessToken :: Lens' OperationsList (Maybe Text)+olAccessToken+  = lens _olAccessToken+      (\ s a -> s{_olAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+olUploadType :: Lens' OperationsList (Maybe Text)+olUploadType+  = lens _olUploadType (\ s a -> s{_olUploadType = a})++-- | Must not be set.+olName :: Lens' OperationsList (Maybe Text)+olName = lens _olName (\ s a -> s{_olName = a})++-- | Required. A filter for matching the requested operations.+-- The supported formats of __filter__ are:+-- To query for specific function: 'project:*,location:*,function:*'+-- To query for all of the latest operations for a project:+-- 'project:*,latest:true'+olFilter :: Lens' OperationsList (Maybe Text)+olFilter = lens _olFilter (\ s a -> s{_olFilter = a})++-- | The standard list page token.+olPageToken :: Lens' OperationsList (Maybe Text)+olPageToken+  = lens _olPageToken (\ s a -> s{_olPageToken = a})++-- | The standard list page size.+olPageSize :: Lens' OperationsList (Maybe Int32)+olPageSize+  = lens _olPageSize (\ s a -> s{_olPageSize = a}) .+      mapping _Coerce++-- | JSONP+olCallback :: Lens' OperationsList (Maybe Text)+olCallback+  = lens _olCallback (\ s a -> s{_olCallback = a})++instance GoogleRequest OperationsList where+        type Rs OperationsList = ListOperationsResponse+        type Scopes OperationsList =+             '["https://www.googleapis.com/auth/cloud-platform"]+        requestClient OperationsList'{..}+          = go _olXgafv _olUploadProtocol _olAccessToken+              _olUploadType+              _olName+              _olFilter+              _olPageToken+              _olPageSize+              _olCallback+              (Just AltJSON)+              cloudFunctionsService+          where go+                  = buildClient (Proxy :: Proxy OperationsListResource)+                      mempty
+ gen/Network/Google/Resource/CloudFunctions/Projects/Locations/Functions/Call.hs view
@@ -0,0 +1,163 @@+{-# 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.CloudFunctions.Projects.Locations.Functions.Call+-- Copyright   : (c) 2015-2016 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)+--+-- Synchronously invokes a deployed Cloud Function. To be used for testing+-- purposes as very limited traffic is allowed. For more information on the+-- actual limits refer to [API Calls](+-- https:\/\/cloud.google.com\/functions\/quotas#rate_limits).+--+-- /See:/ <https://cloud.google.com/functions Cloud Functions API Reference> for @cloudfunctions.projects.locations.functions.call@.+module Network.Google.Resource.CloudFunctions.Projects.Locations.Functions.Call+    (+    -- * REST Resource+      ProjectsLocationsFunctionsCallResource++    -- * Creating a Request+    , projectsLocationsFunctionsCall+    , ProjectsLocationsFunctionsCall++    -- * Request Lenses+    , pXgafv+    , pUploadProtocol+    , pAccessToken+    , pUploadType+    , pPayload+    , pName+    , pCallback+    ) where++import           Network.Google.CloudFunctions.Types+import           Network.Google.Prelude++-- | A resource alias for @cloudfunctions.projects.locations.functions.call@ method which the+-- 'ProjectsLocationsFunctionsCall' request conforms to.+type ProjectsLocationsFunctionsCallResource =+     "v1" :>+       CaptureMode "name" "call" Text :>+         QueryParam "$.xgafv" Xgafv :>+           QueryParam "upload_protocol" Text :>+             QueryParam "access_token" Text :>+               QueryParam "uploadType" Text :>+                 QueryParam "callback" Text :>+                   QueryParam "alt" AltJSON :>+                     ReqBody '[JSON] CallFunctionRequest :>+                       Post '[JSON] CallFunctionResponse++-- | Synchronously invokes a deployed Cloud Function. To be used for testing+-- purposes as very limited traffic is allowed. For more information on the+-- actual limits refer to [API Calls](+-- https:\/\/cloud.google.com\/functions\/quotas#rate_limits).+--+-- /See:/ 'projectsLocationsFunctionsCall' smart constructor.+data ProjectsLocationsFunctionsCall = ProjectsLocationsFunctionsCall'+    { _pXgafv          :: !(Maybe Xgafv)+    , _pUploadProtocol :: !(Maybe Text)+    , _pAccessToken    :: !(Maybe Text)+    , _pUploadType     :: !(Maybe Text)+    , _pPayload        :: !CallFunctionRequest+    , _pName           :: !Text+    , _pCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProjectsLocationsFunctionsCall' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pXgafv'+--+-- * 'pUploadProtocol'+--+-- * 'pAccessToken'+--+-- * 'pUploadType'+--+-- * 'pPayload'+--+-- * 'pName'+--+-- * 'pCallback'+projectsLocationsFunctionsCall+    :: CallFunctionRequest -- ^ 'pPayload'+    -> Text -- ^ 'pName'+    -> ProjectsLocationsFunctionsCall+projectsLocationsFunctionsCall pPPayload_ pPName_ =+    ProjectsLocationsFunctionsCall'+    { _pXgafv = Nothing+    , _pUploadProtocol = Nothing+    , _pAccessToken = Nothing+    , _pUploadType = Nothing+    , _pPayload = pPPayload_+    , _pName = pPName_+    , _pCallback = Nothing+    }++-- | V1 error format.+pXgafv :: Lens' ProjectsLocationsFunctionsCall (Maybe Xgafv)+pXgafv = lens _pXgafv (\ s a -> s{_pXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+pUploadProtocol :: Lens' ProjectsLocationsFunctionsCall (Maybe Text)+pUploadProtocol+  = lens _pUploadProtocol+      (\ s a -> s{_pUploadProtocol = a})++-- | OAuth access token.+pAccessToken :: Lens' ProjectsLocationsFunctionsCall (Maybe Text)+pAccessToken+  = lens _pAccessToken (\ s a -> s{_pAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+pUploadType :: Lens' ProjectsLocationsFunctionsCall (Maybe Text)+pUploadType+  = lens _pUploadType (\ s a -> s{_pUploadType = a})++-- | Multipart request metadata.+pPayload :: Lens' ProjectsLocationsFunctionsCall CallFunctionRequest+pPayload = lens _pPayload (\ s a -> s{_pPayload = a})++-- | The name of the function to be called.+pName :: Lens' ProjectsLocationsFunctionsCall Text+pName = lens _pName (\ s a -> s{_pName = a})++-- | JSONP+pCallback :: Lens' ProjectsLocationsFunctionsCall (Maybe Text)+pCallback+  = lens _pCallback (\ s a -> s{_pCallback = a})++instance GoogleRequest ProjectsLocationsFunctionsCall+         where+        type Rs ProjectsLocationsFunctionsCall =+             CallFunctionResponse+        type Scopes ProjectsLocationsFunctionsCall =+             '["https://www.googleapis.com/auth/cloud-platform"]+        requestClient ProjectsLocationsFunctionsCall'{..}+          = go _pName _pXgafv _pUploadProtocol _pAccessToken+              _pUploadType+              _pCallback+              (Just AltJSON)+              _pPayload+              cloudFunctionsService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy ProjectsLocationsFunctionsCallResource)+                      mempty
+ gen/Network/Google/Resource/CloudFunctions/Projects/Locations/Functions/Create.hs view
@@ -0,0 +1,168 @@+{-# 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.CloudFunctions.Projects.Locations.Functions.Create+-- Copyright   : (c) 2015-2016 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)+--+-- Creates a new function. If a function with the given name already exists+-- in the specified project, the long running operation will return+-- \`ALREADY_EXISTS\` error.+--+-- /See:/ <https://cloud.google.com/functions Cloud Functions API Reference> for @cloudfunctions.projects.locations.functions.create@.+module Network.Google.Resource.CloudFunctions.Projects.Locations.Functions.Create+    (+    -- * REST Resource+      ProjectsLocationsFunctionsCreateResource++    -- * Creating a Request+    , projectsLocationsFunctionsCreate+    , ProjectsLocationsFunctionsCreate++    -- * Request Lenses+    , plfcXgafv+    , plfcUploadProtocol+    , plfcLocation+    , plfcAccessToken+    , plfcUploadType+    , plfcPayload+    , plfcCallback+    ) where++import           Network.Google.CloudFunctions.Types+import           Network.Google.Prelude++-- | A resource alias for @cloudfunctions.projects.locations.functions.create@ method which the+-- 'ProjectsLocationsFunctionsCreate' request conforms to.+type ProjectsLocationsFunctionsCreateResource =+     "v1" :>+       Capture "location" Text :>+         "functions" :>+           QueryParam "$.xgafv" Xgafv :>+             QueryParam "upload_protocol" Text :>+               QueryParam "access_token" Text :>+                 QueryParam "uploadType" Text :>+                   QueryParam "callback" Text :>+                     QueryParam "alt" AltJSON :>+                       ReqBody '[JSON] CloudFunction :>+                         Post '[JSON] Operation++-- | Creates a new function. If a function with the given name already exists+-- in the specified project, the long running operation will return+-- \`ALREADY_EXISTS\` error.+--+-- /See:/ 'projectsLocationsFunctionsCreate' smart constructor.+data ProjectsLocationsFunctionsCreate = ProjectsLocationsFunctionsCreate'+    { _plfcXgafv          :: !(Maybe Xgafv)+    , _plfcUploadProtocol :: !(Maybe Text)+    , _plfcLocation       :: !Text+    , _plfcAccessToken    :: !(Maybe Text)+    , _plfcUploadType     :: !(Maybe Text)+    , _plfcPayload        :: !CloudFunction+    , _plfcCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProjectsLocationsFunctionsCreate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'plfcXgafv'+--+-- * 'plfcUploadProtocol'+--+-- * 'plfcLocation'+--+-- * 'plfcAccessToken'+--+-- * 'plfcUploadType'+--+-- * 'plfcPayload'+--+-- * 'plfcCallback'+projectsLocationsFunctionsCreate+    :: Text -- ^ 'plfcLocation'+    -> CloudFunction -- ^ 'plfcPayload'+    -> ProjectsLocationsFunctionsCreate+projectsLocationsFunctionsCreate pPlfcLocation_ pPlfcPayload_ =+    ProjectsLocationsFunctionsCreate'+    { _plfcXgafv = Nothing+    , _plfcUploadProtocol = Nothing+    , _plfcLocation = pPlfcLocation_+    , _plfcAccessToken = Nothing+    , _plfcUploadType = Nothing+    , _plfcPayload = pPlfcPayload_+    , _plfcCallback = Nothing+    }++-- | V1 error format.+plfcXgafv :: Lens' ProjectsLocationsFunctionsCreate (Maybe Xgafv)+plfcXgafv+  = lens _plfcXgafv (\ s a -> s{_plfcXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+plfcUploadProtocol :: Lens' ProjectsLocationsFunctionsCreate (Maybe Text)+plfcUploadProtocol+  = lens _plfcUploadProtocol+      (\ s a -> s{_plfcUploadProtocol = a})++-- | The project and location in which the function should be created,+-- specified in the format \`projects\/*\/locations\/*\`+plfcLocation :: Lens' ProjectsLocationsFunctionsCreate Text+plfcLocation+  = lens _plfcLocation (\ s a -> s{_plfcLocation = a})++-- | OAuth access token.+plfcAccessToken :: Lens' ProjectsLocationsFunctionsCreate (Maybe Text)+plfcAccessToken+  = lens _plfcAccessToken+      (\ s a -> s{_plfcAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+plfcUploadType :: Lens' ProjectsLocationsFunctionsCreate (Maybe Text)+plfcUploadType+  = lens _plfcUploadType+      (\ s a -> s{_plfcUploadType = a})++-- | Multipart request metadata.+plfcPayload :: Lens' ProjectsLocationsFunctionsCreate CloudFunction+plfcPayload+  = lens _plfcPayload (\ s a -> s{_plfcPayload = a})++-- | JSONP+plfcCallback :: Lens' ProjectsLocationsFunctionsCreate (Maybe Text)+plfcCallback+  = lens _plfcCallback (\ s a -> s{_plfcCallback = a})++instance GoogleRequest+         ProjectsLocationsFunctionsCreate where+        type Rs ProjectsLocationsFunctionsCreate = Operation+        type Scopes ProjectsLocationsFunctionsCreate =+             '["https://www.googleapis.com/auth/cloud-platform"]+        requestClient ProjectsLocationsFunctionsCreate'{..}+          = go _plfcLocation _plfcXgafv _plfcUploadProtocol+              _plfcAccessToken+              _plfcUploadType+              _plfcCallback+              (Just AltJSON)+              _plfcPayload+              cloudFunctionsService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy ProjectsLocationsFunctionsCreateResource)+                      mempty
+ gen/Network/Google/Resource/CloudFunctions/Projects/Locations/Functions/Delete.hs view
@@ -0,0 +1,151 @@+{-# 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.CloudFunctions.Projects.Locations.Functions.Delete+-- Copyright   : (c) 2015-2016 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 function with the given name from the specified project. If+-- the given function is used by some trigger, the trigger will be updated+-- to remove this function.+--+-- /See:/ <https://cloud.google.com/functions Cloud Functions API Reference> for @cloudfunctions.projects.locations.functions.delete@.+module Network.Google.Resource.CloudFunctions.Projects.Locations.Functions.Delete+    (+    -- * REST Resource+      ProjectsLocationsFunctionsDeleteResource++    -- * Creating a Request+    , projectsLocationsFunctionsDelete+    , ProjectsLocationsFunctionsDelete++    -- * Request Lenses+    , plfdXgafv+    , plfdUploadProtocol+    , plfdAccessToken+    , plfdUploadType+    , plfdName+    , plfdCallback+    ) where++import           Network.Google.CloudFunctions.Types+import           Network.Google.Prelude++-- | A resource alias for @cloudfunctions.projects.locations.functions.delete@ method which the+-- 'ProjectsLocationsFunctionsDelete' request conforms to.+type ProjectsLocationsFunctionsDeleteResource =+     "v1" :>+       Capture "name" Text :>+         QueryParam "$.xgafv" Xgafv :>+           QueryParam "upload_protocol" Text :>+             QueryParam "access_token" Text :>+               QueryParam "uploadType" Text :>+                 QueryParam "callback" Text :>+                   QueryParam "alt" AltJSON :> Delete '[JSON] Operation++-- | Deletes a function with the given name from the specified project. If+-- the given function is used by some trigger, the trigger will be updated+-- to remove this function.+--+-- /See:/ 'projectsLocationsFunctionsDelete' smart constructor.+data ProjectsLocationsFunctionsDelete = ProjectsLocationsFunctionsDelete'+    { _plfdXgafv          :: !(Maybe Xgafv)+    , _plfdUploadProtocol :: !(Maybe Text)+    , _plfdAccessToken    :: !(Maybe Text)+    , _plfdUploadType     :: !(Maybe Text)+    , _plfdName           :: !Text+    , _plfdCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProjectsLocationsFunctionsDelete' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'plfdXgafv'+--+-- * 'plfdUploadProtocol'+--+-- * 'plfdAccessToken'+--+-- * 'plfdUploadType'+--+-- * 'plfdName'+--+-- * 'plfdCallback'+projectsLocationsFunctionsDelete+    :: Text -- ^ 'plfdName'+    -> ProjectsLocationsFunctionsDelete+projectsLocationsFunctionsDelete pPlfdName_ =+    ProjectsLocationsFunctionsDelete'+    { _plfdXgafv = Nothing+    , _plfdUploadProtocol = Nothing+    , _plfdAccessToken = Nothing+    , _plfdUploadType = Nothing+    , _plfdName = pPlfdName_+    , _plfdCallback = Nothing+    }++-- | V1 error format.+plfdXgafv :: Lens' ProjectsLocationsFunctionsDelete (Maybe Xgafv)+plfdXgafv+  = lens _plfdXgafv (\ s a -> s{_plfdXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+plfdUploadProtocol :: Lens' ProjectsLocationsFunctionsDelete (Maybe Text)+plfdUploadProtocol+  = lens _plfdUploadProtocol+      (\ s a -> s{_plfdUploadProtocol = a})++-- | OAuth access token.+plfdAccessToken :: Lens' ProjectsLocationsFunctionsDelete (Maybe Text)+plfdAccessToken+  = lens _plfdAccessToken+      (\ s a -> s{_plfdAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+plfdUploadType :: Lens' ProjectsLocationsFunctionsDelete (Maybe Text)+plfdUploadType+  = lens _plfdUploadType+      (\ s a -> s{_plfdUploadType = a})++-- | The name of the function which should be deleted.+plfdName :: Lens' ProjectsLocationsFunctionsDelete Text+plfdName = lens _plfdName (\ s a -> s{_plfdName = a})++-- | JSONP+plfdCallback :: Lens' ProjectsLocationsFunctionsDelete (Maybe Text)+plfdCallback+  = lens _plfdCallback (\ s a -> s{_plfdCallback = a})++instance GoogleRequest+         ProjectsLocationsFunctionsDelete where+        type Rs ProjectsLocationsFunctionsDelete = Operation+        type Scopes ProjectsLocationsFunctionsDelete =+             '["https://www.googleapis.com/auth/cloud-platform"]+        requestClient ProjectsLocationsFunctionsDelete'{..}+          = go _plfdName _plfdXgafv _plfdUploadProtocol+              _plfdAccessToken+              _plfdUploadType+              _plfdCallback+              (Just AltJSON)+              cloudFunctionsService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy ProjectsLocationsFunctionsDeleteResource)+                      mempty
+ gen/Network/Google/Resource/CloudFunctions/Projects/Locations/Functions/GenerateDownloadURL.hs view
@@ -0,0 +1,176 @@+{-# 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.CloudFunctions.Projects.Locations.Functions.GenerateDownloadURL+-- Copyright   : (c) 2015-2016 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)+--+-- Returns a signed URL for downloading deployed function source code. The+-- URL is only valid for a limited period and should be used within minutes+-- after generation. For more information about the signed URL usage see:+-- https:\/\/cloud.google.com\/storage\/docs\/access-control\/signed-urls+--+-- /See:/ <https://cloud.google.com/functions Cloud Functions API Reference> for @cloudfunctions.projects.locations.functions.generateDownloadUrl@.+module Network.Google.Resource.CloudFunctions.Projects.Locations.Functions.GenerateDownloadURL+    (+    -- * REST Resource+      ProjectsLocationsFunctionsGenerateDownloadURLResource++    -- * Creating a Request+    , projectsLocationsFunctionsGenerateDownloadURL+    , ProjectsLocationsFunctionsGenerateDownloadURL++    -- * Request Lenses+    , plfgduXgafv+    , plfgduUploadProtocol+    , plfgduAccessToken+    , plfgduUploadType+    , plfgduPayload+    , plfgduName+    , plfgduCallback+    ) where++import           Network.Google.CloudFunctions.Types+import           Network.Google.Prelude++-- | A resource alias for @cloudfunctions.projects.locations.functions.generateDownloadUrl@ method which the+-- 'ProjectsLocationsFunctionsGenerateDownloadURL' request conforms to.+type ProjectsLocationsFunctionsGenerateDownloadURLResource+     =+     "v1" :>+       CaptureMode "name" "generateDownloadUrl" Text :>+         QueryParam "$.xgafv" Xgafv :>+           QueryParam "upload_protocol" Text :>+             QueryParam "access_token" Text :>+               QueryParam "uploadType" Text :>+                 QueryParam "callback" Text :>+                   QueryParam "alt" AltJSON :>+                     ReqBody '[JSON] GenerateDownloadURLRequest :>+                       Post '[JSON] GenerateDownloadURLResponse++-- | Returns a signed URL for downloading deployed function source code. The+-- URL is only valid for a limited period and should be used within minutes+-- after generation. For more information about the signed URL usage see:+-- https:\/\/cloud.google.com\/storage\/docs\/access-control\/signed-urls+--+-- /See:/ 'projectsLocationsFunctionsGenerateDownloadURL' smart constructor.+data ProjectsLocationsFunctionsGenerateDownloadURL = ProjectsLocationsFunctionsGenerateDownloadURL'+    { _plfgduXgafv          :: !(Maybe Xgafv)+    , _plfgduUploadProtocol :: !(Maybe Text)+    , _plfgduAccessToken    :: !(Maybe Text)+    , _plfgduUploadType     :: !(Maybe Text)+    , _plfgduPayload        :: !GenerateDownloadURLRequest+    , _plfgduName           :: !Text+    , _plfgduCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProjectsLocationsFunctionsGenerateDownloadURL' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'plfgduXgafv'+--+-- * 'plfgduUploadProtocol'+--+-- * 'plfgduAccessToken'+--+-- * 'plfgduUploadType'+--+-- * 'plfgduPayload'+--+-- * 'plfgduName'+--+-- * 'plfgduCallback'+projectsLocationsFunctionsGenerateDownloadURL+    :: GenerateDownloadURLRequest -- ^ 'plfgduPayload'+    -> Text -- ^ 'plfgduName'+    -> ProjectsLocationsFunctionsGenerateDownloadURL+projectsLocationsFunctionsGenerateDownloadURL pPlfgduPayload_ pPlfgduName_ =+    ProjectsLocationsFunctionsGenerateDownloadURL'+    { _plfgduXgafv = Nothing+    , _plfgduUploadProtocol = Nothing+    , _plfgduAccessToken = Nothing+    , _plfgduUploadType = Nothing+    , _plfgduPayload = pPlfgduPayload_+    , _plfgduName = pPlfgduName_+    , _plfgduCallback = Nothing+    }++-- | V1 error format.+plfgduXgafv :: Lens' ProjectsLocationsFunctionsGenerateDownloadURL (Maybe Xgafv)+plfgduXgafv+  = lens _plfgduXgafv (\ s a -> s{_plfgduXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+plfgduUploadProtocol :: Lens' ProjectsLocationsFunctionsGenerateDownloadURL (Maybe Text)+plfgduUploadProtocol+  = lens _plfgduUploadProtocol+      (\ s a -> s{_plfgduUploadProtocol = a})++-- | OAuth access token.+plfgduAccessToken :: Lens' ProjectsLocationsFunctionsGenerateDownloadURL (Maybe Text)+plfgduAccessToken+  = lens _plfgduAccessToken+      (\ s a -> s{_plfgduAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+plfgduUploadType :: Lens' ProjectsLocationsFunctionsGenerateDownloadURL (Maybe Text)+plfgduUploadType+  = lens _plfgduUploadType+      (\ s a -> s{_plfgduUploadType = a})++-- | Multipart request metadata.+plfgduPayload :: Lens' ProjectsLocationsFunctionsGenerateDownloadURL GenerateDownloadURLRequest+plfgduPayload+  = lens _plfgduPayload+      (\ s a -> s{_plfgduPayload = a})++-- | The name of function for which source code Google Cloud Storage signed+-- URL should be generated.+plfgduName :: Lens' ProjectsLocationsFunctionsGenerateDownloadURL Text+plfgduName+  = lens _plfgduName (\ s a -> s{_plfgduName = a})++-- | JSONP+plfgduCallback :: Lens' ProjectsLocationsFunctionsGenerateDownloadURL (Maybe Text)+plfgduCallback+  = lens _plfgduCallback+      (\ s a -> s{_plfgduCallback = a})++instance GoogleRequest+         ProjectsLocationsFunctionsGenerateDownloadURL where+        type Rs ProjectsLocationsFunctionsGenerateDownloadURL+             = GenerateDownloadURLResponse+        type Scopes+               ProjectsLocationsFunctionsGenerateDownloadURL+             = '["https://www.googleapis.com/auth/cloud-platform"]+        requestClient+          ProjectsLocationsFunctionsGenerateDownloadURL'{..}+          = go _plfgduName _plfgduXgafv _plfgduUploadProtocol+              _plfgduAccessToken+              _plfgduUploadType+              _plfgduCallback+              (Just AltJSON)+              _plfgduPayload+              cloudFunctionsService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy+                           ProjectsLocationsFunctionsGenerateDownloadURLResource)+                      mempty
+ gen/Network/Google/Resource/CloudFunctions/Projects/Locations/Functions/GenerateUploadURL.hs view
@@ -0,0 +1,192 @@+{-# 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.CloudFunctions.Projects.Locations.Functions.GenerateUploadURL+-- Copyright   : (c) 2015-2016 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)+--+-- Returns a signed URL for uploading a function source code. For more+-- information about the signed URL usage see:+-- https:\/\/cloud.google.com\/storage\/docs\/access-control\/signed-urls.+-- Once the function source code upload is complete, the used signed URL+-- should be provided in CreateFunction or UpdateFunction request as a+-- reference to the function source code. When uploading source code to the+-- generated signed URL, please follow these restrictions: * Source file+-- type should be a zip file. * Source file size should not exceed 100MB+-- limit. When making a HTTP PUT request, these two headers need to be+-- specified: * \`content-type: application\/zip\` *+-- \`x-goog-content-length-range: 0,104857600\`+--+-- /See:/ <https://cloud.google.com/functions Cloud Functions API Reference> for @cloudfunctions.projects.locations.functions.generateUploadUrl@.+module Network.Google.Resource.CloudFunctions.Projects.Locations.Functions.GenerateUploadURL+    (+    -- * REST Resource+      ProjectsLocationsFunctionsGenerateUploadURLResource++    -- * Creating a Request+    , projectsLocationsFunctionsGenerateUploadURL+    , ProjectsLocationsFunctionsGenerateUploadURL++    -- * Request Lenses+    , plfguuParent+    , plfguuXgafv+    , plfguuUploadProtocol+    , plfguuAccessToken+    , plfguuUploadType+    , plfguuPayload+    , plfguuCallback+    ) where++import           Network.Google.CloudFunctions.Types+import           Network.Google.Prelude++-- | A resource alias for @cloudfunctions.projects.locations.functions.generateUploadUrl@ method which the+-- 'ProjectsLocationsFunctionsGenerateUploadURL' request conforms to.+type ProjectsLocationsFunctionsGenerateUploadURLResource+     =+     "v1" :>+       Capture "parent" Text :>+         "functions:generateUploadUrl" :>+           QueryParam "$.xgafv" Xgafv :>+             QueryParam "upload_protocol" Text :>+               QueryParam "access_token" Text :>+                 QueryParam "uploadType" Text :>+                   QueryParam "callback" Text :>+                     QueryParam "alt" AltJSON :>+                       ReqBody '[JSON] GenerateUploadURLRequest :>+                         Post '[JSON] GenerateUploadURLResponse++-- | Returns a signed URL for uploading a function source code. For more+-- information about the signed URL usage see:+-- https:\/\/cloud.google.com\/storage\/docs\/access-control\/signed-urls.+-- Once the function source code upload is complete, the used signed URL+-- should be provided in CreateFunction or UpdateFunction request as a+-- reference to the function source code. When uploading source code to the+-- generated signed URL, please follow these restrictions: * Source file+-- type should be a zip file. * Source file size should not exceed 100MB+-- limit. When making a HTTP PUT request, these two headers need to be+-- specified: * \`content-type: application\/zip\` *+-- \`x-goog-content-length-range: 0,104857600\`+--+-- /See:/ 'projectsLocationsFunctionsGenerateUploadURL' smart constructor.+data ProjectsLocationsFunctionsGenerateUploadURL = ProjectsLocationsFunctionsGenerateUploadURL'+    { _plfguuParent         :: !Text+    , _plfguuXgafv          :: !(Maybe Xgafv)+    , _plfguuUploadProtocol :: !(Maybe Text)+    , _plfguuAccessToken    :: !(Maybe Text)+    , _plfguuUploadType     :: !(Maybe Text)+    , _plfguuPayload        :: !GenerateUploadURLRequest+    , _plfguuCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProjectsLocationsFunctionsGenerateUploadURL' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'plfguuParent'+--+-- * 'plfguuXgafv'+--+-- * 'plfguuUploadProtocol'+--+-- * 'plfguuAccessToken'+--+-- * 'plfguuUploadType'+--+-- * 'plfguuPayload'+--+-- * 'plfguuCallback'+projectsLocationsFunctionsGenerateUploadURL+    :: Text -- ^ 'plfguuParent'+    -> GenerateUploadURLRequest -- ^ 'plfguuPayload'+    -> ProjectsLocationsFunctionsGenerateUploadURL+projectsLocationsFunctionsGenerateUploadURL pPlfguuParent_ pPlfguuPayload_ =+    ProjectsLocationsFunctionsGenerateUploadURL'+    { _plfguuParent = pPlfguuParent_+    , _plfguuXgafv = Nothing+    , _plfguuUploadProtocol = Nothing+    , _plfguuAccessToken = Nothing+    , _plfguuUploadType = Nothing+    , _plfguuPayload = pPlfguuPayload_+    , _plfguuCallback = Nothing+    }++-- | The project and location in which the Google Cloud Storage signed URL+-- should be generated, specified in the format+-- \`projects\/*\/locations\/*\`.+plfguuParent :: Lens' ProjectsLocationsFunctionsGenerateUploadURL Text+plfguuParent+  = lens _plfguuParent (\ s a -> s{_plfguuParent = a})++-- | V1 error format.+plfguuXgafv :: Lens' ProjectsLocationsFunctionsGenerateUploadURL (Maybe Xgafv)+plfguuXgafv+  = lens _plfguuXgafv (\ s a -> s{_plfguuXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+plfguuUploadProtocol :: Lens' ProjectsLocationsFunctionsGenerateUploadURL (Maybe Text)+plfguuUploadProtocol+  = lens _plfguuUploadProtocol+      (\ s a -> s{_plfguuUploadProtocol = a})++-- | OAuth access token.+plfguuAccessToken :: Lens' ProjectsLocationsFunctionsGenerateUploadURL (Maybe Text)+plfguuAccessToken+  = lens _plfguuAccessToken+      (\ s a -> s{_plfguuAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+plfguuUploadType :: Lens' ProjectsLocationsFunctionsGenerateUploadURL (Maybe Text)+plfguuUploadType+  = lens _plfguuUploadType+      (\ s a -> s{_plfguuUploadType = a})++-- | Multipart request metadata.+plfguuPayload :: Lens' ProjectsLocationsFunctionsGenerateUploadURL GenerateUploadURLRequest+plfguuPayload+  = lens _plfguuPayload+      (\ s a -> s{_plfguuPayload = a})++-- | JSONP+plfguuCallback :: Lens' ProjectsLocationsFunctionsGenerateUploadURL (Maybe Text)+plfguuCallback+  = lens _plfguuCallback+      (\ s a -> s{_plfguuCallback = a})++instance GoogleRequest+         ProjectsLocationsFunctionsGenerateUploadURL where+        type Rs ProjectsLocationsFunctionsGenerateUploadURL =+             GenerateUploadURLResponse+        type Scopes+               ProjectsLocationsFunctionsGenerateUploadURL+             = '["https://www.googleapis.com/auth/cloud-platform"]+        requestClient+          ProjectsLocationsFunctionsGenerateUploadURL'{..}+          = go _plfguuParent _plfguuXgafv _plfguuUploadProtocol+              _plfguuAccessToken+              _plfguuUploadType+              _plfguuCallback+              (Just AltJSON)+              _plfguuPayload+              cloudFunctionsService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy+                           ProjectsLocationsFunctionsGenerateUploadURLResource)+                      mempty
+ gen/Network/Google/Resource/CloudFunctions/Projects/Locations/Functions/Get.hs view
@@ -0,0 +1,147 @@+{-# 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.CloudFunctions.Projects.Locations.Functions.Get+-- Copyright   : (c) 2015-2016 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)+--+-- Returns a function with the given name from the requested project.+--+-- /See:/ <https://cloud.google.com/functions Cloud Functions API Reference> for @cloudfunctions.projects.locations.functions.get@.+module Network.Google.Resource.CloudFunctions.Projects.Locations.Functions.Get+    (+    -- * REST Resource+      ProjectsLocationsFunctionsGetResource++    -- * Creating a Request+    , projectsLocationsFunctionsGet+    , ProjectsLocationsFunctionsGet++    -- * Request Lenses+    , plfgXgafv+    , plfgUploadProtocol+    , plfgAccessToken+    , plfgUploadType+    , plfgName+    , plfgCallback+    ) where++import           Network.Google.CloudFunctions.Types+import           Network.Google.Prelude++-- | A resource alias for @cloudfunctions.projects.locations.functions.get@ method which the+-- 'ProjectsLocationsFunctionsGet' request conforms to.+type ProjectsLocationsFunctionsGetResource =+     "v1" :>+       Capture "name" Text :>+         QueryParam "$.xgafv" Xgafv :>+           QueryParam "upload_protocol" Text :>+             QueryParam "access_token" Text :>+               QueryParam "uploadType" Text :>+                 QueryParam "callback" Text :>+                   QueryParam "alt" AltJSON :> Get '[JSON] CloudFunction++-- | Returns a function with the given name from the requested project.+--+-- /See:/ 'projectsLocationsFunctionsGet' smart constructor.+data ProjectsLocationsFunctionsGet = ProjectsLocationsFunctionsGet'+    { _plfgXgafv          :: !(Maybe Xgafv)+    , _plfgUploadProtocol :: !(Maybe Text)+    , _plfgAccessToken    :: !(Maybe Text)+    , _plfgUploadType     :: !(Maybe Text)+    , _plfgName           :: !Text+    , _plfgCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProjectsLocationsFunctionsGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'plfgXgafv'+--+-- * 'plfgUploadProtocol'+--+-- * 'plfgAccessToken'+--+-- * 'plfgUploadType'+--+-- * 'plfgName'+--+-- * 'plfgCallback'+projectsLocationsFunctionsGet+    :: Text -- ^ 'plfgName'+    -> ProjectsLocationsFunctionsGet+projectsLocationsFunctionsGet pPlfgName_ =+    ProjectsLocationsFunctionsGet'+    { _plfgXgafv = Nothing+    , _plfgUploadProtocol = Nothing+    , _plfgAccessToken = Nothing+    , _plfgUploadType = Nothing+    , _plfgName = pPlfgName_+    , _plfgCallback = Nothing+    }++-- | V1 error format.+plfgXgafv :: Lens' ProjectsLocationsFunctionsGet (Maybe Xgafv)+plfgXgafv+  = lens _plfgXgafv (\ s a -> s{_plfgXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+plfgUploadProtocol :: Lens' ProjectsLocationsFunctionsGet (Maybe Text)+plfgUploadProtocol+  = lens _plfgUploadProtocol+      (\ s a -> s{_plfgUploadProtocol = a})++-- | OAuth access token.+plfgAccessToken :: Lens' ProjectsLocationsFunctionsGet (Maybe Text)+plfgAccessToken+  = lens _plfgAccessToken+      (\ s a -> s{_plfgAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+plfgUploadType :: Lens' ProjectsLocationsFunctionsGet (Maybe Text)+plfgUploadType+  = lens _plfgUploadType+      (\ s a -> s{_plfgUploadType = a})++-- | The name of the function which details should be obtained.+plfgName :: Lens' ProjectsLocationsFunctionsGet Text+plfgName = lens _plfgName (\ s a -> s{_plfgName = a})++-- | JSONP+plfgCallback :: Lens' ProjectsLocationsFunctionsGet (Maybe Text)+plfgCallback+  = lens _plfgCallback (\ s a -> s{_plfgCallback = a})++instance GoogleRequest ProjectsLocationsFunctionsGet+         where+        type Rs ProjectsLocationsFunctionsGet = CloudFunction+        type Scopes ProjectsLocationsFunctionsGet =+             '["https://www.googleapis.com/auth/cloud-platform"]+        requestClient ProjectsLocationsFunctionsGet'{..}+          = go _plfgName _plfgXgafv _plfgUploadProtocol+              _plfgAccessToken+              _plfgUploadType+              _plfgCallback+              (Just AltJSON)+              cloudFunctionsService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy ProjectsLocationsFunctionsGetResource)+                      mempty
+ gen/Network/Google/Resource/CloudFunctions/Projects/Locations/Functions/GetIAMPolicy.hs view
@@ -0,0 +1,156 @@+{-# 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.CloudFunctions.Projects.Locations.Functions.GetIAMPolicy+-- Copyright   : (c) 2015-2016 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 access control policy for a resource. Returns an empty policy+-- if the resource exists and does not have a policy set.+--+-- /See:/ <https://cloud.google.com/functions Cloud Functions API Reference> for @cloudfunctions.projects.locations.functions.getIamPolicy@.+module Network.Google.Resource.CloudFunctions.Projects.Locations.Functions.GetIAMPolicy+    (+    -- * REST Resource+      ProjectsLocationsFunctionsGetIAMPolicyResource++    -- * Creating a Request+    , projectsLocationsFunctionsGetIAMPolicy+    , ProjectsLocationsFunctionsGetIAMPolicy++    -- * Request Lenses+    , plfgipXgafv+    , plfgipUploadProtocol+    , plfgipAccessToken+    , plfgipUploadType+    , plfgipResource+    , plfgipCallback+    ) where++import           Network.Google.CloudFunctions.Types+import           Network.Google.Prelude++-- | A resource alias for @cloudfunctions.projects.locations.functions.getIamPolicy@ method which the+-- 'ProjectsLocationsFunctionsGetIAMPolicy' request conforms to.+type ProjectsLocationsFunctionsGetIAMPolicyResource =+     "v1" :>+       CaptureMode "resource" "getIamPolicy" Text :>+         QueryParam "$.xgafv" Xgafv :>+           QueryParam "upload_protocol" Text :>+             QueryParam "access_token" Text :>+               QueryParam "uploadType" Text :>+                 QueryParam "callback" Text :>+                   QueryParam "alt" AltJSON :> Get '[JSON] Policy++-- | Gets the access control policy for a resource. Returns an empty policy+-- if the resource exists and does not have a policy set.+--+-- /See:/ 'projectsLocationsFunctionsGetIAMPolicy' smart constructor.+data ProjectsLocationsFunctionsGetIAMPolicy = ProjectsLocationsFunctionsGetIAMPolicy'+    { _plfgipXgafv          :: !(Maybe Xgafv)+    , _plfgipUploadProtocol :: !(Maybe Text)+    , _plfgipAccessToken    :: !(Maybe Text)+    , _plfgipUploadType     :: !(Maybe Text)+    , _plfgipResource       :: !Text+    , _plfgipCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProjectsLocationsFunctionsGetIAMPolicy' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'plfgipXgafv'+--+-- * 'plfgipUploadProtocol'+--+-- * 'plfgipAccessToken'+--+-- * 'plfgipUploadType'+--+-- * 'plfgipResource'+--+-- * 'plfgipCallback'+projectsLocationsFunctionsGetIAMPolicy+    :: Text -- ^ 'plfgipResource'+    -> ProjectsLocationsFunctionsGetIAMPolicy+projectsLocationsFunctionsGetIAMPolicy pPlfgipResource_ =+    ProjectsLocationsFunctionsGetIAMPolicy'+    { _plfgipXgafv = Nothing+    , _plfgipUploadProtocol = Nothing+    , _plfgipAccessToken = Nothing+    , _plfgipUploadType = Nothing+    , _plfgipResource = pPlfgipResource_+    , _plfgipCallback = Nothing+    }++-- | V1 error format.+plfgipXgafv :: Lens' ProjectsLocationsFunctionsGetIAMPolicy (Maybe Xgafv)+plfgipXgafv+  = lens _plfgipXgafv (\ s a -> s{_plfgipXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+plfgipUploadProtocol :: Lens' ProjectsLocationsFunctionsGetIAMPolicy (Maybe Text)+plfgipUploadProtocol+  = lens _plfgipUploadProtocol+      (\ s a -> s{_plfgipUploadProtocol = a})++-- | OAuth access token.+plfgipAccessToken :: Lens' ProjectsLocationsFunctionsGetIAMPolicy (Maybe Text)+plfgipAccessToken+  = lens _plfgipAccessToken+      (\ s a -> s{_plfgipAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+plfgipUploadType :: Lens' ProjectsLocationsFunctionsGetIAMPolicy (Maybe Text)+plfgipUploadType+  = lens _plfgipUploadType+      (\ s a -> s{_plfgipUploadType = a})++-- | REQUIRED: The resource for which the policy is being requested. See the+-- operation documentation for the appropriate value for this field.+plfgipResource :: Lens' ProjectsLocationsFunctionsGetIAMPolicy Text+plfgipResource+  = lens _plfgipResource+      (\ s a -> s{_plfgipResource = a})++-- | JSONP+plfgipCallback :: Lens' ProjectsLocationsFunctionsGetIAMPolicy (Maybe Text)+plfgipCallback+  = lens _plfgipCallback+      (\ s a -> s{_plfgipCallback = a})++instance GoogleRequest+         ProjectsLocationsFunctionsGetIAMPolicy where+        type Rs ProjectsLocationsFunctionsGetIAMPolicy =+             Policy+        type Scopes ProjectsLocationsFunctionsGetIAMPolicy =+             '["https://www.googleapis.com/auth/cloud-platform"]+        requestClient+          ProjectsLocationsFunctionsGetIAMPolicy'{..}+          = go _plfgipResource _plfgipXgafv+              _plfgipUploadProtocol+              _plfgipAccessToken+              _plfgipUploadType+              _plfgipCallback+              (Just AltJSON)+              cloudFunctionsService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy ProjectsLocationsFunctionsGetIAMPolicyResource)+                      mempty
+ gen/Network/Google/Resource/CloudFunctions/Projects/Locations/Functions/List.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.CloudFunctions.Projects.Locations.Functions.List+-- Copyright   : (c) 2015-2016 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)+--+-- Returns a list of functions that belong to the requested project.+--+-- /See:/ <https://cloud.google.com/functions Cloud Functions API Reference> for @cloudfunctions.projects.locations.functions.list@.+module Network.Google.Resource.CloudFunctions.Projects.Locations.Functions.List+    (+    -- * REST Resource+      ProjectsLocationsFunctionsListResource++    -- * Creating a Request+    , projectsLocationsFunctionsList+    , ProjectsLocationsFunctionsList++    -- * Request Lenses+    , plflParent+    , plflXgafv+    , plflUploadProtocol+    , plflAccessToken+    , plflUploadType+    , plflPageToken+    , plflPageSize+    , plflCallback+    ) where++import           Network.Google.CloudFunctions.Types+import           Network.Google.Prelude++-- | A resource alias for @cloudfunctions.projects.locations.functions.list@ method which the+-- 'ProjectsLocationsFunctionsList' request conforms to.+type ProjectsLocationsFunctionsListResource =+     "v1" :>+       Capture "parent" Text :>+         "functions" :>+           QueryParam "$.xgafv" Xgafv :>+             QueryParam "upload_protocol" Text :>+               QueryParam "access_token" Text :>+                 QueryParam "uploadType" Text :>+                   QueryParam "pageToken" Text :>+                     QueryParam "pageSize" (Textual Int32) :>+                       QueryParam "callback" Text :>+                         QueryParam "alt" AltJSON :>+                           Get '[JSON] ListFunctionsResponse++-- | Returns a list of functions that belong to the requested project.+--+-- /See:/ 'projectsLocationsFunctionsList' smart constructor.+data ProjectsLocationsFunctionsList = ProjectsLocationsFunctionsList'+    { _plflParent         :: !Text+    , _plflXgafv          :: !(Maybe Xgafv)+    , _plflUploadProtocol :: !(Maybe Text)+    , _plflAccessToken    :: !(Maybe Text)+    , _plflUploadType     :: !(Maybe Text)+    , _plflPageToken      :: !(Maybe Text)+    , _plflPageSize       :: !(Maybe (Textual Int32))+    , _plflCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProjectsLocationsFunctionsList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'plflParent'+--+-- * 'plflXgafv'+--+-- * 'plflUploadProtocol'+--+-- * 'plflAccessToken'+--+-- * 'plflUploadType'+--+-- * 'plflPageToken'+--+-- * 'plflPageSize'+--+-- * 'plflCallback'+projectsLocationsFunctionsList+    :: Text -- ^ 'plflParent'+    -> ProjectsLocationsFunctionsList+projectsLocationsFunctionsList pPlflParent_ =+    ProjectsLocationsFunctionsList'+    { _plflParent = pPlflParent_+    , _plflXgafv = Nothing+    , _plflUploadProtocol = Nothing+    , _plflAccessToken = Nothing+    , _plflUploadType = Nothing+    , _plflPageToken = Nothing+    , _plflPageSize = Nothing+    , _plflCallback = Nothing+    }++-- | The project and location from which the function should be listed,+-- specified in the format \`projects\/*\/locations\/*\` If you want to+-- list functions in all locations, use \"-\" in place of a location.+plflParent :: Lens' ProjectsLocationsFunctionsList Text+plflParent+  = lens _plflParent (\ s a -> s{_plflParent = a})++-- | V1 error format.+plflXgafv :: Lens' ProjectsLocationsFunctionsList (Maybe Xgafv)+plflXgafv+  = lens _plflXgafv (\ s a -> s{_plflXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+plflUploadProtocol :: Lens' ProjectsLocationsFunctionsList (Maybe Text)+plflUploadProtocol+  = lens _plflUploadProtocol+      (\ s a -> s{_plflUploadProtocol = a})++-- | OAuth access token.+plflAccessToken :: Lens' ProjectsLocationsFunctionsList (Maybe Text)+plflAccessToken+  = lens _plflAccessToken+      (\ s a -> s{_plflAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+plflUploadType :: Lens' ProjectsLocationsFunctionsList (Maybe Text)+plflUploadType+  = lens _plflUploadType+      (\ s a -> s{_plflUploadType = a})++-- | The value returned by the last \`ListFunctionsResponse\`; indicates that+-- this is a continuation of a prior \`ListFunctions\` call, and that the+-- system should return the next page of data.+plflPageToken :: Lens' ProjectsLocationsFunctionsList (Maybe Text)+plflPageToken+  = lens _plflPageToken+      (\ s a -> s{_plflPageToken = a})++-- | Maximum number of functions to return per call.+plflPageSize :: Lens' ProjectsLocationsFunctionsList (Maybe Int32)+plflPageSize+  = lens _plflPageSize (\ s a -> s{_plflPageSize = a})+      . mapping _Coerce++-- | JSONP+plflCallback :: Lens' ProjectsLocationsFunctionsList (Maybe Text)+plflCallback+  = lens _plflCallback (\ s a -> s{_plflCallback = a})++instance GoogleRequest ProjectsLocationsFunctionsList+         where+        type Rs ProjectsLocationsFunctionsList =+             ListFunctionsResponse+        type Scopes ProjectsLocationsFunctionsList =+             '["https://www.googleapis.com/auth/cloud-platform"]+        requestClient ProjectsLocationsFunctionsList'{..}+          = go _plflParent _plflXgafv _plflUploadProtocol+              _plflAccessToken+              _plflUploadType+              _plflPageToken+              _plflPageSize+              _plflCallback+              (Just AltJSON)+              cloudFunctionsService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy ProjectsLocationsFunctionsListResource)+                      mempty
+ gen/Network/Google/Resource/CloudFunctions/Projects/Locations/Functions/Patch.hs view
@@ -0,0 +1,175 @@+{-# 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.CloudFunctions.Projects.Locations.Functions.Patch+-- Copyright   : (c) 2015-2016 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 existing function.+--+-- /See:/ <https://cloud.google.com/functions Cloud Functions API Reference> for @cloudfunctions.projects.locations.functions.patch@.+module Network.Google.Resource.CloudFunctions.Projects.Locations.Functions.Patch+    (+    -- * REST Resource+      ProjectsLocationsFunctionsPatchResource++    -- * Creating a Request+    , projectsLocationsFunctionsPatch+    , ProjectsLocationsFunctionsPatch++    -- * Request Lenses+    , plfpXgafv+    , plfpUploadProtocol+    , plfpUpdateMask+    , plfpAccessToken+    , plfpUploadType+    , plfpPayload+    , plfpName+    , plfpCallback+    ) where++import           Network.Google.CloudFunctions.Types+import           Network.Google.Prelude++-- | A resource alias for @cloudfunctions.projects.locations.functions.patch@ method which the+-- 'ProjectsLocationsFunctionsPatch' request conforms to.+type ProjectsLocationsFunctionsPatchResource =+     "v1" :>+       Capture "name" Text :>+         QueryParam "$.xgafv" Xgafv :>+           QueryParam "upload_protocol" Text :>+             QueryParam "updateMask" GFieldMask :>+               QueryParam "access_token" Text :>+                 QueryParam "uploadType" Text :>+                   QueryParam "callback" Text :>+                     QueryParam "alt" AltJSON :>+                       ReqBody '[JSON] CloudFunction :>+                         Patch '[JSON] Operation++-- | Updates existing function.+--+-- /See:/ 'projectsLocationsFunctionsPatch' smart constructor.+data ProjectsLocationsFunctionsPatch = ProjectsLocationsFunctionsPatch'+    { _plfpXgafv          :: !(Maybe Xgafv)+    , _plfpUploadProtocol :: !(Maybe Text)+    , _plfpUpdateMask     :: !(Maybe GFieldMask)+    , _plfpAccessToken    :: !(Maybe Text)+    , _plfpUploadType     :: !(Maybe Text)+    , _plfpPayload        :: !CloudFunction+    , _plfpName           :: !Text+    , _plfpCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProjectsLocationsFunctionsPatch' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'plfpXgafv'+--+-- * 'plfpUploadProtocol'+--+-- * 'plfpUpdateMask'+--+-- * 'plfpAccessToken'+--+-- * 'plfpUploadType'+--+-- * 'plfpPayload'+--+-- * 'plfpName'+--+-- * 'plfpCallback'+projectsLocationsFunctionsPatch+    :: CloudFunction -- ^ 'plfpPayload'+    -> Text -- ^ 'plfpName'+    -> ProjectsLocationsFunctionsPatch+projectsLocationsFunctionsPatch pPlfpPayload_ pPlfpName_ =+    ProjectsLocationsFunctionsPatch'+    { _plfpXgafv = Nothing+    , _plfpUploadProtocol = Nothing+    , _plfpUpdateMask = Nothing+    , _plfpAccessToken = Nothing+    , _plfpUploadType = Nothing+    , _plfpPayload = pPlfpPayload_+    , _plfpName = pPlfpName_+    , _plfpCallback = Nothing+    }++-- | V1 error format.+plfpXgafv :: Lens' ProjectsLocationsFunctionsPatch (Maybe Xgafv)+plfpXgafv+  = lens _plfpXgafv (\ s a -> s{_plfpXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+plfpUploadProtocol :: Lens' ProjectsLocationsFunctionsPatch (Maybe Text)+plfpUploadProtocol+  = lens _plfpUploadProtocol+      (\ s a -> s{_plfpUploadProtocol = a})++-- | Required list of fields to be updated in this request.+plfpUpdateMask :: Lens' ProjectsLocationsFunctionsPatch (Maybe GFieldMask)+plfpUpdateMask+  = lens _plfpUpdateMask+      (\ s a -> s{_plfpUpdateMask = a})++-- | OAuth access token.+plfpAccessToken :: Lens' ProjectsLocationsFunctionsPatch (Maybe Text)+plfpAccessToken+  = lens _plfpAccessToken+      (\ s a -> s{_plfpAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+plfpUploadType :: Lens' ProjectsLocationsFunctionsPatch (Maybe Text)+plfpUploadType+  = lens _plfpUploadType+      (\ s a -> s{_plfpUploadType = a})++-- | Multipart request metadata.+plfpPayload :: Lens' ProjectsLocationsFunctionsPatch CloudFunction+plfpPayload+  = lens _plfpPayload (\ s a -> s{_plfpPayload = a})++-- | A user-defined name of the function. Function names must be unique+-- globally and match pattern \`projects\/*\/locations\/*\/functions\/*\`+plfpName :: Lens' ProjectsLocationsFunctionsPatch Text+plfpName = lens _plfpName (\ s a -> s{_plfpName = a})++-- | JSONP+plfpCallback :: Lens' ProjectsLocationsFunctionsPatch (Maybe Text)+plfpCallback+  = lens _plfpCallback (\ s a -> s{_plfpCallback = a})++instance GoogleRequest+         ProjectsLocationsFunctionsPatch where+        type Rs ProjectsLocationsFunctionsPatch = Operation+        type Scopes ProjectsLocationsFunctionsPatch =+             '["https://www.googleapis.com/auth/cloud-platform"]+        requestClient ProjectsLocationsFunctionsPatch'{..}+          = go _plfpName _plfpXgafv _plfpUploadProtocol+              _plfpUpdateMask+              _plfpAccessToken+              _plfpUploadType+              _plfpCallback+              (Just AltJSON)+              _plfpPayload+              cloudFunctionsService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy ProjectsLocationsFunctionsPatchResource)+                      mempty
+ gen/Network/Google/Resource/CloudFunctions/Projects/Locations/Functions/SetIAMPolicy.hs view
@@ -0,0 +1,171 @@+{-# 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.CloudFunctions.Projects.Locations.Functions.SetIAMPolicy+-- Copyright   : (c) 2015-2016 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)+--+-- Sets the access control policy on the specified resource. Replaces any+-- existing policy.+--+-- /See:/ <https://cloud.google.com/functions Cloud Functions API Reference> for @cloudfunctions.projects.locations.functions.setIamPolicy@.+module Network.Google.Resource.CloudFunctions.Projects.Locations.Functions.SetIAMPolicy+    (+    -- * REST Resource+      ProjectsLocationsFunctionsSetIAMPolicyResource++    -- * Creating a Request+    , projectsLocationsFunctionsSetIAMPolicy+    , ProjectsLocationsFunctionsSetIAMPolicy++    -- * Request Lenses+    , plfsipXgafv+    , plfsipUploadProtocol+    , plfsipAccessToken+    , plfsipUploadType+    , plfsipPayload+    , plfsipResource+    , plfsipCallback+    ) where++import           Network.Google.CloudFunctions.Types+import           Network.Google.Prelude++-- | A resource alias for @cloudfunctions.projects.locations.functions.setIamPolicy@ method which the+-- 'ProjectsLocationsFunctionsSetIAMPolicy' request conforms to.+type ProjectsLocationsFunctionsSetIAMPolicyResource =+     "v1" :>+       CaptureMode "resource" "setIamPolicy" Text :>+         QueryParam "$.xgafv" Xgafv :>+           QueryParam "upload_protocol" Text :>+             QueryParam "access_token" Text :>+               QueryParam "uploadType" Text :>+                 QueryParam "callback" Text :>+                   QueryParam "alt" AltJSON :>+                     ReqBody '[JSON] SetIAMPolicyRequest :>+                       Post '[JSON] Policy++-- | Sets the access control policy on the specified resource. Replaces any+-- existing policy.+--+-- /See:/ 'projectsLocationsFunctionsSetIAMPolicy' smart constructor.+data ProjectsLocationsFunctionsSetIAMPolicy = ProjectsLocationsFunctionsSetIAMPolicy'+    { _plfsipXgafv          :: !(Maybe Xgafv)+    , _plfsipUploadProtocol :: !(Maybe Text)+    , _plfsipAccessToken    :: !(Maybe Text)+    , _plfsipUploadType     :: !(Maybe Text)+    , _plfsipPayload        :: !SetIAMPolicyRequest+    , _plfsipResource       :: !Text+    , _plfsipCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProjectsLocationsFunctionsSetIAMPolicy' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'plfsipXgafv'+--+-- * 'plfsipUploadProtocol'+--+-- * 'plfsipAccessToken'+--+-- * 'plfsipUploadType'+--+-- * 'plfsipPayload'+--+-- * 'plfsipResource'+--+-- * 'plfsipCallback'+projectsLocationsFunctionsSetIAMPolicy+    :: SetIAMPolicyRequest -- ^ 'plfsipPayload'+    -> Text -- ^ 'plfsipResource'+    -> ProjectsLocationsFunctionsSetIAMPolicy+projectsLocationsFunctionsSetIAMPolicy pPlfsipPayload_ pPlfsipResource_ =+    ProjectsLocationsFunctionsSetIAMPolicy'+    { _plfsipXgafv = Nothing+    , _plfsipUploadProtocol = Nothing+    , _plfsipAccessToken = Nothing+    , _plfsipUploadType = Nothing+    , _plfsipPayload = pPlfsipPayload_+    , _plfsipResource = pPlfsipResource_+    , _plfsipCallback = Nothing+    }++-- | V1 error format.+plfsipXgafv :: Lens' ProjectsLocationsFunctionsSetIAMPolicy (Maybe Xgafv)+plfsipXgafv+  = lens _plfsipXgafv (\ s a -> s{_plfsipXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+plfsipUploadProtocol :: Lens' ProjectsLocationsFunctionsSetIAMPolicy (Maybe Text)+plfsipUploadProtocol+  = lens _plfsipUploadProtocol+      (\ s a -> s{_plfsipUploadProtocol = a})++-- | OAuth access token.+plfsipAccessToken :: Lens' ProjectsLocationsFunctionsSetIAMPolicy (Maybe Text)+plfsipAccessToken+  = lens _plfsipAccessToken+      (\ s a -> s{_plfsipAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+plfsipUploadType :: Lens' ProjectsLocationsFunctionsSetIAMPolicy (Maybe Text)+plfsipUploadType+  = lens _plfsipUploadType+      (\ s a -> s{_plfsipUploadType = a})++-- | Multipart request metadata.+plfsipPayload :: Lens' ProjectsLocationsFunctionsSetIAMPolicy SetIAMPolicyRequest+plfsipPayload+  = lens _plfsipPayload+      (\ s a -> s{_plfsipPayload = a})++-- | REQUIRED: The resource for which the policy is being specified. See the+-- operation documentation for the appropriate value for this field.+plfsipResource :: Lens' ProjectsLocationsFunctionsSetIAMPolicy Text+plfsipResource+  = lens _plfsipResource+      (\ s a -> s{_plfsipResource = a})++-- | JSONP+plfsipCallback :: Lens' ProjectsLocationsFunctionsSetIAMPolicy (Maybe Text)+plfsipCallback+  = lens _plfsipCallback+      (\ s a -> s{_plfsipCallback = a})++instance GoogleRequest+         ProjectsLocationsFunctionsSetIAMPolicy where+        type Rs ProjectsLocationsFunctionsSetIAMPolicy =+             Policy+        type Scopes ProjectsLocationsFunctionsSetIAMPolicy =+             '["https://www.googleapis.com/auth/cloud-platform"]+        requestClient+          ProjectsLocationsFunctionsSetIAMPolicy'{..}+          = go _plfsipResource _plfsipXgafv+              _plfsipUploadProtocol+              _plfsipAccessToken+              _plfsipUploadType+              _plfsipCallback+              (Just AltJSON)+              _plfsipPayload+              cloudFunctionsService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy ProjectsLocationsFunctionsSetIAMPolicyResource)+                      mempty
+ gen/Network/Google/Resource/CloudFunctions/Projects/Locations/Functions/TestIAMPermissions.hs view
@@ -0,0 +1,183 @@+{-# 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.CloudFunctions.Projects.Locations.Functions.TestIAMPermissions+-- Copyright   : (c) 2015-2016 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)+--+-- Returns permissions that a caller has on the specified resource. If the+-- resource does not exist, this will return an empty set of permissions,+-- not a NOT_FOUND error. Note: This operation is designed to be used for+-- building permission-aware UIs and command-line tools, not for+-- authorization checking. This operation may \"fail open\" without+-- warning.+--+-- /See:/ <https://cloud.google.com/functions Cloud Functions API Reference> for @cloudfunctions.projects.locations.functions.testIamPermissions@.+module Network.Google.Resource.CloudFunctions.Projects.Locations.Functions.TestIAMPermissions+    (+    -- * REST Resource+      ProjectsLocationsFunctionsTestIAMPermissionsResource++    -- * Creating a Request+    , projectsLocationsFunctionsTestIAMPermissions+    , ProjectsLocationsFunctionsTestIAMPermissions++    -- * Request Lenses+    , plftipXgafv+    , plftipUploadProtocol+    , plftipAccessToken+    , plftipUploadType+    , plftipPayload+    , plftipResource+    , plftipCallback+    ) where++import           Network.Google.CloudFunctions.Types+import           Network.Google.Prelude++-- | A resource alias for @cloudfunctions.projects.locations.functions.testIamPermissions@ method which the+-- 'ProjectsLocationsFunctionsTestIAMPermissions' request conforms to.+type ProjectsLocationsFunctionsTestIAMPermissionsResource+     =+     "v1" :>+       CaptureMode "resource" "testIamPermissions" Text :>+         QueryParam "$.xgafv" Xgafv :>+           QueryParam "upload_protocol" Text :>+             QueryParam "access_token" Text :>+               QueryParam "uploadType" Text :>+                 QueryParam "callback" Text :>+                   QueryParam "alt" AltJSON :>+                     ReqBody '[JSON] TestIAMPermissionsRequest :>+                       Post '[JSON] TestIAMPermissionsResponse++-- | Returns permissions that a caller has on the specified resource. If the+-- resource does not exist, this will return an empty set of permissions,+-- not a NOT_FOUND error. Note: This operation is designed to be used for+-- building permission-aware UIs and command-line tools, not for+-- authorization checking. This operation may \"fail open\" without+-- warning.+--+-- /See:/ 'projectsLocationsFunctionsTestIAMPermissions' smart constructor.+data ProjectsLocationsFunctionsTestIAMPermissions = ProjectsLocationsFunctionsTestIAMPermissions'+    { _plftipXgafv          :: !(Maybe Xgafv)+    , _plftipUploadProtocol :: !(Maybe Text)+    , _plftipAccessToken    :: !(Maybe Text)+    , _plftipUploadType     :: !(Maybe Text)+    , _plftipPayload        :: !TestIAMPermissionsRequest+    , _plftipResource       :: !Text+    , _plftipCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProjectsLocationsFunctionsTestIAMPermissions' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'plftipXgafv'+--+-- * 'plftipUploadProtocol'+--+-- * 'plftipAccessToken'+--+-- * 'plftipUploadType'+--+-- * 'plftipPayload'+--+-- * 'plftipResource'+--+-- * 'plftipCallback'+projectsLocationsFunctionsTestIAMPermissions+    :: TestIAMPermissionsRequest -- ^ 'plftipPayload'+    -> Text -- ^ 'plftipResource'+    -> ProjectsLocationsFunctionsTestIAMPermissions+projectsLocationsFunctionsTestIAMPermissions pPlftipPayload_ pPlftipResource_ =+    ProjectsLocationsFunctionsTestIAMPermissions'+    { _plftipXgafv = Nothing+    , _plftipUploadProtocol = Nothing+    , _plftipAccessToken = Nothing+    , _plftipUploadType = Nothing+    , _plftipPayload = pPlftipPayload_+    , _plftipResource = pPlftipResource_+    , _plftipCallback = Nothing+    }++-- | V1 error format.+plftipXgafv :: Lens' ProjectsLocationsFunctionsTestIAMPermissions (Maybe Xgafv)+plftipXgafv+  = lens _plftipXgafv (\ s a -> s{_plftipXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+plftipUploadProtocol :: Lens' ProjectsLocationsFunctionsTestIAMPermissions (Maybe Text)+plftipUploadProtocol+  = lens _plftipUploadProtocol+      (\ s a -> s{_plftipUploadProtocol = a})++-- | OAuth access token.+plftipAccessToken :: Lens' ProjectsLocationsFunctionsTestIAMPermissions (Maybe Text)+plftipAccessToken+  = lens _plftipAccessToken+      (\ s a -> s{_plftipAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+plftipUploadType :: Lens' ProjectsLocationsFunctionsTestIAMPermissions (Maybe Text)+plftipUploadType+  = lens _plftipUploadType+      (\ s a -> s{_plftipUploadType = a})++-- | Multipart request metadata.+plftipPayload :: Lens' ProjectsLocationsFunctionsTestIAMPermissions TestIAMPermissionsRequest+plftipPayload+  = lens _plftipPayload+      (\ s a -> s{_plftipPayload = a})++-- | REQUIRED: The resource for which the policy detail is being requested.+-- See the operation documentation for the appropriate value for this+-- field.+plftipResource :: Lens' ProjectsLocationsFunctionsTestIAMPermissions Text+plftipResource+  = lens _plftipResource+      (\ s a -> s{_plftipResource = a})++-- | JSONP+plftipCallback :: Lens' ProjectsLocationsFunctionsTestIAMPermissions (Maybe Text)+plftipCallback+  = lens _plftipCallback+      (\ s a -> s{_plftipCallback = a})++instance GoogleRequest+         ProjectsLocationsFunctionsTestIAMPermissions where+        type Rs ProjectsLocationsFunctionsTestIAMPermissions+             = TestIAMPermissionsResponse+        type Scopes+               ProjectsLocationsFunctionsTestIAMPermissions+             = '["https://www.googleapis.com/auth/cloud-platform"]+        requestClient+          ProjectsLocationsFunctionsTestIAMPermissions'{..}+          = go _plftipResource _plftipXgafv+              _plftipUploadProtocol+              _plftipAccessToken+              _plftipUploadType+              _plftipCallback+              (Just AltJSON)+              _plftipPayload+              cloudFunctionsService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy+                           ProjectsLocationsFunctionsTestIAMPermissionsResource)+                      mempty
+ gen/Network/Google/Resource/CloudFunctions/Projects/Locations/List.hs view
@@ -0,0 +1,183 @@+{-# 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.CloudFunctions.Projects.Locations.List+-- Copyright   : (c) 2015-2016 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 information about the supported locations for this service.+--+-- /See:/ <https://cloud.google.com/functions Cloud Functions API Reference> for @cloudfunctions.projects.locations.list@.+module Network.Google.Resource.CloudFunctions.Projects.Locations.List+    (+    -- * REST Resource+      ProjectsLocationsListResource++    -- * Creating a Request+    , projectsLocationsList+    , ProjectsLocationsList++    -- * Request Lenses+    , pllXgafv+    , pllUploadProtocol+    , pllAccessToken+    , pllUploadType+    , pllName+    , pllFilter+    , pllPageToken+    , pllPageSize+    , pllCallback+    ) where++import           Network.Google.CloudFunctions.Types+import           Network.Google.Prelude++-- | A resource alias for @cloudfunctions.projects.locations.list@ method which the+-- 'ProjectsLocationsList' request conforms to.+type ProjectsLocationsListResource =+     "v1" :>+       Capture "name" Text :>+         "locations" :>+           QueryParam "$.xgafv" Xgafv :>+             QueryParam "upload_protocol" Text :>+               QueryParam "access_token" Text :>+                 QueryParam "uploadType" Text :>+                   QueryParam "filter" Text :>+                     QueryParam "pageToken" Text :>+                       QueryParam "pageSize" (Textual Int32) :>+                         QueryParam "callback" Text :>+                           QueryParam "alt" AltJSON :>+                             Get '[JSON] ListLocationsResponse++-- | Lists information about the supported locations for this service.+--+-- /See:/ 'projectsLocationsList' smart constructor.+data ProjectsLocationsList = ProjectsLocationsList'+    { _pllXgafv          :: !(Maybe Xgafv)+    , _pllUploadProtocol :: !(Maybe Text)+    , _pllAccessToken    :: !(Maybe Text)+    , _pllUploadType     :: !(Maybe Text)+    , _pllName           :: !Text+    , _pllFilter         :: !(Maybe Text)+    , _pllPageToken      :: !(Maybe Text)+    , _pllPageSize       :: !(Maybe (Textual Int32))+    , _pllCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProjectsLocationsList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pllXgafv'+--+-- * 'pllUploadProtocol'+--+-- * 'pllAccessToken'+--+-- * 'pllUploadType'+--+-- * 'pllName'+--+-- * 'pllFilter'+--+-- * 'pllPageToken'+--+-- * 'pllPageSize'+--+-- * 'pllCallback'+projectsLocationsList+    :: Text -- ^ 'pllName'+    -> ProjectsLocationsList+projectsLocationsList pPllName_ =+    ProjectsLocationsList'+    { _pllXgafv = Nothing+    , _pllUploadProtocol = Nothing+    , _pllAccessToken = Nothing+    , _pllUploadType = Nothing+    , _pllName = pPllName_+    , _pllFilter = Nothing+    , _pllPageToken = Nothing+    , _pllPageSize = Nothing+    , _pllCallback = Nothing+    }++-- | V1 error format.+pllXgafv :: Lens' ProjectsLocationsList (Maybe Xgafv)+pllXgafv = lens _pllXgafv (\ s a -> s{_pllXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+pllUploadProtocol :: Lens' ProjectsLocationsList (Maybe Text)+pllUploadProtocol+  = lens _pllUploadProtocol+      (\ s a -> s{_pllUploadProtocol = a})++-- | OAuth access token.+pllAccessToken :: Lens' ProjectsLocationsList (Maybe Text)+pllAccessToken+  = lens _pllAccessToken+      (\ s a -> s{_pllAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+pllUploadType :: Lens' ProjectsLocationsList (Maybe Text)+pllUploadType+  = lens _pllUploadType+      (\ s a -> s{_pllUploadType = a})++-- | The resource that owns the locations collection, if applicable.+pllName :: Lens' ProjectsLocationsList Text+pllName = lens _pllName (\ s a -> s{_pllName = a})++-- | The standard list filter.+pllFilter :: Lens' ProjectsLocationsList (Maybe Text)+pllFilter+  = lens _pllFilter (\ s a -> s{_pllFilter = a})++-- | The standard list page token.+pllPageToken :: Lens' ProjectsLocationsList (Maybe Text)+pllPageToken+  = lens _pllPageToken (\ s a -> s{_pllPageToken = a})++-- | The standard list page size.+pllPageSize :: Lens' ProjectsLocationsList (Maybe Int32)+pllPageSize+  = lens _pllPageSize (\ s a -> s{_pllPageSize = a}) .+      mapping _Coerce++-- | JSONP+pllCallback :: Lens' ProjectsLocationsList (Maybe Text)+pllCallback+  = lens _pllCallback (\ s a -> s{_pllCallback = a})++instance GoogleRequest ProjectsLocationsList where+        type Rs ProjectsLocationsList = ListLocationsResponse+        type Scopes ProjectsLocationsList =+             '["https://www.googleapis.com/auth/cloud-platform"]+        requestClient ProjectsLocationsList'{..}+          = go _pllName _pllXgafv _pllUploadProtocol+              _pllAccessToken+              _pllUploadType+              _pllFilter+              _pllPageToken+              _pllPageSize+              _pllCallback+              (Just AltJSON)+              cloudFunctionsService+          where go+                  = buildClient+                      (Proxy :: Proxy ProjectsLocationsListResource)+                      mempty
+ gogol-cloudfunctions.cabal view
@@ -0,0 +1,60 @@+name:                  gogol-cloudfunctions+version:               0.4.0+synopsis:              Google Cloud Functions 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-2016 Brendan Hay+category:              Network, Google, Cloud+build-type:            Simple+cabal-version:         >= 1.10+extra-source-files:    README.md src/.gitkeep++description:+    Manages lightweight user-provided functions executed in response to+    events.+    .+    /Warning:/ This is an experimental prototype/preview release which is still+    under exploratory development and not intended for public use, caveat emptor!+    .+    This library is compatible with version @v1@+    of the API.++source-repository head+    type:     git+    location: git://github.com/brendanhay/gogol.git++library+    default-language:  Haskell2010+    hs-source-dirs:    src gen++    ghc-options:       -Wall++    exposed-modules:+          Network.Google.CloudFunctions+        , Network.Google.CloudFunctions.Types+        , Network.Google.Resource.CloudFunctions.Operations.Get+        , Network.Google.Resource.CloudFunctions.Operations.List+        , Network.Google.Resource.CloudFunctions.Projects.Locations.Functions.Call+        , Network.Google.Resource.CloudFunctions.Projects.Locations.Functions.Create+        , Network.Google.Resource.CloudFunctions.Projects.Locations.Functions.Delete+        , Network.Google.Resource.CloudFunctions.Projects.Locations.Functions.GenerateDownloadURL+        , Network.Google.Resource.CloudFunctions.Projects.Locations.Functions.GenerateUploadURL+        , Network.Google.Resource.CloudFunctions.Projects.Locations.Functions.Get+        , Network.Google.Resource.CloudFunctions.Projects.Locations.Functions.GetIAMPolicy+        , Network.Google.Resource.CloudFunctions.Projects.Locations.Functions.List+        , Network.Google.Resource.CloudFunctions.Projects.Locations.Functions.Patch+        , Network.Google.Resource.CloudFunctions.Projects.Locations.Functions.SetIAMPolicy+        , Network.Google.Resource.CloudFunctions.Projects.Locations.Functions.TestIAMPermissions+        , Network.Google.Resource.CloudFunctions.Projects.Locations.List++    other-modules:+          Network.Google.CloudFunctions.Types.Product+        , Network.Google.CloudFunctions.Types.Sum++    build-depends:+          gogol-core == 0.4.0.*+        , base       >= 4.7 && < 5
+ src/.gitkeep view