packages feed

gogol-cloudscheduler (empty) → 0.4.0

raw patch · 19 files changed

+4205/−0 lines, 19 filesdep +basedep +gogol-coresetup-changed

Dependencies added: base, gogol-core

Files

+ LICENSE view
@@ -0,0 +1,367 @@+Mozilla Public License Version 2.0+==================================++1. Definitions+--------------++1.1. "Contributor"+    means each individual or legal entity that creates, contributes to+    the creation of, or owns Covered Software.++1.2. "Contributor Version"+    means the combination of the Contributions of others (if any) used+    by a Contributor and that particular Contributor's Contribution.++1.3. "Contribution"+    means Covered Software of a particular Contributor.++1.4. "Covered Software"+    means Source Code Form to which the initial Contributor has attached+    the notice in Exhibit A, the Executable Form of such Source Code+    Form, and Modifications of such Source Code Form, in each case+    including portions thereof.++1.5. "Incompatible With Secondary Licenses"+    means++    (a) that the initial Contributor has attached the notice described+        in Exhibit B to the Covered Software; or++    (b) that the Covered Software was made available under the terms of+        version 1.1 or earlier of the License, but not also under the+        terms of a Secondary License.++1.6. "Executable Form"+    means any form of the work other than Source Code Form.++1.7. "Larger Work"+    means a work that combines Covered Software with other material, in+    a separate file or files, that is not Covered Software.++1.8. "License"+    means this document.++1.9. "Licensable"+    means having the right to grant, to the maximum extent possible,+    whether at the time of the initial grant or subsequently, any and+    all of the rights conveyed by this License.++1.10. "Modifications"+    means any of the following:++    (a) any file in Source Code Form that results from an addition to,+        deletion from, or modification of the contents of Covered+        Software; or++    (b) any new file in Source Code Form that contains any Covered+        Software.++1.11. "Patent Claims" of a Contributor+    means any patent claim(s), including without limitation, method,+    process, and apparatus claims, in any patent Licensable by such+    Contributor that would be infringed, but for the grant of the+    License, by the making, using, selling, offering for sale, having+    made, import, or transfer of either its Contributions or its+    Contributor Version.++1.12. "Secondary License"+    means either the GNU General Public License, Version 2.0, the GNU+    Lesser General Public License, Version 2.1, the GNU Affero General+    Public License, Version 3.0, or any later versions of those+    licenses.++1.13. "Source Code Form"+    means the form of the work preferred for making modifications.++1.14. "You" (or "Your")+    means an individual or a legal entity exercising rights under this+    License. For legal entities, "You" includes any entity that+    controls, is controlled by, or is under common control with You. For+    purposes of this definition, "control" means (a) the power, direct+    or indirect, to cause the direction or management of such entity,+    whether by contract or otherwise, or (b) ownership of more than+    fifty percent (50%) of the outstanding shares or beneficial+    ownership of such entity.++2. License Grants and Conditions+--------------------------------++2.1. Grants++Each Contributor hereby grants You a world-wide, royalty-free,+non-exclusive license:++(a) under intellectual property rights (other than patent or trademark)+    Licensable by such Contributor to use, reproduce, make available,+    modify, display, perform, distribute, and otherwise exploit its+    Contributions, either on an unmodified basis, with Modifications, or+    as part of a Larger Work; and++(b) under Patent Claims of such Contributor to make, use, sell, offer+    for sale, have made, import, and otherwise transfer either its+    Contributions or its Contributor Version.++2.2. Effective Date++The licenses granted in Section 2.1 with respect to any Contribution+become effective for each Contribution on the date the Contributor first+distributes such Contribution.++2.3. Limitations on Grant Scope++The licenses granted in this Section 2 are the only rights granted under+this License. No additional rights or licenses will be implied from the+distribution or licensing of Covered Software under this License.+Notwithstanding Section 2.1(b) above, no patent license is granted by a+Contributor:++(a) for any code that a Contributor has removed from Covered Software;+    or++(b) for infringements caused by: (i) Your and any other third party's+    modifications of Covered Software, or (ii) the combination of its+    Contributions with other software (except as part of its Contributor+    Version); or++(c) under Patent Claims infringed by Covered Software in the absence of+    its Contributions.++This License does not grant any rights in the trademarks, service marks,+or logos of any Contributor (except as may be necessary to comply with+the notice requirements in Section 3.4).++2.4. Subsequent Licenses++No Contributor makes additional grants as a result of Your choice to+distribute the Covered Software under a subsequent version of this+License (see Section 10.2) or under the terms of a Secondary License (if+permitted under the terms of Section 3.3).++2.5. Representation++Each Contributor represents that the Contributor believes its+Contributions are its original creation(s) or it has sufficient rights+to grant the rights to its Contributions conveyed by this License.++2.6. Fair Use++This License is not intended to limit any rights You have under+applicable copyright doctrines of fair use, fair dealing, or other+equivalents.++2.7. Conditions++Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted+in Section 2.1.++3. Responsibilities+-------------------++3.1. Distribution of Source Form++All distribution of Covered Software in Source Code Form, including any+Modifications that You create or to which You contribute, must be under+the terms of this License. You must inform recipients that the Source+Code Form of the Covered Software is governed by the terms of this+License, and how they can obtain a copy of this License. You may not+attempt to alter or restrict the recipients' rights in the Source Code+Form.++3.2. Distribution of Executable Form++If You distribute Covered Software in Executable Form then:++(a) such Covered Software must also be made available in Source Code+    Form, as described in Section 3.1, and You must inform recipients of+    the Executable Form how they can obtain a copy of such Source Code+    Form by reasonable means in a timely manner, at a charge no more+    than the cost of distribution to the recipient; and++(b) You may distribute such Executable Form under the terms of this+    License, or sublicense it under different terms, provided that the+    license for the Executable Form does not attempt to limit or alter+    the recipients' rights in the Source Code Form under this License.++3.3. Distribution of a Larger Work++You may create and distribute a Larger Work under terms of Your choice,+provided that You also comply with the requirements of this License for+the Covered Software. If the Larger Work is a combination of Covered+Software with a work governed by one or more Secondary Licenses, and the+Covered Software is not Incompatible With Secondary Licenses, this+License permits You to additionally distribute such Covered Software+under the terms of such Secondary License(s), so that the recipient of+the Larger Work may, at their option, further distribute the Covered+Software under the terms of either this License or such Secondary+License(s).++3.4. Notices++You may not remove or alter the substance of any license notices+(including copyright notices, patent notices, disclaimers of warranty,+or limitations of liability) contained within the Source Code Form of+the Covered Software, except that You may alter any license notices to+the extent required to remedy known factual inaccuracies.++3.5. Application of Additional Terms++You may choose to offer, and to charge a fee for, warranty, support,+indemnity or liability obligations to one or more recipients of Covered+Software. However, You may do so only on Your own behalf, and not on+behalf of any Contributor. You must make it absolutely clear that any+such warranty, support, indemnity, or liability obligation is offered by+You alone, and You hereby agree to indemnify every Contributor for any+liability incurred by such Contributor as a result of warranty, support,+indemnity or liability terms You offer. You may include additional+disclaimers of warranty and limitations of liability specific to any+jurisdiction.++4. Inability to Comply Due to Statute or Regulation+---------------------------------------------------++If it is impossible for You to comply with any of the terms of this+License with respect to some or all of the Covered Software due to+statute, judicial order, or regulation then You must: (a) comply with+the terms of this License to the maximum extent possible; and (b)+describe the limitations and the code they affect. Such description must+be placed in a text file included with all distributions of the Covered+Software under this License. Except to the extent prohibited by statute+or regulation, such description must be sufficiently detailed for a+recipient of ordinary skill to be able to understand it.++5. Termination+--------------++5.1. The rights granted under this License will terminate automatically+if You fail to comply with any of its terms. However, if You become+compliant, then the rights granted under this License from a particular+Contributor are reinstated (a) provisionally, unless and until such+Contributor explicitly and finally terminates Your grants, and (b) on an+ongoing basis, if such Contributor fails to notify You of the+non-compliance by some reasonable means prior to 60 days after You have+come back into compliance. Moreover, Your grants from a particular+Contributor are reinstated on an ongoing basis if such Contributor+notifies You of the non-compliance by some reasonable means, this is the+first time You have received notice of non-compliance with this License+from such Contributor, and You become compliant prior to 30 days after+Your receipt of the notice.++5.2. If You initiate litigation against any entity by asserting a patent+infringement claim (excluding declaratory judgment actions,+counter-claims, and cross-claims) alleging that a Contributor Version+directly or indirectly infringes any patent, then the rights granted to+You by any and all Contributors for the Covered Software under Section+2.1 of this License shall terminate.++5.3. In the event of termination under Sections 5.1 or 5.2 above, all+end user license agreements (excluding distributors and resellers) which+have been validly granted by You or Your distributors under this License+prior to termination shall survive termination.++************************************************************************+*                                                                      *+*  6. Disclaimer of Warranty                                           *+*  -------------------------                                           *+*                                                                      *+*  Covered Software is provided under this License on an "as is"       *+*  basis, without warranty of any kind, either expressed, implied, or  *+*  statutory, including, without limitation, warranties that the       *+*  Covered Software is free of defects, merchantable, fit for a        *+*  particular purpose or non-infringing. The entire risk as to the     *+*  quality and performance of the Covered Software is with You.        *+*  Should any Covered Software prove defective in any respect, You     *+*  (not any Contributor) assume the cost of any necessary servicing,   *+*  repair, or correction. This disclaimer of warranty constitutes an   *+*  essential part of this License. No use of any Covered Software is   *+*  authorized under this License except under this disclaimer.         *+*                                                                      *+************************************************************************++************************************************************************+*                                                                      *+*  7. Limitation of Liability                                          *+*  --------------------------                                          *+*                                                                      *+*  Under no circumstances and under no legal theory, whether tort      *+*  (including negligence), contract, or otherwise, shall any           *+*  Contributor, or anyone who distributes Covered Software as          *+*  permitted above, be liable to You for any direct, indirect,         *+*  special, incidental, or consequential damages of any character      *+*  including, without limitation, damages for lost profits, loss of    *+*  goodwill, work stoppage, computer failure or malfunction, or any    *+*  and all other commercial damages or losses, even if such party      *+*  shall have been informed of the possibility of such damages. This   *+*  limitation of liability shall not apply to liability for death or   *+*  personal injury resulting from such party's negligence to the       *+*  extent applicable law prohibits such limitation. Some               *+*  jurisdictions do not allow the exclusion or limitation of           *+*  incidental or consequential damages, so this exclusion and          *+*  limitation may not apply to You.                                    *+*                                                                      *+************************************************************************++8. Litigation+-------------++Any litigation relating to this License may be brought only in the+courts of a jurisdiction where the defendant maintains its principal+place of business and such litigation shall be governed by laws of that+jurisdiction, without reference to its conflict-of-law provisions.+Nothing in this Section shall prevent a party's ability to bring+cross-claims or counter-claims.++9. Miscellaneous+----------------++This License represents the complete agreement concerning the subject+matter hereof. If any provision of this License is held to be+unenforceable, such provision shall be reformed only to the extent+necessary to make it enforceable. Any law or regulation which provides+that the language of a contract shall be construed against the drafter+shall not be used to construe this License against a Contributor.++10. Versions of the License+---------------------------++10.1. New Versions++Mozilla Foundation is the license steward. Except as provided in Section+10.3, no one other than the license steward has the right to modify or+publish new versions of this License. Each version will be given a+distinguishing version number.++10.2. Effect of New Versions++You may distribute the Covered Software under the terms of the version+of the License under which You originally received the Covered Software,+or under the terms of any subsequent version published by the license+steward.++10.3. Modified Versions++If you create software not governed by this License, and you want to+create a new license for such software, you may create and use a+modified version of this License if you rename the license and remove+any references to the name of the license steward (except to note that+such modified license differs from this License).++10.4. Distributing Source Code Form that is Incompatible With Secondary+Licenses++If You choose to distribute Source Code Form that is Incompatible With+Secondary Licenses under the terms of this version of the License, the+notice described in Exhibit B of this License must be attached.++Exhibit A - Source Code Form License Notice+-------------------------------------------++  This Source Code Form is subject to the terms of the Mozilla Public+  License, v. 2.0. If a copy of the MPL was not distributed with this+  file, You can obtain one at http://mozilla.org/MPL/2.0/.++If it is not possible or desirable to put the notice in a particular+file, then You may include the notice in a location (such as a LICENSE+file in a relevant directory) where a recipient would be likely to look+for such a notice.++You may add additional accurate notices of copyright ownership.
+ README.md view
@@ -0,0 +1,28 @@+# gogol-cloudscheduler++* [Version](#version)+* [Description](#description)+* [Contribute](#contribute)+* [Licence](#licence)+++## Version++`0.3.0`+++## Description++A client library for the Google Cloud Scheduler.+++## 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-cloudscheduler` 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/CloudScheduler.hs view
@@ -0,0 +1,250 @@+{-# LANGUAGE DataKinds         #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE TypeOperators     #-}++{-# OPTIONS_GHC -fno-warn-unused-imports    #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}++-- |+-- Module      : Network.Google.CloudScheduler+-- 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 and manages jobs run on a regular recurring schedule.+--+-- /See:/ <https://cloud.google.com/scheduler/ Cloud Scheduler API Reference>+module Network.Google.CloudScheduler+    (+    -- * Service Configuration+      cloudSchedulerService++    -- * OAuth Scopes+    , cloudPlatformScope++    -- * API Declaration+    , CloudSchedulerAPI++    -- * Resources++    -- ** cloudscheduler.projects.locations.get+    , module Network.Google.Resource.CloudScheduler.Projects.Locations.Get++    -- ** cloudscheduler.projects.locations.jobs.create+    , module Network.Google.Resource.CloudScheduler.Projects.Locations.Jobs.Create++    -- ** cloudscheduler.projects.locations.jobs.delete+    , module Network.Google.Resource.CloudScheduler.Projects.Locations.Jobs.Delete++    -- ** cloudscheduler.projects.locations.jobs.get+    , module Network.Google.Resource.CloudScheduler.Projects.Locations.Jobs.Get++    -- ** cloudscheduler.projects.locations.jobs.list+    , module Network.Google.Resource.CloudScheduler.Projects.Locations.Jobs.List++    -- ** cloudscheduler.projects.locations.jobs.patch+    , module Network.Google.Resource.CloudScheduler.Projects.Locations.Jobs.Patch++    -- ** cloudscheduler.projects.locations.jobs.pause+    , module Network.Google.Resource.CloudScheduler.Projects.Locations.Jobs.Pause++    -- ** cloudscheduler.projects.locations.jobs.resume+    , module Network.Google.Resource.CloudScheduler.Projects.Locations.Jobs.Resume++    -- ** cloudscheduler.projects.locations.jobs.run+    , module Network.Google.Resource.CloudScheduler.Projects.Locations.Jobs.Run++    -- ** cloudscheduler.projects.locations.list+    , module Network.Google.Resource.CloudScheduler.Projects.Locations.List++    -- * Types++    -- ** Status+    , Status+    , status+    , sDetails+    , sCode+    , sMessage++    -- ** PauseJobRequest+    , PauseJobRequest+    , pauseJobRequest++    -- ** ListLocationsResponse+    , ListLocationsResponse+    , listLocationsResponse+    , llrNextPageToken+    , llrLocations++    -- ** ResumeJobRequest+    , ResumeJobRequest+    , resumeJobRequest++    -- ** AppEngineHTTPTargetHeaders+    , AppEngineHTTPTargetHeaders+    , appEngineHTTPTargetHeaders+    , aehttpthAddtional++    -- ** RetryConfig+    , RetryConfig+    , retryConfig+    , rcMaxDoublings+    , rcMaxRetryDuration+    , rcMinBackoffDuration+    , rcRetryCount+    , rcMaxBackoffDuration++    -- ** Location+    , Location+    , location+    , lName+    , lMetadata+    , lDisplayName+    , lLabels+    , lLocationId++    -- ** Empty+    , Empty+    , empty++    -- ** PubsubTargetAttributes+    , PubsubTargetAttributes+    , pubsubTargetAttributes+    , ptaAddtional++    -- ** HTTPTargetHeaders+    , HTTPTargetHeaders+    , hTTPTargetHeaders+    , httpthAddtional++    -- ** PubsubMessage+    , PubsubMessage+    , pubsubMessage+    , pmData+    , pmPublishTime+    , pmAttributes+    , pmMessageId++    -- ** JobState+    , JobState (..)++    -- ** StatusDetailsItem+    , StatusDetailsItem+    , statusDetailsItem+    , sdiAddtional++    -- ** AppEngineHTTPTarget+    , AppEngineHTTPTarget+    , appEngineHTTPTarget+    , aehttptHTTPMethod+    , aehttptRelativeURI+    , aehttptBody+    , aehttptHeaders+    , aehttptAppEngineRouting++    -- ** HTTPTarget+    , HTTPTarget+    , hTTPTarget+    , httptHTTPMethod+    , httptBody+    , httptURI+    , httptHeaders++    -- ** RunJobRequest+    , RunJobRequest+    , runJobRequest++    -- ** Job+    , Job+    , job+    , jStatus+    , jState+    , jLastAttemptTime+    , jRetryConfig+    , jSchedule+    , jScheduleTime+    , jAppEngineHTTPTarget+    , jHTTPTarget+    , jName+    , jPubsubTarget+    , jUserUpdateTime+    , jTimeZone+    , jDescription++    -- ** PubsubMessageAttributes+    , PubsubMessageAttributes+    , pubsubMessageAttributes+    , pmaAddtional++    -- ** PubsubTarget+    , PubsubTarget+    , pubsubTarget+    , ptData+    , ptTopicName+    , ptAttributes++    -- ** Xgafv+    , Xgafv (..)++    -- ** ListJobsResponse+    , ListJobsResponse+    , listJobsResponse+    , ljrNextPageToken+    , ljrJobs++    -- ** LocationLabels+    , LocationLabels+    , locationLabels+    , llAddtional++    -- ** LocationMetadata+    , LocationMetadata+    , locationMetadata+    , lmAddtional++    -- ** AppEngineRouting+    , AppEngineRouting+    , appEngineRouting+    , aerService+    , aerVersion+    , aerHost+    , aerInstance++    -- ** HTTPTargetHTTPMethod+    , HTTPTargetHTTPMethod (..)++    -- ** AppEngineHTTPTargetHTTPMethod+    , AppEngineHTTPTargetHTTPMethod (..)+    ) where++import           Network.Google.CloudScheduler.Types+import           Network.Google.Prelude+import           Network.Google.Resource.CloudScheduler.Projects.Locations.Get+import           Network.Google.Resource.CloudScheduler.Projects.Locations.Jobs.Create+import           Network.Google.Resource.CloudScheduler.Projects.Locations.Jobs.Delete+import           Network.Google.Resource.CloudScheduler.Projects.Locations.Jobs.Get+import           Network.Google.Resource.CloudScheduler.Projects.Locations.Jobs.List+import           Network.Google.Resource.CloudScheduler.Projects.Locations.Jobs.Patch+import           Network.Google.Resource.CloudScheduler.Projects.Locations.Jobs.Pause+import           Network.Google.Resource.CloudScheduler.Projects.Locations.Jobs.Resume+import           Network.Google.Resource.CloudScheduler.Projects.Locations.Jobs.Run+import           Network.Google.Resource.CloudScheduler.Projects.Locations.List++{- $resources+TODO+-}++-- | Represents the entirety of the methods and resources available for the Cloud Scheduler API service.+type CloudSchedulerAPI =+     ProjectsLocationsJobsListResource :<|>+       ProjectsLocationsJobsPatchResource+       :<|> ProjectsLocationsJobsGetResource+       :<|> ProjectsLocationsJobsRunResource+       :<|> ProjectsLocationsJobsCreateResource+       :<|> ProjectsLocationsJobsPauseResource+       :<|> ProjectsLocationsJobsDeleteResource+       :<|> ProjectsLocationsJobsResumeResource+       :<|> ProjectsLocationsListResource+       :<|> ProjectsLocationsGetResource
+ gen/Network/Google/CloudScheduler/Types.hs view
@@ -0,0 +1,195 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module      : Network.Google.CloudScheduler.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.CloudScheduler.Types+    (+    -- * Service Configuration+      cloudSchedulerService++    -- * OAuth Scopes+    , cloudPlatformScope++    -- * Status+    , Status+    , status+    , sDetails+    , sCode+    , sMessage++    -- * PauseJobRequest+    , PauseJobRequest+    , pauseJobRequest++    -- * ListLocationsResponse+    , ListLocationsResponse+    , listLocationsResponse+    , llrNextPageToken+    , llrLocations++    -- * ResumeJobRequest+    , ResumeJobRequest+    , resumeJobRequest++    -- * AppEngineHTTPTargetHeaders+    , AppEngineHTTPTargetHeaders+    , appEngineHTTPTargetHeaders+    , aehttpthAddtional++    -- * RetryConfig+    , RetryConfig+    , retryConfig+    , rcMaxDoublings+    , rcMaxRetryDuration+    , rcMinBackoffDuration+    , rcRetryCount+    , rcMaxBackoffDuration++    -- * Location+    , Location+    , location+    , lName+    , lMetadata+    , lDisplayName+    , lLabels+    , lLocationId++    -- * Empty+    , Empty+    , empty++    -- * PubsubTargetAttributes+    , PubsubTargetAttributes+    , pubsubTargetAttributes+    , ptaAddtional++    -- * HTTPTargetHeaders+    , HTTPTargetHeaders+    , hTTPTargetHeaders+    , httpthAddtional++    -- * PubsubMessage+    , PubsubMessage+    , pubsubMessage+    , pmData+    , pmPublishTime+    , pmAttributes+    , pmMessageId++    -- * JobState+    , JobState (..)++    -- * StatusDetailsItem+    , StatusDetailsItem+    , statusDetailsItem+    , sdiAddtional++    -- * AppEngineHTTPTarget+    , AppEngineHTTPTarget+    , appEngineHTTPTarget+    , aehttptHTTPMethod+    , aehttptRelativeURI+    , aehttptBody+    , aehttptHeaders+    , aehttptAppEngineRouting++    -- * HTTPTarget+    , HTTPTarget+    , hTTPTarget+    , httptHTTPMethod+    , httptBody+    , httptURI+    , httptHeaders++    -- * RunJobRequest+    , RunJobRequest+    , runJobRequest++    -- * Job+    , Job+    , job+    , jStatus+    , jState+    , jLastAttemptTime+    , jRetryConfig+    , jSchedule+    , jScheduleTime+    , jAppEngineHTTPTarget+    , jHTTPTarget+    , jName+    , jPubsubTarget+    , jUserUpdateTime+    , jTimeZone+    , jDescription++    -- * PubsubMessageAttributes+    , PubsubMessageAttributes+    , pubsubMessageAttributes+    , pmaAddtional++    -- * PubsubTarget+    , PubsubTarget+    , pubsubTarget+    , ptData+    , ptTopicName+    , ptAttributes++    -- * Xgafv+    , Xgafv (..)++    -- * ListJobsResponse+    , ListJobsResponse+    , listJobsResponse+    , ljrNextPageToken+    , ljrJobs++    -- * LocationLabels+    , LocationLabels+    , locationLabels+    , llAddtional++    -- * LocationMetadata+    , LocationMetadata+    , locationMetadata+    , lmAddtional++    -- * AppEngineRouting+    , AppEngineRouting+    , appEngineRouting+    , aerService+    , aerVersion+    , aerHost+    , aerInstance++    -- * HTTPTargetHTTPMethod+    , HTTPTargetHTTPMethod (..)++    -- * AppEngineHTTPTargetHTTPMethod+    , AppEngineHTTPTargetHTTPMethod (..)+    ) where++import           Network.Google.CloudScheduler.Types.Product+import           Network.Google.CloudScheduler.Types.Sum+import           Network.Google.Prelude++-- | Default request referring to version 'v1beta1' of the Cloud Scheduler API. This contains the host and root path used as a starting point for constructing service requests.+cloudSchedulerService :: ServiceConfig+cloudSchedulerService+  = defaultService (ServiceId "cloudscheduler:v1beta1")+      "cloudscheduler.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/CloudScheduler/Types/Product.hs view
@@ -0,0 +1,1450 @@+{-# 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.CloudScheduler.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.CloudScheduler.Types.Product where++import           Network.Google.CloudScheduler.Types.Sum+import           Network.Google.Prelude++-- | The \`Status\` type defines a logical error model that is suitable for+-- different programming environments, including REST APIs and RPC APIs. It+-- is used by [gRPC](https:\/\/github.com\/grpc). The error model is+-- designed to be: - Simple to use and understand for most users - Flexible+-- enough to meet unexpected needs # Overview The \`Status\` message+-- contains three pieces of data: error code, error message, and error+-- details. The error code should be an enum value of google.rpc.Code, but+-- it may accept additional error codes if needed. The error message should+-- be a developer-facing English message that helps developers *understand*+-- and *resolve* the error. If a localized user-facing error message is+-- needed, put the localized message in the error details or localize it in+-- the client. The optional error details may contain arbitrary information+-- about the error. There is a predefined set of error detail types in the+-- package \`google.rpc\` that can be used for common error conditions. #+-- Language mapping The \`Status\` message is the logical representation of+-- the error model, but it is not necessarily the actual wire format. When+-- the \`Status\` message is exposed in different client libraries and+-- different wire protocols, it can be mapped differently. For example, it+-- will likely be mapped to some exceptions in Java, but more likely mapped+-- to some error codes in C. # Other uses The error model and the+-- \`Status\` message can be used in a variety of environments, either with+-- or without APIs, to provide a consistent developer experience across+-- different environments. Example uses of this error model include: -+-- Partial errors. If a service needs to return partial errors to the+-- client, it may embed the \`Status\` in the normal response to indicate+-- the partial errors. - Workflow errors. A typical workflow has multiple+-- steps. Each step may have a \`Status\` message for error reporting. -+-- Batch operations. If a client uses batch request and batch response, the+-- \`Status\` message should be used directly inside batch response, one+-- for each error sub-response. - Asynchronous operations. If an API call+-- embeds asynchronous operation results in its response, the status of+-- those operations should be represented directly using the \`Status\`+-- message. - Logging. If some API errors are stored in logs, the message+-- \`Status\` could be used directly after any stripping needed for+-- security\/privacy reasons.+--+-- /See:/ 'status' smart constructor.+data Status = Status'+    { _sDetails :: !(Maybe [StatusDetailsItem])+    , _sCode    :: !(Maybe (Textual Int32))+    , _sMessage :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Status' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sDetails'+--+-- * 'sCode'+--+-- * 'sMessage'+status+    :: Status+status =+    Status'+    { _sDetails = Nothing+    , _sCode = Nothing+    , _sMessage = Nothing+    }++-- | A list of messages that carry the error details. There is a common set+-- of message types for APIs to use.+sDetails :: Lens' Status [StatusDetailsItem]+sDetails+  = lens _sDetails (\ s a -> s{_sDetails = a}) .+      _Default+      . _Coerce++-- | The status code, which should be an enum value of google.rpc.Code.+sCode :: Lens' Status (Maybe Int32)+sCode+  = lens _sCode (\ s a -> s{_sCode = a}) .+      mapping _Coerce++-- | A developer-facing error message, which should be in English. Any+-- user-facing error message should be localized and sent in the+-- google.rpc.Status.details field, or localized by the client.+sMessage :: Lens' Status (Maybe Text)+sMessage = lens _sMessage (\ s a -> s{_sMessage = a})++instance FromJSON Status where+        parseJSON+          = withObject "Status"+              (\ o ->+                 Status' <$>+                   (o .:? "details" .!= mempty) <*> (o .:? "code") <*>+                     (o .:? "message"))++instance ToJSON Status where+        toJSON Status'{..}+          = object+              (catMaybes+                 [("details" .=) <$> _sDetails,+                  ("code" .=) <$> _sCode,+                  ("message" .=) <$> _sMessage])++-- | Request message for PauseJob.+--+-- /See:/ 'pauseJobRequest' smart constructor.+data PauseJobRequest =+    PauseJobRequest'+    deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PauseJobRequest' with the minimum fields required to make a request.+--+pauseJobRequest+    :: PauseJobRequest+pauseJobRequest = PauseJobRequest'++instance FromJSON PauseJobRequest where+        parseJSON+          = withObject "PauseJobRequest"+              (\ o -> pure PauseJobRequest')++instance ToJSON PauseJobRequest where+        toJSON = const emptyObject++-- | 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 ResumeJob.+--+-- /See:/ 'resumeJobRequest' smart constructor.+data ResumeJobRequest =+    ResumeJobRequest'+    deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ResumeJobRequest' with the minimum fields required to make a request.+--+resumeJobRequest+    :: ResumeJobRequest+resumeJobRequest = ResumeJobRequest'++instance FromJSON ResumeJobRequest where+        parseJSON+          = withObject "ResumeJobRequest"+              (\ o -> pure ResumeJobRequest')++instance ToJSON ResumeJobRequest where+        toJSON = const emptyObject++-- | HTTP request headers. This map contains the header field names and+-- values. Headers can be set when the job is created. Cloud Scheduler 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 Scheduler will append \`\"AppEngine-Google;+-- (+http:\/\/code.google.com\/appengine)\"\` to the modified+-- \`User-Agent\`. * \`X-CloudScheduler\`: This header will be set to true.+-- If the job has an body, Cloud Scheduler sets the following headers: *+-- \`Content-Type\`: By default, the \`Content-Type\` header is set to+-- \`\"application\/octet-stream\"\`. The default can be overridden by+-- explictly setting \`Content-Type\` to a particular media type when the+-- job is created. For example, \`Content-Type\` can be set to+-- \`\"application\/json\"\`. * \`Content-Length\`: This is computed by+-- Cloud Scheduler. This value is output only. It cannot be changed. The+-- headers below are output only. They cannot be set or overridden: *+-- \`X-Google-*\`: For Google internal use only. * \`X-AppEngine-*\`: For+-- Google internal use only. In addition, some App Engine headers, which+-- contain job-specific information, are also be sent to the job handler.+--+-- /See:/ 'appEngineHTTPTargetHeaders' smart constructor.+newtype AppEngineHTTPTargetHeaders = AppEngineHTTPTargetHeaders'+    { _aehttpthAddtional :: HashMap Text Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AppEngineHTTPTargetHeaders' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'aehttpthAddtional'+appEngineHTTPTargetHeaders+    :: HashMap Text Text -- ^ 'aehttpthAddtional'+    -> AppEngineHTTPTargetHeaders+appEngineHTTPTargetHeaders pAehttpthAddtional_ =+    AppEngineHTTPTargetHeaders'+    { _aehttpthAddtional = _Coerce # pAehttpthAddtional_+    }++aehttpthAddtional :: Lens' AppEngineHTTPTargetHeaders (HashMap Text Text)+aehttpthAddtional+  = lens _aehttpthAddtional+      (\ s a -> s{_aehttpthAddtional = a})+      . _Coerce++instance FromJSON AppEngineHTTPTargetHeaders where+        parseJSON+          = withObject "AppEngineHTTPTargetHeaders"+              (\ o ->+                 AppEngineHTTPTargetHeaders' <$> (parseJSONObject o))++instance ToJSON AppEngineHTTPTargetHeaders where+        toJSON = toJSON . _aehttpthAddtional++-- | Settings that determine the retry behavior. By default, if a job does+-- not complete successfully (meaning that an acknowledgement is not+-- received from the handler, then it will be retried with exponential+-- backoff according to the settings in RetryConfig.+--+-- /See:/ 'retryConfig' smart constructor.+data RetryConfig = RetryConfig'+    { _rcMaxDoublings       :: !(Maybe (Textual Int32))+    , _rcMaxRetryDuration   :: !(Maybe GDuration)+    , _rcMinBackoffDuration :: !(Maybe GDuration)+    , _rcRetryCount         :: !(Maybe (Textual Int32))+    , _rcMaxBackoffDuration :: !(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'+--+-- * 'rcMinBackoffDuration'+--+-- * 'rcRetryCount'+--+-- * 'rcMaxBackoffDuration'+retryConfig+    :: RetryConfig+retryConfig =+    RetryConfig'+    { _rcMaxDoublings = Nothing+    , _rcMaxRetryDuration = Nothing+    , _rcMinBackoffDuration = Nothing+    , _rcRetryCount = Nothing+    , _rcMaxBackoffDuration = Nothing+    }++-- | The time between retries will double \`max_doublings\` times. A job\'s+-- retry interval starts at min_backoff_duration, then doubles+-- \`max_doublings\` times, then increases linearly, and finally retries+-- retries at intervals of max_backoff_duration up to retry_count times.+-- For example, if min_backoff_duration is 10s, max_backoff_duration is+-- 300s, and \`max_doublings\` is 3, then the a job will first be retried+-- in 10s. The retry interval will double three times, and then increase+-- linearly by 2^3 * 10s. Finally, the job will retry at intervals of+-- max_backoff_duration until the job has been attempted retry_count times.+-- Thus, the requests will retry at 10s, 20s, 40s, 80s, 160s, 240s, 300s,+-- 300s, .... The default value of this field is 5.+rcMaxDoublings :: Lens' RetryConfig (Maybe Int32)+rcMaxDoublings+  = lens _rcMaxDoublings+      (\ s a -> s{_rcMaxDoublings = a})+      . mapping _Coerce++-- | The time limit for retrying a failed job, measured from time when an+-- execution was first attempted. If specified with retry_count, the job+-- will be retried until both limits are reached. The default value for+-- max_retry_duration is zero, which means retry duration is unlimited.+rcMaxRetryDuration :: Lens' RetryConfig (Maybe Scientific)+rcMaxRetryDuration+  = lens _rcMaxRetryDuration+      (\ s a -> s{_rcMaxRetryDuration = a})+      . mapping _GDuration++-- | The minimum amount of time to wait before retrying a job after it fails.+-- The default value of this field is 5 seconds.+rcMinBackoffDuration :: Lens' RetryConfig (Maybe Scientific)+rcMinBackoffDuration+  = lens _rcMinBackoffDuration+      (\ s a -> s{_rcMinBackoffDuration = a})+      . mapping _GDuration++-- | The number of attempts that the system will make to run a job using the+-- exponential backoff procedure described by max_doublings. The default+-- value of retry_count is zero. If retry_count is zero, a job attempt will+-- *not* be retried if it fails. Instead the Cloud Scheduler system will+-- wait for the next scheduled execution time. If retry_count is set to a+-- non-zero number then Cloud Scheduler will retry failed attempts, using+-- exponential backoff, retry_count times, or until the next scheduled+-- execution time, whichever comes first. Values greater than 5 and+-- negative values are not allowed.+rcRetryCount :: Lens' RetryConfig (Maybe Int32)+rcRetryCount+  = lens _rcRetryCount (\ s a -> s{_rcRetryCount = a})+      . mapping _Coerce++-- | The maximum amount of time to wait before retrying a job after it fails.+-- The default value of this field is 1 hour.+rcMaxBackoffDuration :: Lens' RetryConfig (Maybe Scientific)+rcMaxBackoffDuration+  = lens _rcMaxBackoffDuration+      (\ s a -> s{_rcMaxBackoffDuration = a})+      . mapping _GDuration++instance FromJSON RetryConfig where+        parseJSON+          = withObject "RetryConfig"+              (\ o ->+                 RetryConfig' <$>+                   (o .:? "maxDoublings") <*> (o .:? "maxRetryDuration")+                     <*> (o .:? "minBackoffDuration")+                     <*> (o .:? "retryCount")+                     <*> (o .:? "maxBackoffDuration"))++instance ToJSON RetryConfig where+        toJSON RetryConfig'{..}+          = object+              (catMaybes+                 [("maxDoublings" .=) <$> _rcMaxDoublings,+                  ("maxRetryDuration" .=) <$> _rcMaxRetryDuration,+                  ("minBackoffDuration" .=) <$> _rcMinBackoffDuration,+                  ("retryCount" .=) <$> _rcRetryCount,+                  ("maxBackoffDuration" .=) <$> _rcMaxBackoffDuration])++-- | 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++-- | Attributes for PubsubMessage. Pubsub message must contain either+-- non-empty data, or at least one attribute.+--+-- /See:/ 'pubsubTargetAttributes' smart constructor.+newtype PubsubTargetAttributes = PubsubTargetAttributes'+    { _ptaAddtional :: HashMap Text Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PubsubTargetAttributes' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ptaAddtional'+pubsubTargetAttributes+    :: HashMap Text Text -- ^ 'ptaAddtional'+    -> PubsubTargetAttributes+pubsubTargetAttributes pPtaAddtional_ =+    PubsubTargetAttributes'+    { _ptaAddtional = _Coerce # pPtaAddtional_+    }++ptaAddtional :: Lens' PubsubTargetAttributes (HashMap Text Text)+ptaAddtional+  = lens _ptaAddtional (\ s a -> s{_ptaAddtional = a})+      . _Coerce++instance FromJSON PubsubTargetAttributes where+        parseJSON+          = withObject "PubsubTargetAttributes"+              (\ o ->+                 PubsubTargetAttributes' <$> (parseJSONObject o))++instance ToJSON PubsubTargetAttributes where+        toJSON = toJSON . _ptaAddtional++-- | The user can specify HTTP request headers to send with the job\'s HTTP+-- request. This map contains the header field names and values. Repeated+-- headers are not supported, but a header value can contain commas. These+-- headers represent a subset of the headers that will accompany the job\'s+-- HTTP request. Some HTTP request headers will be ignored or replaced. A+-- partial list of headers that will be ignored or replaced is below: -+-- Host: This will be computed by Cloud Scheduler and derived from uri. *+-- \`Content-Length\`: This will be computed by Cloud Scheduler. *+-- \`User-Agent\`: This will be set to \`\"Google-Cloud-Scheduler\"\`. *+-- \`X-Google-*\`: Google internal use only. * \`X-AppEngine-*\`: Google+-- internal use only. The total size of headers must be less than 80KB.+--+-- /See:/ 'hTTPTargetHeaders' smart constructor.+newtype HTTPTargetHeaders = HTTPTargetHeaders'+    { _httpthAddtional :: HashMap Text Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'HTTPTargetHeaders' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'httpthAddtional'+hTTPTargetHeaders+    :: HashMap Text Text -- ^ 'httpthAddtional'+    -> HTTPTargetHeaders+hTTPTargetHeaders pHttpthAddtional_ =+    HTTPTargetHeaders'+    { _httpthAddtional = _Coerce # pHttpthAddtional_+    }++httpthAddtional :: Lens' HTTPTargetHeaders (HashMap Text Text)+httpthAddtional+  = lens _httpthAddtional+      (\ s a -> s{_httpthAddtional = a})+      . _Coerce++instance FromJSON HTTPTargetHeaders where+        parseJSON+          = withObject "HTTPTargetHeaders"+              (\ o -> HTTPTargetHeaders' <$> (parseJSONObject o))++instance ToJSON HTTPTargetHeaders where+        toJSON = toJSON . _httpthAddtional++-- | A message that is published by publishers and consumed by subscribers.+-- The message must contain either a non-empty data field or at least one+-- attribute. Note that client libraries represent this object differently+-- depending on the language. See the corresponding+-- <https://cloud.google.com/pubsub/docs/reference/libraries client library documentation>+-- for more information. See+-- <https://cloud.google.com/pubsub/quotas Quotas and limits> for more+-- information about message limits.+--+-- /See:/ 'pubsubMessage' smart constructor.+data PubsubMessage = PubsubMessage'+    { _pmData        :: !(Maybe Bytes)+    , _pmPublishTime :: !(Maybe DateTime')+    , _pmAttributes  :: !(Maybe PubsubMessageAttributes)+    , _pmMessageId   :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PubsubMessage' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pmData'+--+-- * 'pmPublishTime'+--+-- * 'pmAttributes'+--+-- * 'pmMessageId'+pubsubMessage+    :: PubsubMessage+pubsubMessage =+    PubsubMessage'+    { _pmData = Nothing+    , _pmPublishTime = Nothing+    , _pmAttributes = Nothing+    , _pmMessageId = Nothing+    }++-- | The message data field. If this field is empty, the message must contain+-- at least one attribute.+pmData :: Lens' PubsubMessage (Maybe ByteString)+pmData+  = lens _pmData (\ s a -> s{_pmData = a}) .+      mapping _Bytes++-- | The time at which the message was published, populated by the server+-- when it receives the \`Publish\` call. It must not be populated by the+-- publisher in a \`Publish\` call.+pmPublishTime :: Lens' PubsubMessage (Maybe UTCTime)+pmPublishTime+  = lens _pmPublishTime+      (\ s a -> s{_pmPublishTime = a})+      . mapping _DateTime++-- | Optional attributes for this message.+pmAttributes :: Lens' PubsubMessage (Maybe PubsubMessageAttributes)+pmAttributes+  = lens _pmAttributes (\ s a -> s{_pmAttributes = a})++-- | ID of this message, assigned by the server when the message is+-- published. Guaranteed to be unique within the topic. This value may be+-- read by a subscriber that receives a \`PubsubMessage\` via a \`Pull\`+-- call or a push delivery. It must not be populated by the publisher in a+-- \`Publish\` call.+pmMessageId :: Lens' PubsubMessage (Maybe Text)+pmMessageId+  = lens _pmMessageId (\ s a -> s{_pmMessageId = a})++instance FromJSON PubsubMessage where+        parseJSON+          = withObject "PubsubMessage"+              (\ o ->+                 PubsubMessage' <$>+                   (o .:? "data") <*> (o .:? "publishTime") <*>+                     (o .:? "attributes")+                     <*> (o .:? "messageId"))++instance ToJSON PubsubMessage where+        toJSON PubsubMessage'{..}+          = object+              (catMaybes+                 [("data" .=) <$> _pmData,+                  ("publishTime" .=) <$> _pmPublishTime,+                  ("attributes" .=) <$> _pmAttributes,+                  ("messageId" .=) <$> _pmMessageId])++--+-- /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 target. The job will be pushed to a job handler by means of+-- an HTTP request via an http_method such as HTTP POST, HTTP GET, etc. The+-- job is acknowledged by means of an HTTP response code in the range [200+-- - 299]. Error 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, constitutes a failed attempt.+--+-- /See:/ 'appEngineHTTPTarget' smart constructor.+data AppEngineHTTPTarget = AppEngineHTTPTarget'+    { _aehttptHTTPMethod       :: !(Maybe AppEngineHTTPTargetHTTPMethod)+    , _aehttptRelativeURI      :: !(Maybe Text)+    , _aehttptBody             :: !(Maybe Bytes)+    , _aehttptHeaders          :: !(Maybe AppEngineHTTPTargetHeaders)+    , _aehttptAppEngineRouting :: !(Maybe AppEngineRouting)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AppEngineHTTPTarget' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'aehttptHTTPMethod'+--+-- * 'aehttptRelativeURI'+--+-- * 'aehttptBody'+--+-- * 'aehttptHeaders'+--+-- * 'aehttptAppEngineRouting'+appEngineHTTPTarget+    :: AppEngineHTTPTarget+appEngineHTTPTarget =+    AppEngineHTTPTarget'+    { _aehttptHTTPMethod = Nothing+    , _aehttptRelativeURI = Nothing+    , _aehttptBody = Nothing+    , _aehttptHeaders = Nothing+    , _aehttptAppEngineRouting = Nothing+    }++-- | The HTTP method to use for the request. PATCH and OPTIONS are not+-- permitted.+aehttptHTTPMethod :: Lens' AppEngineHTTPTarget (Maybe AppEngineHTTPTargetHTTPMethod)+aehttptHTTPMethod+  = lens _aehttptHTTPMethod+      (\ s a -> s{_aehttptHTTPMethod = a})++-- | The relative URI. The relative URL must begin with \"\/\" and must be a+-- valid HTTP relative URL. It can contain a path, query string arguments,+-- and \`#\` fragments. If the relative URL is empty, then the root path+-- \"\/\" will be used. No spaces are allowed, and the maximum length+-- allowed is 2083 characters.+aehttptRelativeURI :: Lens' AppEngineHTTPTarget (Maybe Text)+aehttptRelativeURI+  = lens _aehttptRelativeURI+      (\ s a -> s{_aehttptRelativeURI = a})++-- | Body. HTTP request body. A request body is allowed only if the HTTP+-- method is POST or PUT. It will result in invalid argument error to set a+-- body on a job with an incompatible HttpMethod.+aehttptBody :: Lens' AppEngineHTTPTarget (Maybe ByteString)+aehttptBody+  = lens _aehttptBody (\ s a -> s{_aehttptBody = a}) .+      mapping _Bytes++-- | HTTP request headers. This map contains the header field names and+-- values. Headers can be set when the job is created. Cloud Scheduler 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 Scheduler will append \`\"AppEngine-Google;+-- (+http:\/\/code.google.com\/appengine)\"\` to the modified+-- \`User-Agent\`. * \`X-CloudScheduler\`: This header will be set to true.+-- If the job has an body, Cloud Scheduler sets the following headers: *+-- \`Content-Type\`: By default, the \`Content-Type\` header is set to+-- \`\"application\/octet-stream\"\`. The default can be overridden by+-- explictly setting \`Content-Type\` to a particular media type when the+-- job is created. For example, \`Content-Type\` can be set to+-- \`\"application\/json\"\`. * \`Content-Length\`: This is computed by+-- Cloud Scheduler. This value is output only. It cannot be changed. The+-- headers below are output only. They cannot be set or overridden: *+-- \`X-Google-*\`: For Google internal use only. * \`X-AppEngine-*\`: For+-- Google internal use only. In addition, some App Engine headers, which+-- contain job-specific information, are also be sent to the job handler.+aehttptHeaders :: Lens' AppEngineHTTPTarget (Maybe AppEngineHTTPTargetHeaders)+aehttptHeaders+  = lens _aehttptHeaders+      (\ s a -> s{_aehttptHeaders = a})++-- | App Engine Routing setting for the job.+aehttptAppEngineRouting :: Lens' AppEngineHTTPTarget (Maybe AppEngineRouting)+aehttptAppEngineRouting+  = lens _aehttptAppEngineRouting+      (\ s a -> s{_aehttptAppEngineRouting = a})++instance FromJSON AppEngineHTTPTarget where+        parseJSON+          = withObject "AppEngineHTTPTarget"+              (\ o ->+                 AppEngineHTTPTarget' <$>+                   (o .:? "httpMethod") <*> (o .:? "relativeUri") <*>+                     (o .:? "body")+                     <*> (o .:? "headers")+                     <*> (o .:? "appEngineRouting"))++instance ToJSON AppEngineHTTPTarget where+        toJSON AppEngineHTTPTarget'{..}+          = object+              (catMaybes+                 [("httpMethod" .=) <$> _aehttptHTTPMethod,+                  ("relativeUri" .=) <$> _aehttptRelativeURI,+                  ("body" .=) <$> _aehttptBody,+                  ("headers" .=) <$> _aehttptHeaders,+                  ("appEngineRouting" .=) <$>+                    _aehttptAppEngineRouting])++-- | Http target. The job will be pushed to the job handler by means of an+-- HTTP request via an http_method such as HTTP POST, HTTP GET, etc. The+-- job is acknowledged by means of an HTTP response code in the range [200+-- - 299]. A failure to receive a response constitutes a failed execution.+-- For a redirected request, the response returned by the redirected+-- request is considered.+--+-- /See:/ 'hTTPTarget' smart constructor.+data HTTPTarget = HTTPTarget'+    { _httptHTTPMethod :: !(Maybe HTTPTargetHTTPMethod)+    , _httptBody       :: !(Maybe Bytes)+    , _httptURI        :: !(Maybe Text)+    , _httptHeaders    :: !(Maybe HTTPTargetHeaders)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'HTTPTarget' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'httptHTTPMethod'+--+-- * 'httptBody'+--+-- * 'httptURI'+--+-- * 'httptHeaders'+hTTPTarget+    :: HTTPTarget+hTTPTarget =+    HTTPTarget'+    { _httptHTTPMethod = Nothing+    , _httptBody = Nothing+    , _httptURI = Nothing+    , _httptHeaders = Nothing+    }++-- | Which HTTP method to use for the request.+httptHTTPMethod :: Lens' HTTPTarget (Maybe HTTPTargetHTTPMethod)+httptHTTPMethod+  = lens _httptHTTPMethod+      (\ s a -> s{_httptHTTPMethod = a})++-- | HTTP request body. A request body is allowed only if the HTTP method is+-- POST, PUT, or PATCH. It is an error to set body on a job with an+-- incompatible HttpMethod.+httptBody :: Lens' HTTPTarget (Maybe ByteString)+httptBody+  = lens _httptBody (\ s a -> s{_httptBody = a}) .+      mapping _Bytes++-- | Required. The full URI path that the request will be sent to. This+-- string must begin with either \"http:\/\/\" or \"https:\/\/\". Some+-- examples of valid values for uri are: \`http:\/\/acme.com\` and+-- \`https:\/\/acme.com\/sales:8080\`. Cloud Scheduler will encode some+-- characters for safety and compatibility. The maximum allowed URL length+-- is 2083 characters after encoding.+httptURI :: Lens' HTTPTarget (Maybe Text)+httptURI = lens _httptURI (\ s a -> s{_httptURI = a})++-- | The user can specify HTTP request headers to send with the job\'s HTTP+-- request. This map contains the header field names and values. Repeated+-- headers are not supported, but a header value can contain commas. These+-- headers represent a subset of the headers that will accompany the job\'s+-- HTTP request. Some HTTP request headers will be ignored or replaced. A+-- partial list of headers that will be ignored or replaced is below: -+-- Host: This will be computed by Cloud Scheduler and derived from uri. *+-- \`Content-Length\`: This will be computed by Cloud Scheduler. *+-- \`User-Agent\`: This will be set to \`\"Google-Cloud-Scheduler\"\`. *+-- \`X-Google-*\`: Google internal use only. * \`X-AppEngine-*\`: Google+-- internal use only. The total size of headers must be less than 80KB.+httptHeaders :: Lens' HTTPTarget (Maybe HTTPTargetHeaders)+httptHeaders+  = lens _httptHeaders (\ s a -> s{_httptHeaders = a})++instance FromJSON HTTPTarget where+        parseJSON+          = withObject "HTTPTarget"+              (\ o ->+                 HTTPTarget' <$>+                   (o .:? "httpMethod") <*> (o .:? "body") <*>+                     (o .:? "uri")+                     <*> (o .:? "headers"))++instance ToJSON HTTPTarget where+        toJSON HTTPTarget'{..}+          = object+              (catMaybes+                 [("httpMethod" .=) <$> _httptHTTPMethod,+                  ("body" .=) <$> _httptBody, ("uri" .=) <$> _httptURI,+                  ("headers" .=) <$> _httptHeaders])++-- | Request message for forcing a job to run now using RunJob.+--+-- /See:/ 'runJobRequest' smart constructor.+data RunJobRequest =+    RunJobRequest'+    deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'RunJobRequest' with the minimum fields required to make a request.+--+runJobRequest+    :: RunJobRequest+runJobRequest = RunJobRequest'++instance FromJSON RunJobRequest where+        parseJSON+          = withObject "RunJobRequest"+              (\ o -> pure RunJobRequest')++instance ToJSON RunJobRequest where+        toJSON = const emptyObject++-- | Configuration for a job. The maximum allowed size for a job is 100KB.+--+-- /See:/ 'job' smart constructor.+data Job = Job'+    { _jStatus              :: !(Maybe Status)+    , _jState               :: !(Maybe JobState)+    , _jLastAttemptTime     :: !(Maybe DateTime')+    , _jRetryConfig         :: !(Maybe RetryConfig)+    , _jSchedule            :: !(Maybe Text)+    , _jScheduleTime        :: !(Maybe DateTime')+    , _jAppEngineHTTPTarget :: !(Maybe AppEngineHTTPTarget)+    , _jHTTPTarget          :: !(Maybe HTTPTarget)+    , _jName                :: !(Maybe Text)+    , _jPubsubTarget        :: !(Maybe PubsubTarget)+    , _jUserUpdateTime      :: !(Maybe DateTime')+    , _jTimeZone            :: !(Maybe Text)+    , _jDescription         :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Job' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'jStatus'+--+-- * 'jState'+--+-- * 'jLastAttemptTime'+--+-- * 'jRetryConfig'+--+-- * 'jSchedule'+--+-- * 'jScheduleTime'+--+-- * 'jAppEngineHTTPTarget'+--+-- * 'jHTTPTarget'+--+-- * 'jName'+--+-- * 'jPubsubTarget'+--+-- * 'jUserUpdateTime'+--+-- * 'jTimeZone'+--+-- * 'jDescription'+job+    :: Job+job =+    Job'+    { _jStatus = Nothing+    , _jState = Nothing+    , _jLastAttemptTime = Nothing+    , _jRetryConfig = Nothing+    , _jSchedule = Nothing+    , _jScheduleTime = Nothing+    , _jAppEngineHTTPTarget = Nothing+    , _jHTTPTarget = Nothing+    , _jName = Nothing+    , _jPubsubTarget = Nothing+    , _jUserUpdateTime = Nothing+    , _jTimeZone = Nothing+    , _jDescription = Nothing+    }++-- | Output only. The response from the target for the last attempted+-- execution.+jStatus :: Lens' Job (Maybe Status)+jStatus = lens _jStatus (\ s a -> s{_jStatus = a})++-- | Output only. State of the job.+jState :: Lens' Job (Maybe JobState)+jState = lens _jState (\ s a -> s{_jState = a})++-- | Output only. The time the last job attempt started.+jLastAttemptTime :: Lens' Job (Maybe UTCTime)+jLastAttemptTime+  = lens _jLastAttemptTime+      (\ s a -> s{_jLastAttemptTime = a})+      . mapping _DateTime++-- | Settings that determine the retry behavior.+jRetryConfig :: Lens' Job (Maybe RetryConfig)+jRetryConfig+  = lens _jRetryConfig (\ s a -> s{_jRetryConfig = a})++-- | Required. Describes the schedule on which the job will be executed. As a+-- general rule, execution \`n + 1\` of a job will not begin until+-- execution \`n\` has finished. Cloud Scheduler will never allow two+-- simultaneously outstanding executions. For example, this implies that if+-- the \`n+1\`th execution is scheduled to run at 16:00 but the \`n\`th+-- execution takes until 16:15, the \`n+1\`th execution will not start+-- until \`16:15\`. A scheduled start time will be delayed if the previous+-- execution has not ended when its scheduled time occurs. If retry_count >+-- 0 and a job attempt fails, the job will be tried a total of retry_count+-- times, with exponential backoff, until the next scheduled start time.+-- The schedule can be either of the following types: *+-- [Crontab](http:\/\/en.wikipedia.org\/wiki\/Cron#Overview) * English-like+-- [schedule](https:\/\/cloud.google.com\/scheduler\/docs\/configuring\/cron-job-schedules)+jSchedule :: Lens' Job (Maybe Text)+jSchedule+  = lens _jSchedule (\ s a -> s{_jSchedule = a})++-- | Output only. The next time the job is scheduled. Note that this may be a+-- retry of a previously failed attempt or the next execution time+-- according to the schedule.+jScheduleTime :: Lens' Job (Maybe UTCTime)+jScheduleTime+  = lens _jScheduleTime+      (\ s a -> s{_jScheduleTime = a})+      . mapping _DateTime++-- | App Engine HTTP target.+jAppEngineHTTPTarget :: Lens' Job (Maybe AppEngineHTTPTarget)+jAppEngineHTTPTarget+  = lens _jAppEngineHTTPTarget+      (\ s a -> s{_jAppEngineHTTPTarget = a})++-- | HTTP target.+jHTTPTarget :: Lens' Job (Maybe HTTPTarget)+jHTTPTarget+  = lens _jHTTPTarget (\ s a -> s{_jHTTPTarget = a})++-- | The job name. For example:+-- \`projects\/PROJECT_ID\/locations\/LOCATION_ID\/jobs\/JOB_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 job\'s location. The list+-- of available locations can be obtained by calling ListLocations. For+-- more information, see https:\/\/cloud.google.com\/about\/locations\/. *+-- \`JOB_ID\` can contain only letters ([A-Za-z]), numbers ([0-9]), hyphens+-- (-), or underscores (_). The maximum length is 500 characters.+jName :: Lens' Job (Maybe Text)+jName = lens _jName (\ s a -> s{_jName = a})++-- | Pub\/Sub target.+jPubsubTarget :: Lens' Job (Maybe PubsubTarget)+jPubsubTarget+  = lens _jPubsubTarget+      (\ s a -> s{_jPubsubTarget = a})++-- | Output only. The creation time of the job.+jUserUpdateTime :: Lens' Job (Maybe UTCTime)+jUserUpdateTime+  = lens _jUserUpdateTime+      (\ s a -> s{_jUserUpdateTime = a})+      . mapping _DateTime++-- | Specifies the time zone to be used in interpreting schedule. The value+-- of this field must be a time zone name from the [tz+-- database](http:\/\/en.wikipedia.org\/wiki\/Tz_database). Note that some+-- time zones include a provision for daylight savings time. The rules for+-- daylight saving time are determined by the chosen tz. For UTC use the+-- string \"utc\". If a time zone is not specified, the default will be in+-- UTC (also known as GMT).+jTimeZone :: Lens' Job (Maybe Text)+jTimeZone+  = lens _jTimeZone (\ s a -> s{_jTimeZone = a})++-- | A human-readable description for the job. This string must not contain+-- more than 500 characters.+jDescription :: Lens' Job (Maybe Text)+jDescription+  = lens _jDescription (\ s a -> s{_jDescription = a})++instance FromJSON Job where+        parseJSON+          = withObject "Job"+              (\ o ->+                 Job' <$>+                   (o .:? "status") <*> (o .:? "state") <*>+                     (o .:? "lastAttemptTime")+                     <*> (o .:? "retryConfig")+                     <*> (o .:? "schedule")+                     <*> (o .:? "scheduleTime")+                     <*> (o .:? "appEngineHttpTarget")+                     <*> (o .:? "httpTarget")+                     <*> (o .:? "name")+                     <*> (o .:? "pubsubTarget")+                     <*> (o .:? "userUpdateTime")+                     <*> (o .:? "timeZone")+                     <*> (o .:? "description"))++instance ToJSON Job where+        toJSON Job'{..}+          = object+              (catMaybes+                 [("status" .=) <$> _jStatus,+                  ("state" .=) <$> _jState,+                  ("lastAttemptTime" .=) <$> _jLastAttemptTime,+                  ("retryConfig" .=) <$> _jRetryConfig,+                  ("schedule" .=) <$> _jSchedule,+                  ("scheduleTime" .=) <$> _jScheduleTime,+                  ("appEngineHttpTarget" .=) <$> _jAppEngineHTTPTarget,+                  ("httpTarget" .=) <$> _jHTTPTarget,+                  ("name" .=) <$> _jName,+                  ("pubsubTarget" .=) <$> _jPubsubTarget,+                  ("userUpdateTime" .=) <$> _jUserUpdateTime,+                  ("timeZone" .=) <$> _jTimeZone,+                  ("description" .=) <$> _jDescription])++-- | Optional attributes for this message.+--+-- /See:/ 'pubsubMessageAttributes' smart constructor.+newtype PubsubMessageAttributes = PubsubMessageAttributes'+    { _pmaAddtional :: HashMap Text Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PubsubMessageAttributes' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pmaAddtional'+pubsubMessageAttributes+    :: HashMap Text Text -- ^ 'pmaAddtional'+    -> PubsubMessageAttributes+pubsubMessageAttributes pPmaAddtional_ =+    PubsubMessageAttributes'+    { _pmaAddtional = _Coerce # pPmaAddtional_+    }++pmaAddtional :: Lens' PubsubMessageAttributes (HashMap Text Text)+pmaAddtional+  = lens _pmaAddtional (\ s a -> s{_pmaAddtional = a})+      . _Coerce++instance FromJSON PubsubMessageAttributes where+        parseJSON+          = withObject "PubsubMessageAttributes"+              (\ o ->+                 PubsubMessageAttributes' <$> (parseJSONObject o))++instance ToJSON PubsubMessageAttributes where+        toJSON = toJSON . _pmaAddtional++-- | Pub\/Sub target. The job will be delivered by publishing a message to+-- the given Pub\/Sub topic.+--+-- /See:/ 'pubsubTarget' smart constructor.+data PubsubTarget = PubsubTarget'+    { _ptData       :: !(Maybe Bytes)+    , _ptTopicName  :: !(Maybe Text)+    , _ptAttributes :: !(Maybe PubsubTargetAttributes)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PubsubTarget' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ptData'+--+-- * 'ptTopicName'+--+-- * 'ptAttributes'+pubsubTarget+    :: PubsubTarget+pubsubTarget =+    PubsubTarget'+    { _ptData = Nothing+    , _ptTopicName = Nothing+    , _ptAttributes = Nothing+    }++-- | The message payload for PubsubMessage. Pubsub message must contain+-- either non-empty data, or at least one attribute.+ptData :: Lens' PubsubTarget (Maybe ByteString)+ptData+  = lens _ptData (\ s a -> s{_ptData = a}) .+      mapping _Bytes++-- | Required. The name of the Cloud Pub\/Sub topic to which messages will be+-- published when a job is delivered. The topic name must be in the same+-- format as required by PubSub\'s+-- [PublishRequest.name](https:\/\/cloud.google.com\/pubsub\/docs\/reference\/rpc\/google.pubsub.v1#publishrequest),+-- for example \`projects\/PROJECT_ID\/topics\/TOPIC_ID\`. The topic must+-- be in the same project as the Cloud Scheduler job.+ptTopicName :: Lens' PubsubTarget (Maybe Text)+ptTopicName+  = lens _ptTopicName (\ s a -> s{_ptTopicName = a})++-- | Attributes for PubsubMessage. Pubsub message must contain either+-- non-empty data, or at least one attribute.+ptAttributes :: Lens' PubsubTarget (Maybe PubsubTargetAttributes)+ptAttributes+  = lens _ptAttributes (\ s a -> s{_ptAttributes = a})++instance FromJSON PubsubTarget where+        parseJSON+          = withObject "PubsubTarget"+              (\ o ->+                 PubsubTarget' <$>+                   (o .:? "data") <*> (o .:? "topicName") <*>+                     (o .:? "attributes"))++instance ToJSON PubsubTarget where+        toJSON PubsubTarget'{..}+          = object+              (catMaybes+                 [("data" .=) <$> _ptData,+                  ("topicName" .=) <$> _ptTopicName,+                  ("attributes" .=) <$> _ptAttributes])++-- | Response message for listing jobs using ListJobs.+--+-- /See:/ 'listJobsResponse' smart constructor.+data ListJobsResponse = ListJobsResponse'+    { _ljrNextPageToken :: !(Maybe Text)+    , _ljrJobs          :: !(Maybe [Job])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ListJobsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ljrNextPageToken'+--+-- * 'ljrJobs'+listJobsResponse+    :: ListJobsResponse+listJobsResponse =+    ListJobsResponse'+    { _ljrNextPageToken = Nothing+    , _ljrJobs = Nothing+    }++-- | A token to retrieve next page of results. Pass this value in the+-- page_token field in the subsequent call to ListJobs to retrieve the next+-- page of results. If this is empty it indicates that there are no more+-- results through which to paginate. The page token is valid for only 2+-- hours.+ljrNextPageToken :: Lens' ListJobsResponse (Maybe Text)+ljrNextPageToken+  = lens _ljrNextPageToken+      (\ s a -> s{_ljrNextPageToken = a})++-- | The list of jobs.+ljrJobs :: Lens' ListJobsResponse [Job]+ljrJobs+  = lens _ljrJobs (\ s a -> s{_ljrJobs = a}) . _Default+      . _Coerce++instance FromJSON ListJobsResponse where+        parseJSON+          = withObject "ListJobsResponse"+              (\ o ->+                 ListJobsResponse' <$>+                   (o .:? "nextPageToken") <*>+                     (o .:? "jobs" .!= mempty))++instance ToJSON ListJobsResponse where+        toJSON ListJobsResponse'{..}+          = object+              (catMaybes+                 [("nextPageToken" .=) <$> _ljrNextPageToken,+                  ("jobs" .=) <$> _ljrJobs])++-- | 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. 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 job is sent to the service which is the+-- default service when the job is attempted.+aerService :: Lens' AppEngineRouting (Maybe Text)+aerService+  = lens _aerService (\ s a -> s{_aerService = a})++-- | App version. By default, the job is sent to the version which is the+-- default version when the job is attempted.+aerVersion :: Lens' AppEngineRouting (Maybe Text)+aerVersion+  = lens _aerVersion (\ s a -> s{_aerVersion = a})++-- | Output only. The host that the job is sent to. For more information+-- about how App Engine requests are routed, see+-- [here](https:\/\/cloud.google.com\/appengine\/docs\/standard\/python\/how-requests-are-routed).+-- The host is constructed as: * \`host = [application_domain_name]\` \`|+-- [service] + \'.\' + [application_domain_name]\` \`| [version] + \'.\' ++-- [application_domain_name]\` \`| [version_dot_service]+ \'.\' ++-- [application_domain_name]\` \`| [instance] + \'.\' ++-- [application_domain_name]\` \`| [instance_dot_service] + \'.\' ++-- [application_domain_name]\` \`| [instance_dot_version] + \'.\' ++-- [application_domain_name]\` \`| [instance_dot_version_dot_service] ++-- \'.\' + [application_domain_name]\` * \`application_domain_name\` = The+-- domain name of the app, for example .appspot.com, which is associated+-- with the job\'s project ID. * \`service =\` service * \`version =\`+-- version * \`version_dot_service =\` version \`+ \'.\' +\` service *+-- \`instance =\` instance * \`instance_dot_service =\` instance \`+ \'.\'+-- +\` service * \`instance_dot_version =\` instance \`+ \'.\' +\` version+-- * \`instance_dot_version_dot_service =\` instance \`+ \'.\' +\` version+-- \`+ \'.\' +\` service If service is empty, then the job will be sent to+-- the service which is the default service when the job is attempted. If+-- version is empty, then the job will be sent to the version which is the+-- default version when the job is attempted. If instance is empty, then+-- the job will be sent to an instance which is available when the job is+-- attempted. If service, version, or instance is invalid, then the job+-- will be sent to the default version of the default service when the job+-- is attempted.+aerHost :: Lens' AppEngineRouting (Maybe Text)+aerHost = lens _aerHost (\ s a -> s{_aerHost = a})++-- | App instance. By default, the job is sent to an instance which is+-- available when the job 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])
+ gen/Network/Google/CloudScheduler/Types/Sum.hs view
@@ -0,0 +1,215 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE LambdaCase         #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module      : Network.Google.CloudScheduler.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.CloudScheduler.Types.Sum where++import           Network.Google.Prelude hiding (Bytes)++-- | Output only. State of the job.+data JobState+    = StateUnspecified+      -- ^ @STATE_UNSPECIFIED@+      -- Unspecified state.+    | Enabled+      -- ^ @ENABLED@+      -- The job is executing normally.+    | Paused+      -- ^ @PAUSED@+      -- The job is paused by the user. It will not execute. A user can+      -- intentionally pause the job using PauseJobRequest.+    | Disabled+      -- ^ @DISABLED@+      -- The job is disabled by the system due to error. The user cannot directly+      -- set a job to be disabled.+    | UpdateFailed+      -- ^ @UPDATE_FAILED@+      -- The job state resulting from a failed CloudScheduler.UpdateJob+      -- operation. To recover a job from this state, retry+      -- CloudScheduler.UpdateJob until a successful response is received.+      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable JobState++instance FromHttpApiData JobState where+    parseQueryParam = \case+        "STATE_UNSPECIFIED" -> Right StateUnspecified+        "ENABLED" -> Right Enabled+        "PAUSED" -> Right Paused+        "DISABLED" -> Right Disabled+        "UPDATE_FAILED" -> Right UpdateFailed+        x -> Left ("Unable to parse JobState from: " <> x)++instance ToHttpApiData JobState where+    toQueryParam = \case+        StateUnspecified -> "STATE_UNSPECIFIED"+        Enabled -> "ENABLED"+        Paused -> "PAUSED"+        Disabled -> "DISABLED"+        UpdateFailed -> "UPDATE_FAILED"++instance FromJSON JobState where+    parseJSON = parseJSONText "JobState"++instance ToJSON JobState 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++-- | Which HTTP method to use for the request.+data HTTPTargetHTTPMethod+    = HTTPMethodUnspecified+      -- ^ @HTTP_METHOD_UNSPECIFIED@+      -- HTTP method unspecified. Defaults to POST.+    | Post'+      -- ^ @POST@+      -- HTTP POST+    | Get'+      -- ^ @GET@+      -- HTTP GET+    | Head'+      -- ^ @HEAD@+      -- HTTP HEAD+    | Put'+      -- ^ @PUT@+      -- HTTP PUT+    | Delete'+      -- ^ @DELETE@+      -- HTTP DELETE+    | Patch'+      -- ^ @PATCH@+      -- HTTP PATCH+    | Options+      -- ^ @OPTIONS@+      -- HTTP OPTIONS+      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable HTTPTargetHTTPMethod++instance FromHttpApiData HTTPTargetHTTPMethod where+    parseQueryParam = \case+        "HTTP_METHOD_UNSPECIFIED" -> Right HTTPMethodUnspecified+        "POST" -> Right Post'+        "GET" -> Right Get'+        "HEAD" -> Right Head'+        "PUT" -> Right Put'+        "DELETE" -> Right Delete'+        "PATCH" -> Right Patch'+        "OPTIONS" -> Right Options+        x -> Left ("Unable to parse HTTPTargetHTTPMethod from: " <> x)++instance ToHttpApiData HTTPTargetHTTPMethod where+    toQueryParam = \case+        HTTPMethodUnspecified -> "HTTP_METHOD_UNSPECIFIED"+        Post' -> "POST"+        Get' -> "GET"+        Head' -> "HEAD"+        Put' -> "PUT"+        Delete' -> "DELETE"+        Patch' -> "PATCH"+        Options -> "OPTIONS"++instance FromJSON HTTPTargetHTTPMethod where+    parseJSON = parseJSONText "HTTPTargetHTTPMethod"++instance ToJSON HTTPTargetHTTPMethod where+    toJSON = toJSONText++-- | The HTTP method to use for the request. PATCH and OPTIONS are not+-- permitted.+data AppEngineHTTPTargetHTTPMethod+    = AEHTTPTHTTPMHTTPMethodUnspecified+      -- ^ @HTTP_METHOD_UNSPECIFIED@+      -- HTTP method unspecified. Defaults to POST.+    | AEHTTPTHTTPMPost'+      -- ^ @POST@+      -- HTTP POST+    | AEHTTPTHTTPMGet'+      -- ^ @GET@+      -- HTTP GET+    | AEHTTPTHTTPMHead'+      -- ^ @HEAD@+      -- HTTP HEAD+    | AEHTTPTHTTPMPut'+      -- ^ @PUT@+      -- HTTP PUT+    | AEHTTPTHTTPMDelete'+      -- ^ @DELETE@+      -- HTTP DELETE+    | AEHTTPTHTTPMPatch'+      -- ^ @PATCH@+      -- HTTP PATCH+    | AEHTTPTHTTPMOptions+      -- ^ @OPTIONS@+      -- HTTP OPTIONS+      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable AppEngineHTTPTargetHTTPMethod++instance FromHttpApiData AppEngineHTTPTargetHTTPMethod where+    parseQueryParam = \case+        "HTTP_METHOD_UNSPECIFIED" -> Right AEHTTPTHTTPMHTTPMethodUnspecified+        "POST" -> Right AEHTTPTHTTPMPost'+        "GET" -> Right AEHTTPTHTTPMGet'+        "HEAD" -> Right AEHTTPTHTTPMHead'+        "PUT" -> Right AEHTTPTHTTPMPut'+        "DELETE" -> Right AEHTTPTHTTPMDelete'+        "PATCH" -> Right AEHTTPTHTTPMPatch'+        "OPTIONS" -> Right AEHTTPTHTTPMOptions+        x -> Left ("Unable to parse AppEngineHTTPTargetHTTPMethod from: " <> x)++instance ToHttpApiData AppEngineHTTPTargetHTTPMethod where+    toQueryParam = \case+        AEHTTPTHTTPMHTTPMethodUnspecified -> "HTTP_METHOD_UNSPECIFIED"+        AEHTTPTHTTPMPost' -> "POST"+        AEHTTPTHTTPMGet' -> "GET"+        AEHTTPTHTTPMHead' -> "HEAD"+        AEHTTPTHTTPMPut' -> "PUT"+        AEHTTPTHTTPMDelete' -> "DELETE"+        AEHTTPTHTTPMPatch' -> "PATCH"+        AEHTTPTHTTPMOptions -> "OPTIONS"++instance FromJSON AppEngineHTTPTargetHTTPMethod where+    parseJSON = parseJSONText "AppEngineHTTPTargetHTTPMethod"++instance ToJSON AppEngineHTTPTargetHTTPMethod where+    toJSON = toJSONText
+ gen/Network/Google/Resource/CloudScheduler/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.CloudScheduler.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/scheduler/ Cloud Scheduler API Reference> for @cloudscheduler.projects.locations.get@.+module Network.Google.Resource.CloudScheduler.Projects.Locations.Get+    (+    -- * REST Resource+      ProjectsLocationsGetResource++    -- * Creating a Request+    , projectsLocationsGet+    , ProjectsLocationsGet++    -- * Request Lenses+    , plgXgafv+    , plgUploadProtocol+    , plgAccessToken+    , plgUploadType+    , plgName+    , plgCallback+    ) where++import           Network.Google.CloudScheduler.Types+import           Network.Google.Prelude++-- | A resource alias for @cloudscheduler.projects.locations.get@ method which the+-- 'ProjectsLocationsGet' request conforms to.+type ProjectsLocationsGetResource =+     "v1beta1" :>+       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)+              cloudSchedulerService+          where go+                  = buildClient+                      (Proxy :: Proxy ProjectsLocationsGetResource)+                      mempty
+ gen/Network/Google/Resource/CloudScheduler/Projects/Locations/Jobs/Create.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.CloudScheduler.Projects.Locations.Jobs.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 job.+--+-- /See:/ <https://cloud.google.com/scheduler/ Cloud Scheduler API Reference> for @cloudscheduler.projects.locations.jobs.create@.+module Network.Google.Resource.CloudScheduler.Projects.Locations.Jobs.Create+    (+    -- * REST Resource+      ProjectsLocationsJobsCreateResource++    -- * Creating a Request+    , projectsLocationsJobsCreate+    , ProjectsLocationsJobsCreate++    -- * Request Lenses+    , pljcParent+    , pljcXgafv+    , pljcUploadProtocol+    , pljcAccessToken+    , pljcUploadType+    , pljcPayload+    , pljcCallback+    ) where++import           Network.Google.CloudScheduler.Types+import           Network.Google.Prelude++-- | A resource alias for @cloudscheduler.projects.locations.jobs.create@ method which the+-- 'ProjectsLocationsJobsCreate' request conforms to.+type ProjectsLocationsJobsCreateResource =+     "v1beta1" :>+       Capture "parent" Text :>+         "jobs" :>+           QueryParam "$.xgafv" Xgafv :>+             QueryParam "upload_protocol" Text :>+               QueryParam "access_token" Text :>+                 QueryParam "uploadType" Text :>+                   QueryParam "callback" Text :>+                     QueryParam "alt" AltJSON :>+                       ReqBody '[JSON] Job :> Post '[JSON] Job++-- | Creates a job.+--+-- /See:/ 'projectsLocationsJobsCreate' smart constructor.+data ProjectsLocationsJobsCreate = ProjectsLocationsJobsCreate'+    { _pljcParent         :: !Text+    , _pljcXgafv          :: !(Maybe Xgafv)+    , _pljcUploadProtocol :: !(Maybe Text)+    , _pljcAccessToken    :: !(Maybe Text)+    , _pljcUploadType     :: !(Maybe Text)+    , _pljcPayload        :: !Job+    , _pljcCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProjectsLocationsJobsCreate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pljcParent'+--+-- * 'pljcXgafv'+--+-- * 'pljcUploadProtocol'+--+-- * 'pljcAccessToken'+--+-- * 'pljcUploadType'+--+-- * 'pljcPayload'+--+-- * 'pljcCallback'+projectsLocationsJobsCreate+    :: Text -- ^ 'pljcParent'+    -> Job -- ^ 'pljcPayload'+    -> ProjectsLocationsJobsCreate+projectsLocationsJobsCreate pPljcParent_ pPljcPayload_ =+    ProjectsLocationsJobsCreate'+    { _pljcParent = pPljcParent_+    , _pljcXgafv = Nothing+    , _pljcUploadProtocol = Nothing+    , _pljcAccessToken = Nothing+    , _pljcUploadType = Nothing+    , _pljcPayload = pPljcPayload_+    , _pljcCallback = Nothing+    }++-- | Required. The location name. For example:+-- \`projects\/PROJECT_ID\/locations\/LOCATION_ID\`.+pljcParent :: Lens' ProjectsLocationsJobsCreate Text+pljcParent+  = lens _pljcParent (\ s a -> s{_pljcParent = a})++-- | V1 error format.+pljcXgafv :: Lens' ProjectsLocationsJobsCreate (Maybe Xgafv)+pljcXgafv+  = lens _pljcXgafv (\ s a -> s{_pljcXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+pljcUploadProtocol :: Lens' ProjectsLocationsJobsCreate (Maybe Text)+pljcUploadProtocol+  = lens _pljcUploadProtocol+      (\ s a -> s{_pljcUploadProtocol = a})++-- | OAuth access token.+pljcAccessToken :: Lens' ProjectsLocationsJobsCreate (Maybe Text)+pljcAccessToken+  = lens _pljcAccessToken+      (\ s a -> s{_pljcAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+pljcUploadType :: Lens' ProjectsLocationsJobsCreate (Maybe Text)+pljcUploadType+  = lens _pljcUploadType+      (\ s a -> s{_pljcUploadType = a})++-- | Multipart request metadata.+pljcPayload :: Lens' ProjectsLocationsJobsCreate Job+pljcPayload+  = lens _pljcPayload (\ s a -> s{_pljcPayload = a})++-- | JSONP+pljcCallback :: Lens' ProjectsLocationsJobsCreate (Maybe Text)+pljcCallback+  = lens _pljcCallback (\ s a -> s{_pljcCallback = a})++instance GoogleRequest ProjectsLocationsJobsCreate+         where+        type Rs ProjectsLocationsJobsCreate = Job+        type Scopes ProjectsLocationsJobsCreate =+             '["https://www.googleapis.com/auth/cloud-platform"]+        requestClient ProjectsLocationsJobsCreate'{..}+          = go _pljcParent _pljcXgafv _pljcUploadProtocol+              _pljcAccessToken+              _pljcUploadType+              _pljcCallback+              (Just AltJSON)+              _pljcPayload+              cloudSchedulerService+          where go+                  = buildClient+                      (Proxy :: Proxy ProjectsLocationsJobsCreateResource)+                      mempty
+ gen/Network/Google/Resource/CloudScheduler/Projects/Locations/Jobs/Delete.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.CloudScheduler.Projects.Locations.Jobs.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 job.+--+-- /See:/ <https://cloud.google.com/scheduler/ Cloud Scheduler API Reference> for @cloudscheduler.projects.locations.jobs.delete@.+module Network.Google.Resource.CloudScheduler.Projects.Locations.Jobs.Delete+    (+    -- * REST Resource+      ProjectsLocationsJobsDeleteResource++    -- * Creating a Request+    , projectsLocationsJobsDelete+    , ProjectsLocationsJobsDelete++    -- * Request Lenses+    , pljdXgafv+    , pljdUploadProtocol+    , pljdAccessToken+    , pljdUploadType+    , pljdName+    , pljdCallback+    ) where++import           Network.Google.CloudScheduler.Types+import           Network.Google.Prelude++-- | A resource alias for @cloudscheduler.projects.locations.jobs.delete@ method which the+-- 'ProjectsLocationsJobsDelete' request conforms to.+type ProjectsLocationsJobsDeleteResource =+     "v1beta1" :>+       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 job.+--+-- /See:/ 'projectsLocationsJobsDelete' smart constructor.+data ProjectsLocationsJobsDelete = ProjectsLocationsJobsDelete'+    { _pljdXgafv          :: !(Maybe Xgafv)+    , _pljdUploadProtocol :: !(Maybe Text)+    , _pljdAccessToken    :: !(Maybe Text)+    , _pljdUploadType     :: !(Maybe Text)+    , _pljdName           :: !Text+    , _pljdCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProjectsLocationsJobsDelete' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pljdXgafv'+--+-- * 'pljdUploadProtocol'+--+-- * 'pljdAccessToken'+--+-- * 'pljdUploadType'+--+-- * 'pljdName'+--+-- * 'pljdCallback'+projectsLocationsJobsDelete+    :: Text -- ^ 'pljdName'+    -> ProjectsLocationsJobsDelete+projectsLocationsJobsDelete pPljdName_ =+    ProjectsLocationsJobsDelete'+    { _pljdXgafv = Nothing+    , _pljdUploadProtocol = Nothing+    , _pljdAccessToken = Nothing+    , _pljdUploadType = Nothing+    , _pljdName = pPljdName_+    , _pljdCallback = Nothing+    }++-- | V1 error format.+pljdXgafv :: Lens' ProjectsLocationsJobsDelete (Maybe Xgafv)+pljdXgafv+  = lens _pljdXgafv (\ s a -> s{_pljdXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+pljdUploadProtocol :: Lens' ProjectsLocationsJobsDelete (Maybe Text)+pljdUploadProtocol+  = lens _pljdUploadProtocol+      (\ s a -> s{_pljdUploadProtocol = a})++-- | OAuth access token.+pljdAccessToken :: Lens' ProjectsLocationsJobsDelete (Maybe Text)+pljdAccessToken+  = lens _pljdAccessToken+      (\ s a -> s{_pljdAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+pljdUploadType :: Lens' ProjectsLocationsJobsDelete (Maybe Text)+pljdUploadType+  = lens _pljdUploadType+      (\ s a -> s{_pljdUploadType = a})++-- | Required. The job name. For example:+-- \`projects\/PROJECT_ID\/locations\/LOCATION_ID\/jobs\/JOB_ID\`.+pljdName :: Lens' ProjectsLocationsJobsDelete Text+pljdName = lens _pljdName (\ s a -> s{_pljdName = a})++-- | JSONP+pljdCallback :: Lens' ProjectsLocationsJobsDelete (Maybe Text)+pljdCallback+  = lens _pljdCallback (\ s a -> s{_pljdCallback = a})++instance GoogleRequest ProjectsLocationsJobsDelete+         where+        type Rs ProjectsLocationsJobsDelete = Empty+        type Scopes ProjectsLocationsJobsDelete =+             '["https://www.googleapis.com/auth/cloud-platform"]+        requestClient ProjectsLocationsJobsDelete'{..}+          = go _pljdName _pljdXgafv _pljdUploadProtocol+              _pljdAccessToken+              _pljdUploadType+              _pljdCallback+              (Just AltJSON)+              cloudSchedulerService+          where go+                  = buildClient+                      (Proxy :: Proxy ProjectsLocationsJobsDeleteResource)+                      mempty
+ gen/Network/Google/Resource/CloudScheduler/Projects/Locations/Jobs/Get.hs view
@@ -0,0 +1,146 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.CloudScheduler.Projects.Locations.Jobs.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 job.+--+-- /See:/ <https://cloud.google.com/scheduler/ Cloud Scheduler API Reference> for @cloudscheduler.projects.locations.jobs.get@.+module Network.Google.Resource.CloudScheduler.Projects.Locations.Jobs.Get+    (+    -- * REST Resource+      ProjectsLocationsJobsGetResource++    -- * Creating a Request+    , projectsLocationsJobsGet+    , ProjectsLocationsJobsGet++    -- * Request Lenses+    , pljgXgafv+    , pljgUploadProtocol+    , pljgAccessToken+    , pljgUploadType+    , pljgName+    , pljgCallback+    ) where++import           Network.Google.CloudScheduler.Types+import           Network.Google.Prelude++-- | A resource alias for @cloudscheduler.projects.locations.jobs.get@ method which the+-- 'ProjectsLocationsJobsGet' request conforms to.+type ProjectsLocationsJobsGetResource =+     "v1beta1" :>+       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] Job++-- | Gets a job.+--+-- /See:/ 'projectsLocationsJobsGet' smart constructor.+data ProjectsLocationsJobsGet = ProjectsLocationsJobsGet'+    { _pljgXgafv          :: !(Maybe Xgafv)+    , _pljgUploadProtocol :: !(Maybe Text)+    , _pljgAccessToken    :: !(Maybe Text)+    , _pljgUploadType     :: !(Maybe Text)+    , _pljgName           :: !Text+    , _pljgCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProjectsLocationsJobsGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pljgXgafv'+--+-- * 'pljgUploadProtocol'+--+-- * 'pljgAccessToken'+--+-- * 'pljgUploadType'+--+-- * 'pljgName'+--+-- * 'pljgCallback'+projectsLocationsJobsGet+    :: Text -- ^ 'pljgName'+    -> ProjectsLocationsJobsGet+projectsLocationsJobsGet pPljgName_ =+    ProjectsLocationsJobsGet'+    { _pljgXgafv = Nothing+    , _pljgUploadProtocol = Nothing+    , _pljgAccessToken = Nothing+    , _pljgUploadType = Nothing+    , _pljgName = pPljgName_+    , _pljgCallback = Nothing+    }++-- | V1 error format.+pljgXgafv :: Lens' ProjectsLocationsJobsGet (Maybe Xgafv)+pljgXgafv+  = lens _pljgXgafv (\ s a -> s{_pljgXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+pljgUploadProtocol :: Lens' ProjectsLocationsJobsGet (Maybe Text)+pljgUploadProtocol+  = lens _pljgUploadProtocol+      (\ s a -> s{_pljgUploadProtocol = a})++-- | OAuth access token.+pljgAccessToken :: Lens' ProjectsLocationsJobsGet (Maybe Text)+pljgAccessToken+  = lens _pljgAccessToken+      (\ s a -> s{_pljgAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+pljgUploadType :: Lens' ProjectsLocationsJobsGet (Maybe Text)+pljgUploadType+  = lens _pljgUploadType+      (\ s a -> s{_pljgUploadType = a})++-- | Required. The job name. For example:+-- \`projects\/PROJECT_ID\/locations\/LOCATION_ID\/jobs\/JOB_ID\`.+pljgName :: Lens' ProjectsLocationsJobsGet Text+pljgName = lens _pljgName (\ s a -> s{_pljgName = a})++-- | JSONP+pljgCallback :: Lens' ProjectsLocationsJobsGet (Maybe Text)+pljgCallback+  = lens _pljgCallback (\ s a -> s{_pljgCallback = a})++instance GoogleRequest ProjectsLocationsJobsGet where+        type Rs ProjectsLocationsJobsGet = Job+        type Scopes ProjectsLocationsJobsGet =+             '["https://www.googleapis.com/auth/cloud-platform"]+        requestClient ProjectsLocationsJobsGet'{..}+          = go _pljgName _pljgXgafv _pljgUploadProtocol+              _pljgAccessToken+              _pljgUploadType+              _pljgCallback+              (Just AltJSON)+              cloudSchedulerService+          where go+                  = buildClient+                      (Proxy :: Proxy ProjectsLocationsJobsGetResource)+                      mempty
+ gen/Network/Google/Resource/CloudScheduler/Projects/Locations/Jobs/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.CloudScheduler.Projects.Locations.Jobs.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 jobs.+--+-- /See:/ <https://cloud.google.com/scheduler/ Cloud Scheduler API Reference> for @cloudscheduler.projects.locations.jobs.list@.+module Network.Google.Resource.CloudScheduler.Projects.Locations.Jobs.List+    (+    -- * REST Resource+      ProjectsLocationsJobsListResource++    -- * Creating a Request+    , projectsLocationsJobsList+    , ProjectsLocationsJobsList++    -- * Request Lenses+    , pljlParent+    , pljlXgafv+    , pljlUploadProtocol+    , pljlAccessToken+    , pljlUploadType+    , pljlPageToken+    , pljlPageSize+    , pljlCallback+    ) where++import           Network.Google.CloudScheduler.Types+import           Network.Google.Prelude++-- | A resource alias for @cloudscheduler.projects.locations.jobs.list@ method which the+-- 'ProjectsLocationsJobsList' request conforms to.+type ProjectsLocationsJobsListResource =+     "v1beta1" :>+       Capture "parent" Text :>+         "jobs" :>+           QueryParam "$.xgafv" Xgafv :>+             QueryParam "upload_protocol" Text :>+               QueryParam "access_token" Text :>+                 QueryParam "uploadType" Text :>+                   QueryParam "pageToken" Text :>+                     QueryParam "pageSize" (Textual Int32) :>+                       QueryParam "callback" Text :>+                         QueryParam "alt" AltJSON :>+                           Get '[JSON] ListJobsResponse++-- | Lists jobs.+--+-- /See:/ 'projectsLocationsJobsList' smart constructor.+data ProjectsLocationsJobsList = ProjectsLocationsJobsList'+    { _pljlParent         :: !Text+    , _pljlXgafv          :: !(Maybe Xgafv)+    , _pljlUploadProtocol :: !(Maybe Text)+    , _pljlAccessToken    :: !(Maybe Text)+    , _pljlUploadType     :: !(Maybe Text)+    , _pljlPageToken      :: !(Maybe Text)+    , _pljlPageSize       :: !(Maybe (Textual Int32))+    , _pljlCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProjectsLocationsJobsList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pljlParent'+--+-- * 'pljlXgafv'+--+-- * 'pljlUploadProtocol'+--+-- * 'pljlAccessToken'+--+-- * 'pljlUploadType'+--+-- * 'pljlPageToken'+--+-- * 'pljlPageSize'+--+-- * 'pljlCallback'+projectsLocationsJobsList+    :: Text -- ^ 'pljlParent'+    -> ProjectsLocationsJobsList+projectsLocationsJobsList pPljlParent_ =+    ProjectsLocationsJobsList'+    { _pljlParent = pPljlParent_+    , _pljlXgafv = Nothing+    , _pljlUploadProtocol = Nothing+    , _pljlAccessToken = Nothing+    , _pljlUploadType = Nothing+    , _pljlPageToken = Nothing+    , _pljlPageSize = Nothing+    , _pljlCallback = Nothing+    }++-- | Required. The location name. For example:+-- \`projects\/PROJECT_ID\/locations\/LOCATION_ID\`.+pljlParent :: Lens' ProjectsLocationsJobsList Text+pljlParent+  = lens _pljlParent (\ s a -> s{_pljlParent = a})++-- | V1 error format.+pljlXgafv :: Lens' ProjectsLocationsJobsList (Maybe Xgafv)+pljlXgafv+  = lens _pljlXgafv (\ s a -> s{_pljlXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+pljlUploadProtocol :: Lens' ProjectsLocationsJobsList (Maybe Text)+pljlUploadProtocol+  = lens _pljlUploadProtocol+      (\ s a -> s{_pljlUploadProtocol = a})++-- | OAuth access token.+pljlAccessToken :: Lens' ProjectsLocationsJobsList (Maybe Text)+pljlAccessToken+  = lens _pljlAccessToken+      (\ s a -> s{_pljlAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+pljlUploadType :: Lens' ProjectsLocationsJobsList (Maybe Text)+pljlUploadType+  = lens _pljlUploadType+      (\ s a -> s{_pljlUploadType = a})++-- | A token identifying a page of results the server will 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 ListJobs. It is an error to switch+-- the value of filter or order_by while iterating through pages.+pljlPageToken :: Lens' ProjectsLocationsJobsList (Maybe Text)+pljlPageToken+  = lens _pljlPageToken+      (\ s a -> s{_pljlPageToken = a})++-- | Requested page size. The maximum page size is 500. If unspecified, the+-- page size will be the maximum. Fewer jobs than requested might be+-- returned, even if more jobs exist; use next_page_token to determine if+-- more jobs exist.+pljlPageSize :: Lens' ProjectsLocationsJobsList (Maybe Int32)+pljlPageSize+  = lens _pljlPageSize (\ s a -> s{_pljlPageSize = a})+      . mapping _Coerce++-- | JSONP+pljlCallback :: Lens' ProjectsLocationsJobsList (Maybe Text)+pljlCallback+  = lens _pljlCallback (\ s a -> s{_pljlCallback = a})++instance GoogleRequest ProjectsLocationsJobsList+         where+        type Rs ProjectsLocationsJobsList = ListJobsResponse+        type Scopes ProjectsLocationsJobsList =+             '["https://www.googleapis.com/auth/cloud-platform"]+        requestClient ProjectsLocationsJobsList'{..}+          = go _pljlParent _pljlXgafv _pljlUploadProtocol+              _pljlAccessToken+              _pljlUploadType+              _pljlPageToken+              _pljlPageSize+              _pljlCallback+              (Just AltJSON)+              cloudSchedulerService+          where go+                  = buildClient+                      (Proxy :: Proxy ProjectsLocationsJobsListResource)+                      mempty
+ gen/Network/Google/Resource/CloudScheduler/Projects/Locations/Jobs/Patch.hs view
@@ -0,0 +1,191 @@+{-# 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.CloudScheduler.Projects.Locations.Jobs.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 job. If successful, the updated Job is returned. If the job+-- does not exist, \`NOT_FOUND\` is returned. If UpdateJob does not+-- successfully return, it is possible for the job to be in an+-- Job.State.UPDATE_FAILED state. A job in this state may not be executed.+-- If this happens, retry the UpdateJob request until a successful response+-- is received.+--+-- /See:/ <https://cloud.google.com/scheduler/ Cloud Scheduler API Reference> for @cloudscheduler.projects.locations.jobs.patch@.+module Network.Google.Resource.CloudScheduler.Projects.Locations.Jobs.Patch+    (+    -- * REST Resource+      ProjectsLocationsJobsPatchResource++    -- * Creating a Request+    , projectsLocationsJobsPatch+    , ProjectsLocationsJobsPatch++    -- * Request Lenses+    , pljpXgafv+    , pljpUploadProtocol+    , pljpUpdateMask+    , pljpAccessToken+    , pljpUploadType+    , pljpPayload+    , pljpName+    , pljpCallback+    ) where++import           Network.Google.CloudScheduler.Types+import           Network.Google.Prelude++-- | A resource alias for @cloudscheduler.projects.locations.jobs.patch@ method which the+-- 'ProjectsLocationsJobsPatch' request conforms to.+type ProjectsLocationsJobsPatchResource =+     "v1beta1" :>+       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] Job :> Patch '[JSON] Job++-- | Updates a job. If successful, the updated Job is returned. If the job+-- does not exist, \`NOT_FOUND\` is returned. If UpdateJob does not+-- successfully return, it is possible for the job to be in an+-- Job.State.UPDATE_FAILED state. A job in this state may not be executed.+-- If this happens, retry the UpdateJob request until a successful response+-- is received.+--+-- /See:/ 'projectsLocationsJobsPatch' smart constructor.+data ProjectsLocationsJobsPatch = ProjectsLocationsJobsPatch'+    { _pljpXgafv          :: !(Maybe Xgafv)+    , _pljpUploadProtocol :: !(Maybe Text)+    , _pljpUpdateMask     :: !(Maybe GFieldMask)+    , _pljpAccessToken    :: !(Maybe Text)+    , _pljpUploadType     :: !(Maybe Text)+    , _pljpPayload        :: !Job+    , _pljpName           :: !Text+    , _pljpCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProjectsLocationsJobsPatch' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pljpXgafv'+--+-- * 'pljpUploadProtocol'+--+-- * 'pljpUpdateMask'+--+-- * 'pljpAccessToken'+--+-- * 'pljpUploadType'+--+-- * 'pljpPayload'+--+-- * 'pljpName'+--+-- * 'pljpCallback'+projectsLocationsJobsPatch+    :: Job -- ^ 'pljpPayload'+    -> Text -- ^ 'pljpName'+    -> ProjectsLocationsJobsPatch+projectsLocationsJobsPatch pPljpPayload_ pPljpName_ =+    ProjectsLocationsJobsPatch'+    { _pljpXgafv = Nothing+    , _pljpUploadProtocol = Nothing+    , _pljpUpdateMask = Nothing+    , _pljpAccessToken = Nothing+    , _pljpUploadType = Nothing+    , _pljpPayload = pPljpPayload_+    , _pljpName = pPljpName_+    , _pljpCallback = Nothing+    }++-- | V1 error format.+pljpXgafv :: Lens' ProjectsLocationsJobsPatch (Maybe Xgafv)+pljpXgafv+  = lens _pljpXgafv (\ s a -> s{_pljpXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+pljpUploadProtocol :: Lens' ProjectsLocationsJobsPatch (Maybe Text)+pljpUploadProtocol+  = lens _pljpUploadProtocol+      (\ s a -> s{_pljpUploadProtocol = a})++-- | A mask used to specify which fields of the job are being updated.+pljpUpdateMask :: Lens' ProjectsLocationsJobsPatch (Maybe GFieldMask)+pljpUpdateMask+  = lens _pljpUpdateMask+      (\ s a -> s{_pljpUpdateMask = a})++-- | OAuth access token.+pljpAccessToken :: Lens' ProjectsLocationsJobsPatch (Maybe Text)+pljpAccessToken+  = lens _pljpAccessToken+      (\ s a -> s{_pljpAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+pljpUploadType :: Lens' ProjectsLocationsJobsPatch (Maybe Text)+pljpUploadType+  = lens _pljpUploadType+      (\ s a -> s{_pljpUploadType = a})++-- | Multipart request metadata.+pljpPayload :: Lens' ProjectsLocationsJobsPatch Job+pljpPayload+  = lens _pljpPayload (\ s a -> s{_pljpPayload = a})++-- | The job name. For example:+-- \`projects\/PROJECT_ID\/locations\/LOCATION_ID\/jobs\/JOB_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 job\'s location. The list+-- of available locations can be obtained by calling ListLocations. For+-- more information, see https:\/\/cloud.google.com\/about\/locations\/. *+-- \`JOB_ID\` can contain only letters ([A-Za-z]), numbers ([0-9]), hyphens+-- (-), or underscores (_). The maximum length is 500 characters.+pljpName :: Lens' ProjectsLocationsJobsPatch Text+pljpName = lens _pljpName (\ s a -> s{_pljpName = a})++-- | JSONP+pljpCallback :: Lens' ProjectsLocationsJobsPatch (Maybe Text)+pljpCallback+  = lens _pljpCallback (\ s a -> s{_pljpCallback = a})++instance GoogleRequest ProjectsLocationsJobsPatch+         where+        type Rs ProjectsLocationsJobsPatch = Job+        type Scopes ProjectsLocationsJobsPatch =+             '["https://www.googleapis.com/auth/cloud-platform"]+        requestClient ProjectsLocationsJobsPatch'{..}+          = go _pljpName _pljpXgafv _pljpUploadProtocol+              _pljpUpdateMask+              _pljpAccessToken+              _pljpUploadType+              _pljpCallback+              (Just AltJSON)+              _pljpPayload+              cloudSchedulerService+          where go+                  = buildClient+                      (Proxy :: Proxy ProjectsLocationsJobsPatchResource)+                      mempty
+ gen/Network/Google/Resource/CloudScheduler/Projects/Locations/Jobs/Pause.hs view
@@ -0,0 +1,165 @@+{-# 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.CloudScheduler.Projects.Locations.Jobs.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 a job. If a job is paused then the system will stop executing the+-- job until it is re-enabled via ResumeJob. The state of the job is stored+-- in state; if paused it will be set to Job.State.PAUSED. A job must be in+-- Job.State.ENABLED to be paused.+--+-- /See:/ <https://cloud.google.com/scheduler/ Cloud Scheduler API Reference> for @cloudscheduler.projects.locations.jobs.pause@.+module Network.Google.Resource.CloudScheduler.Projects.Locations.Jobs.Pause+    (+    -- * REST Resource+      ProjectsLocationsJobsPauseResource++    -- * Creating a Request+    , projectsLocationsJobsPause+    , ProjectsLocationsJobsPause++    -- * Request Lenses+    , proXgafv+    , proUploadProtocol+    , proAccessToken+    , proUploadType+    , proPayload+    , proName+    , proCallback+    ) where++import           Network.Google.CloudScheduler.Types+import           Network.Google.Prelude++-- | A resource alias for @cloudscheduler.projects.locations.jobs.pause@ method which the+-- 'ProjectsLocationsJobsPause' request conforms to.+type ProjectsLocationsJobsPauseResource =+     "v1beta1" :>+       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] PauseJobRequest :> Post '[JSON] Job++-- | Pauses a job. If a job is paused then the system will stop executing the+-- job until it is re-enabled via ResumeJob. The state of the job is stored+-- in state; if paused it will be set to Job.State.PAUSED. A job must be in+-- Job.State.ENABLED to be paused.+--+-- /See:/ 'projectsLocationsJobsPause' smart constructor.+data ProjectsLocationsJobsPause = ProjectsLocationsJobsPause'+    { _proXgafv          :: !(Maybe Xgafv)+    , _proUploadProtocol :: !(Maybe Text)+    , _proAccessToken    :: !(Maybe Text)+    , _proUploadType     :: !(Maybe Text)+    , _proPayload        :: !PauseJobRequest+    , _proName           :: !Text+    , _proCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProjectsLocationsJobsPause' 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'+projectsLocationsJobsPause+    :: PauseJobRequest -- ^ 'proPayload'+    -> Text -- ^ 'proName'+    -> ProjectsLocationsJobsPause+projectsLocationsJobsPause pProPayload_ pProName_ =+    ProjectsLocationsJobsPause'+    { _proXgafv = Nothing+    , _proUploadProtocol = Nothing+    , _proAccessToken = Nothing+    , _proUploadType = Nothing+    , _proPayload = pProPayload_+    , _proName = pProName_+    , _proCallback = Nothing+    }++-- | V1 error format.+proXgafv :: Lens' ProjectsLocationsJobsPause (Maybe Xgafv)+proXgafv = lens _proXgafv (\ s a -> s{_proXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+proUploadProtocol :: Lens' ProjectsLocationsJobsPause (Maybe Text)+proUploadProtocol+  = lens _proUploadProtocol+      (\ s a -> s{_proUploadProtocol = a})++-- | OAuth access token.+proAccessToken :: Lens' ProjectsLocationsJobsPause (Maybe Text)+proAccessToken+  = lens _proAccessToken+      (\ s a -> s{_proAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+proUploadType :: Lens' ProjectsLocationsJobsPause (Maybe Text)+proUploadType+  = lens _proUploadType+      (\ s a -> s{_proUploadType = a})++-- | Multipart request metadata.+proPayload :: Lens' ProjectsLocationsJobsPause PauseJobRequest+proPayload+  = lens _proPayload (\ s a -> s{_proPayload = a})++-- | Required. The job name. For example:+-- \`projects\/PROJECT_ID\/locations\/LOCATION_ID\/jobs\/JOB_ID\`.+proName :: Lens' ProjectsLocationsJobsPause Text+proName = lens _proName (\ s a -> s{_proName = a})++-- | JSONP+proCallback :: Lens' ProjectsLocationsJobsPause (Maybe Text)+proCallback+  = lens _proCallback (\ s a -> s{_proCallback = a})++instance GoogleRequest ProjectsLocationsJobsPause+         where+        type Rs ProjectsLocationsJobsPause = Job+        type Scopes ProjectsLocationsJobsPause =+             '["https://www.googleapis.com/auth/cloud-platform"]+        requestClient ProjectsLocationsJobsPause'{..}+          = go _proName _proXgafv _proUploadProtocol+              _proAccessToken+              _proUploadType+              _proCallback+              (Just AltJSON)+              _proPayload+              cloudSchedulerService+          where go+                  = buildClient+                      (Proxy :: Proxy ProjectsLocationsJobsPauseResource)+                      mempty
+ gen/Network/Google/Resource/CloudScheduler/Projects/Locations/Jobs/Resume.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.CloudScheduler.Projects.Locations.Jobs.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 job. This method reenables a job after it has been+-- Job.State.PAUSED. The state of a job is stored in Job.state; after+-- calling this method it will be set to Job.State.ENABLED. A job must be+-- in Job.State.PAUSED to be resumed.+--+-- /See:/ <https://cloud.google.com/scheduler/ Cloud Scheduler API Reference> for @cloudscheduler.projects.locations.jobs.resume@.+module Network.Google.Resource.CloudScheduler.Projects.Locations.Jobs.Resume+    (+    -- * REST Resource+      ProjectsLocationsJobsResumeResource++    -- * Creating a Request+    , projectsLocationsJobsResume+    , ProjectsLocationsJobsResume++    -- * Request Lenses+    , pljrXgafv+    , pljrUploadProtocol+    , pljrAccessToken+    , pljrUploadType+    , pljrPayload+    , pljrName+    , pljrCallback+    ) where++import           Network.Google.CloudScheduler.Types+import           Network.Google.Prelude++-- | A resource alias for @cloudscheduler.projects.locations.jobs.resume@ method which the+-- 'ProjectsLocationsJobsResume' request conforms to.+type ProjectsLocationsJobsResumeResource =+     "v1beta1" :>+       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] ResumeJobRequest :> Post '[JSON] Job++-- | Resume a job. This method reenables a job after it has been+-- Job.State.PAUSED. The state of a job is stored in Job.state; after+-- calling this method it will be set to Job.State.ENABLED. A job must be+-- in Job.State.PAUSED to be resumed.+--+-- /See:/ 'projectsLocationsJobsResume' smart constructor.+data ProjectsLocationsJobsResume = ProjectsLocationsJobsResume'+    { _pljrXgafv          :: !(Maybe Xgafv)+    , _pljrUploadProtocol :: !(Maybe Text)+    , _pljrAccessToken    :: !(Maybe Text)+    , _pljrUploadType     :: !(Maybe Text)+    , _pljrPayload        :: !ResumeJobRequest+    , _pljrName           :: !Text+    , _pljrCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProjectsLocationsJobsResume' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pljrXgafv'+--+-- * 'pljrUploadProtocol'+--+-- * 'pljrAccessToken'+--+-- * 'pljrUploadType'+--+-- * 'pljrPayload'+--+-- * 'pljrName'+--+-- * 'pljrCallback'+projectsLocationsJobsResume+    :: ResumeJobRequest -- ^ 'pljrPayload'+    -> Text -- ^ 'pljrName'+    -> ProjectsLocationsJobsResume+projectsLocationsJobsResume pPljrPayload_ pPljrName_ =+    ProjectsLocationsJobsResume'+    { _pljrXgafv = Nothing+    , _pljrUploadProtocol = Nothing+    , _pljrAccessToken = Nothing+    , _pljrUploadType = Nothing+    , _pljrPayload = pPljrPayload_+    , _pljrName = pPljrName_+    , _pljrCallback = Nothing+    }++-- | V1 error format.+pljrXgafv :: Lens' ProjectsLocationsJobsResume (Maybe Xgafv)+pljrXgafv+  = lens _pljrXgafv (\ s a -> s{_pljrXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+pljrUploadProtocol :: Lens' ProjectsLocationsJobsResume (Maybe Text)+pljrUploadProtocol+  = lens _pljrUploadProtocol+      (\ s a -> s{_pljrUploadProtocol = a})++-- | OAuth access token.+pljrAccessToken :: Lens' ProjectsLocationsJobsResume (Maybe Text)+pljrAccessToken+  = lens _pljrAccessToken+      (\ s a -> s{_pljrAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+pljrUploadType :: Lens' ProjectsLocationsJobsResume (Maybe Text)+pljrUploadType+  = lens _pljrUploadType+      (\ s a -> s{_pljrUploadType = a})++-- | Multipart request metadata.+pljrPayload :: Lens' ProjectsLocationsJobsResume ResumeJobRequest+pljrPayload+  = lens _pljrPayload (\ s a -> s{_pljrPayload = a})++-- | Required. The job name. For example:+-- \`projects\/PROJECT_ID\/locations\/LOCATION_ID\/jobs\/JOB_ID\`.+pljrName :: Lens' ProjectsLocationsJobsResume Text+pljrName = lens _pljrName (\ s a -> s{_pljrName = a})++-- | JSONP+pljrCallback :: Lens' ProjectsLocationsJobsResume (Maybe Text)+pljrCallback+  = lens _pljrCallback (\ s a -> s{_pljrCallback = a})++instance GoogleRequest ProjectsLocationsJobsResume+         where+        type Rs ProjectsLocationsJobsResume = Job+        type Scopes ProjectsLocationsJobsResume =+             '["https://www.googleapis.com/auth/cloud-platform"]+        requestClient ProjectsLocationsJobsResume'{..}+          = go _pljrName _pljrXgafv _pljrUploadProtocol+              _pljrAccessToken+              _pljrUploadType+              _pljrCallback+              (Just AltJSON)+              _pljrPayload+              cloudSchedulerService+          where go+                  = buildClient+                      (Proxy :: Proxy ProjectsLocationsJobsResumeResource)+                      mempty
+ gen/Network/Google/Resource/CloudScheduler/Projects/Locations/Jobs/Run.hs view
@@ -0,0 +1,156 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.CloudScheduler.Projects.Locations.Jobs.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 job to run now. When this method is called, Cloud Scheduler+-- will dispatch the job, even if the job is already running.+--+-- /See:/ <https://cloud.google.com/scheduler/ Cloud Scheduler API Reference> for @cloudscheduler.projects.locations.jobs.run@.+module Network.Google.Resource.CloudScheduler.Projects.Locations.Jobs.Run+    (+    -- * REST Resource+      ProjectsLocationsJobsRunResource++    -- * Creating a Request+    , projectsLocationsJobsRun+    , ProjectsLocationsJobsRun++    -- * Request Lenses+    , pXgafv+    , pUploadProtocol+    , pAccessToken+    , pUploadType+    , pPayload+    , pName+    , pCallback+    ) where++import           Network.Google.CloudScheduler.Types+import           Network.Google.Prelude++-- | A resource alias for @cloudscheduler.projects.locations.jobs.run@ method which the+-- 'ProjectsLocationsJobsRun' request conforms to.+type ProjectsLocationsJobsRunResource =+     "v1beta1" :>+       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] RunJobRequest :> Post '[JSON] Job++-- | Forces a job to run now. When this method is called, Cloud Scheduler+-- will dispatch the job, even if the job is already running.+--+-- /See:/ 'projectsLocationsJobsRun' smart constructor.+data ProjectsLocationsJobsRun = ProjectsLocationsJobsRun'+    { _pXgafv          :: !(Maybe Xgafv)+    , _pUploadProtocol :: !(Maybe Text)+    , _pAccessToken    :: !(Maybe Text)+    , _pUploadType     :: !(Maybe Text)+    , _pPayload        :: !RunJobRequest+    , _pName           :: !Text+    , _pCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProjectsLocationsJobsRun' 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'+projectsLocationsJobsRun+    :: RunJobRequest -- ^ 'pPayload'+    -> Text -- ^ 'pName'+    -> ProjectsLocationsJobsRun+projectsLocationsJobsRun pPPayload_ pPName_ =+    ProjectsLocationsJobsRun'+    { _pXgafv = Nothing+    , _pUploadProtocol = Nothing+    , _pAccessToken = Nothing+    , _pUploadType = Nothing+    , _pPayload = pPPayload_+    , _pName = pPName_+    , _pCallback = Nothing+    }++-- | V1 error format.+pXgafv :: Lens' ProjectsLocationsJobsRun (Maybe Xgafv)+pXgafv = lens _pXgafv (\ s a -> s{_pXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+pUploadProtocol :: Lens' ProjectsLocationsJobsRun (Maybe Text)+pUploadProtocol+  = lens _pUploadProtocol+      (\ s a -> s{_pUploadProtocol = a})++-- | OAuth access token.+pAccessToken :: Lens' ProjectsLocationsJobsRun (Maybe Text)+pAccessToken+  = lens _pAccessToken (\ s a -> s{_pAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+pUploadType :: Lens' ProjectsLocationsJobsRun (Maybe Text)+pUploadType+  = lens _pUploadType (\ s a -> s{_pUploadType = a})++-- | Multipart request metadata.+pPayload :: Lens' ProjectsLocationsJobsRun RunJobRequest+pPayload = lens _pPayload (\ s a -> s{_pPayload = a})++-- | Required. The job name. For example:+-- \`projects\/PROJECT_ID\/locations\/LOCATION_ID\/jobs\/JOB_ID\`.+pName :: Lens' ProjectsLocationsJobsRun Text+pName = lens _pName (\ s a -> s{_pName = a})++-- | JSONP+pCallback :: Lens' ProjectsLocationsJobsRun (Maybe Text)+pCallback+  = lens _pCallback (\ s a -> s{_pCallback = a})++instance GoogleRequest ProjectsLocationsJobsRun where+        type Rs ProjectsLocationsJobsRun = Job+        type Scopes ProjectsLocationsJobsRun =+             '["https://www.googleapis.com/auth/cloud-platform"]+        requestClient ProjectsLocationsJobsRun'{..}+          = go _pName _pXgafv _pUploadProtocol _pAccessToken+              _pUploadType+              _pCallback+              (Just AltJSON)+              _pPayload+              cloudSchedulerService+          where go+                  = buildClient+                      (Proxy :: Proxy ProjectsLocationsJobsRunResource)+                      mempty
+ gen/Network/Google/Resource/CloudScheduler/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.CloudScheduler.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/scheduler/ Cloud Scheduler API Reference> for @cloudscheduler.projects.locations.list@.+module Network.Google.Resource.CloudScheduler.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.CloudScheduler.Types+import           Network.Google.Prelude++-- | A resource alias for @cloudscheduler.projects.locations.list@ method which the+-- 'ProjectsLocationsList' request conforms to.+type ProjectsLocationsListResource =+     "v1beta1" :>+       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)+              cloudSchedulerService+          where go+                  = buildClient+                      (Proxy :: Proxy ProjectsLocationsListResource)+                      mempty
+ gogol-cloudscheduler.cabal view
@@ -0,0 +1,55 @@+name:                  gogol-cloudscheduler+version:               0.4.0+synopsis:              Google Cloud Scheduler 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:+    Creates and manages jobs run on a regular recurring schedule.+    .+    /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 @v1beta1@+    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.CloudScheduler+        , Network.Google.CloudScheduler.Types+        , Network.Google.Resource.CloudScheduler.Projects.Locations.Get+        , Network.Google.Resource.CloudScheduler.Projects.Locations.Jobs.Create+        , Network.Google.Resource.CloudScheduler.Projects.Locations.Jobs.Delete+        , Network.Google.Resource.CloudScheduler.Projects.Locations.Jobs.Get+        , Network.Google.Resource.CloudScheduler.Projects.Locations.Jobs.List+        , Network.Google.Resource.CloudScheduler.Projects.Locations.Jobs.Patch+        , Network.Google.Resource.CloudScheduler.Projects.Locations.Jobs.Pause+        , Network.Google.Resource.CloudScheduler.Projects.Locations.Jobs.Resume+        , Network.Google.Resource.CloudScheduler.Projects.Locations.Jobs.Run+        , Network.Google.Resource.CloudScheduler.Projects.Locations.List++    other-modules:+          Network.Google.CloudScheduler.Types.Product+        , Network.Google.CloudScheduler.Types.Sum++    build-depends:+          gogol-core == 0.4.0.*+        , base       >= 4.7 && < 5
+ src/.gitkeep view