packages feed

gogol-cloudtasks (empty) → 0.4.0

raw patch · 27 files changed

+6490/−0 lines, 27 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-cloudtasks++* [Version](#version)+* [Description](#description)+* [Contribute](#contribute)+* [Licence](#licence)+++## Version++`0.3.0`+++## Description++A client library for the Google Cloud Tasks.+++## 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-cloudtasks` 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/CloudTasks.hs view
@@ -0,0 +1,343 @@+{-# LANGUAGE DataKinds         #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE TypeOperators     #-}++{-# OPTIONS_GHC -fno-warn-unused-imports    #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}++-- |+-- Module      : Network.Google.CloudTasks+-- 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 the execution of large numbers of distributed requests.+--+-- /See:/ <https://cloud.google.com/tasks/ Cloud Tasks API Reference>+module Network.Google.CloudTasks+    (+    -- * Service Configuration+      cloudTasksService++    -- * OAuth Scopes+    , cloudPlatformScope++    -- * API Declaration+    , CloudTasksAPI++    -- * Resources++    -- ** cloudtasks.projects.locations.get+    , module Network.Google.Resource.CloudTasks.Projects.Locations.Get++    -- ** cloudtasks.projects.locations.list+    , module Network.Google.Resource.CloudTasks.Projects.Locations.List++    -- ** cloudtasks.projects.locations.queues.create+    , module Network.Google.Resource.CloudTasks.Projects.Locations.Queues.Create++    -- ** cloudtasks.projects.locations.queues.delete+    , module Network.Google.Resource.CloudTasks.Projects.Locations.Queues.Delete++    -- ** cloudtasks.projects.locations.queues.get+    , module Network.Google.Resource.CloudTasks.Projects.Locations.Queues.Get++    -- ** cloudtasks.projects.locations.queues.getIamPolicy+    , module Network.Google.Resource.CloudTasks.Projects.Locations.Queues.GetIAMPolicy++    -- ** cloudtasks.projects.locations.queues.list+    , module Network.Google.Resource.CloudTasks.Projects.Locations.Queues.List++    -- ** cloudtasks.projects.locations.queues.patch+    , module Network.Google.Resource.CloudTasks.Projects.Locations.Queues.Patch++    -- ** cloudtasks.projects.locations.queues.pause+    , module Network.Google.Resource.CloudTasks.Projects.Locations.Queues.Pause++    -- ** cloudtasks.projects.locations.queues.purge+    , module Network.Google.Resource.CloudTasks.Projects.Locations.Queues.Purge++    -- ** cloudtasks.projects.locations.queues.resume+    , module Network.Google.Resource.CloudTasks.Projects.Locations.Queues.Resume++    -- ** cloudtasks.projects.locations.queues.setIamPolicy+    , module Network.Google.Resource.CloudTasks.Projects.Locations.Queues.SetIAMPolicy++    -- ** cloudtasks.projects.locations.queues.tasks.create+    , module Network.Google.Resource.CloudTasks.Projects.Locations.Queues.Tasks.Create++    -- ** cloudtasks.projects.locations.queues.tasks.delete+    , module Network.Google.Resource.CloudTasks.Projects.Locations.Queues.Tasks.Delete++    -- ** cloudtasks.projects.locations.queues.tasks.get+    , module Network.Google.Resource.CloudTasks.Projects.Locations.Queues.Tasks.Get++    -- ** cloudtasks.projects.locations.queues.tasks.list+    , module Network.Google.Resource.CloudTasks.Projects.Locations.Queues.Tasks.List++    -- ** cloudtasks.projects.locations.queues.tasks.run+    , module Network.Google.Resource.CloudTasks.Projects.Locations.Queues.Tasks.Run++    -- ** cloudtasks.projects.locations.queues.testIamPermissions+    , module Network.Google.Resource.CloudTasks.Projects.Locations.Queues.TestIAMPermissions++    -- * Types++    -- ** RateLimits+    , RateLimits+    , rateLimits+    , rlMaxConcurrentDispatches+    , rlMaxDispatchesPerSecond+    , rlMaxBurstSize++    -- ** Status+    , Status+    , status+    , sDetails+    , sCode+    , sMessage++    -- ** Expr+    , Expr+    , expr+    , eLocation+    , eExpression+    , eTitle+    , eDescription++    -- ** ListLocationsResponse+    , ListLocationsResponse+    , listLocationsResponse+    , llrNextPageToken+    , llrLocations++    -- ** GetIAMPolicyRequest+    , GetIAMPolicyRequest+    , getIAMPolicyRequest++    -- ** RetryConfig+    , RetryConfig+    , retryConfig+    , rcMaxDoublings+    , rcMaxRetryDuration+    , rcMaxAttempts+    , rcMaxBackoff+    , rcMinBackoff++    -- ** RunTaskRequest+    , RunTaskRequest+    , runTaskRequest+    , rtrResponseView++    -- ** Location+    , Location+    , location+    , lName+    , lMetadata+    , lDisplayName+    , lLabels+    , lLocationId++    -- ** Empty+    , Empty+    , empty++    -- ** CreateTaskRequest+    , CreateTaskRequest+    , createTaskRequest+    , ctrResponseView+    , ctrTask++    -- ** TaskView+    , TaskView (..)++    -- ** ListQueuesResponse+    , ListQueuesResponse+    , listQueuesResponse+    , lqrNextPageToken+    , lqrQueues++    -- ** StatusDetailsItem+    , StatusDetailsItem+    , statusDetailsItem+    , sdiAddtional++    -- ** QueueState+    , QueueState (..)++    -- ** AppEngineHTTPQueue+    , AppEngineHTTPQueue+    , appEngineHTTPQueue+    , aehttpqAppEngineRoutingOverride++    -- ** CreateTaskRequestResponseView+    , CreateTaskRequestResponseView (..)++    -- ** SetIAMPolicyRequest+    , SetIAMPolicyRequest+    , setIAMPolicyRequest+    , siprPolicy++    -- ** Queue+    , Queue+    , queue+    , qRateLimits+    , qState+    , qRetryConfig+    , qAppEngineHTTPQueue+    , qName+    , qPurgeTime++    -- ** AppEngineHTTPRequestHTTPMethod+    , AppEngineHTTPRequestHTTPMethod (..)++    -- ** ListTasksResponse+    , ListTasksResponse+    , listTasksResponse+    , ltrNextPageToken+    , ltrTasks++    -- ** AppEngineHTTPRequestHeaders+    , AppEngineHTTPRequestHeaders+    , appEngineHTTPRequestHeaders+    , aehttprhAddtional++    -- ** Xgafv+    , Xgafv (..)++    -- ** PauseQueueRequest+    , PauseQueueRequest+    , pauseQueueRequest++    -- ** TestIAMPermissionsRequest+    , TestIAMPermissionsRequest+    , testIAMPermissionsRequest+    , tiprPermissions++    -- ** Attempt+    , Attempt+    , attempt+    , aResponseStatus+    , aScheduleTime+    , aDispatchTime+    , aResponseTime++    -- ** PurgeQueueRequest+    , PurgeQueueRequest+    , purgeQueueRequest++    -- ** Task+    , Task+    , task+    , tLastAttempt+    , tScheduleTime+    , tName+    , tFirstAttempt+    , tView+    , tResponseCount+    , tDispatchCount+    , tAppEngineHTTPRequest+    , tCreateTime++    -- ** TestIAMPermissionsResponse+    , TestIAMPermissionsResponse+    , testIAMPermissionsResponse+    , tiamprPermissions++    -- ** Policy+    , Policy+    , policy+    , pEtag+    , pVersion+    , pBindings++    -- ** LocationLabels+    , LocationLabels+    , locationLabels+    , llAddtional++    -- ** LocationMetadata+    , LocationMetadata+    , locationMetadata+    , lmAddtional++    -- ** RunTaskRequestResponseView+    , RunTaskRequestResponseView (..)++    -- ** AppEngineRouting+    , AppEngineRouting+    , appEngineRouting+    , aerService+    , aerVersion+    , aerHost+    , aerInstance++    -- ** AppEngineHTTPRequest+    , AppEngineHTTPRequest+    , appEngineHTTPRequest+    , aehttprHTTPMethod+    , aehttprRelativeURI+    , aehttprBody+    , aehttprHeaders+    , aehttprAppEngineRouting++    -- ** ResumeQueueRequest+    , ResumeQueueRequest+    , resumeQueueRequest++    -- ** Binding+    , Binding+    , binding+    , bMembers+    , bRole+    , bCondition+    ) where++import           Network.Google.CloudTasks.Types+import           Network.Google.Prelude+import           Network.Google.Resource.CloudTasks.Projects.Locations.Get+import           Network.Google.Resource.CloudTasks.Projects.Locations.List+import           Network.Google.Resource.CloudTasks.Projects.Locations.Queues.Create+import           Network.Google.Resource.CloudTasks.Projects.Locations.Queues.Delete+import           Network.Google.Resource.CloudTasks.Projects.Locations.Queues.Get+import           Network.Google.Resource.CloudTasks.Projects.Locations.Queues.GetIAMPolicy+import           Network.Google.Resource.CloudTasks.Projects.Locations.Queues.List+import           Network.Google.Resource.CloudTasks.Projects.Locations.Queues.Patch+import           Network.Google.Resource.CloudTasks.Projects.Locations.Queues.Pause+import           Network.Google.Resource.CloudTasks.Projects.Locations.Queues.Purge+import           Network.Google.Resource.CloudTasks.Projects.Locations.Queues.Resume+import           Network.Google.Resource.CloudTasks.Projects.Locations.Queues.SetIAMPolicy+import           Network.Google.Resource.CloudTasks.Projects.Locations.Queues.Tasks.Create+import           Network.Google.Resource.CloudTasks.Projects.Locations.Queues.Tasks.Delete+import           Network.Google.Resource.CloudTasks.Projects.Locations.Queues.Tasks.Get+import           Network.Google.Resource.CloudTasks.Projects.Locations.Queues.Tasks.List+import           Network.Google.Resource.CloudTasks.Projects.Locations.Queues.Tasks.Run+import           Network.Google.Resource.CloudTasks.Projects.Locations.Queues.TestIAMPermissions++{- $resources+TODO+-}++-- | Represents the entirety of the methods and resources available for the Cloud Tasks API service.+type CloudTasksAPI =+     ProjectsLocationsQueuesTasksListResource :<|>+       ProjectsLocationsQueuesTasksGetResource+       :<|> ProjectsLocationsQueuesTasksRunResource+       :<|> ProjectsLocationsQueuesTasksCreateResource+       :<|> ProjectsLocationsQueuesTasksDeleteResource+       :<|> ProjectsLocationsQueuesListResource+       :<|> ProjectsLocationsQueuesGetIAMPolicyResource+       :<|> ProjectsLocationsQueuesPatchResource+       :<|> ProjectsLocationsQueuesGetResource+       :<|> ProjectsLocationsQueuesCreateResource+       :<|> ProjectsLocationsQueuesSetIAMPolicyResource+       :<|> ProjectsLocationsQueuesPauseResource+       :<|> ProjectsLocationsQueuesPurgeResource+       :<|>+       ProjectsLocationsQueuesTestIAMPermissionsResource+       :<|> ProjectsLocationsQueuesDeleteResource+       :<|> ProjectsLocationsQueuesResumeResource+       :<|> ProjectsLocationsListResource+       :<|> ProjectsLocationsGetResource
+ gen/Network/Google/CloudTasks/Types.hs view
@@ -0,0 +1,247 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module      : Network.Google.CloudTasks.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.CloudTasks.Types+    (+    -- * Service Configuration+      cloudTasksService++    -- * OAuth Scopes+    , cloudPlatformScope++    -- * RateLimits+    , RateLimits+    , rateLimits+    , rlMaxConcurrentDispatches+    , rlMaxDispatchesPerSecond+    , rlMaxBurstSize++    -- * Status+    , Status+    , status+    , sDetails+    , sCode+    , sMessage++    -- * Expr+    , Expr+    , expr+    , eLocation+    , eExpression+    , eTitle+    , eDescription++    -- * ListLocationsResponse+    , ListLocationsResponse+    , listLocationsResponse+    , llrNextPageToken+    , llrLocations++    -- * GetIAMPolicyRequest+    , GetIAMPolicyRequest+    , getIAMPolicyRequest++    -- * RetryConfig+    , RetryConfig+    , retryConfig+    , rcMaxDoublings+    , rcMaxRetryDuration+    , rcMaxAttempts+    , rcMaxBackoff+    , rcMinBackoff++    -- * RunTaskRequest+    , RunTaskRequest+    , runTaskRequest+    , rtrResponseView++    -- * Location+    , Location+    , location+    , lName+    , lMetadata+    , lDisplayName+    , lLabels+    , lLocationId++    -- * Empty+    , Empty+    , empty++    -- * CreateTaskRequest+    , CreateTaskRequest+    , createTaskRequest+    , ctrResponseView+    , ctrTask++    -- * TaskView+    , TaskView (..)++    -- * ListQueuesResponse+    , ListQueuesResponse+    , listQueuesResponse+    , lqrNextPageToken+    , lqrQueues++    -- * StatusDetailsItem+    , StatusDetailsItem+    , statusDetailsItem+    , sdiAddtional++    -- * QueueState+    , QueueState (..)++    -- * AppEngineHTTPQueue+    , AppEngineHTTPQueue+    , appEngineHTTPQueue+    , aehttpqAppEngineRoutingOverride++    -- * CreateTaskRequestResponseView+    , CreateTaskRequestResponseView (..)++    -- * SetIAMPolicyRequest+    , SetIAMPolicyRequest+    , setIAMPolicyRequest+    , siprPolicy++    -- * Queue+    , Queue+    , queue+    , qRateLimits+    , qState+    , qRetryConfig+    , qAppEngineHTTPQueue+    , qName+    , qPurgeTime++    -- * AppEngineHTTPRequestHTTPMethod+    , AppEngineHTTPRequestHTTPMethod (..)++    -- * ListTasksResponse+    , ListTasksResponse+    , listTasksResponse+    , ltrNextPageToken+    , ltrTasks++    -- * AppEngineHTTPRequestHeaders+    , AppEngineHTTPRequestHeaders+    , appEngineHTTPRequestHeaders+    , aehttprhAddtional++    -- * Xgafv+    , Xgafv (..)++    -- * PauseQueueRequest+    , PauseQueueRequest+    , pauseQueueRequest++    -- * TestIAMPermissionsRequest+    , TestIAMPermissionsRequest+    , testIAMPermissionsRequest+    , tiprPermissions++    -- * Attempt+    , Attempt+    , attempt+    , aResponseStatus+    , aScheduleTime+    , aDispatchTime+    , aResponseTime++    -- * PurgeQueueRequest+    , PurgeQueueRequest+    , purgeQueueRequest++    -- * Task+    , Task+    , task+    , tLastAttempt+    , tScheduleTime+    , tName+    , tFirstAttempt+    , tView+    , tResponseCount+    , tDispatchCount+    , tAppEngineHTTPRequest+    , tCreateTime++    -- * TestIAMPermissionsResponse+    , TestIAMPermissionsResponse+    , testIAMPermissionsResponse+    , tiamprPermissions++    -- * Policy+    , Policy+    , policy+    , pEtag+    , pVersion+    , pBindings++    -- * LocationLabels+    , LocationLabels+    , locationLabels+    , llAddtional++    -- * LocationMetadata+    , LocationMetadata+    , locationMetadata+    , lmAddtional++    -- * RunTaskRequestResponseView+    , RunTaskRequestResponseView (..)++    -- * AppEngineRouting+    , AppEngineRouting+    , appEngineRouting+    , aerService+    , aerVersion+    , aerHost+    , aerInstance++    -- * AppEngineHTTPRequest+    , AppEngineHTTPRequest+    , appEngineHTTPRequest+    , aehttprHTTPMethod+    , aehttprRelativeURI+    , aehttprBody+    , aehttprHeaders+    , aehttprAppEngineRouting++    -- * ResumeQueueRequest+    , ResumeQueueRequest+    , resumeQueueRequest++    -- * Binding+    , Binding+    , binding+    , bMembers+    , bRole+    , bCondition+    ) where++import           Network.Google.CloudTasks.Types.Product+import           Network.Google.CloudTasks.Types.Sum+import           Network.Google.Prelude++-- | Default request referring to version 'v2beta3' of the Cloud Tasks API. This contains the host and root path used as a starting point for constructing service requests.+cloudTasksService :: ServiceConfig+cloudTasksService+  = defaultService (ServiceId "cloudtasks:v2beta3")+      "cloudtasks.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/CloudTasks/Types/Product.hs view
@@ -0,0 +1,1999 @@+{-# 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.CloudTasks.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.CloudTasks.Types.Product where++import           Network.Google.CloudTasks.Types.Sum+import           Network.Google.Prelude++-- | Rate limits. This message determines the maximum rate that tasks can be+-- dispatched by a queue, regardless of whether the dispatch is a first+-- task attempt or a retry. Note: The debugging command, RunTask, will run+-- a task even if the queue has reached its RateLimits.+--+-- /See:/ 'rateLimits' smart constructor.+data RateLimits = RateLimits'+    { _rlMaxConcurrentDispatches :: !(Maybe (Textual Int32))+    , _rlMaxDispatchesPerSecond  :: !(Maybe (Textual Double))+    , _rlMaxBurstSize            :: !(Maybe (Textual Int32))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'RateLimits' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rlMaxConcurrentDispatches'+--+-- * 'rlMaxDispatchesPerSecond'+--+-- * 'rlMaxBurstSize'+rateLimits+    :: RateLimits+rateLimits =+    RateLimits'+    { _rlMaxConcurrentDispatches = Nothing+    , _rlMaxDispatchesPerSecond = Nothing+    , _rlMaxBurstSize = Nothing+    }++-- | The maximum number of concurrent tasks that Cloud Tasks allows to be+-- dispatched for this queue. After this threshold has been reached, Cloud+-- Tasks stops dispatching tasks until the number of concurrent requests+-- decreases. If unspecified when the queue is created, Cloud Tasks will+-- pick the default. The maximum allowed value is 5,000. This field has the+-- same meaning as [max_concurrent_requests in+-- queue.yaml\/xml](https:\/\/cloud.google.com\/appengine\/docs\/standard\/python\/config\/queueref#max_concurrent_requests).+rlMaxConcurrentDispatches :: Lens' RateLimits (Maybe Int32)+rlMaxConcurrentDispatches+  = lens _rlMaxConcurrentDispatches+      (\ s a -> s{_rlMaxConcurrentDispatches = a})+      . mapping _Coerce++-- | The maximum rate at which tasks are dispatched from this queue. If+-- unspecified when the queue is created, Cloud Tasks will pick the+-- default. * For App Engine queues, the maximum allowed value is 500. This+-- field has the same meaning as [rate in+-- queue.yaml\/xml](https:\/\/cloud.google.com\/appengine\/docs\/standard\/python\/config\/queueref#rate).+rlMaxDispatchesPerSecond :: Lens' RateLimits (Maybe Double)+rlMaxDispatchesPerSecond+  = lens _rlMaxDispatchesPerSecond+      (\ s a -> s{_rlMaxDispatchesPerSecond = a})+      . mapping _Coerce++-- | Output only. The max burst size. Max burst size limits how fast tasks in+-- queue are processed when many tasks are in the queue and the rate is+-- high. This field allows the queue to have a high rate so processing+-- starts shortly after a task is enqueued, but still limits resource usage+-- when many tasks are enqueued in a short period of time. The [token+-- bucket](https:\/\/wikipedia.org\/wiki\/Token_Bucket) algorithm is used+-- to control the rate of task dispatches. Each queue has a token bucket+-- that holds tokens, up to the maximum specified by \`max_burst_size\`.+-- Each time a task is dispatched, a token is removed from the bucket.+-- Tasks will be dispatched until the queue\'s bucket runs out of tokens.+-- The bucket will be continuously refilled with new tokens based on+-- max_dispatches_per_second. Cloud Tasks will pick the value of+-- \`max_burst_size\` based on the value of max_dispatches_per_second. For+-- App Engine queues that were created or updated using+-- \`queue.yaml\/xml\`, \`max_burst_size\` is equal to+-- [bucket_size](https:\/\/cloud.google.com\/appengine\/docs\/standard\/python\/config\/queueref#bucket_size).+-- Since \`max_burst_size\` is output only, if UpdateQueue is called on a+-- queue created by \`queue.yaml\/xml\`, \`max_burst_size\` will be reset+-- based on the value of max_dispatches_per_second, regardless of whether+-- max_dispatches_per_second is updated.+rlMaxBurstSize :: Lens' RateLimits (Maybe Int32)+rlMaxBurstSize+  = lens _rlMaxBurstSize+      (\ s a -> s{_rlMaxBurstSize = a})+      . mapping _Coerce++instance FromJSON RateLimits where+        parseJSON+          = withObject "RateLimits"+              (\ o ->+                 RateLimits' <$>+                   (o .:? "maxConcurrentDispatches") <*>+                     (o .:? "maxDispatchesPerSecond")+                     <*> (o .:? "maxBurstSize"))++instance ToJSON RateLimits where+        toJSON RateLimits'{..}+          = object+              (catMaybes+                 [("maxConcurrentDispatches" .=) <$>+                    _rlMaxConcurrentDispatches,+                  ("maxDispatchesPerSecond" .=) <$>+                    _rlMaxDispatchesPerSecond,+                  ("maxBurstSize" .=) <$> _rlMaxBurstSize])++-- | 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])++-- | 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])++-- | Request message for \`GetIamPolicy\` method.+--+-- /See:/ 'getIAMPolicyRequest' smart constructor.+data GetIAMPolicyRequest =+    GetIAMPolicyRequest'+    deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'GetIAMPolicyRequest' with the minimum fields required to make a request.+--+getIAMPolicyRequest+    :: GetIAMPolicyRequest+getIAMPolicyRequest = GetIAMPolicyRequest'++instance FromJSON GetIAMPolicyRequest where+        parseJSON+          = withObject "GetIAMPolicyRequest"+              (\ o -> pure GetIAMPolicyRequest')++instance ToJSON GetIAMPolicyRequest where+        toJSON = const emptyObject++-- | Retry config. These settings determine when a failed task attempt is+-- retried.+--+-- /See:/ 'retryConfig' smart constructor.+data RetryConfig = RetryConfig'+    { _rcMaxDoublings     :: !(Maybe (Textual Int32))+    , _rcMaxRetryDuration :: !(Maybe GDuration)+    , _rcMaxAttempts      :: !(Maybe (Textual Int32))+    , _rcMaxBackoff       :: !(Maybe GDuration)+    , _rcMinBackoff       :: !(Maybe GDuration)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'RetryConfig' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rcMaxDoublings'+--+-- * 'rcMaxRetryDuration'+--+-- * 'rcMaxAttempts'+--+-- * 'rcMaxBackoff'+--+-- * 'rcMinBackoff'+retryConfig+    :: RetryConfig+retryConfig =+    RetryConfig'+    { _rcMaxDoublings = Nothing+    , _rcMaxRetryDuration = Nothing+    , _rcMaxAttempts = Nothing+    , _rcMaxBackoff = Nothing+    , _rcMinBackoff = Nothing+    }++-- | The time between retries will double \`max_doublings\` times. A task\'s+-- retry interval starts at min_backoff, then doubles \`max_doublings\`+-- times, then increases linearly, and finally retries retries at intervals+-- of max_backoff up to max_attempts times. For example, if min_backoff is+-- 10s, max_backoff is 300s, and \`max_doublings\` is 3, then the a task+-- will first be retried in 10s. The retry interval will double three+-- times, and then increase linearly by 2^3 * 10s. Finally, the task will+-- retry at intervals of max_backoff until the task has been attempted+-- max_attempts times. Thus, the requests will retry at 10s, 20s, 40s, 80s,+-- 160s, 240s, 300s, 300s, .... If unspecified when the queue is created,+-- Cloud Tasks will pick the default. This field has the same meaning as+-- [max_doublings in+-- queue.yaml\/xml](https:\/\/cloud.google.com\/appengine\/docs\/standard\/python\/config\/queueref#retry_parameters).+rcMaxDoublings :: Lens' RetryConfig (Maybe Int32)+rcMaxDoublings+  = lens _rcMaxDoublings+      (\ s a -> s{_rcMaxDoublings = a})+      . mapping _Coerce++-- | If positive, \`max_retry_duration\` specifies the time limit for+-- retrying a failed task, measured from when the task was first attempted.+-- Once \`max_retry_duration\` time has passed *and* the task has been+-- attempted max_attempts times, no further attempts will be made and the+-- task will be deleted. If zero, then the task age is unlimited. If+-- unspecified when the queue is created, Cloud Tasks will pick the+-- default. \`max_retry_duration\` will be truncated to the nearest second.+-- This field has the same meaning as [task_age_limit in+-- queue.yaml\/xml](https:\/\/cloud.google.com\/appengine\/docs\/standard\/python\/config\/queueref#retry_parameters).+rcMaxRetryDuration :: Lens' RetryConfig (Maybe Scientific)+rcMaxRetryDuration+  = lens _rcMaxRetryDuration+      (\ s a -> s{_rcMaxRetryDuration = a})+      . mapping _GDuration++-- | Number of attempts per task. Cloud Tasks will attempt the task+-- \`max_attempts\` times (that is, if the first attempt fails, then there+-- will be \`max_attempts - 1\` retries). Must be >= -1. If unspecified+-- when the queue is created, Cloud Tasks will pick the default. -1+-- indicates unlimited attempts. This field has the same meaning as+-- [task_retry_limit in+-- queue.yaml\/xml](https:\/\/cloud.google.com\/appengine\/docs\/standard\/python\/config\/queueref#retry_parameters).+rcMaxAttempts :: Lens' RetryConfig (Maybe Int32)+rcMaxAttempts+  = lens _rcMaxAttempts+      (\ s a -> s{_rcMaxAttempts = a})+      . mapping _Coerce++-- | A task will be scheduled for retry between min_backoff and max_backoff+-- duration after it fails, if the queue\'s RetryConfig specifies that the+-- task should be retried. If unspecified when the queue is created, Cloud+-- Tasks will pick the default. \`max_backoff\` will be truncated to the+-- nearest second. This field has the same meaning as [max_backoff_seconds+-- in+-- queue.yaml\/xml](https:\/\/cloud.google.com\/appengine\/docs\/standard\/python\/config\/queueref#retry_parameters).+rcMaxBackoff :: Lens' RetryConfig (Maybe Scientific)+rcMaxBackoff+  = lens _rcMaxBackoff (\ s a -> s{_rcMaxBackoff = a})+      . mapping _GDuration++-- | A task will be scheduled for retry between min_backoff and max_backoff+-- duration after it fails, if the queue\'s RetryConfig specifies that the+-- task should be retried. If unspecified when the queue is created, Cloud+-- Tasks will pick the default. \`min_backoff\` will be truncated to the+-- nearest second. This field has the same meaning as [min_backoff_seconds+-- in+-- queue.yaml\/xml](https:\/\/cloud.google.com\/appengine\/docs\/standard\/python\/config\/queueref#retry_parameters).+rcMinBackoff :: Lens' RetryConfig (Maybe Scientific)+rcMinBackoff+  = lens _rcMinBackoff (\ s a -> s{_rcMinBackoff = a})+      . mapping _GDuration++instance FromJSON RetryConfig where+        parseJSON+          = withObject "RetryConfig"+              (\ o ->+                 RetryConfig' <$>+                   (o .:? "maxDoublings") <*> (o .:? "maxRetryDuration")+                     <*> (o .:? "maxAttempts")+                     <*> (o .:? "maxBackoff")+                     <*> (o .:? "minBackoff"))++instance ToJSON RetryConfig where+        toJSON RetryConfig'{..}+          = object+              (catMaybes+                 [("maxDoublings" .=) <$> _rcMaxDoublings,+                  ("maxRetryDuration" .=) <$> _rcMaxRetryDuration,+                  ("maxAttempts" .=) <$> _rcMaxAttempts,+                  ("maxBackoff" .=) <$> _rcMaxBackoff,+                  ("minBackoff" .=) <$> _rcMinBackoff])++-- | Request message for forcing a task to run now using RunTask.+--+-- /See:/ 'runTaskRequest' smart constructor.+newtype RunTaskRequest = RunTaskRequest'+    { _rtrResponseView :: Maybe RunTaskRequestResponseView+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'RunTaskRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rtrResponseView'+runTaskRequest+    :: RunTaskRequest+runTaskRequest =+    RunTaskRequest'+    { _rtrResponseView = Nothing+    }++-- | The response_view specifies which subset of the Task will be returned.+-- By default response_view is BASIC; not all information is retrieved by+-- default because some data, such as payloads, might be desirable to+-- return only when needed because of its large size or because of the+-- sensitivity of data that it contains. Authorization for FULL requires+-- \`cloudtasks.tasks.fullView\` [Google+-- IAM](https:\/\/cloud.google.com\/iam\/) permission on the Task resource.+rtrResponseView :: Lens' RunTaskRequest (Maybe RunTaskRequestResponseView)+rtrResponseView+  = lens _rtrResponseView+      (\ s a -> s{_rtrResponseView = a})++instance FromJSON RunTaskRequest where+        parseJSON+          = withObject "RunTaskRequest"+              (\ o -> RunTaskRequest' <$> (o .:? "responseView"))++instance ToJSON RunTaskRequest where+        toJSON RunTaskRequest'{..}+          = object+              (catMaybes+                 [("responseView" .=) <$> _rtrResponseView])++-- | 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])++-- | A generic empty message that you can re-use to avoid defining duplicated+-- empty messages in your APIs. A typical example is to use it as the+-- request or the response type of an API method. For instance: service Foo+-- { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } The+-- JSON representation for \`Empty\` is empty JSON object \`{}\`.+--+-- /See:/ 'empty' smart constructor.+data Empty =+    Empty'+    deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Empty' with the minimum fields required to make a request.+--+empty+    :: Empty+empty = Empty'++instance FromJSON Empty where+        parseJSON = withObject "Empty" (\ o -> pure Empty')++instance ToJSON Empty where+        toJSON = const emptyObject++-- | Request message for CreateTask.+--+-- /See:/ 'createTaskRequest' smart constructor.+data CreateTaskRequest = CreateTaskRequest'+    { _ctrResponseView :: !(Maybe CreateTaskRequestResponseView)+    , _ctrTask         :: !(Maybe Task)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CreateTaskRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ctrResponseView'+--+-- * 'ctrTask'+createTaskRequest+    :: CreateTaskRequest+createTaskRequest =+    CreateTaskRequest'+    { _ctrResponseView = Nothing+    , _ctrTask = Nothing+    }++-- | The response_view specifies which subset of the Task will be returned.+-- By default response_view is BASIC; not all information is retrieved by+-- default because some data, such as payloads, might be desirable to+-- return only when needed because of its large size or because of the+-- sensitivity of data that it contains. Authorization for FULL requires+-- \`cloudtasks.tasks.fullView\` [Google+-- IAM](https:\/\/cloud.google.com\/iam\/) permission on the Task resource.+ctrResponseView :: Lens' CreateTaskRequest (Maybe CreateTaskRequestResponseView)+ctrResponseView+  = lens _ctrResponseView+      (\ s a -> s{_ctrResponseView = a})++-- | Required. The task to add. Task names have the following format:+-- \`projects\/PROJECT_ID\/locations\/LOCATION_ID\/queues\/QUEUE_ID\/tasks\/TASK_ID\`.+-- The user can optionally specify a task name. If a name is not specified+-- then the system will generate a random unique task id, which will be set+-- in the task returned in the response. If schedule_time is not set or is+-- in the past then Cloud Tasks will set it to the current time. Task+-- De-duplication: Explicitly specifying a task ID enables task+-- de-duplication. If a task\'s ID is identical to that of an existing task+-- or a task that was deleted or executed recently then the call will fail+-- with ALREADY_EXISTS. If the task\'s queue was created using Cloud Tasks,+-- then another task with the same name can\'t be created for ~1hour after+-- the original task was deleted or executed. If the task\'s queue was+-- created using queue.yaml or queue.xml, then another task with the same+-- name can\'t be created for ~9days after the original task was deleted or+-- executed. Because there is an extra lookup cost to identify duplicate+-- task names, these CreateTask calls have significantly increased latency.+-- Using hashed strings for the task id or for the prefix of the task id is+-- recommended. Choosing task ids that are sequential or have sequential+-- prefixes, for example using a timestamp, causes an increase in latency+-- and error rates in all task commands. The infrastructure relies on an+-- approximately uniform distribution of task ids to store and serve tasks+-- efficiently.+ctrTask :: Lens' CreateTaskRequest (Maybe Task)+ctrTask = lens _ctrTask (\ s a -> s{_ctrTask = a})++instance FromJSON CreateTaskRequest where+        parseJSON+          = withObject "CreateTaskRequest"+              (\ o ->+                 CreateTaskRequest' <$>+                   (o .:? "responseView") <*> (o .:? "task"))++instance ToJSON CreateTaskRequest where+        toJSON CreateTaskRequest'{..}+          = object+              (catMaybes+                 [("responseView" .=) <$> _ctrResponseView,+                  ("task" .=) <$> _ctrTask])++-- | Response message for ListQueues.+--+-- /See:/ 'listQueuesResponse' smart constructor.+data ListQueuesResponse = ListQueuesResponse'+    { _lqrNextPageToken :: !(Maybe Text)+    , _lqrQueues        :: !(Maybe [Queue])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ListQueuesResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lqrNextPageToken'+--+-- * 'lqrQueues'+listQueuesResponse+    :: ListQueuesResponse+listQueuesResponse =+    ListQueuesResponse'+    { _lqrNextPageToken = Nothing+    , _lqrQueues = Nothing+    }++-- | A token to retrieve next page of results. To return the next page of+-- results, call ListQueues with this value as the page_token. If the+-- next_page_token is empty, there are no more results. The page token is+-- valid for only 2 hours.+lqrNextPageToken :: Lens' ListQueuesResponse (Maybe Text)+lqrNextPageToken+  = lens _lqrNextPageToken+      (\ s a -> s{_lqrNextPageToken = a})++-- | The list of queues.+lqrQueues :: Lens' ListQueuesResponse [Queue]+lqrQueues+  = lens _lqrQueues (\ s a -> s{_lqrQueues = a}) .+      _Default+      . _Coerce++instance FromJSON ListQueuesResponse where+        parseJSON+          = withObject "ListQueuesResponse"+              (\ o ->+                 ListQueuesResponse' <$>+                   (o .:? "nextPageToken") <*>+                     (o .:? "queues" .!= mempty))++instance ToJSON ListQueuesResponse where+        toJSON ListQueuesResponse'{..}+          = object+              (catMaybes+                 [("nextPageToken" .=) <$> _lqrNextPageToken,+                  ("queues" .=) <$> _lqrQueues])++--+-- /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++-- | App Engine HTTP queue. The task will be delivered to the App Engine+-- application hostname specified by its AppEngineHttpQueue and+-- AppEngineHttpRequest. The documentation for AppEngineHttpRequest+-- explains how the task\'s host URL is constructed. Using+-- AppEngineHttpQueue requires+-- [\`appengine.applications.get\`](https:\/\/cloud.google.com\/appengine\/docs\/admin-api\/access-control)+-- Google IAM permission for the project and the following scope:+-- \`https:\/\/www.googleapis.com\/auth\/cloud-platform\`+--+-- /See:/ 'appEngineHTTPQueue' smart constructor.+newtype AppEngineHTTPQueue = AppEngineHTTPQueue'+    { _aehttpqAppEngineRoutingOverride :: Maybe AppEngineRouting+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AppEngineHTTPQueue' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'aehttpqAppEngineRoutingOverride'+appEngineHTTPQueue+    :: AppEngineHTTPQueue+appEngineHTTPQueue =+    AppEngineHTTPQueue'+    { _aehttpqAppEngineRoutingOverride = Nothing+    }++-- | Overrides for the task-level app_engine_routing. If set,+-- \`app_engine_routing_override\` is used for all tasks in the queue, no+-- matter what the setting is for the task-level app_engine_routing.+aehttpqAppEngineRoutingOverride :: Lens' AppEngineHTTPQueue (Maybe AppEngineRouting)+aehttpqAppEngineRoutingOverride+  = lens _aehttpqAppEngineRoutingOverride+      (\ s a -> s{_aehttpqAppEngineRoutingOverride = a})++instance FromJSON AppEngineHTTPQueue where+        parseJSON+          = withObject "AppEngineHTTPQueue"+              (\ o ->+                 AppEngineHTTPQueue' <$>+                   (o .:? "appEngineRoutingOverride"))++instance ToJSON AppEngineHTTPQueue where+        toJSON AppEngineHTTPQueue'{..}+          = object+              (catMaybes+                 [("appEngineRoutingOverride" .=) <$>+                    _aehttpqAppEngineRoutingOverride])++-- | Request message for \`SetIamPolicy\` method.+--+-- /See:/ 'setIAMPolicyRequest' smart constructor.+newtype SetIAMPolicyRequest = SetIAMPolicyRequest'+    { _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:+--+-- * 'siprPolicy'+setIAMPolicyRequest+    :: SetIAMPolicyRequest+setIAMPolicyRequest =+    SetIAMPolicyRequest'+    { _siprPolicy = Nothing+    }++-- | 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 .:? "policy"))++instance ToJSON SetIAMPolicyRequest where+        toJSON SetIAMPolicyRequest'{..}+          = object (catMaybes [("policy" .=) <$> _siprPolicy])++-- | A queue is a container of related tasks. Queues are configured to manage+-- how those tasks are dispatched. Configurable properties include rate+-- limits, retry options, queue types, and others.+--+-- /See:/ 'queue' smart constructor.+data Queue = Queue'+    { _qRateLimits         :: !(Maybe RateLimits)+    , _qState              :: !(Maybe QueueState)+    , _qRetryConfig        :: !(Maybe RetryConfig)+    , _qAppEngineHTTPQueue :: !(Maybe AppEngineHTTPQueue)+    , _qName               :: !(Maybe Text)+    , _qPurgeTime          :: !(Maybe DateTime')+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Queue' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'qRateLimits'+--+-- * 'qState'+--+-- * 'qRetryConfig'+--+-- * 'qAppEngineHTTPQueue'+--+-- * 'qName'+--+-- * 'qPurgeTime'+queue+    :: Queue+queue =+    Queue'+    { _qRateLimits = Nothing+    , _qState = Nothing+    , _qRetryConfig = Nothing+    , _qAppEngineHTTPQueue = Nothing+    , _qName = Nothing+    , _qPurgeTime = Nothing+    }++-- | Rate limits for task dispatches. rate_limits and retry_config are+-- related because they both control task attempts however they control how+-- tasks are attempted in different ways: * rate_limits controls the total+-- rate of dispatches from a queue (i.e. all traffic dispatched from the+-- queue, regardless of whether the dispatch is from a first attempt or a+-- retry). * retry_config controls what happens to particular a task after+-- its first attempt fails. That is, retry_config controls task retries+-- (the second attempt, third attempt, etc).+qRateLimits :: Lens' Queue (Maybe RateLimits)+qRateLimits+  = lens _qRateLimits (\ s a -> s{_qRateLimits = a})++-- | Output only. The state of the queue. \`state\` can only be changed by+-- called PauseQueue, ResumeQueue, or uploading+-- [queue.yaml\/xml](https:\/\/cloud.google.com\/appengine\/docs\/python\/config\/queueref).+-- UpdateQueue cannot be used to change \`state\`.+qState :: Lens' Queue (Maybe QueueState)+qState = lens _qState (\ s a -> s{_qState = a})++-- | Settings that determine the retry behavior. * For tasks created using+-- Cloud Tasks: the queue-level retry settings apply to all tasks in the+-- queue that were created using Cloud Tasks. Retry settings cannot be set+-- on individual tasks. * For tasks created using the App Engine SDK: the+-- queue-level retry settings apply to all tasks in the queue which do not+-- have retry settings explicitly set on the task and were created by the+-- App Engine SDK. See [App Engine+-- documentation](https:\/\/cloud.google.com\/appengine\/docs\/standard\/python\/taskqueue\/push\/retrying-tasks).+qRetryConfig :: Lens' Queue (Maybe RetryConfig)+qRetryConfig+  = lens _qRetryConfig (\ s a -> s{_qRetryConfig = a})++-- | App Engine HTTP queue. An App Engine queue is a queue that has an+-- AppEngineHttpQueue type.+qAppEngineHTTPQueue :: Lens' Queue (Maybe AppEngineHTTPQueue)+qAppEngineHTTPQueue+  = lens _qAppEngineHTTPQueue+      (\ s a -> s{_qAppEngineHTTPQueue = a})++-- | Caller-specified and required in CreateQueue, after which it becomes+-- output only. The queue name. The queue name must have the following+-- format:+-- \`projects\/PROJECT_ID\/locations\/LOCATION_ID\/queues\/QUEUE_ID\` *+-- \`PROJECT_ID\` can contain letters ([A-Za-z]), numbers ([0-9]), hyphens+-- (-), colons (:), or periods (.). For more information, see [Identifying+-- projects](https:\/\/cloud.google.com\/resource-manager\/docs\/creating-managing-projects#identifying_projects)+-- * \`LOCATION_ID\` is the canonical ID for the queue\'s location. The+-- list of available locations can be obtained by calling ListLocations.+-- For more information, see+-- https:\/\/cloud.google.com\/about\/locations\/. * \`QUEUE_ID\` can+-- contain letters ([A-Za-z]), numbers ([0-9]), or hyphens (-). The maximum+-- length is 100 characters.+qName :: Lens' Queue (Maybe Text)+qName = lens _qName (\ s a -> s{_qName = a})++-- | Output only. The last time this queue was purged. All tasks that were+-- created before this time were purged. A queue can be purged using+-- PurgeQueue, the [App Engine Task Queue SDK, or the Cloud+-- Console](https:\/\/cloud.google.com\/appengine\/docs\/standard\/python\/taskqueue\/push\/deleting-tasks-and-queues#purging_all_tasks_from_a_queue).+-- Purge time will be truncated to the nearest microsecond. Purge time will+-- be unset if the queue has never been purged.+qPurgeTime :: Lens' Queue (Maybe UTCTime)+qPurgeTime+  = lens _qPurgeTime (\ s a -> s{_qPurgeTime = a}) .+      mapping _DateTime++instance FromJSON Queue where+        parseJSON+          = withObject "Queue"+              (\ o ->+                 Queue' <$>+                   (o .:? "rateLimits") <*> (o .:? "state") <*>+                     (o .:? "retryConfig")+                     <*> (o .:? "appEngineHttpQueue")+                     <*> (o .:? "name")+                     <*> (o .:? "purgeTime"))++instance ToJSON Queue where+        toJSON Queue'{..}+          = object+              (catMaybes+                 [("rateLimits" .=) <$> _qRateLimits,+                  ("state" .=) <$> _qState,+                  ("retryConfig" .=) <$> _qRetryConfig,+                  ("appEngineHttpQueue" .=) <$> _qAppEngineHTTPQueue,+                  ("name" .=) <$> _qName,+                  ("purgeTime" .=) <$> _qPurgeTime])++-- | Response message for listing tasks using ListTasks.+--+-- /See:/ 'listTasksResponse' smart constructor.+data ListTasksResponse = ListTasksResponse'+    { _ltrNextPageToken :: !(Maybe Text)+    , _ltrTasks         :: !(Maybe [Task])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ListTasksResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ltrNextPageToken'+--+-- * 'ltrTasks'+listTasksResponse+    :: ListTasksResponse+listTasksResponse =+    ListTasksResponse'+    { _ltrNextPageToken = Nothing+    , _ltrTasks = Nothing+    }++-- | A token to retrieve next page of results. To return the next page of+-- results, call ListTasks with this value as the page_token. If the+-- next_page_token is empty, there are no more results.+ltrNextPageToken :: Lens' ListTasksResponse (Maybe Text)+ltrNextPageToken+  = lens _ltrNextPageToken+      (\ s a -> s{_ltrNextPageToken = a})++-- | The list of tasks.+ltrTasks :: Lens' ListTasksResponse [Task]+ltrTasks+  = lens _ltrTasks (\ s a -> s{_ltrTasks = a}) .+      _Default+      . _Coerce++instance FromJSON ListTasksResponse where+        parseJSON+          = withObject "ListTasksResponse"+              (\ o ->+                 ListTasksResponse' <$>+                   (o .:? "nextPageToken") <*>+                     (o .:? "tasks" .!= mempty))++instance ToJSON ListTasksResponse where+        toJSON ListTasksResponse'{..}+          = object+              (catMaybes+                 [("nextPageToken" .=) <$> _ltrNextPageToken,+                  ("tasks" .=) <$> _ltrTasks])++-- | HTTP request headers. This map contains the header field names and+-- values. Headers can be set when the task is created. Repeated headers+-- are not supported but a header value can contain commas. Cloud Tasks+-- sets some headers to default values: * \`User-Agent\`: By default, this+-- header is \`\"AppEngine-Google;+-- (+http:\/\/code.google.com\/appengine)\"\`. This header can be modified,+-- but Cloud Tasks will append \`\"AppEngine-Google;+-- (+http:\/\/code.google.com\/appengine)\"\` to the modified+-- \`User-Agent\`. If the task has a body, Cloud Tasks sets the following+-- headers: * \`Content-Type\`: By default, the \`Content-Type\` header is+-- set to \`\"application\/octet-stream\"\`. The default can be overridden+-- by explicitly setting \`Content-Type\` to a particular media type when+-- the task is created. For example, \`Content-Type\` can be set to+-- \`\"application\/json\"\`. * \`Content-Length\`: This is computed by+-- Cloud Tasks. This value is output only. It cannot be changed. The+-- headers below cannot be set or overridden: * \`Host\` * \`X-Google-*\` *+-- \`X-AppEngine-*\` In addition, Cloud Tasks sets some headers when the+-- task is dispatched, such as headers containing information about the+-- task; see [request+-- headers](https:\/\/cloud.google.com\/appengine\/docs\/python\/taskqueue\/push\/creating-handlers#reading_request_headers).+-- These headers are set only when the task is dispatched, so they are not+-- visible when the task is returned in a Cloud Tasks response. Although+-- there is no specific limit for the maximum number of headers or the+-- size, there is a limit on the maximum size of the Task. For more+-- information, see the CreateTask documentation.+--+-- /See:/ 'appEngineHTTPRequestHeaders' smart constructor.+newtype AppEngineHTTPRequestHeaders = AppEngineHTTPRequestHeaders'+    { _aehttprhAddtional :: HashMap Text Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AppEngineHTTPRequestHeaders' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'aehttprhAddtional'+appEngineHTTPRequestHeaders+    :: HashMap Text Text -- ^ 'aehttprhAddtional'+    -> AppEngineHTTPRequestHeaders+appEngineHTTPRequestHeaders pAehttprhAddtional_ =+    AppEngineHTTPRequestHeaders'+    { _aehttprhAddtional = _Coerce # pAehttprhAddtional_+    }++aehttprhAddtional :: Lens' AppEngineHTTPRequestHeaders (HashMap Text Text)+aehttprhAddtional+  = lens _aehttprhAddtional+      (\ s a -> s{_aehttprhAddtional = a})+      . _Coerce++instance FromJSON AppEngineHTTPRequestHeaders where+        parseJSON+          = withObject "AppEngineHTTPRequestHeaders"+              (\ o ->+                 AppEngineHTTPRequestHeaders' <$> (parseJSONObject o))++instance ToJSON AppEngineHTTPRequestHeaders where+        toJSON = toJSON . _aehttprhAddtional++-- | Request message for PauseQueue.+--+-- /See:/ 'pauseQueueRequest' smart constructor.+data PauseQueueRequest =+    PauseQueueRequest'+    deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PauseQueueRequest' with the minimum fields required to make a request.+--+pauseQueueRequest+    :: PauseQueueRequest+pauseQueueRequest = PauseQueueRequest'++instance FromJSON PauseQueueRequest where+        parseJSON+          = withObject "PauseQueueRequest"+              (\ o -> pure PauseQueueRequest')++instance ToJSON PauseQueueRequest where+        toJSON = const emptyObject++-- | 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])++-- | The status of a task attempt.+--+-- /See:/ 'attempt' smart constructor.+data Attempt = Attempt'+    { _aResponseStatus :: !(Maybe Status)+    , _aScheduleTime   :: !(Maybe DateTime')+    , _aDispatchTime   :: !(Maybe DateTime')+    , _aResponseTime   :: !(Maybe DateTime')+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Attempt' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'aResponseStatus'+--+-- * 'aScheduleTime'+--+-- * 'aDispatchTime'+--+-- * 'aResponseTime'+attempt+    :: Attempt+attempt =+    Attempt'+    { _aResponseStatus = Nothing+    , _aScheduleTime = Nothing+    , _aDispatchTime = Nothing+    , _aResponseTime = Nothing+    }++-- | Output only. The response from the target for this attempt. If+-- \`response_time\` is unset, then the task has not been attempted or is+-- currently running and the \`response_status\` field is meaningless.+aResponseStatus :: Lens' Attempt (Maybe Status)+aResponseStatus+  = lens _aResponseStatus+      (\ s a -> s{_aResponseStatus = a})++-- | Output only. The time that this attempt was scheduled. \`schedule_time\`+-- will be truncated to the nearest microsecond.+aScheduleTime :: Lens' Attempt (Maybe UTCTime)+aScheduleTime+  = lens _aScheduleTime+      (\ s a -> s{_aScheduleTime = a})+      . mapping _DateTime++-- | Output only. The time that this attempt was dispatched.+-- \`dispatch_time\` will be truncated to the nearest microsecond.+aDispatchTime :: Lens' Attempt (Maybe UTCTime)+aDispatchTime+  = lens _aDispatchTime+      (\ s a -> s{_aDispatchTime = a})+      . mapping _DateTime++-- | Output only. The time that this attempt response was received.+-- \`response_time\` will be truncated to the nearest microsecond.+aResponseTime :: Lens' Attempt (Maybe UTCTime)+aResponseTime+  = lens _aResponseTime+      (\ s a -> s{_aResponseTime = a})+      . mapping _DateTime++instance FromJSON Attempt where+        parseJSON+          = withObject "Attempt"+              (\ o ->+                 Attempt' <$>+                   (o .:? "responseStatus") <*> (o .:? "scheduleTime")+                     <*> (o .:? "dispatchTime")+                     <*> (o .:? "responseTime"))++instance ToJSON Attempt where+        toJSON Attempt'{..}+          = object+              (catMaybes+                 [("responseStatus" .=) <$> _aResponseStatus,+                  ("scheduleTime" .=) <$> _aScheduleTime,+                  ("dispatchTime" .=) <$> _aDispatchTime,+                  ("responseTime" .=) <$> _aResponseTime])++-- | Request message for PurgeQueue.+--+-- /See:/ 'purgeQueueRequest' smart constructor.+data PurgeQueueRequest =+    PurgeQueueRequest'+    deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PurgeQueueRequest' with the minimum fields required to make a request.+--+purgeQueueRequest+    :: PurgeQueueRequest+purgeQueueRequest = PurgeQueueRequest'++instance FromJSON PurgeQueueRequest where+        parseJSON+          = withObject "PurgeQueueRequest"+              (\ o -> pure PurgeQueueRequest')++instance ToJSON PurgeQueueRequest where+        toJSON = const emptyObject++-- | A unit of scheduled work.+--+-- /See:/ 'task' smart constructor.+data Task = Task'+    { _tLastAttempt          :: !(Maybe Attempt)+    , _tScheduleTime         :: !(Maybe DateTime')+    , _tName                 :: !(Maybe Text)+    , _tFirstAttempt         :: !(Maybe Attempt)+    , _tView                 :: !(Maybe TaskView)+    , _tResponseCount        :: !(Maybe (Textual Int32))+    , _tDispatchCount        :: !(Maybe (Textual Int32))+    , _tAppEngineHTTPRequest :: !(Maybe AppEngineHTTPRequest)+    , _tCreateTime           :: !(Maybe DateTime')+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Task' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tLastAttempt'+--+-- * 'tScheduleTime'+--+-- * 'tName'+--+-- * 'tFirstAttempt'+--+-- * 'tView'+--+-- * 'tResponseCount'+--+-- * 'tDispatchCount'+--+-- * 'tAppEngineHTTPRequest'+--+-- * 'tCreateTime'+task+    :: Task+task =+    Task'+    { _tLastAttempt = Nothing+    , _tScheduleTime = Nothing+    , _tName = Nothing+    , _tFirstAttempt = Nothing+    , _tView = Nothing+    , _tResponseCount = Nothing+    , _tDispatchCount = Nothing+    , _tAppEngineHTTPRequest = Nothing+    , _tCreateTime = Nothing+    }++-- | Output only. The status of the task\'s last attempt.+tLastAttempt :: Lens' Task (Maybe Attempt)+tLastAttempt+  = lens _tLastAttempt (\ s a -> s{_tLastAttempt = a})++-- | The time when the task is scheduled to be attempted. For App Engine+-- queues, this is when the task will be attempted or retried.+-- \`schedule_time\` will be truncated to the nearest microsecond.+tScheduleTime :: Lens' Task (Maybe UTCTime)+tScheduleTime+  = lens _tScheduleTime+      (\ s a -> s{_tScheduleTime = a})+      . mapping _DateTime++-- | Optionally caller-specified in CreateTask. The task name. The task name+-- must have the following format:+-- \`projects\/PROJECT_ID\/locations\/LOCATION_ID\/queues\/QUEUE_ID\/tasks\/TASK_ID\`+-- * \`PROJECT_ID\` can contain letters ([A-Za-z]), numbers ([0-9]),+-- hyphens (-), colons (:), or periods (.). For more information, see+-- [Identifying+-- projects](https:\/\/cloud.google.com\/resource-manager\/docs\/creating-managing-projects#identifying_projects)+-- * \`LOCATION_ID\` is the canonical ID for the task\'s location. The list+-- of available locations can be obtained by calling ListLocations. For+-- more information, see https:\/\/cloud.google.com\/about\/locations\/. *+-- \`QUEUE_ID\` can contain letters ([A-Za-z]), numbers ([0-9]), or hyphens+-- (-). The maximum length is 100 characters. * \`TASK_ID\` can contain+-- only letters ([A-Za-z]), numbers ([0-9]), hyphens (-), or underscores+-- (_). The maximum length is 500 characters.+tName :: Lens' Task (Maybe Text)+tName = lens _tName (\ s a -> s{_tName = a})++-- | Output only. The status of the task\'s first attempt. Only dispatch_time+-- will be set. The other Attempt information is not retained by Cloud+-- Tasks.+tFirstAttempt :: Lens' Task (Maybe Attempt)+tFirstAttempt+  = lens _tFirstAttempt+      (\ s a -> s{_tFirstAttempt = a})++-- | Output only. The view specifies which subset of the Task has been+-- returned.+tView :: Lens' Task (Maybe TaskView)+tView = lens _tView (\ s a -> s{_tView = a})++-- | Output only. The number of attempts which have received a response.+tResponseCount :: Lens' Task (Maybe Int32)+tResponseCount+  = lens _tResponseCount+      (\ s a -> s{_tResponseCount = a})+      . mapping _Coerce++-- | Output only. The number of attempts dispatched. This count includes+-- tasks which have been dispatched but haven\'t received a response.+tDispatchCount :: Lens' Task (Maybe Int32)+tDispatchCount+  = lens _tDispatchCount+      (\ s a -> s{_tDispatchCount = a})+      . mapping _Coerce++-- | App Engine HTTP request that is sent to the task\'s target. Can be set+-- only if app_engine_http_queue is set on the queue. An App Engine task is+-- a task that has AppEngineHttpRequest set.+tAppEngineHTTPRequest :: Lens' Task (Maybe AppEngineHTTPRequest)+tAppEngineHTTPRequest+  = lens _tAppEngineHTTPRequest+      (\ s a -> s{_tAppEngineHTTPRequest = a})++-- | Output only. The time that the task was created. \`create_time\` will be+-- truncated to the nearest second.+tCreateTime :: Lens' Task (Maybe UTCTime)+tCreateTime+  = lens _tCreateTime (\ s a -> s{_tCreateTime = a}) .+      mapping _DateTime++instance FromJSON Task where+        parseJSON+          = withObject "Task"+              (\ o ->+                 Task' <$>+                   (o .:? "lastAttempt") <*> (o .:? "scheduleTime") <*>+                     (o .:? "name")+                     <*> (o .:? "firstAttempt")+                     <*> (o .:? "view")+                     <*> (o .:? "responseCount")+                     <*> (o .:? "dispatchCount")+                     <*> (o .:? "appEngineHttpRequest")+                     <*> (o .:? "createTime"))++instance ToJSON Task where+        toJSON Task'{..}+          = object+              (catMaybes+                 [("lastAttempt" .=) <$> _tLastAttempt,+                  ("scheduleTime" .=) <$> _tScheduleTime,+                  ("name" .=) <$> _tName,+                  ("firstAttempt" .=) <$> _tFirstAttempt,+                  ("view" .=) <$> _tView,+                  ("responseCount" .=) <$> _tResponseCount,+                  ("dispatchCount" .=) <$> _tDispatchCount,+                  ("appEngineHttpRequest" .=) <$>+                    _tAppEngineHTTPRequest,+                  ("createTime" .=) <$> _tCreateTime])++-- | 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'+    { _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:+--+-- * 'pEtag'+--+-- * 'pVersion'+--+-- * 'pBindings'+policy+    :: Policy+policy =+    Policy'+    { _pEtag = Nothing+    , _pVersion = Nothing+    , _pBindings = Nothing+    }++-- | \`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 .:? "etag") <*> (o .:? "version") <*>+                     (o .:? "bindings" .!= mempty))++instance ToJSON Policy where+        toJSON Policy'{..}+          = object+              (catMaybes+                 [("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++-- | 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++-- | App Engine Routing. Defines routing characteristics specific to App+-- Engine - service, version, and instance. For more information about+-- services, versions, and instances see [An Overview of App+-- Engine](https:\/\/cloud.google.com\/appengine\/docs\/python\/an-overview-of-app-engine),+-- [Microservices Architecture on Google App+-- Engine](https:\/\/cloud.google.com\/appengine\/docs\/python\/microservices-on-app-engine),+-- [App Engine Standard request+-- routing](https:\/\/cloud.google.com\/appengine\/docs\/standard\/python\/how-requests-are-routed),+-- and [App Engine Flex request+-- routing](https:\/\/cloud.google.com\/appengine\/docs\/flexible\/python\/how-requests-are-routed).+--+-- /See:/ 'appEngineRouting' smart constructor.+data AppEngineRouting = AppEngineRouting'+    { _aerService  :: !(Maybe Text)+    , _aerVersion  :: !(Maybe Text)+    , _aerHost     :: !(Maybe Text)+    , _aerInstance :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AppEngineRouting' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'aerService'+--+-- * 'aerVersion'+--+-- * 'aerHost'+--+-- * 'aerInstance'+appEngineRouting+    :: AppEngineRouting+appEngineRouting =+    AppEngineRouting'+    { _aerService = Nothing+    , _aerVersion = Nothing+    , _aerHost = Nothing+    , _aerInstance = Nothing+    }++-- | App service. By default, the task is sent to the service which is the+-- default service when the task is attempted. For some queues or tasks+-- which were created using the App Engine Task Queue API, host is not+-- parsable into service, version, and instance. For example, some tasks+-- which were created using the App Engine SDK use a custom domain name;+-- custom domains are not parsed by Cloud Tasks. If host is not parsable,+-- then service, version, and instance are the empty string.+aerService :: Lens' AppEngineRouting (Maybe Text)+aerService+  = lens _aerService (\ s a -> s{_aerService = a})++-- | App version. By default, the task is sent to the version which is the+-- default version when the task is attempted. For some queues or tasks+-- which were created using the App Engine Task Queue API, host is not+-- parsable into service, version, and instance. For example, some tasks+-- which were created using the App Engine SDK use a custom domain name;+-- custom domains are not parsed by Cloud Tasks. If host is not parsable,+-- then service, version, and instance are the empty string.+aerVersion :: Lens' AppEngineRouting (Maybe Text)+aerVersion+  = lens _aerVersion (\ s a -> s{_aerVersion = a})++-- | Output only. The host that the task is sent to. The host is constructed+-- from the domain name of the app associated with the queue\'s project ID+-- (for example .appspot.com), and the service, version, and instance.+-- Tasks which were created using the App Engine SDK might have a custom+-- domain name. For more information, see [How Requests are+-- Routed](https:\/\/cloud.google.com\/appengine\/docs\/standard\/python\/how-requests-are-routed).+aerHost :: Lens' AppEngineRouting (Maybe Text)+aerHost = lens _aerHost (\ s a -> s{_aerHost = a})++-- | App instance. By default, the task is sent to an instance which is+-- available when the task is attempted. Requests can only be sent to a+-- specific instance if [manual scaling is used in App Engine+-- Standard](https:\/\/cloud.google.com\/appengine\/docs\/python\/an-overview-of-app-engine?hl=en_US#scaling_types_and_instance_classes).+-- App Engine Flex does not support instances. For more information, see+-- [App Engine Standard request+-- routing](https:\/\/cloud.google.com\/appengine\/docs\/standard\/python\/how-requests-are-routed)+-- and [App Engine Flex request+-- routing](https:\/\/cloud.google.com\/appengine\/docs\/flexible\/python\/how-requests-are-routed).+aerInstance :: Lens' AppEngineRouting (Maybe Text)+aerInstance+  = lens _aerInstance (\ s a -> s{_aerInstance = a})++instance FromJSON AppEngineRouting where+        parseJSON+          = withObject "AppEngineRouting"+              (\ o ->+                 AppEngineRouting' <$>+                   (o .:? "service") <*> (o .:? "version") <*>+                     (o .:? "host")+                     <*> (o .:? "instance"))++instance ToJSON AppEngineRouting where+        toJSON AppEngineRouting'{..}+          = object+              (catMaybes+                 [("service" .=) <$> _aerService,+                  ("version" .=) <$> _aerVersion,+                  ("host" .=) <$> _aerHost,+                  ("instance" .=) <$> _aerInstance])++-- | App Engine HTTP request. The message defines the HTTP request that is+-- sent to an App Engine app when the task is dispatched. This proto can+-- only be used for tasks in a queue which has app_engine_http_queue set.+-- Using AppEngineHttpRequest requires+-- [\`appengine.applications.get\`](https:\/\/cloud.google.com\/appengine\/docs\/admin-api\/access-control)+-- Google IAM permission for the project and the following scope:+-- \`https:\/\/www.googleapis.com\/auth\/cloud-platform\` The task will be+-- delivered to the App Engine app which belongs to the same project as the+-- queue. For more information, see [How Requests are+-- Routed](https:\/\/cloud.google.com\/appengine\/docs\/standard\/python\/how-requests-are-routed)+-- and how routing is affected by [dispatch+-- files](https:\/\/cloud.google.com\/appengine\/docs\/python\/config\/dispatchref).+-- Traffic is encrypted during transport and never leaves Google+-- datacenters. Because this traffic is carried over a communication+-- mechanism internal to Google, you cannot explicitly set the protocol+-- (for example, HTTP or HTTPS). The request to the handler, however, will+-- appear to have used the HTTP protocol. The AppEngineRouting used to+-- construct the URL that the task is delivered to can be set at the+-- queue-level or task-level: * If set, app_engine_routing_override is used+-- for all tasks in the queue, no matter what the setting is for the+-- task-level app_engine_routing. The \`url\` that the task will be sent to+-- is: * \`url =\` host \`+\` relative_uri Tasks can be dispatched to+-- secure app handlers, unsecure app handlers, and URIs restricted with+-- [\`login:+-- admin\`](https:\/\/cloud.google.com\/appengine\/docs\/standard\/python\/config\/appref).+-- Because tasks are not run as any user, they cannot be dispatched to URIs+-- restricted with [\`login:+-- required\`](https:\/\/cloud.google.com\/appengine\/docs\/standard\/python\/config\/appref)+-- Task dispatches also do not follow redirects. The task attempt has+-- succeeded if the app\'s request handler returns an HTTP response code in+-- the range [\`200\` - \`299\`]. \`503\` is considered an App Engine+-- system error instead of an application error. Requests returning error+-- \`503\` will be retried regardless of retry configuration and not+-- counted against retry counts. Any other response code or a failure to+-- receive a response before the deadline is a failed attempt.+--+-- /See:/ 'appEngineHTTPRequest' smart constructor.+data AppEngineHTTPRequest = AppEngineHTTPRequest'+    { _aehttprHTTPMethod       :: !(Maybe AppEngineHTTPRequestHTTPMethod)+    , _aehttprRelativeURI      :: !(Maybe Text)+    , _aehttprBody             :: !(Maybe Bytes)+    , _aehttprHeaders          :: !(Maybe AppEngineHTTPRequestHeaders)+    , _aehttprAppEngineRouting :: !(Maybe AppEngineRouting)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AppEngineHTTPRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'aehttprHTTPMethod'+--+-- * 'aehttprRelativeURI'+--+-- * 'aehttprBody'+--+-- * 'aehttprHeaders'+--+-- * 'aehttprAppEngineRouting'+appEngineHTTPRequest+    :: AppEngineHTTPRequest+appEngineHTTPRequest =+    AppEngineHTTPRequest'+    { _aehttprHTTPMethod = Nothing+    , _aehttprRelativeURI = Nothing+    , _aehttprBody = Nothing+    , _aehttprHeaders = Nothing+    , _aehttprAppEngineRouting = Nothing+    }++-- | The HTTP method to use for the request. The default is POST. The app\'s+-- request handler for the task\'s target URL must be able to handle HTTP+-- requests with this http_method, otherwise the task attempt will fail+-- with error code 405 (Method Not Allowed). See [Writing a push task+-- request+-- handler](https:\/\/cloud.google.com\/appengine\/docs\/java\/taskqueue\/push\/creating-handlers#writing_a_push_task_request_handler)+-- and the documentation for the request handlers in the language your app+-- is written in e.g. [Python Request+-- Handler](https:\/\/cloud.google.com\/appengine\/docs\/python\/tools\/webapp\/requesthandlerclass).+aehttprHTTPMethod :: Lens' AppEngineHTTPRequest (Maybe AppEngineHTTPRequestHTTPMethod)+aehttprHTTPMethod+  = lens _aehttprHTTPMethod+      (\ s a -> s{_aehttprHTTPMethod = a})++-- | The relative URI. The relative URI must begin with \"\/\" and must be a+-- valid HTTP relative URI. It can contain a path and query string+-- arguments. If the relative URI is empty, then the root path \"\/\" will+-- be used. No spaces are allowed, and the maximum length allowed is 2083+-- characters.+aehttprRelativeURI :: Lens' AppEngineHTTPRequest (Maybe Text)+aehttprRelativeURI+  = lens _aehttprRelativeURI+      (\ s a -> s{_aehttprRelativeURI = a})++-- | HTTP request body. A request body is allowed only if the HTTP method is+-- POST or PUT. It is an error to set a body on a task with an incompatible+-- HttpMethod.+aehttprBody :: Lens' AppEngineHTTPRequest (Maybe ByteString)+aehttprBody+  = lens _aehttprBody (\ s a -> s{_aehttprBody = a}) .+      mapping _Bytes++-- | HTTP request headers. This map contains the header field names and+-- values. Headers can be set when the task is created. Repeated headers+-- are not supported but a header value can contain commas. Cloud Tasks+-- sets some headers to default values: * \`User-Agent\`: By default, this+-- header is \`\"AppEngine-Google;+-- (+http:\/\/code.google.com\/appengine)\"\`. This header can be modified,+-- but Cloud Tasks will append \`\"AppEngine-Google;+-- (+http:\/\/code.google.com\/appengine)\"\` to the modified+-- \`User-Agent\`. If the task has a body, Cloud Tasks sets the following+-- headers: * \`Content-Type\`: By default, the \`Content-Type\` header is+-- set to \`\"application\/octet-stream\"\`. The default can be overridden+-- by explicitly setting \`Content-Type\` to a particular media type when+-- the task is created. For example, \`Content-Type\` can be set to+-- \`\"application\/json\"\`. * \`Content-Length\`: This is computed by+-- Cloud Tasks. This value is output only. It cannot be changed. The+-- headers below cannot be set or overridden: * \`Host\` * \`X-Google-*\` *+-- \`X-AppEngine-*\` In addition, Cloud Tasks sets some headers when the+-- task is dispatched, such as headers containing information about the+-- task; see [request+-- headers](https:\/\/cloud.google.com\/appengine\/docs\/python\/taskqueue\/push\/creating-handlers#reading_request_headers).+-- These headers are set only when the task is dispatched, so they are not+-- visible when the task is returned in a Cloud Tasks response. Although+-- there is no specific limit for the maximum number of headers or the+-- size, there is a limit on the maximum size of the Task. For more+-- information, see the CreateTask documentation.+aehttprHeaders :: Lens' AppEngineHTTPRequest (Maybe AppEngineHTTPRequestHeaders)+aehttprHeaders+  = lens _aehttprHeaders+      (\ s a -> s{_aehttprHeaders = a})++-- | Task-level setting for App Engine routing. If set,+-- app_engine_routing_override is used for all tasks in the queue, no+-- matter what the setting is for the task-level app_engine_routing.+aehttprAppEngineRouting :: Lens' AppEngineHTTPRequest (Maybe AppEngineRouting)+aehttprAppEngineRouting+  = lens _aehttprAppEngineRouting+      (\ s a -> s{_aehttprAppEngineRouting = a})++instance FromJSON AppEngineHTTPRequest where+        parseJSON+          = withObject "AppEngineHTTPRequest"+              (\ o ->+                 AppEngineHTTPRequest' <$>+                   (o .:? "httpMethod") <*> (o .:? "relativeUri") <*>+                     (o .:? "body")+                     <*> (o .:? "headers")+                     <*> (o .:? "appEngineRouting"))++instance ToJSON AppEngineHTTPRequest where+        toJSON AppEngineHTTPRequest'{..}+          = object+              (catMaybes+                 [("httpMethod" .=) <$> _aehttprHTTPMethod,+                  ("relativeUri" .=) <$> _aehttprRelativeURI,+                  ("body" .=) <$> _aehttprBody,+                  ("headers" .=) <$> _aehttprHeaders,+                  ("appEngineRouting" .=) <$>+                    _aehttprAppEngineRouting])++-- | Request message for ResumeQueue.+--+-- /See:/ 'resumeQueueRequest' smart constructor.+data ResumeQueueRequest =+    ResumeQueueRequest'+    deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ResumeQueueRequest' with the minimum fields required to make a request.+--+resumeQueueRequest+    :: ResumeQueueRequest+resumeQueueRequest = ResumeQueueRequest'++instance FromJSON ResumeQueueRequest where+        parseJSON+          = withObject "ResumeQueueRequest"+              (\ o -> pure ResumeQueueRequest')++instance ToJSON ResumeQueueRequest where+        toJSON = const emptyObject++-- | 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/CloudTasks/Types/Sum.hs view
@@ -0,0 +1,296 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE LambdaCase         #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module      : Network.Google.CloudTasks.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.CloudTasks.Types.Sum where++import           Network.Google.Prelude hiding (Bytes)++-- | Output only. The view specifies which subset of the Task has been+-- returned.+data TaskView+    = ViewUnspecified+      -- ^ @VIEW_UNSPECIFIED@+      -- Unspecified. Defaults to BASIC.+    | Basic+      -- ^ @BASIC@+      -- The basic view omits fields which can be large or can contain sensitive+      -- data. This view does not include the body in AppEngineHttpRequest.+      -- Bodies are desirable to return only when needed, because they can be+      -- large and because of the sensitivity of the data that you choose to+      -- store in it.+    | Full+      -- ^ @FULL@+      -- All information is returned. Authorization for FULL requires+      -- \`cloudtasks.tasks.fullView\` [Google+      -- IAM](https:\/\/cloud.google.com\/iam\/) permission on the Queue+      -- resource.+      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable TaskView++instance FromHttpApiData TaskView where+    parseQueryParam = \case+        "VIEW_UNSPECIFIED" -> Right ViewUnspecified+        "BASIC" -> Right Basic+        "FULL" -> Right Full+        x -> Left ("Unable to parse TaskView from: " <> x)++instance ToHttpApiData TaskView where+    toQueryParam = \case+        ViewUnspecified -> "VIEW_UNSPECIFIED"+        Basic -> "BASIC"+        Full -> "FULL"++instance FromJSON TaskView where+    parseJSON = parseJSONText "TaskView"++instance ToJSON TaskView where+    toJSON = toJSONText++-- | Output only. The state of the queue. \`state\` can only be changed by+-- called PauseQueue, ResumeQueue, or uploading+-- [queue.yaml\/xml](https:\/\/cloud.google.com\/appengine\/docs\/python\/config\/queueref).+-- UpdateQueue cannot be used to change \`state\`.+data QueueState+    = StateUnspecified+      -- ^ @STATE_UNSPECIFIED@+      -- Unspecified state.+    | Running+      -- ^ @RUNNING@+      -- The queue is running. Tasks can be dispatched. If the queue was created+      -- using Cloud Tasks and the queue has had no activity (method calls or+      -- task dispatches) for 30 days, the queue may take a few minutes to+      -- re-activate. Some method calls may return NOT_FOUND and tasks may not be+      -- dispatched for a few minutes until the queue has been re-activated.+    | Paused+      -- ^ @PAUSED@+      -- Tasks are paused by the user. If the queue is paused then Cloud Tasks+      -- will stop delivering tasks from it, but more tasks can still be added to+      -- it by the user.+    | Disabled+      -- ^ @DISABLED@+      -- The queue is disabled. A queue becomes \`DISABLED\` when+      -- [queue.yaml](https:\/\/cloud.google.com\/appengine\/docs\/python\/config\/queueref)+      -- or+      -- [queue.xml](https:\/\/cloud.google.com\/appengine\/docs\/standard\/java\/config\/queueref)+      -- is uploaded which does not contain the queue. You cannot directly+      -- disable a queue. When a queue is disabled, tasks can still be added to a+      -- queue but the tasks are not dispatched. To permanently delete this queue+      -- and all of its tasks, call DeleteQueue.+      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable QueueState++instance FromHttpApiData QueueState where+    parseQueryParam = \case+        "STATE_UNSPECIFIED" -> Right StateUnspecified+        "RUNNING" -> Right Running+        "PAUSED" -> Right Paused+        "DISABLED" -> Right Disabled+        x -> Left ("Unable to parse QueueState from: " <> x)++instance ToHttpApiData QueueState where+    toQueryParam = \case+        StateUnspecified -> "STATE_UNSPECIFIED"+        Running -> "RUNNING"+        Paused -> "PAUSED"+        Disabled -> "DISABLED"++instance FromJSON QueueState where+    parseJSON = parseJSONText "QueueState"++instance ToJSON QueueState where+    toJSON = toJSONText++-- | The response_view specifies which subset of the Task will be returned.+-- By default response_view is BASIC; not all information is retrieved by+-- default because some data, such as payloads, might be desirable to+-- return only when needed because of its large size or because of the+-- sensitivity of data that it contains. Authorization for FULL requires+-- \`cloudtasks.tasks.fullView\` [Google+-- IAM](https:\/\/cloud.google.com\/iam\/) permission on the Task resource.+data CreateTaskRequestResponseView+    = CTRRVViewUnspecified+      -- ^ @VIEW_UNSPECIFIED@+      -- Unspecified. Defaults to BASIC.+    | CTRRVBasic+      -- ^ @BASIC@+      -- The basic view omits fields which can be large or can contain sensitive+      -- data. This view does not include the body in AppEngineHttpRequest.+      -- Bodies are desirable to return only when needed, because they can be+      -- large and because of the sensitivity of the data that you choose to+      -- store in it.+    | CTRRVFull+      -- ^ @FULL@+      -- All information is returned. Authorization for FULL requires+      -- \`cloudtasks.tasks.fullView\` [Google+      -- IAM](https:\/\/cloud.google.com\/iam\/) permission on the Queue+      -- resource.+      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable CreateTaskRequestResponseView++instance FromHttpApiData CreateTaskRequestResponseView where+    parseQueryParam = \case+        "VIEW_UNSPECIFIED" -> Right CTRRVViewUnspecified+        "BASIC" -> Right CTRRVBasic+        "FULL" -> Right CTRRVFull+        x -> Left ("Unable to parse CreateTaskRequestResponseView from: " <> x)++instance ToHttpApiData CreateTaskRequestResponseView where+    toQueryParam = \case+        CTRRVViewUnspecified -> "VIEW_UNSPECIFIED"+        CTRRVBasic -> "BASIC"+        CTRRVFull -> "FULL"++instance FromJSON CreateTaskRequestResponseView where+    parseJSON = parseJSONText "CreateTaskRequestResponseView"++instance ToJSON CreateTaskRequestResponseView where+    toJSON = toJSONText++-- | The HTTP method to use for the request. The default is POST. The app\'s+-- request handler for the task\'s target URL must be able to handle HTTP+-- requests with this http_method, otherwise the task attempt will fail+-- with error code 405 (Method Not Allowed). See [Writing a push task+-- request+-- handler](https:\/\/cloud.google.com\/appengine\/docs\/java\/taskqueue\/push\/creating-handlers#writing_a_push_task_request_handler)+-- and the documentation for the request handlers in the language your app+-- is written in e.g. [Python Request+-- Handler](https:\/\/cloud.google.com\/appengine\/docs\/python\/tools\/webapp\/requesthandlerclass).+data AppEngineHTTPRequestHTTPMethod+    = HTTPMethodUnspecified+      -- ^ @HTTP_METHOD_UNSPECIFIED@+      -- HTTP method unspecified+    | Post'+      -- ^ @POST@+      -- HTTP POST+    | Get'+      -- ^ @GET@+      -- HTTP GET+    | Head'+      -- ^ @HEAD@+      -- HTTP HEAD+    | Put'+      -- ^ @PUT@+      -- HTTP PUT+    | Delete'+      -- ^ @DELETE@+      -- HTTP DELETE+      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable AppEngineHTTPRequestHTTPMethod++instance FromHttpApiData AppEngineHTTPRequestHTTPMethod where+    parseQueryParam = \case+        "HTTP_METHOD_UNSPECIFIED" -> Right HTTPMethodUnspecified+        "POST" -> Right Post'+        "GET" -> Right Get'+        "HEAD" -> Right Head'+        "PUT" -> Right Put'+        "DELETE" -> Right Delete'+        x -> Left ("Unable to parse AppEngineHTTPRequestHTTPMethod from: " <> x)++instance ToHttpApiData AppEngineHTTPRequestHTTPMethod where+    toQueryParam = \case+        HTTPMethodUnspecified -> "HTTP_METHOD_UNSPECIFIED"+        Post' -> "POST"+        Get' -> "GET"+        Head' -> "HEAD"+        Put' -> "PUT"+        Delete' -> "DELETE"++instance FromJSON AppEngineHTTPRequestHTTPMethod where+    parseJSON = parseJSONText "AppEngineHTTPRequestHTTPMethod"++instance ToJSON AppEngineHTTPRequestHTTPMethod 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++-- | The response_view specifies which subset of the Task will be returned.+-- By default response_view is BASIC; not all information is retrieved by+-- default because some data, such as payloads, might be desirable to+-- return only when needed because of its large size or because of the+-- sensitivity of data that it contains. Authorization for FULL requires+-- \`cloudtasks.tasks.fullView\` [Google+-- IAM](https:\/\/cloud.google.com\/iam\/) permission on the Task resource.+data RunTaskRequestResponseView+    = RTRRVViewUnspecified+      -- ^ @VIEW_UNSPECIFIED@+      -- Unspecified. Defaults to BASIC.+    | RTRRVBasic+      -- ^ @BASIC@+      -- The basic view omits fields which can be large or can contain sensitive+      -- data. This view does not include the body in AppEngineHttpRequest.+      -- Bodies are desirable to return only when needed, because they can be+      -- large and because of the sensitivity of the data that you choose to+      -- store in it.+    | RTRRVFull+      -- ^ @FULL@+      -- All information is returned. Authorization for FULL requires+      -- \`cloudtasks.tasks.fullView\` [Google+      -- IAM](https:\/\/cloud.google.com\/iam\/) permission on the Queue+      -- resource.+      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable RunTaskRequestResponseView++instance FromHttpApiData RunTaskRequestResponseView where+    parseQueryParam = \case+        "VIEW_UNSPECIFIED" -> Right RTRRVViewUnspecified+        "BASIC" -> Right RTRRVBasic+        "FULL" -> Right RTRRVFull+        x -> Left ("Unable to parse RunTaskRequestResponseView from: " <> x)++instance ToHttpApiData RunTaskRequestResponseView where+    toQueryParam = \case+        RTRRVViewUnspecified -> "VIEW_UNSPECIFIED"+        RTRRVBasic -> "BASIC"+        RTRRVFull -> "FULL"++instance FromJSON RunTaskRequestResponseView where+    parseJSON = parseJSONText "RunTaskRequestResponseView"++instance ToJSON RunTaskRequestResponseView where+    toJSON = toJSONText
+ gen/Network/Google/Resource/CloudTasks/Projects/Locations/Get.hs view
@@ -0,0 +1,144 @@+{-# 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.CloudTasks.Projects.Locations.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 information about a location.+--+-- /See:/ <https://cloud.google.com/tasks/ Cloud Tasks API Reference> for @cloudtasks.projects.locations.get@.+module Network.Google.Resource.CloudTasks.Projects.Locations.Get+    (+    -- * REST Resource+      ProjectsLocationsGetResource++    -- * Creating a Request+    , projectsLocationsGet+    , ProjectsLocationsGet++    -- * Request Lenses+    , plgXgafv+    , plgUploadProtocol+    , plgAccessToken+    , plgUploadType+    , plgName+    , plgCallback+    ) where++import           Network.Google.CloudTasks.Types+import           Network.Google.Prelude++-- | A resource alias for @cloudtasks.projects.locations.get@ method which the+-- 'ProjectsLocationsGet' request conforms to.+type ProjectsLocationsGetResource =+     "v2beta3" :>+       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] Location++-- | Gets information about a location.+--+-- /See:/ 'projectsLocationsGet' smart constructor.+data ProjectsLocationsGet = ProjectsLocationsGet'+    { _plgXgafv          :: !(Maybe Xgafv)+    , _plgUploadProtocol :: !(Maybe Text)+    , _plgAccessToken    :: !(Maybe Text)+    , _plgUploadType     :: !(Maybe Text)+    , _plgName           :: !Text+    , _plgCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProjectsLocationsGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'plgXgafv'+--+-- * 'plgUploadProtocol'+--+-- * 'plgAccessToken'+--+-- * 'plgUploadType'+--+-- * 'plgName'+--+-- * 'plgCallback'+projectsLocationsGet+    :: Text -- ^ 'plgName'+    -> ProjectsLocationsGet+projectsLocationsGet pPlgName_ =+    ProjectsLocationsGet'+    { _plgXgafv = Nothing+    , _plgUploadProtocol = Nothing+    , _plgAccessToken = Nothing+    , _plgUploadType = Nothing+    , _plgName = pPlgName_+    , _plgCallback = Nothing+    }++-- | V1 error format.+plgXgafv :: Lens' ProjectsLocationsGet (Maybe Xgafv)+plgXgafv = lens _plgXgafv (\ s a -> s{_plgXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+plgUploadProtocol :: Lens' ProjectsLocationsGet (Maybe Text)+plgUploadProtocol+  = lens _plgUploadProtocol+      (\ s a -> s{_plgUploadProtocol = a})++-- | OAuth access token.+plgAccessToken :: Lens' ProjectsLocationsGet (Maybe Text)+plgAccessToken+  = lens _plgAccessToken+      (\ s a -> s{_plgAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+plgUploadType :: Lens' ProjectsLocationsGet (Maybe Text)+plgUploadType+  = lens _plgUploadType+      (\ s a -> s{_plgUploadType = a})++-- | Resource name for the location.+plgName :: Lens' ProjectsLocationsGet Text+plgName = lens _plgName (\ s a -> s{_plgName = a})++-- | JSONP+plgCallback :: Lens' ProjectsLocationsGet (Maybe Text)+plgCallback+  = lens _plgCallback (\ s a -> s{_plgCallback = a})++instance GoogleRequest ProjectsLocationsGet where+        type Rs ProjectsLocationsGet = Location+        type Scopes ProjectsLocationsGet =+             '["https://www.googleapis.com/auth/cloud-platform"]+        requestClient ProjectsLocationsGet'{..}+          = go _plgName _plgXgafv _plgUploadProtocol+              _plgAccessToken+              _plgUploadType+              _plgCallback+              (Just AltJSON)+              cloudTasksService+          where go+                  = buildClient+                      (Proxy :: Proxy ProjectsLocationsGetResource)+                      mempty
+ gen/Network/Google/Resource/CloudTasks/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.CloudTasks.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/tasks/ Cloud Tasks API Reference> for @cloudtasks.projects.locations.list@.+module Network.Google.Resource.CloudTasks.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.CloudTasks.Types+import           Network.Google.Prelude++-- | A resource alias for @cloudtasks.projects.locations.list@ method which the+-- 'ProjectsLocationsList' request conforms to.+type ProjectsLocationsListResource =+     "v2beta3" :>+       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)+              cloudTasksService+          where go+                  = buildClient+                      (Proxy :: Proxy ProjectsLocationsListResource)+                      mempty
+ gen/Network/Google/Resource/CloudTasks/Projects/Locations/Queues/Create.hs view
@@ -0,0 +1,179 @@+{-# 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.CloudTasks.Projects.Locations.Queues.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 queue. Queues created with this method allow tasks to live for+-- a maximum of 31 days. After a task is 31 days old, the task will be+-- deleted regardless of whether it was dispatched or not. WARNING: Using+-- this method may have unintended side effects if you are using an App+-- Engine \`queue.yaml\` or \`queue.xml\` file to manage your queues. Read+-- [Overview of Queue Management and+-- queue.yaml](https:\/\/cloud.google.com\/tasks\/docs\/queue-yaml) before+-- using this method.+--+-- /See:/ <https://cloud.google.com/tasks/ Cloud Tasks API Reference> for @cloudtasks.projects.locations.queues.create@.+module Network.Google.Resource.CloudTasks.Projects.Locations.Queues.Create+    (+    -- * REST Resource+      ProjectsLocationsQueuesCreateResource++    -- * Creating a Request+    , projectsLocationsQueuesCreate+    , ProjectsLocationsQueuesCreate++    -- * Request Lenses+    , plqcParent+    , plqcXgafv+    , plqcUploadProtocol+    , plqcAccessToken+    , plqcUploadType+    , plqcPayload+    , plqcCallback+    ) where++import           Network.Google.CloudTasks.Types+import           Network.Google.Prelude++-- | A resource alias for @cloudtasks.projects.locations.queues.create@ method which the+-- 'ProjectsLocationsQueuesCreate' request conforms to.+type ProjectsLocationsQueuesCreateResource =+     "v2beta3" :>+       Capture "parent" Text :>+         "queues" :>+           QueryParam "$.xgafv" Xgafv :>+             QueryParam "upload_protocol" Text :>+               QueryParam "access_token" Text :>+                 QueryParam "uploadType" Text :>+                   QueryParam "callback" Text :>+                     QueryParam "alt" AltJSON :>+                       ReqBody '[JSON] Queue :> Post '[JSON] Queue++-- | Creates a queue. Queues created with this method allow tasks to live for+-- a maximum of 31 days. After a task is 31 days old, the task will be+-- deleted regardless of whether it was dispatched or not. WARNING: Using+-- this method may have unintended side effects if you are using an App+-- Engine \`queue.yaml\` or \`queue.xml\` file to manage your queues. Read+-- [Overview of Queue Management and+-- queue.yaml](https:\/\/cloud.google.com\/tasks\/docs\/queue-yaml) before+-- using this method.+--+-- /See:/ 'projectsLocationsQueuesCreate' smart constructor.+data ProjectsLocationsQueuesCreate = ProjectsLocationsQueuesCreate'+    { _plqcParent         :: !Text+    , _plqcXgafv          :: !(Maybe Xgafv)+    , _plqcUploadProtocol :: !(Maybe Text)+    , _plqcAccessToken    :: !(Maybe Text)+    , _plqcUploadType     :: !(Maybe Text)+    , _plqcPayload        :: !Queue+    , _plqcCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProjectsLocationsQueuesCreate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'plqcParent'+--+-- * 'plqcXgafv'+--+-- * 'plqcUploadProtocol'+--+-- * 'plqcAccessToken'+--+-- * 'plqcUploadType'+--+-- * 'plqcPayload'+--+-- * 'plqcCallback'+projectsLocationsQueuesCreate+    :: Text -- ^ 'plqcParent'+    -> Queue -- ^ 'plqcPayload'+    -> ProjectsLocationsQueuesCreate+projectsLocationsQueuesCreate pPlqcParent_ pPlqcPayload_ =+    ProjectsLocationsQueuesCreate'+    { _plqcParent = pPlqcParent_+    , _plqcXgafv = Nothing+    , _plqcUploadProtocol = Nothing+    , _plqcAccessToken = Nothing+    , _plqcUploadType = Nothing+    , _plqcPayload = pPlqcPayload_+    , _plqcCallback = Nothing+    }++-- | Required. The location name in which the queue will be created. For+-- example: \`projects\/PROJECT_ID\/locations\/LOCATION_ID\` The list of+-- allowed locations can be obtained by calling Cloud Tasks\'+-- implementation of ListLocations.+plqcParent :: Lens' ProjectsLocationsQueuesCreate Text+plqcParent+  = lens _plqcParent (\ s a -> s{_plqcParent = a})++-- | V1 error format.+plqcXgafv :: Lens' ProjectsLocationsQueuesCreate (Maybe Xgafv)+plqcXgafv+  = lens _plqcXgafv (\ s a -> s{_plqcXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+plqcUploadProtocol :: Lens' ProjectsLocationsQueuesCreate (Maybe Text)+plqcUploadProtocol+  = lens _plqcUploadProtocol+      (\ s a -> s{_plqcUploadProtocol = a})++-- | OAuth access token.+plqcAccessToken :: Lens' ProjectsLocationsQueuesCreate (Maybe Text)+plqcAccessToken+  = lens _plqcAccessToken+      (\ s a -> s{_plqcAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+plqcUploadType :: Lens' ProjectsLocationsQueuesCreate (Maybe Text)+plqcUploadType+  = lens _plqcUploadType+      (\ s a -> s{_plqcUploadType = a})++-- | Multipart request metadata.+plqcPayload :: Lens' ProjectsLocationsQueuesCreate Queue+plqcPayload+  = lens _plqcPayload (\ s a -> s{_plqcPayload = a})++-- | JSONP+plqcCallback :: Lens' ProjectsLocationsQueuesCreate (Maybe Text)+plqcCallback+  = lens _plqcCallback (\ s a -> s{_plqcCallback = a})++instance GoogleRequest ProjectsLocationsQueuesCreate+         where+        type Rs ProjectsLocationsQueuesCreate = Queue+        type Scopes ProjectsLocationsQueuesCreate =+             '["https://www.googleapis.com/auth/cloud-platform"]+        requestClient ProjectsLocationsQueuesCreate'{..}+          = go _plqcParent _plqcXgafv _plqcUploadProtocol+              _plqcAccessToken+              _plqcUploadType+              _plqcCallback+              (Just AltJSON)+              _plqcPayload+              cloudTasksService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy ProjectsLocationsQueuesCreateResource)+                      mempty
+ gen/Network/Google/Resource/CloudTasks/Projects/Locations/Queues/Delete.hs view
@@ -0,0 +1,160 @@+{-# 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.CloudTasks.Projects.Locations.Queues.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 queue. This command will delete the queue even if it has tasks+-- in it. Note: If you delete a queue, a queue with the same name can\'t be+-- created for 7 days. WARNING: Using this method may have unintended side+-- effects if you are using an App Engine \`queue.yaml\` or \`queue.xml\`+-- file to manage your queues. Read [Overview of Queue Management and+-- queue.yaml](https:\/\/cloud.google.com\/tasks\/docs\/queue-yaml) before+-- using this method.+--+-- /See:/ <https://cloud.google.com/tasks/ Cloud Tasks API Reference> for @cloudtasks.projects.locations.queues.delete@.+module Network.Google.Resource.CloudTasks.Projects.Locations.Queues.Delete+    (+    -- * REST Resource+      ProjectsLocationsQueuesDeleteResource++    -- * Creating a Request+    , projectsLocationsQueuesDelete+    , ProjectsLocationsQueuesDelete++    -- * Request Lenses+    , plqdXgafv+    , plqdUploadProtocol+    , plqdAccessToken+    , plqdUploadType+    , plqdName+    , plqdCallback+    ) where++import           Network.Google.CloudTasks.Types+import           Network.Google.Prelude++-- | A resource alias for @cloudtasks.projects.locations.queues.delete@ method which the+-- 'ProjectsLocationsQueuesDelete' request conforms to.+type ProjectsLocationsQueuesDeleteResource =+     "v2beta3" :>+       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] Empty++-- | Deletes a queue. This command will delete the queue even if it has tasks+-- in it. Note: If you delete a queue, a queue with the same name can\'t be+-- created for 7 days. WARNING: Using this method may have unintended side+-- effects if you are using an App Engine \`queue.yaml\` or \`queue.xml\`+-- file to manage your queues. Read [Overview of Queue Management and+-- queue.yaml](https:\/\/cloud.google.com\/tasks\/docs\/queue-yaml) before+-- using this method.+--+-- /See:/ 'projectsLocationsQueuesDelete' smart constructor.+data ProjectsLocationsQueuesDelete = ProjectsLocationsQueuesDelete'+    { _plqdXgafv          :: !(Maybe Xgafv)+    , _plqdUploadProtocol :: !(Maybe Text)+    , _plqdAccessToken    :: !(Maybe Text)+    , _plqdUploadType     :: !(Maybe Text)+    , _plqdName           :: !Text+    , _plqdCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProjectsLocationsQueuesDelete' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'plqdXgafv'+--+-- * 'plqdUploadProtocol'+--+-- * 'plqdAccessToken'+--+-- * 'plqdUploadType'+--+-- * 'plqdName'+--+-- * 'plqdCallback'+projectsLocationsQueuesDelete+    :: Text -- ^ 'plqdName'+    -> ProjectsLocationsQueuesDelete+projectsLocationsQueuesDelete pPlqdName_ =+    ProjectsLocationsQueuesDelete'+    { _plqdXgafv = Nothing+    , _plqdUploadProtocol = Nothing+    , _plqdAccessToken = Nothing+    , _plqdUploadType = Nothing+    , _plqdName = pPlqdName_+    , _plqdCallback = Nothing+    }++-- | V1 error format.+plqdXgafv :: Lens' ProjectsLocationsQueuesDelete (Maybe Xgafv)+plqdXgafv+  = lens _plqdXgafv (\ s a -> s{_plqdXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+plqdUploadProtocol :: Lens' ProjectsLocationsQueuesDelete (Maybe Text)+plqdUploadProtocol+  = lens _plqdUploadProtocol+      (\ s a -> s{_plqdUploadProtocol = a})++-- | OAuth access token.+plqdAccessToken :: Lens' ProjectsLocationsQueuesDelete (Maybe Text)+plqdAccessToken+  = lens _plqdAccessToken+      (\ s a -> s{_plqdAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+plqdUploadType :: Lens' ProjectsLocationsQueuesDelete (Maybe Text)+plqdUploadType+  = lens _plqdUploadType+      (\ s a -> s{_plqdUploadType = a})++-- | Required. The queue name. For example:+-- \`projects\/PROJECT_ID\/locations\/LOCATION_ID\/queues\/QUEUE_ID\`+plqdName :: Lens' ProjectsLocationsQueuesDelete Text+plqdName = lens _plqdName (\ s a -> s{_plqdName = a})++-- | JSONP+plqdCallback :: Lens' ProjectsLocationsQueuesDelete (Maybe Text)+plqdCallback+  = lens _plqdCallback (\ s a -> s{_plqdCallback = a})++instance GoogleRequest ProjectsLocationsQueuesDelete+         where+        type Rs ProjectsLocationsQueuesDelete = Empty+        type Scopes ProjectsLocationsQueuesDelete =+             '["https://www.googleapis.com/auth/cloud-platform"]+        requestClient ProjectsLocationsQueuesDelete'{..}+          = go _plqdName _plqdXgafv _plqdUploadProtocol+              _plqdAccessToken+              _plqdUploadType+              _plqdCallback+              (Just AltJSON)+              cloudTasksService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy ProjectsLocationsQueuesDeleteResource)+                      mempty
+ gen/Network/Google/Resource/CloudTasks/Projects/Locations/Queues/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.CloudTasks.Projects.Locations.Queues.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 a queue.+--+-- /See:/ <https://cloud.google.com/tasks/ Cloud Tasks API Reference> for @cloudtasks.projects.locations.queues.get@.+module Network.Google.Resource.CloudTasks.Projects.Locations.Queues.Get+    (+    -- * REST Resource+      ProjectsLocationsQueuesGetResource++    -- * Creating a Request+    , projectsLocationsQueuesGet+    , ProjectsLocationsQueuesGet++    -- * Request Lenses+    , plqgXgafv+    , plqgUploadProtocol+    , plqgAccessToken+    , plqgUploadType+    , plqgName+    , plqgCallback+    ) where++import           Network.Google.CloudTasks.Types+import           Network.Google.Prelude++-- | A resource alias for @cloudtasks.projects.locations.queues.get@ method which the+-- 'ProjectsLocationsQueuesGet' request conforms to.+type ProjectsLocationsQueuesGetResource =+     "v2beta3" :>+       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] Queue++-- | Gets a queue.+--+-- /See:/ 'projectsLocationsQueuesGet' smart constructor.+data ProjectsLocationsQueuesGet = ProjectsLocationsQueuesGet'+    { _plqgXgafv          :: !(Maybe Xgafv)+    , _plqgUploadProtocol :: !(Maybe Text)+    , _plqgAccessToken    :: !(Maybe Text)+    , _plqgUploadType     :: !(Maybe Text)+    , _plqgName           :: !Text+    , _plqgCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProjectsLocationsQueuesGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'plqgXgafv'+--+-- * 'plqgUploadProtocol'+--+-- * 'plqgAccessToken'+--+-- * 'plqgUploadType'+--+-- * 'plqgName'+--+-- * 'plqgCallback'+projectsLocationsQueuesGet+    :: Text -- ^ 'plqgName'+    -> ProjectsLocationsQueuesGet+projectsLocationsQueuesGet pPlqgName_ =+    ProjectsLocationsQueuesGet'+    { _plqgXgafv = Nothing+    , _plqgUploadProtocol = Nothing+    , _plqgAccessToken = Nothing+    , _plqgUploadType = Nothing+    , _plqgName = pPlqgName_+    , _plqgCallback = Nothing+    }++-- | V1 error format.+plqgXgafv :: Lens' ProjectsLocationsQueuesGet (Maybe Xgafv)+plqgXgafv+  = lens _plqgXgafv (\ s a -> s{_plqgXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+plqgUploadProtocol :: Lens' ProjectsLocationsQueuesGet (Maybe Text)+plqgUploadProtocol+  = lens _plqgUploadProtocol+      (\ s a -> s{_plqgUploadProtocol = a})++-- | OAuth access token.+plqgAccessToken :: Lens' ProjectsLocationsQueuesGet (Maybe Text)+plqgAccessToken+  = lens _plqgAccessToken+      (\ s a -> s{_plqgAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+plqgUploadType :: Lens' ProjectsLocationsQueuesGet (Maybe Text)+plqgUploadType+  = lens _plqgUploadType+      (\ s a -> s{_plqgUploadType = a})++-- | Required. The resource name of the queue. For example:+-- \`projects\/PROJECT_ID\/locations\/LOCATION_ID\/queues\/QUEUE_ID\`+plqgName :: Lens' ProjectsLocationsQueuesGet Text+plqgName = lens _plqgName (\ s a -> s{_plqgName = a})++-- | JSONP+plqgCallback :: Lens' ProjectsLocationsQueuesGet (Maybe Text)+plqgCallback+  = lens _plqgCallback (\ s a -> s{_plqgCallback = a})++instance GoogleRequest ProjectsLocationsQueuesGet+         where+        type Rs ProjectsLocationsQueuesGet = Queue+        type Scopes ProjectsLocationsQueuesGet =+             '["https://www.googleapis.com/auth/cloud-platform"]+        requestClient ProjectsLocationsQueuesGet'{..}+          = go _plqgName _plqgXgafv _plqgUploadProtocol+              _plqgAccessToken+              _plqgUploadType+              _plqgCallback+              (Just AltJSON)+              cloudTasksService+          where go+                  = buildClient+                      (Proxy :: Proxy ProjectsLocationsQueuesGetResource)+                      mempty
+ gen/Network/Google/Resource/CloudTasks/Projects/Locations/Queues/GetIAMPolicy.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.CloudTasks.Projects.Locations.Queues.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 Queue. Returns an empty policy if+-- the resource exists and does not have a policy set. Authorization+-- requires the following [Google IAM](https:\/\/cloud.google.com\/iam)+-- permission on the specified resource parent: *+-- \`cloudtasks.queues.getIamPolicy\`+--+-- /See:/ <https://cloud.google.com/tasks/ Cloud Tasks API Reference> for @cloudtasks.projects.locations.queues.getIamPolicy@.+module Network.Google.Resource.CloudTasks.Projects.Locations.Queues.GetIAMPolicy+    (+    -- * REST Resource+      ProjectsLocationsQueuesGetIAMPolicyResource++    -- * Creating a Request+    , projectsLocationsQueuesGetIAMPolicy+    , ProjectsLocationsQueuesGetIAMPolicy++    -- * Request Lenses+    , plqgipXgafv+    , plqgipUploadProtocol+    , plqgipAccessToken+    , plqgipUploadType+    , plqgipPayload+    , plqgipResource+    , plqgipCallback+    ) where++import           Network.Google.CloudTasks.Types+import           Network.Google.Prelude++-- | A resource alias for @cloudtasks.projects.locations.queues.getIamPolicy@ method which the+-- 'ProjectsLocationsQueuesGetIAMPolicy' request conforms to.+type ProjectsLocationsQueuesGetIAMPolicyResource =+     "v2beta3" :>+       CaptureMode "resource" "getIamPolicy" Text :>+         QueryParam "$.xgafv" Xgafv :>+           QueryParam "upload_protocol" Text :>+             QueryParam "access_token" Text :>+               QueryParam "uploadType" Text :>+                 QueryParam "callback" Text :>+                   QueryParam "alt" AltJSON :>+                     ReqBody '[JSON] GetIAMPolicyRequest :>+                       Post '[JSON] Policy++-- | Gets the access control policy for a Queue. Returns an empty policy if+-- the resource exists and does not have a policy set. Authorization+-- requires the following [Google IAM](https:\/\/cloud.google.com\/iam)+-- permission on the specified resource parent: *+-- \`cloudtasks.queues.getIamPolicy\`+--+-- /See:/ 'projectsLocationsQueuesGetIAMPolicy' smart constructor.+data ProjectsLocationsQueuesGetIAMPolicy = ProjectsLocationsQueuesGetIAMPolicy'+    { _plqgipXgafv          :: !(Maybe Xgafv)+    , _plqgipUploadProtocol :: !(Maybe Text)+    , _plqgipAccessToken    :: !(Maybe Text)+    , _plqgipUploadType     :: !(Maybe Text)+    , _plqgipPayload        :: !GetIAMPolicyRequest+    , _plqgipResource       :: !Text+    , _plqgipCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProjectsLocationsQueuesGetIAMPolicy' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'plqgipXgafv'+--+-- * 'plqgipUploadProtocol'+--+-- * 'plqgipAccessToken'+--+-- * 'plqgipUploadType'+--+-- * 'plqgipPayload'+--+-- * 'plqgipResource'+--+-- * 'plqgipCallback'+projectsLocationsQueuesGetIAMPolicy+    :: GetIAMPolicyRequest -- ^ 'plqgipPayload'+    -> Text -- ^ 'plqgipResource'+    -> ProjectsLocationsQueuesGetIAMPolicy+projectsLocationsQueuesGetIAMPolicy pPlqgipPayload_ pPlqgipResource_ =+    ProjectsLocationsQueuesGetIAMPolicy'+    { _plqgipXgafv = Nothing+    , _plqgipUploadProtocol = Nothing+    , _plqgipAccessToken = Nothing+    , _plqgipUploadType = Nothing+    , _plqgipPayload = pPlqgipPayload_+    , _plqgipResource = pPlqgipResource_+    , _plqgipCallback = Nothing+    }++-- | V1 error format.+plqgipXgafv :: Lens' ProjectsLocationsQueuesGetIAMPolicy (Maybe Xgafv)+plqgipXgafv+  = lens _plqgipXgafv (\ s a -> s{_plqgipXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+plqgipUploadProtocol :: Lens' ProjectsLocationsQueuesGetIAMPolicy (Maybe Text)+plqgipUploadProtocol+  = lens _plqgipUploadProtocol+      (\ s a -> s{_plqgipUploadProtocol = a})++-- | OAuth access token.+plqgipAccessToken :: Lens' ProjectsLocationsQueuesGetIAMPolicy (Maybe Text)+plqgipAccessToken+  = lens _plqgipAccessToken+      (\ s a -> s{_plqgipAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+plqgipUploadType :: Lens' ProjectsLocationsQueuesGetIAMPolicy (Maybe Text)+plqgipUploadType+  = lens _plqgipUploadType+      (\ s a -> s{_plqgipUploadType = a})++-- | Multipart request metadata.+plqgipPayload :: Lens' ProjectsLocationsQueuesGetIAMPolicy GetIAMPolicyRequest+plqgipPayload+  = lens _plqgipPayload+      (\ s a -> s{_plqgipPayload = a})++-- | REQUIRED: The resource for which the policy is being requested. See the+-- operation documentation for the appropriate value for this field.+plqgipResource :: Lens' ProjectsLocationsQueuesGetIAMPolicy Text+plqgipResource+  = lens _plqgipResource+      (\ s a -> s{_plqgipResource = a})++-- | JSONP+plqgipCallback :: Lens' ProjectsLocationsQueuesGetIAMPolicy (Maybe Text)+plqgipCallback+  = lens _plqgipCallback+      (\ s a -> s{_plqgipCallback = a})++instance GoogleRequest+         ProjectsLocationsQueuesGetIAMPolicy where+        type Rs ProjectsLocationsQueuesGetIAMPolicy = Policy+        type Scopes ProjectsLocationsQueuesGetIAMPolicy =+             '["https://www.googleapis.com/auth/cloud-platform"]+        requestClient+          ProjectsLocationsQueuesGetIAMPolicy'{..}+          = go _plqgipResource _plqgipXgafv+              _plqgipUploadProtocol+              _plqgipAccessToken+              _plqgipUploadType+              _plqgipCallback+              (Just AltJSON)+              _plqgipPayload+              cloudTasksService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy ProjectsLocationsQueuesGetIAMPolicyResource)+                      mempty
+ gen/Network/Google/Resource/CloudTasks/Projects/Locations/Queues/List.hs view
@@ -0,0 +1,202 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.CloudTasks.Projects.Locations.Queues.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 queues. Queues are returned in lexicographical order.+--+-- /See:/ <https://cloud.google.com/tasks/ Cloud Tasks API Reference> for @cloudtasks.projects.locations.queues.list@.+module Network.Google.Resource.CloudTasks.Projects.Locations.Queues.List+    (+    -- * REST Resource+      ProjectsLocationsQueuesListResource++    -- * Creating a Request+    , projectsLocationsQueuesList+    , ProjectsLocationsQueuesList++    -- * Request Lenses+    , plqlParent+    , plqlXgafv+    , plqlUploadProtocol+    , plqlAccessToken+    , plqlUploadType+    , plqlFilter+    , plqlPageToken+    , plqlPageSize+    , plqlCallback+    ) where++import           Network.Google.CloudTasks.Types+import           Network.Google.Prelude++-- | A resource alias for @cloudtasks.projects.locations.queues.list@ method which the+-- 'ProjectsLocationsQueuesList' request conforms to.+type ProjectsLocationsQueuesListResource =+     "v2beta3" :>+       Capture "parent" Text :>+         "queues" :>+           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] ListQueuesResponse++-- | Lists queues. Queues are returned in lexicographical order.+--+-- /See:/ 'projectsLocationsQueuesList' smart constructor.+data ProjectsLocationsQueuesList = ProjectsLocationsQueuesList'+    { _plqlParent         :: !Text+    , _plqlXgafv          :: !(Maybe Xgafv)+    , _plqlUploadProtocol :: !(Maybe Text)+    , _plqlAccessToken    :: !(Maybe Text)+    , _plqlUploadType     :: !(Maybe Text)+    , _plqlFilter         :: !(Maybe Text)+    , _plqlPageToken      :: !(Maybe Text)+    , _plqlPageSize       :: !(Maybe (Textual Int32))+    , _plqlCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProjectsLocationsQueuesList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'plqlParent'+--+-- * 'plqlXgafv'+--+-- * 'plqlUploadProtocol'+--+-- * 'plqlAccessToken'+--+-- * 'plqlUploadType'+--+-- * 'plqlFilter'+--+-- * 'plqlPageToken'+--+-- * 'plqlPageSize'+--+-- * 'plqlCallback'+projectsLocationsQueuesList+    :: Text -- ^ 'plqlParent'+    -> ProjectsLocationsQueuesList+projectsLocationsQueuesList pPlqlParent_ =+    ProjectsLocationsQueuesList'+    { _plqlParent = pPlqlParent_+    , _plqlXgafv = Nothing+    , _plqlUploadProtocol = Nothing+    , _plqlAccessToken = Nothing+    , _plqlUploadType = Nothing+    , _plqlFilter = Nothing+    , _plqlPageToken = Nothing+    , _plqlPageSize = Nothing+    , _plqlCallback = Nothing+    }++-- | Required. The location name. For example:+-- \`projects\/PROJECT_ID\/locations\/LOCATION_ID\`+plqlParent :: Lens' ProjectsLocationsQueuesList Text+plqlParent+  = lens _plqlParent (\ s a -> s{_plqlParent = a})++-- | V1 error format.+plqlXgafv :: Lens' ProjectsLocationsQueuesList (Maybe Xgafv)+plqlXgafv+  = lens _plqlXgafv (\ s a -> s{_plqlXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+plqlUploadProtocol :: Lens' ProjectsLocationsQueuesList (Maybe Text)+plqlUploadProtocol+  = lens _plqlUploadProtocol+      (\ s a -> s{_plqlUploadProtocol = a})++-- | OAuth access token.+plqlAccessToken :: Lens' ProjectsLocationsQueuesList (Maybe Text)+plqlAccessToken+  = lens _plqlAccessToken+      (\ s a -> s{_plqlAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+plqlUploadType :: Lens' ProjectsLocationsQueuesList (Maybe Text)+plqlUploadType+  = lens _plqlUploadType+      (\ s a -> s{_plqlUploadType = a})++-- | \`filter\` can be used to specify a subset of queues. Any Queue field+-- can be used as a filter and several operators as supported. For example:+-- \`\<=, \<, >=, >, !=, =, :\`. The filter syntax is the same as described+-- in [Stackdriver\'s Advanced Logs+-- Filters](https:\/\/cloud.google.com\/logging\/docs\/view\/advanced_filters).+-- Sample filter \"state: PAUSED\". Note that using filters might cause+-- fewer queues than the requested page_size to be returned.+plqlFilter :: Lens' ProjectsLocationsQueuesList (Maybe Text)+plqlFilter+  = lens _plqlFilter (\ s a -> s{_plqlFilter = a})++-- | A token identifying the page of results to return. To request the first+-- page results, page_token must be empty. To request the next page of+-- results, page_token must be the value of next_page_token returned from+-- the previous call to ListQueues method. It is an error to switch the+-- value of the filter while iterating through pages.+plqlPageToken :: Lens' ProjectsLocationsQueuesList (Maybe Text)+plqlPageToken+  = lens _plqlPageToken+      (\ s a -> s{_plqlPageToken = a})++-- | Requested page size. The maximum page size is 9800. If unspecified, the+-- page size will be the maximum. Fewer queues than requested might be+-- returned, even if more queues exist; use the next_page_token in the+-- response to determine if more queues exist.+plqlPageSize :: Lens' ProjectsLocationsQueuesList (Maybe Int32)+plqlPageSize+  = lens _plqlPageSize (\ s a -> s{_plqlPageSize = a})+      . mapping _Coerce++-- | JSONP+plqlCallback :: Lens' ProjectsLocationsQueuesList (Maybe Text)+plqlCallback+  = lens _plqlCallback (\ s a -> s{_plqlCallback = a})++instance GoogleRequest ProjectsLocationsQueuesList+         where+        type Rs ProjectsLocationsQueuesList =+             ListQueuesResponse+        type Scopes ProjectsLocationsQueuesList =+             '["https://www.googleapis.com/auth/cloud-platform"]+        requestClient ProjectsLocationsQueuesList'{..}+          = go _plqlParent _plqlXgafv _plqlUploadProtocol+              _plqlAccessToken+              _plqlUploadType+              _plqlFilter+              _plqlPageToken+              _plqlPageSize+              _plqlCallback+              (Just AltJSON)+              cloudTasksService+          where go+                  = buildClient+                      (Proxy :: Proxy ProjectsLocationsQueuesListResource)+                      mempty
+ gen/Network/Google/Resource/CloudTasks/Projects/Locations/Queues/Patch.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.CloudTasks.Projects.Locations.Queues.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 a queue. This method creates the queue if it does not exist and+-- updates the queue if it does exist. Queues created with this method+-- allow tasks to live for a maximum of 31 days. After a task is 31 days+-- old, the task will be deleted regardless of whether it was dispatched or+-- not. WARNING: Using this method may have unintended side effects if you+-- are using an App Engine \`queue.yaml\` or \`queue.xml\` file to manage+-- your queues. Read [Overview of Queue Management and+-- queue.yaml](https:\/\/cloud.google.com\/tasks\/docs\/queue-yaml) before+-- using this method.+--+-- /See:/ <https://cloud.google.com/tasks/ Cloud Tasks API Reference> for @cloudtasks.projects.locations.queues.patch@.+module Network.Google.Resource.CloudTasks.Projects.Locations.Queues.Patch+    (+    -- * REST Resource+      ProjectsLocationsQueuesPatchResource++    -- * Creating a Request+    , projectsLocationsQueuesPatch+    , ProjectsLocationsQueuesPatch++    -- * Request Lenses+    , plqpXgafv+    , plqpUploadProtocol+    , plqpUpdateMask+    , plqpAccessToken+    , plqpUploadType+    , plqpPayload+    , plqpName+    , plqpCallback+    ) where++import           Network.Google.CloudTasks.Types+import           Network.Google.Prelude++-- | A resource alias for @cloudtasks.projects.locations.queues.patch@ method which the+-- 'ProjectsLocationsQueuesPatch' request conforms to.+type ProjectsLocationsQueuesPatchResource =+     "v2beta3" :>+       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] Queue :> Patch '[JSON] Queue++-- | Updates a queue. This method creates the queue if it does not exist and+-- updates the queue if it does exist. Queues created with this method+-- allow tasks to live for a maximum of 31 days. After a task is 31 days+-- old, the task will be deleted regardless of whether it was dispatched or+-- not. WARNING: Using this method may have unintended side effects if you+-- are using an App Engine \`queue.yaml\` or \`queue.xml\` file to manage+-- your queues. Read [Overview of Queue Management and+-- queue.yaml](https:\/\/cloud.google.com\/tasks\/docs\/queue-yaml) before+-- using this method.+--+-- /See:/ 'projectsLocationsQueuesPatch' smart constructor.+data ProjectsLocationsQueuesPatch = ProjectsLocationsQueuesPatch'+    { _plqpXgafv          :: !(Maybe Xgafv)+    , _plqpUploadProtocol :: !(Maybe Text)+    , _plqpUpdateMask     :: !(Maybe GFieldMask)+    , _plqpAccessToken    :: !(Maybe Text)+    , _plqpUploadType     :: !(Maybe Text)+    , _plqpPayload        :: !Queue+    , _plqpName           :: !Text+    , _plqpCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProjectsLocationsQueuesPatch' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'plqpXgafv'+--+-- * 'plqpUploadProtocol'+--+-- * 'plqpUpdateMask'+--+-- * 'plqpAccessToken'+--+-- * 'plqpUploadType'+--+-- * 'plqpPayload'+--+-- * 'plqpName'+--+-- * 'plqpCallback'+projectsLocationsQueuesPatch+    :: Queue -- ^ 'plqpPayload'+    -> Text -- ^ 'plqpName'+    -> ProjectsLocationsQueuesPatch+projectsLocationsQueuesPatch pPlqpPayload_ pPlqpName_ =+    ProjectsLocationsQueuesPatch'+    { _plqpXgafv = Nothing+    , _plqpUploadProtocol = Nothing+    , _plqpUpdateMask = Nothing+    , _plqpAccessToken = Nothing+    , _plqpUploadType = Nothing+    , _plqpPayload = pPlqpPayload_+    , _plqpName = pPlqpName_+    , _plqpCallback = Nothing+    }++-- | V1 error format.+plqpXgafv :: Lens' ProjectsLocationsQueuesPatch (Maybe Xgafv)+plqpXgafv+  = lens _plqpXgafv (\ s a -> s{_plqpXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+plqpUploadProtocol :: Lens' ProjectsLocationsQueuesPatch (Maybe Text)+plqpUploadProtocol+  = lens _plqpUploadProtocol+      (\ s a -> s{_plqpUploadProtocol = a})++-- | A mask used to specify which fields of the queue are being updated. If+-- empty, then all fields will be updated.+plqpUpdateMask :: Lens' ProjectsLocationsQueuesPatch (Maybe GFieldMask)+plqpUpdateMask+  = lens _plqpUpdateMask+      (\ s a -> s{_plqpUpdateMask = a})++-- | OAuth access token.+plqpAccessToken :: Lens' ProjectsLocationsQueuesPatch (Maybe Text)+plqpAccessToken+  = lens _plqpAccessToken+      (\ s a -> s{_plqpAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+plqpUploadType :: Lens' ProjectsLocationsQueuesPatch (Maybe Text)+plqpUploadType+  = lens _plqpUploadType+      (\ s a -> s{_plqpUploadType = a})++-- | Multipart request metadata.+plqpPayload :: Lens' ProjectsLocationsQueuesPatch Queue+plqpPayload+  = lens _plqpPayload (\ s a -> s{_plqpPayload = a})++-- | Caller-specified and required in CreateQueue, after which it becomes+-- output only. The queue name. The queue name must have the following+-- format:+-- \`projects\/PROJECT_ID\/locations\/LOCATION_ID\/queues\/QUEUE_ID\` *+-- \`PROJECT_ID\` can contain letters ([A-Za-z]), numbers ([0-9]), hyphens+-- (-), colons (:), or periods (.). For more information, see [Identifying+-- projects](https:\/\/cloud.google.com\/resource-manager\/docs\/creating-managing-projects#identifying_projects)+-- * \`LOCATION_ID\` is the canonical ID for the queue\'s location. The+-- list of available locations can be obtained by calling ListLocations.+-- For more information, see+-- https:\/\/cloud.google.com\/about\/locations\/. * \`QUEUE_ID\` can+-- contain letters ([A-Za-z]), numbers ([0-9]), or hyphens (-). The maximum+-- length is 100 characters.+plqpName :: Lens' ProjectsLocationsQueuesPatch Text+plqpName = lens _plqpName (\ s a -> s{_plqpName = a})++-- | JSONP+plqpCallback :: Lens' ProjectsLocationsQueuesPatch (Maybe Text)+plqpCallback+  = lens _plqpCallback (\ s a -> s{_plqpCallback = a})++instance GoogleRequest ProjectsLocationsQueuesPatch+         where+        type Rs ProjectsLocationsQueuesPatch = Queue+        type Scopes ProjectsLocationsQueuesPatch =+             '["https://www.googleapis.com/auth/cloud-platform"]+        requestClient ProjectsLocationsQueuesPatch'{..}+          = go _plqpName _plqpXgafv _plqpUploadProtocol+              _plqpUpdateMask+              _plqpAccessToken+              _plqpUploadType+              _plqpCallback+              (Just AltJSON)+              _plqpPayload+              cloudTasksService+          where go+                  = buildClient+                      (Proxy :: Proxy ProjectsLocationsQueuesPatchResource)+                      mempty
+ gen/Network/Google/Resource/CloudTasks/Projects/Locations/Queues/Pause.hs view
@@ -0,0 +1,166 @@+{-# 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.CloudTasks.Projects.Locations.Queues.Pause+-- 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)+--+-- Pauses the queue. If a queue is paused then the system will stop+-- dispatching tasks until the queue is resumed via ResumeQueue. Tasks can+-- still be added when the queue is paused. A queue is paused if its state+-- is PAUSED.+--+-- /See:/ <https://cloud.google.com/tasks/ Cloud Tasks API Reference> for @cloudtasks.projects.locations.queues.pause@.+module Network.Google.Resource.CloudTasks.Projects.Locations.Queues.Pause+    (+    -- * REST Resource+      ProjectsLocationsQueuesPauseResource++    -- * Creating a Request+    , projectsLocationsQueuesPause+    , ProjectsLocationsQueuesPause++    -- * Request Lenses+    , proXgafv+    , proUploadProtocol+    , proAccessToken+    , proUploadType+    , proPayload+    , proName+    , proCallback+    ) where++import           Network.Google.CloudTasks.Types+import           Network.Google.Prelude++-- | A resource alias for @cloudtasks.projects.locations.queues.pause@ method which the+-- 'ProjectsLocationsQueuesPause' request conforms to.+type ProjectsLocationsQueuesPauseResource =+     "v2beta3" :>+       CaptureMode "name" "pause" Text :>+         QueryParam "$.xgafv" Xgafv :>+           QueryParam "upload_protocol" Text :>+             QueryParam "access_token" Text :>+               QueryParam "uploadType" Text :>+                 QueryParam "callback" Text :>+                   QueryParam "alt" AltJSON :>+                     ReqBody '[JSON] PauseQueueRequest :>+                       Post '[JSON] Queue++-- | Pauses the queue. If a queue is paused then the system will stop+-- dispatching tasks until the queue is resumed via ResumeQueue. Tasks can+-- still be added when the queue is paused. A queue is paused if its state+-- is PAUSED.+--+-- /See:/ 'projectsLocationsQueuesPause' smart constructor.+data ProjectsLocationsQueuesPause = ProjectsLocationsQueuesPause'+    { _proXgafv          :: !(Maybe Xgafv)+    , _proUploadProtocol :: !(Maybe Text)+    , _proAccessToken    :: !(Maybe Text)+    , _proUploadType     :: !(Maybe Text)+    , _proPayload        :: !PauseQueueRequest+    , _proName           :: !Text+    , _proCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProjectsLocationsQueuesPause' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'proXgafv'+--+-- * 'proUploadProtocol'+--+-- * 'proAccessToken'+--+-- * 'proUploadType'+--+-- * 'proPayload'+--+-- * 'proName'+--+-- * 'proCallback'+projectsLocationsQueuesPause+    :: PauseQueueRequest -- ^ 'proPayload'+    -> Text -- ^ 'proName'+    -> ProjectsLocationsQueuesPause+projectsLocationsQueuesPause pProPayload_ pProName_ =+    ProjectsLocationsQueuesPause'+    { _proXgafv = Nothing+    , _proUploadProtocol = Nothing+    , _proAccessToken = Nothing+    , _proUploadType = Nothing+    , _proPayload = pProPayload_+    , _proName = pProName_+    , _proCallback = Nothing+    }++-- | V1 error format.+proXgafv :: Lens' ProjectsLocationsQueuesPause (Maybe Xgafv)+proXgafv = lens _proXgafv (\ s a -> s{_proXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+proUploadProtocol :: Lens' ProjectsLocationsQueuesPause (Maybe Text)+proUploadProtocol+  = lens _proUploadProtocol+      (\ s a -> s{_proUploadProtocol = a})++-- | OAuth access token.+proAccessToken :: Lens' ProjectsLocationsQueuesPause (Maybe Text)+proAccessToken+  = lens _proAccessToken+      (\ s a -> s{_proAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+proUploadType :: Lens' ProjectsLocationsQueuesPause (Maybe Text)+proUploadType+  = lens _proUploadType+      (\ s a -> s{_proUploadType = a})++-- | Multipart request metadata.+proPayload :: Lens' ProjectsLocationsQueuesPause PauseQueueRequest+proPayload+  = lens _proPayload (\ s a -> s{_proPayload = a})++-- | Required. The queue name. For example:+-- \`projects\/PROJECT_ID\/location\/LOCATION_ID\/queues\/QUEUE_ID\`+proName :: Lens' ProjectsLocationsQueuesPause Text+proName = lens _proName (\ s a -> s{_proName = a})++-- | JSONP+proCallback :: Lens' ProjectsLocationsQueuesPause (Maybe Text)+proCallback+  = lens _proCallback (\ s a -> s{_proCallback = a})++instance GoogleRequest ProjectsLocationsQueuesPause+         where+        type Rs ProjectsLocationsQueuesPause = Queue+        type Scopes ProjectsLocationsQueuesPause =+             '["https://www.googleapis.com/auth/cloud-platform"]+        requestClient ProjectsLocationsQueuesPause'{..}+          = go _proName _proXgafv _proUploadProtocol+              _proAccessToken+              _proUploadType+              _proCallback+              (Just AltJSON)+              _proPayload+              cloudTasksService+          where go+                  = buildClient+                      (Proxy :: Proxy ProjectsLocationsQueuesPauseResource)+                      mempty
+ gen/Network/Google/Resource/CloudTasks/Projects/Locations/Queues/Purge.hs view
@@ -0,0 +1,162 @@+{-# 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.CloudTasks.Projects.Locations.Queues.Purge+-- 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)+--+-- Purges a queue by deleting all of its tasks. All tasks created before+-- this method is called are permanently deleted. Purge operations can take+-- up to one minute to take effect. Tasks might be dispatched before the+-- purge takes effect. A purge is irreversible.+--+-- /See:/ <https://cloud.google.com/tasks/ Cloud Tasks API Reference> for @cloudtasks.projects.locations.queues.purge@.+module Network.Google.Resource.CloudTasks.Projects.Locations.Queues.Purge+    (+    -- * REST Resource+      ProjectsLocationsQueuesPurgeResource++    -- * Creating a Request+    , projectsLocationsQueuesPurge+    , ProjectsLocationsQueuesPurge++    -- * Request Lenses+    , pXgafv+    , pUploadProtocol+    , pAccessToken+    , pUploadType+    , pPayload+    , pName+    , pCallback+    ) where++import           Network.Google.CloudTasks.Types+import           Network.Google.Prelude++-- | A resource alias for @cloudtasks.projects.locations.queues.purge@ method which the+-- 'ProjectsLocationsQueuesPurge' request conforms to.+type ProjectsLocationsQueuesPurgeResource =+     "v2beta3" :>+       CaptureMode "name" "purge" Text :>+         QueryParam "$.xgafv" Xgafv :>+           QueryParam "upload_protocol" Text :>+             QueryParam "access_token" Text :>+               QueryParam "uploadType" Text :>+                 QueryParam "callback" Text :>+                   QueryParam "alt" AltJSON :>+                     ReqBody '[JSON] PurgeQueueRequest :>+                       Post '[JSON] Queue++-- | Purges a queue by deleting all of its tasks. All tasks created before+-- this method is called are permanently deleted. Purge operations can take+-- up to one minute to take effect. Tasks might be dispatched before the+-- purge takes effect. A purge is irreversible.+--+-- /See:/ 'projectsLocationsQueuesPurge' smart constructor.+data ProjectsLocationsQueuesPurge = ProjectsLocationsQueuesPurge'+    { _pXgafv          :: !(Maybe Xgafv)+    , _pUploadProtocol :: !(Maybe Text)+    , _pAccessToken    :: !(Maybe Text)+    , _pUploadType     :: !(Maybe Text)+    , _pPayload        :: !PurgeQueueRequest+    , _pName           :: !Text+    , _pCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProjectsLocationsQueuesPurge' 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'+projectsLocationsQueuesPurge+    :: PurgeQueueRequest -- ^ 'pPayload'+    -> Text -- ^ 'pName'+    -> ProjectsLocationsQueuesPurge+projectsLocationsQueuesPurge pPPayload_ pPName_ =+    ProjectsLocationsQueuesPurge'+    { _pXgafv = Nothing+    , _pUploadProtocol = Nothing+    , _pAccessToken = Nothing+    , _pUploadType = Nothing+    , _pPayload = pPPayload_+    , _pName = pPName_+    , _pCallback = Nothing+    }++-- | V1 error format.+pXgafv :: Lens' ProjectsLocationsQueuesPurge (Maybe Xgafv)+pXgafv = lens _pXgafv (\ s a -> s{_pXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+pUploadProtocol :: Lens' ProjectsLocationsQueuesPurge (Maybe Text)+pUploadProtocol+  = lens _pUploadProtocol+      (\ s a -> s{_pUploadProtocol = a})++-- | OAuth access token.+pAccessToken :: Lens' ProjectsLocationsQueuesPurge (Maybe Text)+pAccessToken+  = lens _pAccessToken (\ s a -> s{_pAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+pUploadType :: Lens' ProjectsLocationsQueuesPurge (Maybe Text)+pUploadType+  = lens _pUploadType (\ s a -> s{_pUploadType = a})++-- | Multipart request metadata.+pPayload :: Lens' ProjectsLocationsQueuesPurge PurgeQueueRequest+pPayload = lens _pPayload (\ s a -> s{_pPayload = a})++-- | Required. The queue name. For example:+-- \`projects\/PROJECT_ID\/location\/LOCATION_ID\/queues\/QUEUE_ID\`+pName :: Lens' ProjectsLocationsQueuesPurge Text+pName = lens _pName (\ s a -> s{_pName = a})++-- | JSONP+pCallback :: Lens' ProjectsLocationsQueuesPurge (Maybe Text)+pCallback+  = lens _pCallback (\ s a -> s{_pCallback = a})++instance GoogleRequest ProjectsLocationsQueuesPurge+         where+        type Rs ProjectsLocationsQueuesPurge = Queue+        type Scopes ProjectsLocationsQueuesPurge =+             '["https://www.googleapis.com/auth/cloud-platform"]+        requestClient ProjectsLocationsQueuesPurge'{..}+          = go _pName _pXgafv _pUploadProtocol _pAccessToken+              _pUploadType+              _pCallback+              (Just AltJSON)+              _pPayload+              cloudTasksService+          where go+                  = buildClient+                      (Proxy :: Proxy ProjectsLocationsQueuesPurgeResource)+                      mempty
+ gen/Network/Google/Resource/CloudTasks/Projects/Locations/Queues/Resume.hs view
@@ -0,0 +1,174 @@+{-# 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.CloudTasks.Projects.Locations.Queues.Resume+-- 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)+--+-- Resume a queue. This method resumes a queue after it has been PAUSED or+-- DISABLED. The state of a queue is stored in the queue\'s state; after+-- calling this method it will be set to RUNNING. WARNING: Resuming many+-- high-QPS queues at the same time can lead to target overloading. If you+-- are resuming high-QPS queues, follow the 500\/50\/5 pattern described in+-- [Managing Cloud Tasks Scaling+-- Risks](https:\/\/cloud.google.com\/tasks\/docs\/manage-cloud-task-scaling).+--+-- /See:/ <https://cloud.google.com/tasks/ Cloud Tasks API Reference> for @cloudtasks.projects.locations.queues.resume@.+module Network.Google.Resource.CloudTasks.Projects.Locations.Queues.Resume+    (+    -- * REST Resource+      ProjectsLocationsQueuesResumeResource++    -- * Creating a Request+    , projectsLocationsQueuesResume+    , ProjectsLocationsQueuesResume++    -- * Request Lenses+    , plqrXgafv+    , plqrUploadProtocol+    , plqrAccessToken+    , plqrUploadType+    , plqrPayload+    , plqrName+    , plqrCallback+    ) where++import           Network.Google.CloudTasks.Types+import           Network.Google.Prelude++-- | A resource alias for @cloudtasks.projects.locations.queues.resume@ method which the+-- 'ProjectsLocationsQueuesResume' request conforms to.+type ProjectsLocationsQueuesResumeResource =+     "v2beta3" :>+       CaptureMode "name" "resume" Text :>+         QueryParam "$.xgafv" Xgafv :>+           QueryParam "upload_protocol" Text :>+             QueryParam "access_token" Text :>+               QueryParam "uploadType" Text :>+                 QueryParam "callback" Text :>+                   QueryParam "alt" AltJSON :>+                     ReqBody '[JSON] ResumeQueueRequest :>+                       Post '[JSON] Queue++-- | Resume a queue. This method resumes a queue after it has been PAUSED or+-- DISABLED. The state of a queue is stored in the queue\'s state; after+-- calling this method it will be set to RUNNING. WARNING: Resuming many+-- high-QPS queues at the same time can lead to target overloading. If you+-- are resuming high-QPS queues, follow the 500\/50\/5 pattern described in+-- [Managing Cloud Tasks Scaling+-- Risks](https:\/\/cloud.google.com\/tasks\/docs\/manage-cloud-task-scaling).+--+-- /See:/ 'projectsLocationsQueuesResume' smart constructor.+data ProjectsLocationsQueuesResume = ProjectsLocationsQueuesResume'+    { _plqrXgafv          :: !(Maybe Xgafv)+    , _plqrUploadProtocol :: !(Maybe Text)+    , _plqrAccessToken    :: !(Maybe Text)+    , _plqrUploadType     :: !(Maybe Text)+    , _plqrPayload        :: !ResumeQueueRequest+    , _plqrName           :: !Text+    , _plqrCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProjectsLocationsQueuesResume' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'plqrXgafv'+--+-- * 'plqrUploadProtocol'+--+-- * 'plqrAccessToken'+--+-- * 'plqrUploadType'+--+-- * 'plqrPayload'+--+-- * 'plqrName'+--+-- * 'plqrCallback'+projectsLocationsQueuesResume+    :: ResumeQueueRequest -- ^ 'plqrPayload'+    -> Text -- ^ 'plqrName'+    -> ProjectsLocationsQueuesResume+projectsLocationsQueuesResume pPlqrPayload_ pPlqrName_ =+    ProjectsLocationsQueuesResume'+    { _plqrXgafv = Nothing+    , _plqrUploadProtocol = Nothing+    , _plqrAccessToken = Nothing+    , _plqrUploadType = Nothing+    , _plqrPayload = pPlqrPayload_+    , _plqrName = pPlqrName_+    , _plqrCallback = Nothing+    }++-- | V1 error format.+plqrXgafv :: Lens' ProjectsLocationsQueuesResume (Maybe Xgafv)+plqrXgafv+  = lens _plqrXgafv (\ s a -> s{_plqrXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+plqrUploadProtocol :: Lens' ProjectsLocationsQueuesResume (Maybe Text)+plqrUploadProtocol+  = lens _plqrUploadProtocol+      (\ s a -> s{_plqrUploadProtocol = a})++-- | OAuth access token.+plqrAccessToken :: Lens' ProjectsLocationsQueuesResume (Maybe Text)+plqrAccessToken+  = lens _plqrAccessToken+      (\ s a -> s{_plqrAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+plqrUploadType :: Lens' ProjectsLocationsQueuesResume (Maybe Text)+plqrUploadType+  = lens _plqrUploadType+      (\ s a -> s{_plqrUploadType = a})++-- | Multipart request metadata.+plqrPayload :: Lens' ProjectsLocationsQueuesResume ResumeQueueRequest+plqrPayload+  = lens _plqrPayload (\ s a -> s{_plqrPayload = a})++-- | Required. The queue name. For example:+-- \`projects\/PROJECT_ID\/location\/LOCATION_ID\/queues\/QUEUE_ID\`+plqrName :: Lens' ProjectsLocationsQueuesResume Text+plqrName = lens _plqrName (\ s a -> s{_plqrName = a})++-- | JSONP+plqrCallback :: Lens' ProjectsLocationsQueuesResume (Maybe Text)+plqrCallback+  = lens _plqrCallback (\ s a -> s{_plqrCallback = a})++instance GoogleRequest ProjectsLocationsQueuesResume+         where+        type Rs ProjectsLocationsQueuesResume = Queue+        type Scopes ProjectsLocationsQueuesResume =+             '["https://www.googleapis.com/auth/cloud-platform"]+        requestClient ProjectsLocationsQueuesResume'{..}+          = go _plqrName _plqrXgafv _plqrUploadProtocol+              _plqrAccessToken+              _plqrUploadType+              _plqrCallback+              (Just AltJSON)+              _plqrPayload+              cloudTasksService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy ProjectsLocationsQueuesResumeResource)+                      mempty
+ gen/Network/Google/Resource/CloudTasks/Projects/Locations/Queues/SetIAMPolicy.hs view
@@ -0,0 +1,178 @@+{-# 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.CloudTasks.Projects.Locations.Queues.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 for a Queue. Replaces any existing+-- policy. Note: The Cloud Console does not check queue-level IAM+-- permissions yet. Project-level permissions are required to use the Cloud+-- Console. Authorization requires the following [Google+-- IAM](https:\/\/cloud.google.com\/iam) permission on the specified+-- resource parent: * \`cloudtasks.queues.setIamPolicy\`+--+-- /See:/ <https://cloud.google.com/tasks/ Cloud Tasks API Reference> for @cloudtasks.projects.locations.queues.setIamPolicy@.+module Network.Google.Resource.CloudTasks.Projects.Locations.Queues.SetIAMPolicy+    (+    -- * REST Resource+      ProjectsLocationsQueuesSetIAMPolicyResource++    -- * Creating a Request+    , projectsLocationsQueuesSetIAMPolicy+    , ProjectsLocationsQueuesSetIAMPolicy++    -- * Request Lenses+    , plqsipXgafv+    , plqsipUploadProtocol+    , plqsipAccessToken+    , plqsipUploadType+    , plqsipPayload+    , plqsipResource+    , plqsipCallback+    ) where++import           Network.Google.CloudTasks.Types+import           Network.Google.Prelude++-- | A resource alias for @cloudtasks.projects.locations.queues.setIamPolicy@ method which the+-- 'ProjectsLocationsQueuesSetIAMPolicy' request conforms to.+type ProjectsLocationsQueuesSetIAMPolicyResource =+     "v2beta3" :>+       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 for a Queue. Replaces any existing+-- policy. Note: The Cloud Console does not check queue-level IAM+-- permissions yet. Project-level permissions are required to use the Cloud+-- Console. Authorization requires the following [Google+-- IAM](https:\/\/cloud.google.com\/iam) permission on the specified+-- resource parent: * \`cloudtasks.queues.setIamPolicy\`+--+-- /See:/ 'projectsLocationsQueuesSetIAMPolicy' smart constructor.+data ProjectsLocationsQueuesSetIAMPolicy = ProjectsLocationsQueuesSetIAMPolicy'+    { _plqsipXgafv          :: !(Maybe Xgafv)+    , _plqsipUploadProtocol :: !(Maybe Text)+    , _plqsipAccessToken    :: !(Maybe Text)+    , _plqsipUploadType     :: !(Maybe Text)+    , _plqsipPayload        :: !SetIAMPolicyRequest+    , _plqsipResource       :: !Text+    , _plqsipCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProjectsLocationsQueuesSetIAMPolicy' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'plqsipXgafv'+--+-- * 'plqsipUploadProtocol'+--+-- * 'plqsipAccessToken'+--+-- * 'plqsipUploadType'+--+-- * 'plqsipPayload'+--+-- * 'plqsipResource'+--+-- * 'plqsipCallback'+projectsLocationsQueuesSetIAMPolicy+    :: SetIAMPolicyRequest -- ^ 'plqsipPayload'+    -> Text -- ^ 'plqsipResource'+    -> ProjectsLocationsQueuesSetIAMPolicy+projectsLocationsQueuesSetIAMPolicy pPlqsipPayload_ pPlqsipResource_ =+    ProjectsLocationsQueuesSetIAMPolicy'+    { _plqsipXgafv = Nothing+    , _plqsipUploadProtocol = Nothing+    , _plqsipAccessToken = Nothing+    , _plqsipUploadType = Nothing+    , _plqsipPayload = pPlqsipPayload_+    , _plqsipResource = pPlqsipResource_+    , _plqsipCallback = Nothing+    }++-- | V1 error format.+plqsipXgafv :: Lens' ProjectsLocationsQueuesSetIAMPolicy (Maybe Xgafv)+plqsipXgafv+  = lens _plqsipXgafv (\ s a -> s{_plqsipXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+plqsipUploadProtocol :: Lens' ProjectsLocationsQueuesSetIAMPolicy (Maybe Text)+plqsipUploadProtocol+  = lens _plqsipUploadProtocol+      (\ s a -> s{_plqsipUploadProtocol = a})++-- | OAuth access token.+plqsipAccessToken :: Lens' ProjectsLocationsQueuesSetIAMPolicy (Maybe Text)+plqsipAccessToken+  = lens _plqsipAccessToken+      (\ s a -> s{_plqsipAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+plqsipUploadType :: Lens' ProjectsLocationsQueuesSetIAMPolicy (Maybe Text)+plqsipUploadType+  = lens _plqsipUploadType+      (\ s a -> s{_plqsipUploadType = a})++-- | Multipart request metadata.+plqsipPayload :: Lens' ProjectsLocationsQueuesSetIAMPolicy SetIAMPolicyRequest+plqsipPayload+  = lens _plqsipPayload+      (\ s a -> s{_plqsipPayload = a})++-- | REQUIRED: The resource for which the policy is being specified. See the+-- operation documentation for the appropriate value for this field.+plqsipResource :: Lens' ProjectsLocationsQueuesSetIAMPolicy Text+plqsipResource+  = lens _plqsipResource+      (\ s a -> s{_plqsipResource = a})++-- | JSONP+plqsipCallback :: Lens' ProjectsLocationsQueuesSetIAMPolicy (Maybe Text)+plqsipCallback+  = lens _plqsipCallback+      (\ s a -> s{_plqsipCallback = a})++instance GoogleRequest+         ProjectsLocationsQueuesSetIAMPolicy where+        type Rs ProjectsLocationsQueuesSetIAMPolicy = Policy+        type Scopes ProjectsLocationsQueuesSetIAMPolicy =+             '["https://www.googleapis.com/auth/cloud-platform"]+        requestClient+          ProjectsLocationsQueuesSetIAMPolicy'{..}+          = go _plqsipResource _plqsipXgafv+              _plqsipUploadProtocol+              _plqsipAccessToken+              _plqsipUploadType+              _plqsipCallback+              (Just AltJSON)+              _plqsipPayload+              cloudTasksService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy ProjectsLocationsQueuesSetIAMPolicyResource)+                      mempty
+ gen/Network/Google/Resource/CloudTasks/Projects/Locations/Queues/Tasks/Create.hs view
@@ -0,0 +1,170 @@+{-# 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.CloudTasks.Projects.Locations.Queues.Tasks.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 task and adds it to a queue. Tasks cannot be updated after+-- creation; there is no UpdateTask command. * For App Engine queues, the+-- maximum task size is 100KB.+--+-- /See:/ <https://cloud.google.com/tasks/ Cloud Tasks API Reference> for @cloudtasks.projects.locations.queues.tasks.create@.+module Network.Google.Resource.CloudTasks.Projects.Locations.Queues.Tasks.Create+    (+    -- * REST Resource+      ProjectsLocationsQueuesTasksCreateResource++    -- * Creating a Request+    , projectsLocationsQueuesTasksCreate+    , ProjectsLocationsQueuesTasksCreate++    -- * Request Lenses+    , plqtcParent+    , plqtcXgafv+    , plqtcUploadProtocol+    , plqtcAccessToken+    , plqtcUploadType+    , plqtcPayload+    , plqtcCallback+    ) where++import           Network.Google.CloudTasks.Types+import           Network.Google.Prelude++-- | A resource alias for @cloudtasks.projects.locations.queues.tasks.create@ method which the+-- 'ProjectsLocationsQueuesTasksCreate' request conforms to.+type ProjectsLocationsQueuesTasksCreateResource =+     "v2beta3" :>+       Capture "parent" Text :>+         "tasks" :>+           QueryParam "$.xgafv" Xgafv :>+             QueryParam "upload_protocol" Text :>+               QueryParam "access_token" Text :>+                 QueryParam "uploadType" Text :>+                   QueryParam "callback" Text :>+                     QueryParam "alt" AltJSON :>+                       ReqBody '[JSON] CreateTaskRequest :>+                         Post '[JSON] Task++-- | Creates a task and adds it to a queue. Tasks cannot be updated after+-- creation; there is no UpdateTask command. * For App Engine queues, the+-- maximum task size is 100KB.+--+-- /See:/ 'projectsLocationsQueuesTasksCreate' smart constructor.+data ProjectsLocationsQueuesTasksCreate = ProjectsLocationsQueuesTasksCreate'+    { _plqtcParent         :: !Text+    , _plqtcXgafv          :: !(Maybe Xgafv)+    , _plqtcUploadProtocol :: !(Maybe Text)+    , _plqtcAccessToken    :: !(Maybe Text)+    , _plqtcUploadType     :: !(Maybe Text)+    , _plqtcPayload        :: !CreateTaskRequest+    , _plqtcCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProjectsLocationsQueuesTasksCreate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'plqtcParent'+--+-- * 'plqtcXgafv'+--+-- * 'plqtcUploadProtocol'+--+-- * 'plqtcAccessToken'+--+-- * 'plqtcUploadType'+--+-- * 'plqtcPayload'+--+-- * 'plqtcCallback'+projectsLocationsQueuesTasksCreate+    :: Text -- ^ 'plqtcParent'+    -> CreateTaskRequest -- ^ 'plqtcPayload'+    -> ProjectsLocationsQueuesTasksCreate+projectsLocationsQueuesTasksCreate pPlqtcParent_ pPlqtcPayload_ =+    ProjectsLocationsQueuesTasksCreate'+    { _plqtcParent = pPlqtcParent_+    , _plqtcXgafv = Nothing+    , _plqtcUploadProtocol = Nothing+    , _plqtcAccessToken = Nothing+    , _plqtcUploadType = Nothing+    , _plqtcPayload = pPlqtcPayload_+    , _plqtcCallback = Nothing+    }++-- | Required. The queue name. For example:+-- \`projects\/PROJECT_ID\/locations\/LOCATION_ID\/queues\/QUEUE_ID\` The+-- queue must already exist.+plqtcParent :: Lens' ProjectsLocationsQueuesTasksCreate Text+plqtcParent+  = lens _plqtcParent (\ s a -> s{_plqtcParent = a})++-- | V1 error format.+plqtcXgafv :: Lens' ProjectsLocationsQueuesTasksCreate (Maybe Xgafv)+plqtcXgafv+  = lens _plqtcXgafv (\ s a -> s{_plqtcXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+plqtcUploadProtocol :: Lens' ProjectsLocationsQueuesTasksCreate (Maybe Text)+plqtcUploadProtocol+  = lens _plqtcUploadProtocol+      (\ s a -> s{_plqtcUploadProtocol = a})++-- | OAuth access token.+plqtcAccessToken :: Lens' ProjectsLocationsQueuesTasksCreate (Maybe Text)+plqtcAccessToken+  = lens _plqtcAccessToken+      (\ s a -> s{_plqtcAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+plqtcUploadType :: Lens' ProjectsLocationsQueuesTasksCreate (Maybe Text)+plqtcUploadType+  = lens _plqtcUploadType+      (\ s a -> s{_plqtcUploadType = a})++-- | Multipart request metadata.+plqtcPayload :: Lens' ProjectsLocationsQueuesTasksCreate CreateTaskRequest+plqtcPayload+  = lens _plqtcPayload (\ s a -> s{_plqtcPayload = a})++-- | JSONP+plqtcCallback :: Lens' ProjectsLocationsQueuesTasksCreate (Maybe Text)+plqtcCallback+  = lens _plqtcCallback+      (\ s a -> s{_plqtcCallback = a})++instance GoogleRequest+         ProjectsLocationsQueuesTasksCreate where+        type Rs ProjectsLocationsQueuesTasksCreate = Task+        type Scopes ProjectsLocationsQueuesTasksCreate =+             '["https://www.googleapis.com/auth/cloud-platform"]+        requestClient ProjectsLocationsQueuesTasksCreate'{..}+          = go _plqtcParent _plqtcXgafv _plqtcUploadProtocol+              _plqtcAccessToken+              _plqtcUploadType+              _plqtcCallback+              (Just AltJSON)+              _plqtcPayload+              cloudTasksService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy ProjectsLocationsQueuesTasksCreateResource)+                      mempty
+ gen/Network/Google/Resource/CloudTasks/Projects/Locations/Queues/Tasks/Delete.hs view
@@ -0,0 +1,154 @@+{-# 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.CloudTasks.Projects.Locations.Queues.Tasks.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 task. A task can be deleted if it is scheduled or dispatched.+-- A task cannot be deleted if it has executed successfully or permanently+-- failed.+--+-- /See:/ <https://cloud.google.com/tasks/ Cloud Tasks API Reference> for @cloudtasks.projects.locations.queues.tasks.delete@.+module Network.Google.Resource.CloudTasks.Projects.Locations.Queues.Tasks.Delete+    (+    -- * REST Resource+      ProjectsLocationsQueuesTasksDeleteResource++    -- * Creating a Request+    , projectsLocationsQueuesTasksDelete+    , ProjectsLocationsQueuesTasksDelete++    -- * Request Lenses+    , plqtdXgafv+    , plqtdUploadProtocol+    , plqtdAccessToken+    , plqtdUploadType+    , plqtdName+    , plqtdCallback+    ) where++import           Network.Google.CloudTasks.Types+import           Network.Google.Prelude++-- | A resource alias for @cloudtasks.projects.locations.queues.tasks.delete@ method which the+-- 'ProjectsLocationsQueuesTasksDelete' request conforms to.+type ProjectsLocationsQueuesTasksDeleteResource =+     "v2beta3" :>+       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] Empty++-- | Deletes a task. A task can be deleted if it is scheduled or dispatched.+-- A task cannot be deleted if it has executed successfully or permanently+-- failed.+--+-- /See:/ 'projectsLocationsQueuesTasksDelete' smart constructor.+data ProjectsLocationsQueuesTasksDelete = ProjectsLocationsQueuesTasksDelete'+    { _plqtdXgafv          :: !(Maybe Xgafv)+    , _plqtdUploadProtocol :: !(Maybe Text)+    , _plqtdAccessToken    :: !(Maybe Text)+    , _plqtdUploadType     :: !(Maybe Text)+    , _plqtdName           :: !Text+    , _plqtdCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProjectsLocationsQueuesTasksDelete' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'plqtdXgafv'+--+-- * 'plqtdUploadProtocol'+--+-- * 'plqtdAccessToken'+--+-- * 'plqtdUploadType'+--+-- * 'plqtdName'+--+-- * 'plqtdCallback'+projectsLocationsQueuesTasksDelete+    :: Text -- ^ 'plqtdName'+    -> ProjectsLocationsQueuesTasksDelete+projectsLocationsQueuesTasksDelete pPlqtdName_ =+    ProjectsLocationsQueuesTasksDelete'+    { _plqtdXgafv = Nothing+    , _plqtdUploadProtocol = Nothing+    , _plqtdAccessToken = Nothing+    , _plqtdUploadType = Nothing+    , _plqtdName = pPlqtdName_+    , _plqtdCallback = Nothing+    }++-- | V1 error format.+plqtdXgafv :: Lens' ProjectsLocationsQueuesTasksDelete (Maybe Xgafv)+plqtdXgafv+  = lens _plqtdXgafv (\ s a -> s{_plqtdXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+plqtdUploadProtocol :: Lens' ProjectsLocationsQueuesTasksDelete (Maybe Text)+plqtdUploadProtocol+  = lens _plqtdUploadProtocol+      (\ s a -> s{_plqtdUploadProtocol = a})++-- | OAuth access token.+plqtdAccessToken :: Lens' ProjectsLocationsQueuesTasksDelete (Maybe Text)+plqtdAccessToken+  = lens _plqtdAccessToken+      (\ s a -> s{_plqtdAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+plqtdUploadType :: Lens' ProjectsLocationsQueuesTasksDelete (Maybe Text)+plqtdUploadType+  = lens _plqtdUploadType+      (\ s a -> s{_plqtdUploadType = a})++-- | Required. The task name. For example:+-- \`projects\/PROJECT_ID\/locations\/LOCATION_ID\/queues\/QUEUE_ID\/tasks\/TASK_ID\`+plqtdName :: Lens' ProjectsLocationsQueuesTasksDelete Text+plqtdName+  = lens _plqtdName (\ s a -> s{_plqtdName = a})++-- | JSONP+plqtdCallback :: Lens' ProjectsLocationsQueuesTasksDelete (Maybe Text)+plqtdCallback+  = lens _plqtdCallback+      (\ s a -> s{_plqtdCallback = a})++instance GoogleRequest+         ProjectsLocationsQueuesTasksDelete where+        type Rs ProjectsLocationsQueuesTasksDelete = Empty+        type Scopes ProjectsLocationsQueuesTasksDelete =+             '["https://www.googleapis.com/auth/cloud-platform"]+        requestClient ProjectsLocationsQueuesTasksDelete'{..}+          = go _plqtdName _plqtdXgafv _plqtdUploadProtocol+              _plqtdAccessToken+              _plqtdUploadType+              _plqtdCallback+              (Just AltJSON)+              cloudTasksService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy ProjectsLocationsQueuesTasksDeleteResource)+                      mempty
+ gen/Network/Google/Resource/CloudTasks/Projects/Locations/Queues/Tasks/Get.hs view
@@ -0,0 +1,169 @@+{-# 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.CloudTasks.Projects.Locations.Queues.Tasks.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 a task.+--+-- /See:/ <https://cloud.google.com/tasks/ Cloud Tasks API Reference> for @cloudtasks.projects.locations.queues.tasks.get@.+module Network.Google.Resource.CloudTasks.Projects.Locations.Queues.Tasks.Get+    (+    -- * REST Resource+      ProjectsLocationsQueuesTasksGetResource++    -- * Creating a Request+    , projectsLocationsQueuesTasksGet+    , ProjectsLocationsQueuesTasksGet++    -- * Request Lenses+    , plqtgXgafv+    , plqtgUploadProtocol+    , plqtgAccessToken+    , plqtgUploadType+    , plqtgResponseView+    , plqtgName+    , plqtgCallback+    ) where++import           Network.Google.CloudTasks.Types+import           Network.Google.Prelude++-- | A resource alias for @cloudtasks.projects.locations.queues.tasks.get@ method which the+-- 'ProjectsLocationsQueuesTasksGet' request conforms to.+type ProjectsLocationsQueuesTasksGetResource =+     "v2beta3" :>+       Capture "name" Text :>+         QueryParam "$.xgafv" Xgafv :>+           QueryParam "upload_protocol" Text :>+             QueryParam "access_token" Text :>+               QueryParam "uploadType" Text :>+                 QueryParam "responseView" Text :>+                   QueryParam "callback" Text :>+                     QueryParam "alt" AltJSON :> Get '[JSON] Task++-- | Gets a task.+--+-- /See:/ 'projectsLocationsQueuesTasksGet' smart constructor.+data ProjectsLocationsQueuesTasksGet = ProjectsLocationsQueuesTasksGet'+    { _plqtgXgafv          :: !(Maybe Xgafv)+    , _plqtgUploadProtocol :: !(Maybe Text)+    , _plqtgAccessToken    :: !(Maybe Text)+    , _plqtgUploadType     :: !(Maybe Text)+    , _plqtgResponseView   :: !(Maybe Text)+    , _plqtgName           :: !Text+    , _plqtgCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProjectsLocationsQueuesTasksGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'plqtgXgafv'+--+-- * 'plqtgUploadProtocol'+--+-- * 'plqtgAccessToken'+--+-- * 'plqtgUploadType'+--+-- * 'plqtgResponseView'+--+-- * 'plqtgName'+--+-- * 'plqtgCallback'+projectsLocationsQueuesTasksGet+    :: Text -- ^ 'plqtgName'+    -> ProjectsLocationsQueuesTasksGet+projectsLocationsQueuesTasksGet pPlqtgName_ =+    ProjectsLocationsQueuesTasksGet'+    { _plqtgXgafv = Nothing+    , _plqtgUploadProtocol = Nothing+    , _plqtgAccessToken = Nothing+    , _plqtgUploadType = Nothing+    , _plqtgResponseView = Nothing+    , _plqtgName = pPlqtgName_+    , _plqtgCallback = Nothing+    }++-- | V1 error format.+plqtgXgafv :: Lens' ProjectsLocationsQueuesTasksGet (Maybe Xgafv)+plqtgXgafv+  = lens _plqtgXgafv (\ s a -> s{_plqtgXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+plqtgUploadProtocol :: Lens' ProjectsLocationsQueuesTasksGet (Maybe Text)+plqtgUploadProtocol+  = lens _plqtgUploadProtocol+      (\ s a -> s{_plqtgUploadProtocol = a})++-- | OAuth access token.+plqtgAccessToken :: Lens' ProjectsLocationsQueuesTasksGet (Maybe Text)+plqtgAccessToken+  = lens _plqtgAccessToken+      (\ s a -> s{_plqtgAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+plqtgUploadType :: Lens' ProjectsLocationsQueuesTasksGet (Maybe Text)+plqtgUploadType+  = lens _plqtgUploadType+      (\ s a -> s{_plqtgUploadType = a})++-- | The response_view specifies which subset of the Task will be returned.+-- By default response_view is BASIC; not all information is retrieved by+-- default because some data, such as payloads, might be desirable to+-- return only when needed because of its large size or because of the+-- sensitivity of data that it contains. Authorization for FULL requires+-- \`cloudtasks.tasks.fullView\` [Google+-- IAM](https:\/\/cloud.google.com\/iam\/) permission on the Task resource.+plqtgResponseView :: Lens' ProjectsLocationsQueuesTasksGet (Maybe Text)+plqtgResponseView+  = lens _plqtgResponseView+      (\ s a -> s{_plqtgResponseView = a})++-- | Required. The task name. For example:+-- \`projects\/PROJECT_ID\/locations\/LOCATION_ID\/queues\/QUEUE_ID\/tasks\/TASK_ID\`+plqtgName :: Lens' ProjectsLocationsQueuesTasksGet Text+plqtgName+  = lens _plqtgName (\ s a -> s{_plqtgName = a})++-- | JSONP+plqtgCallback :: Lens' ProjectsLocationsQueuesTasksGet (Maybe Text)+plqtgCallback+  = lens _plqtgCallback+      (\ s a -> s{_plqtgCallback = a})++instance GoogleRequest+         ProjectsLocationsQueuesTasksGet where+        type Rs ProjectsLocationsQueuesTasksGet = Task+        type Scopes ProjectsLocationsQueuesTasksGet =+             '["https://www.googleapis.com/auth/cloud-platform"]+        requestClient ProjectsLocationsQueuesTasksGet'{..}+          = go _plqtgName _plqtgXgafv _plqtgUploadProtocol+              _plqtgAccessToken+              _plqtgUploadType+              _plqtgResponseView+              _plqtgCallback+              (Just AltJSON)+              cloudTasksService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy ProjectsLocationsQueuesTasksGetResource)+                      mempty
+ gen/Network/Google/Resource/CloudTasks/Projects/Locations/Queues/Tasks/List.hs view
@@ -0,0 +1,213 @@+{-# 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.CloudTasks.Projects.Locations.Queues.Tasks.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 the tasks in a queue. By default, only the BASIC view is retrieved+-- due to performance considerations; response_view controls the subset of+-- information which is returned. The tasks may be returned in any order.+-- The ordering may change at any time.+--+-- /See:/ <https://cloud.google.com/tasks/ Cloud Tasks API Reference> for @cloudtasks.projects.locations.queues.tasks.list@.+module Network.Google.Resource.CloudTasks.Projects.Locations.Queues.Tasks.List+    (+    -- * REST Resource+      ProjectsLocationsQueuesTasksListResource++    -- * Creating a Request+    , projectsLocationsQueuesTasksList+    , ProjectsLocationsQueuesTasksList++    -- * Request Lenses+    , plqtlParent+    , plqtlXgafv+    , plqtlUploadProtocol+    , plqtlAccessToken+    , plqtlUploadType+    , plqtlResponseView+    , plqtlPageToken+    , plqtlPageSize+    , plqtlCallback+    ) where++import           Network.Google.CloudTasks.Types+import           Network.Google.Prelude++-- | A resource alias for @cloudtasks.projects.locations.queues.tasks.list@ method which the+-- 'ProjectsLocationsQueuesTasksList' request conforms to.+type ProjectsLocationsQueuesTasksListResource =+     "v2beta3" :>+       Capture "parent" Text :>+         "tasks" :>+           QueryParam "$.xgafv" Xgafv :>+             QueryParam "upload_protocol" Text :>+               QueryParam "access_token" Text :>+                 QueryParam "uploadType" Text :>+                   QueryParam "responseView" Text :>+                     QueryParam "pageToken" Text :>+                       QueryParam "pageSize" (Textual Int32) :>+                         QueryParam "callback" Text :>+                           QueryParam "alt" AltJSON :>+                             Get '[JSON] ListTasksResponse++-- | Lists the tasks in a queue. By default, only the BASIC view is retrieved+-- due to performance considerations; response_view controls the subset of+-- information which is returned. The tasks may be returned in any order.+-- The ordering may change at any time.+--+-- /See:/ 'projectsLocationsQueuesTasksList' smart constructor.+data ProjectsLocationsQueuesTasksList = ProjectsLocationsQueuesTasksList'+    { _plqtlParent         :: !Text+    , _plqtlXgafv          :: !(Maybe Xgafv)+    , _plqtlUploadProtocol :: !(Maybe Text)+    , _plqtlAccessToken    :: !(Maybe Text)+    , _plqtlUploadType     :: !(Maybe Text)+    , _plqtlResponseView   :: !(Maybe Text)+    , _plqtlPageToken      :: !(Maybe Text)+    , _plqtlPageSize       :: !(Maybe (Textual Int32))+    , _plqtlCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProjectsLocationsQueuesTasksList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'plqtlParent'+--+-- * 'plqtlXgafv'+--+-- * 'plqtlUploadProtocol'+--+-- * 'plqtlAccessToken'+--+-- * 'plqtlUploadType'+--+-- * 'plqtlResponseView'+--+-- * 'plqtlPageToken'+--+-- * 'plqtlPageSize'+--+-- * 'plqtlCallback'+projectsLocationsQueuesTasksList+    :: Text -- ^ 'plqtlParent'+    -> ProjectsLocationsQueuesTasksList+projectsLocationsQueuesTasksList pPlqtlParent_ =+    ProjectsLocationsQueuesTasksList'+    { _plqtlParent = pPlqtlParent_+    , _plqtlXgafv = Nothing+    , _plqtlUploadProtocol = Nothing+    , _plqtlAccessToken = Nothing+    , _plqtlUploadType = Nothing+    , _plqtlResponseView = Nothing+    , _plqtlPageToken = Nothing+    , _plqtlPageSize = Nothing+    , _plqtlCallback = Nothing+    }++-- | Required. The queue name. For example:+-- \`projects\/PROJECT_ID\/locations\/LOCATION_ID\/queues\/QUEUE_ID\`+plqtlParent :: Lens' ProjectsLocationsQueuesTasksList Text+plqtlParent+  = lens _plqtlParent (\ s a -> s{_plqtlParent = a})++-- | V1 error format.+plqtlXgafv :: Lens' ProjectsLocationsQueuesTasksList (Maybe Xgafv)+plqtlXgafv+  = lens _plqtlXgafv (\ s a -> s{_plqtlXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+plqtlUploadProtocol :: Lens' ProjectsLocationsQueuesTasksList (Maybe Text)+plqtlUploadProtocol+  = lens _plqtlUploadProtocol+      (\ s a -> s{_plqtlUploadProtocol = a})++-- | OAuth access token.+plqtlAccessToken :: Lens' ProjectsLocationsQueuesTasksList (Maybe Text)+plqtlAccessToken+  = lens _plqtlAccessToken+      (\ s a -> s{_plqtlAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+plqtlUploadType :: Lens' ProjectsLocationsQueuesTasksList (Maybe Text)+plqtlUploadType+  = lens _plqtlUploadType+      (\ s a -> s{_plqtlUploadType = a})++-- | The response_view specifies which subset of the Task will be returned.+-- By default response_view is BASIC; not all information is retrieved by+-- default because some data, such as payloads, might be desirable to+-- return only when needed because of its large size or because of the+-- sensitivity of data that it contains. Authorization for FULL requires+-- \`cloudtasks.tasks.fullView\` [Google+-- IAM](https:\/\/cloud.google.com\/iam\/) permission on the Task resource.+plqtlResponseView :: Lens' ProjectsLocationsQueuesTasksList (Maybe Text)+plqtlResponseView+  = lens _plqtlResponseView+      (\ s a -> s{_plqtlResponseView = a})++-- | A token identifying the page of results to return. To request the first+-- page results, page_token must be empty. To request the next page of+-- results, page_token must be the value of next_page_token returned from+-- the previous call to ListTasks method. The page token is valid for only+-- 2 hours.+plqtlPageToken :: Lens' ProjectsLocationsQueuesTasksList (Maybe Text)+plqtlPageToken+  = lens _plqtlPageToken+      (\ s a -> s{_plqtlPageToken = a})++-- | Requested page size. Fewer tasks than requested might be returned. The+-- maximum page size is 1000. If unspecified, the page size will be the+-- maximum. Fewer tasks than requested might be returned, even if more+-- tasks exist; use next_page_token in the response to determine if more+-- tasks exist.+plqtlPageSize :: Lens' ProjectsLocationsQueuesTasksList (Maybe Int32)+plqtlPageSize+  = lens _plqtlPageSize+      (\ s a -> s{_plqtlPageSize = a})+      . mapping _Coerce++-- | JSONP+plqtlCallback :: Lens' ProjectsLocationsQueuesTasksList (Maybe Text)+plqtlCallback+  = lens _plqtlCallback+      (\ s a -> s{_plqtlCallback = a})++instance GoogleRequest+         ProjectsLocationsQueuesTasksList where+        type Rs ProjectsLocationsQueuesTasksList =+             ListTasksResponse+        type Scopes ProjectsLocationsQueuesTasksList =+             '["https://www.googleapis.com/auth/cloud-platform"]+        requestClient ProjectsLocationsQueuesTasksList'{..}+          = go _plqtlParent _plqtlXgafv _plqtlUploadProtocol+              _plqtlAccessToken+              _plqtlUploadType+              _plqtlResponseView+              _plqtlPageToken+              _plqtlPageSize+              _plqtlCallback+              (Just AltJSON)+              cloudTasksService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy ProjectsLocationsQueuesTasksListResource)+                      mempty
+ gen/Network/Google/Resource/CloudTasks/Projects/Locations/Queues/Tasks/Run.hs view
@@ -0,0 +1,187 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.CloudTasks.Projects.Locations.Queues.Tasks.Run+-- 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)+--+-- Forces a task to run now. When this method is called, Cloud Tasks will+-- dispatch the task, even if the task is already running, the queue has+-- reached its RateLimits or is PAUSED. This command is meant to be used+-- for manual debugging. For example, RunTask can be used to retry a failed+-- task after a fix has been made or to manually force a task to be+-- dispatched now. The dispatched task is returned. That is, the task that+-- is returned contains the status after the task is dispatched but before+-- the task is received by its target. If Cloud Tasks receives a successful+-- response from the task\'s target, then the task will be deleted;+-- otherwise the task\'s schedule_time will be reset to the time that+-- RunTask was called plus the retry delay specified in the queue\'s+-- RetryConfig. RunTask returns NOT_FOUND when it is called on a task that+-- has already succeeded or permanently failed.+--+-- /See:/ <https://cloud.google.com/tasks/ Cloud Tasks API Reference> for @cloudtasks.projects.locations.queues.tasks.run@.+module Network.Google.Resource.CloudTasks.Projects.Locations.Queues.Tasks.Run+    (+    -- * REST Resource+      ProjectsLocationsQueuesTasksRunResource++    -- * Creating a Request+    , projectsLocationsQueuesTasksRun+    , ProjectsLocationsQueuesTasksRun++    -- * Request Lenses+    , plqtrXgafv+    , plqtrUploadProtocol+    , plqtrAccessToken+    , plqtrUploadType+    , plqtrPayload+    , plqtrName+    , plqtrCallback+    ) where++import           Network.Google.CloudTasks.Types+import           Network.Google.Prelude++-- | A resource alias for @cloudtasks.projects.locations.queues.tasks.run@ method which the+-- 'ProjectsLocationsQueuesTasksRun' request conforms to.+type ProjectsLocationsQueuesTasksRunResource =+     "v2beta3" :>+       CaptureMode "name" "run" Text :>+         QueryParam "$.xgafv" Xgafv :>+           QueryParam "upload_protocol" Text :>+             QueryParam "access_token" Text :>+               QueryParam "uploadType" Text :>+                 QueryParam "callback" Text :>+                   QueryParam "alt" AltJSON :>+                     ReqBody '[JSON] RunTaskRequest :> Post '[JSON] Task++-- | Forces a task to run now. When this method is called, Cloud Tasks will+-- dispatch the task, even if the task is already running, the queue has+-- reached its RateLimits or is PAUSED. This command is meant to be used+-- for manual debugging. For example, RunTask can be used to retry a failed+-- task after a fix has been made or to manually force a task to be+-- dispatched now. The dispatched task is returned. That is, the task that+-- is returned contains the status after the task is dispatched but before+-- the task is received by its target. If Cloud Tasks receives a successful+-- response from the task\'s target, then the task will be deleted;+-- otherwise the task\'s schedule_time will be reset to the time that+-- RunTask was called plus the retry delay specified in the queue\'s+-- RetryConfig. RunTask returns NOT_FOUND when it is called on a task that+-- has already succeeded or permanently failed.+--+-- /See:/ 'projectsLocationsQueuesTasksRun' smart constructor.+data ProjectsLocationsQueuesTasksRun = ProjectsLocationsQueuesTasksRun'+    { _plqtrXgafv          :: !(Maybe Xgafv)+    , _plqtrUploadProtocol :: !(Maybe Text)+    , _plqtrAccessToken    :: !(Maybe Text)+    , _plqtrUploadType     :: !(Maybe Text)+    , _plqtrPayload        :: !RunTaskRequest+    , _plqtrName           :: !Text+    , _plqtrCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProjectsLocationsQueuesTasksRun' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'plqtrXgafv'+--+-- * 'plqtrUploadProtocol'+--+-- * 'plqtrAccessToken'+--+-- * 'plqtrUploadType'+--+-- * 'plqtrPayload'+--+-- * 'plqtrName'+--+-- * 'plqtrCallback'+projectsLocationsQueuesTasksRun+    :: RunTaskRequest -- ^ 'plqtrPayload'+    -> Text -- ^ 'plqtrName'+    -> ProjectsLocationsQueuesTasksRun+projectsLocationsQueuesTasksRun pPlqtrPayload_ pPlqtrName_ =+    ProjectsLocationsQueuesTasksRun'+    { _plqtrXgafv = Nothing+    , _plqtrUploadProtocol = Nothing+    , _plqtrAccessToken = Nothing+    , _plqtrUploadType = Nothing+    , _plqtrPayload = pPlqtrPayload_+    , _plqtrName = pPlqtrName_+    , _plqtrCallback = Nothing+    }++-- | V1 error format.+plqtrXgafv :: Lens' ProjectsLocationsQueuesTasksRun (Maybe Xgafv)+plqtrXgafv+  = lens _plqtrXgafv (\ s a -> s{_plqtrXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+plqtrUploadProtocol :: Lens' ProjectsLocationsQueuesTasksRun (Maybe Text)+plqtrUploadProtocol+  = lens _plqtrUploadProtocol+      (\ s a -> s{_plqtrUploadProtocol = a})++-- | OAuth access token.+plqtrAccessToken :: Lens' ProjectsLocationsQueuesTasksRun (Maybe Text)+plqtrAccessToken+  = lens _plqtrAccessToken+      (\ s a -> s{_plqtrAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+plqtrUploadType :: Lens' ProjectsLocationsQueuesTasksRun (Maybe Text)+plqtrUploadType+  = lens _plqtrUploadType+      (\ s a -> s{_plqtrUploadType = a})++-- | Multipart request metadata.+plqtrPayload :: Lens' ProjectsLocationsQueuesTasksRun RunTaskRequest+plqtrPayload+  = lens _plqtrPayload (\ s a -> s{_plqtrPayload = a})++-- | Required. The task name. For example:+-- \`projects\/PROJECT_ID\/locations\/LOCATION_ID\/queues\/QUEUE_ID\/tasks\/TASK_ID\`+plqtrName :: Lens' ProjectsLocationsQueuesTasksRun Text+plqtrName+  = lens _plqtrName (\ s a -> s{_plqtrName = a})++-- | JSONP+plqtrCallback :: Lens' ProjectsLocationsQueuesTasksRun (Maybe Text)+plqtrCallback+  = lens _plqtrCallback+      (\ s a -> s{_plqtrCallback = a})++instance GoogleRequest+         ProjectsLocationsQueuesTasksRun where+        type Rs ProjectsLocationsQueuesTasksRun = Task+        type Scopes ProjectsLocationsQueuesTasksRun =+             '["https://www.googleapis.com/auth/cloud-platform"]+        requestClient ProjectsLocationsQueuesTasksRun'{..}+          = go _plqtrName _plqtrXgafv _plqtrUploadProtocol+              _plqtrAccessToken+              _plqtrUploadType+              _plqtrCallback+              (Just AltJSON)+              _plqtrPayload+              cloudTasksService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy ProjectsLocationsQueuesTasksRunResource)+                      mempty
+ gen/Network/Google/Resource/CloudTasks/Projects/Locations/Queues/TestIAMPermissions.hs view
@@ -0,0 +1,180 @@+{-# 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.CloudTasks.Projects.Locations.Queues.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 a Queue. 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/tasks/ Cloud Tasks API Reference> for @cloudtasks.projects.locations.queues.testIamPermissions@.+module Network.Google.Resource.CloudTasks.Projects.Locations.Queues.TestIAMPermissions+    (+    -- * REST Resource+      ProjectsLocationsQueuesTestIAMPermissionsResource++    -- * Creating a Request+    , projectsLocationsQueuesTestIAMPermissions+    , ProjectsLocationsQueuesTestIAMPermissions++    -- * Request Lenses+    , plqtipXgafv+    , plqtipUploadProtocol+    , plqtipAccessToken+    , plqtipUploadType+    , plqtipPayload+    , plqtipResource+    , plqtipCallback+    ) where++import           Network.Google.CloudTasks.Types+import           Network.Google.Prelude++-- | A resource alias for @cloudtasks.projects.locations.queues.testIamPermissions@ method which the+-- 'ProjectsLocationsQueuesTestIAMPermissions' request conforms to.+type ProjectsLocationsQueuesTestIAMPermissionsResource+     =+     "v2beta3" :>+       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 a Queue. 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:/ 'projectsLocationsQueuesTestIAMPermissions' smart constructor.+data ProjectsLocationsQueuesTestIAMPermissions = ProjectsLocationsQueuesTestIAMPermissions'+    { _plqtipXgafv          :: !(Maybe Xgafv)+    , _plqtipUploadProtocol :: !(Maybe Text)+    , _plqtipAccessToken    :: !(Maybe Text)+    , _plqtipUploadType     :: !(Maybe Text)+    , _plqtipPayload        :: !TestIAMPermissionsRequest+    , _plqtipResource       :: !Text+    , _plqtipCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProjectsLocationsQueuesTestIAMPermissions' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'plqtipXgafv'+--+-- * 'plqtipUploadProtocol'+--+-- * 'plqtipAccessToken'+--+-- * 'plqtipUploadType'+--+-- * 'plqtipPayload'+--+-- * 'plqtipResource'+--+-- * 'plqtipCallback'+projectsLocationsQueuesTestIAMPermissions+    :: TestIAMPermissionsRequest -- ^ 'plqtipPayload'+    -> Text -- ^ 'plqtipResource'+    -> ProjectsLocationsQueuesTestIAMPermissions+projectsLocationsQueuesTestIAMPermissions pPlqtipPayload_ pPlqtipResource_ =+    ProjectsLocationsQueuesTestIAMPermissions'+    { _plqtipXgafv = Nothing+    , _plqtipUploadProtocol = Nothing+    , _plqtipAccessToken = Nothing+    , _plqtipUploadType = Nothing+    , _plqtipPayload = pPlqtipPayload_+    , _plqtipResource = pPlqtipResource_+    , _plqtipCallback = Nothing+    }++-- | V1 error format.+plqtipXgafv :: Lens' ProjectsLocationsQueuesTestIAMPermissions (Maybe Xgafv)+plqtipXgafv+  = lens _plqtipXgafv (\ s a -> s{_plqtipXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+plqtipUploadProtocol :: Lens' ProjectsLocationsQueuesTestIAMPermissions (Maybe Text)+plqtipUploadProtocol+  = lens _plqtipUploadProtocol+      (\ s a -> s{_plqtipUploadProtocol = a})++-- | OAuth access token.+plqtipAccessToken :: Lens' ProjectsLocationsQueuesTestIAMPermissions (Maybe Text)+plqtipAccessToken+  = lens _plqtipAccessToken+      (\ s a -> s{_plqtipAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+plqtipUploadType :: Lens' ProjectsLocationsQueuesTestIAMPermissions (Maybe Text)+plqtipUploadType+  = lens _plqtipUploadType+      (\ s a -> s{_plqtipUploadType = a})++-- | Multipart request metadata.+plqtipPayload :: Lens' ProjectsLocationsQueuesTestIAMPermissions TestIAMPermissionsRequest+plqtipPayload+  = lens _plqtipPayload+      (\ s a -> s{_plqtipPayload = a})++-- | REQUIRED: The resource for which the policy detail is being requested.+-- See the operation documentation for the appropriate value for this+-- field.+plqtipResource :: Lens' ProjectsLocationsQueuesTestIAMPermissions Text+plqtipResource+  = lens _plqtipResource+      (\ s a -> s{_plqtipResource = a})++-- | JSONP+plqtipCallback :: Lens' ProjectsLocationsQueuesTestIAMPermissions (Maybe Text)+plqtipCallback+  = lens _plqtipCallback+      (\ s a -> s{_plqtipCallback = a})++instance GoogleRequest+         ProjectsLocationsQueuesTestIAMPermissions where+        type Rs ProjectsLocationsQueuesTestIAMPermissions =+             TestIAMPermissionsResponse+        type Scopes ProjectsLocationsQueuesTestIAMPermissions+             = '["https://www.googleapis.com/auth/cloud-platform"]+        requestClient+          ProjectsLocationsQueuesTestIAMPermissions'{..}+          = go _plqtipResource _plqtipXgafv+              _plqtipUploadProtocol+              _plqtipAccessToken+              _plqtipUploadType+              _plqtipCallback+              (Just AltJSON)+              _plqtipPayload+              cloudTasksService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy+                           ProjectsLocationsQueuesTestIAMPermissionsResource)+                      mempty
+ gogol-cloudtasks.cabal view
@@ -0,0 +1,63 @@+name:                  gogol-cloudtasks+version:               0.4.0+synopsis:              Google Cloud Tasks 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 the execution of large numbers of distributed requests.+    .+    /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 @v2beta3@+    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.CloudTasks+        , Network.Google.CloudTasks.Types+        , Network.Google.Resource.CloudTasks.Projects.Locations.Get+        , Network.Google.Resource.CloudTasks.Projects.Locations.List+        , Network.Google.Resource.CloudTasks.Projects.Locations.Queues.Create+        , Network.Google.Resource.CloudTasks.Projects.Locations.Queues.Delete+        , Network.Google.Resource.CloudTasks.Projects.Locations.Queues.Get+        , Network.Google.Resource.CloudTasks.Projects.Locations.Queues.GetIAMPolicy+        , Network.Google.Resource.CloudTasks.Projects.Locations.Queues.List+        , Network.Google.Resource.CloudTasks.Projects.Locations.Queues.Patch+        , Network.Google.Resource.CloudTasks.Projects.Locations.Queues.Pause+        , Network.Google.Resource.CloudTasks.Projects.Locations.Queues.Purge+        , Network.Google.Resource.CloudTasks.Projects.Locations.Queues.Resume+        , Network.Google.Resource.CloudTasks.Projects.Locations.Queues.SetIAMPolicy+        , Network.Google.Resource.CloudTasks.Projects.Locations.Queues.Tasks.Create+        , Network.Google.Resource.CloudTasks.Projects.Locations.Queues.Tasks.Delete+        , Network.Google.Resource.CloudTasks.Projects.Locations.Queues.Tasks.Get+        , Network.Google.Resource.CloudTasks.Projects.Locations.Queues.Tasks.List+        , Network.Google.Resource.CloudTasks.Projects.Locations.Queues.Tasks.Run+        , Network.Google.Resource.CloudTasks.Projects.Locations.Queues.TestIAMPermissions++    other-modules:+          Network.Google.CloudTasks.Types.Product+        , Network.Google.CloudTasks.Types.Sum++    build-depends:+          gogol-core == 0.4.0.*+        , base       >= 4.7 && < 5
+ src/.gitkeep view