packages feed

gogol-dataproc (empty) → 0.1.0

raw patch · 23 files changed

+7842/−0 lines, 23 filesdep +basedep +gogol-coresetup-changed

Dependencies added: base, gogol-core

Files

+ LICENSE view
@@ -0,0 +1,367 @@+Mozilla Public License Version 2.0+==================================++1. Definitions+--------------++1.1. "Contributor"+    means each individual or legal entity that creates, contributes to+    the creation of, or owns Covered Software.++1.2. "Contributor Version"+    means the combination of the Contributions of others (if any) used+    by a Contributor and that particular Contributor's Contribution.++1.3. "Contribution"+    means Covered Software of a particular Contributor.++1.4. "Covered Software"+    means Source Code Form to which the initial Contributor has attached+    the notice in Exhibit A, the Executable Form of such Source Code+    Form, and Modifications of such Source Code Form, in each case+    including portions thereof.++1.5. "Incompatible With Secondary Licenses"+    means++    (a) that the initial Contributor has attached the notice described+        in Exhibit B to the Covered Software; or++    (b) that the Covered Software was made available under the terms of+        version 1.1 or earlier of the License, but not also under the+        terms of a Secondary License.++1.6. "Executable Form"+    means any form of the work other than Source Code Form.++1.7. "Larger Work"+    means a work that combines Covered Software with other material, in+    a separate file or files, that is not Covered Software.++1.8. "License"+    means this document.++1.9. "Licensable"+    means having the right to grant, to the maximum extent possible,+    whether at the time of the initial grant or subsequently, any and+    all of the rights conveyed by this License.++1.10. "Modifications"+    means any of the following:++    (a) any file in Source Code Form that results from an addition to,+        deletion from, or modification of the contents of Covered+        Software; or++    (b) any new file in Source Code Form that contains any Covered+        Software.++1.11. "Patent Claims" of a Contributor+    means any patent claim(s), including without limitation, method,+    process, and apparatus claims, in any patent Licensable by such+    Contributor that would be infringed, but for the grant of the+    License, by the making, using, selling, offering for sale, having+    made, import, or transfer of either its Contributions or its+    Contributor Version.++1.12. "Secondary License"+    means either the GNU General Public License, Version 2.0, the GNU+    Lesser General Public License, Version 2.1, the GNU Affero General+    Public License, Version 3.0, or any later versions of those+    licenses.++1.13. "Source Code Form"+    means the form of the work preferred for making modifications.++1.14. "You" (or "Your")+    means an individual or a legal entity exercising rights under this+    License. For legal entities, "You" includes any entity that+    controls, is controlled by, or is under common control with You. For+    purposes of this definition, "control" means (a) the power, direct+    or indirect, to cause the direction or management of such entity,+    whether by contract or otherwise, or (b) ownership of more than+    fifty percent (50%) of the outstanding shares or beneficial+    ownership of such entity.++2. License Grants and Conditions+--------------------------------++2.1. Grants++Each Contributor hereby grants You a world-wide, royalty-free,+non-exclusive license:++(a) under intellectual property rights (other than patent or trademark)+    Licensable by such Contributor to use, reproduce, make available,+    modify, display, perform, distribute, and otherwise exploit its+    Contributions, either on an unmodified basis, with Modifications, or+    as part of a Larger Work; and++(b) under Patent Claims of such Contributor to make, use, sell, offer+    for sale, have made, import, and otherwise transfer either its+    Contributions or its Contributor Version.++2.2. Effective Date++The licenses granted in Section 2.1 with respect to any Contribution+become effective for each Contribution on the date the Contributor first+distributes such Contribution.++2.3. Limitations on Grant Scope++The licenses granted in this Section 2 are the only rights granted under+this License. No additional rights or licenses will be implied from the+distribution or licensing of Covered Software under this License.+Notwithstanding Section 2.1(b) above, no patent license is granted by a+Contributor:++(a) for any code that a Contributor has removed from Covered Software;+    or++(b) for infringements caused by: (i) Your and any other third party's+    modifications of Covered Software, or (ii) the combination of its+    Contributions with other software (except as part of its Contributor+    Version); or++(c) under Patent Claims infringed by Covered Software in the absence of+    its Contributions.++This License does not grant any rights in the trademarks, service marks,+or logos of any Contributor (except as may be necessary to comply with+the notice requirements in Section 3.4).++2.4. Subsequent Licenses++No Contributor makes additional grants as a result of Your choice to+distribute the Covered Software under a subsequent version of this+License (see Section 10.2) or under the terms of a Secondary License (if+permitted under the terms of Section 3.3).++2.5. Representation++Each Contributor represents that the Contributor believes its+Contributions are its original creation(s) or it has sufficient rights+to grant the rights to its Contributions conveyed by this License.++2.6. Fair Use++This License is not intended to limit any rights You have under+applicable copyright doctrines of fair use, fair dealing, or other+equivalents.++2.7. Conditions++Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted+in Section 2.1.++3. Responsibilities+-------------------++3.1. Distribution of Source Form++All distribution of Covered Software in Source Code Form, including any+Modifications that You create or to which You contribute, must be under+the terms of this License. You must inform recipients that the Source+Code Form of the Covered Software is governed by the terms of this+License, and how they can obtain a copy of this License. You may not+attempt to alter or restrict the recipients' rights in the Source Code+Form.++3.2. Distribution of Executable Form++If You distribute Covered Software in Executable Form then:++(a) such Covered Software must also be made available in Source Code+    Form, as described in Section 3.1, and You must inform recipients of+    the Executable Form how they can obtain a copy of such Source Code+    Form by reasonable means in a timely manner, at a charge no more+    than the cost of distribution to the recipient; and++(b) You may distribute such Executable Form under the terms of this+    License, or sublicense it under different terms, provided that the+    license for the Executable Form does not attempt to limit or alter+    the recipients' rights in the Source Code Form under this License.++3.3. Distribution of a Larger Work++You may create and distribute a Larger Work under terms of Your choice,+provided that You also comply with the requirements of this License for+the Covered Software. If the Larger Work is a combination of Covered+Software with a work governed by one or more Secondary Licenses, and the+Covered Software is not Incompatible With Secondary Licenses, this+License permits You to additionally distribute such Covered Software+under the terms of such Secondary License(s), so that the recipient of+the Larger Work may, at their option, further distribute the Covered+Software under the terms of either this License or such Secondary+License(s).++3.4. Notices++You may not remove or alter the substance of any license notices+(including copyright notices, patent notices, disclaimers of warranty,+or limitations of liability) contained within the Source Code Form of+the Covered Software, except that You may alter any license notices to+the extent required to remedy known factual inaccuracies.++3.5. Application of Additional Terms++You may choose to offer, and to charge a fee for, warranty, support,+indemnity or liability obligations to one or more recipients of Covered+Software. However, You may do so only on Your own behalf, and not on+behalf of any Contributor. You must make it absolutely clear that any+such warranty, support, indemnity, or liability obligation is offered by+You alone, and You hereby agree to indemnify every Contributor for any+liability incurred by such Contributor as a result of warranty, support,+indemnity or liability terms You offer. You may include additional+disclaimers of warranty and limitations of liability specific to any+jurisdiction.++4. Inability to Comply Due to Statute or Regulation+---------------------------------------------------++If it is impossible for You to comply with any of the terms of this+License with respect to some or all of the Covered Software due to+statute, judicial order, or regulation then You must: (a) comply with+the terms of this License to the maximum extent possible; and (b)+describe the limitations and the code they affect. Such description must+be placed in a text file included with all distributions of the Covered+Software under this License. Except to the extent prohibited by statute+or regulation, such description must be sufficiently detailed for a+recipient of ordinary skill to be able to understand it.++5. Termination+--------------++5.1. The rights granted under this License will terminate automatically+if You fail to comply with any of its terms. However, if You become+compliant, then the rights granted under this License from a particular+Contributor are reinstated (a) provisionally, unless and until such+Contributor explicitly and finally terminates Your grants, and (b) on an+ongoing basis, if such Contributor fails to notify You of the+non-compliance by some reasonable means prior to 60 days after You have+come back into compliance. Moreover, Your grants from a particular+Contributor are reinstated on an ongoing basis if such Contributor+notifies You of the non-compliance by some reasonable means, this is the+first time You have received notice of non-compliance with this License+from such Contributor, and You become compliant prior to 30 days after+Your receipt of the notice.++5.2. If You initiate litigation against any entity by asserting a patent+infringement claim (excluding declaratory judgment actions,+counter-claims, and cross-claims) alleging that a Contributor Version+directly or indirectly infringes any patent, then the rights granted to+You by any and all Contributors for the Covered Software under Section+2.1 of this License shall terminate.++5.3. In the event of termination under Sections 5.1 or 5.2 above, all+end user license agreements (excluding distributors and resellers) which+have been validly granted by You or Your distributors under this License+prior to termination shall survive termination.++************************************************************************+*                                                                      *+*  6. Disclaimer of Warranty                                           *+*  -------------------------                                           *+*                                                                      *+*  Covered Software is provided under this License on an "as is"       *+*  basis, without warranty of any kind, either expressed, implied, or  *+*  statutory, including, without limitation, warranties that the       *+*  Covered Software is free of defects, merchantable, fit for a        *+*  particular purpose or non-infringing. The entire risk as to the     *+*  quality and performance of the Covered Software is with You.        *+*  Should any Covered Software prove defective in any respect, You     *+*  (not any Contributor) assume the cost of any necessary servicing,   *+*  repair, or correction. This disclaimer of warranty constitutes an   *+*  essential part of this License. No use of any Covered Software is   *+*  authorized under this License except under this disclaimer.         *+*                                                                      *+************************************************************************++************************************************************************+*                                                                      *+*  7. Limitation of Liability                                          *+*  --------------------------                                          *+*                                                                      *+*  Under no circumstances and under no legal theory, whether tort      *+*  (including negligence), contract, or otherwise, shall any           *+*  Contributor, or anyone who distributes Covered Software as          *+*  permitted above, be liable to You for any direct, indirect,         *+*  special, incidental, or consequential damages of any character      *+*  including, without limitation, damages for lost profits, loss of    *+*  goodwill, work stoppage, computer failure or malfunction, or any    *+*  and all other commercial damages or losses, even if such party      *+*  shall have been informed of the possibility of such damages. This   *+*  limitation of liability shall not apply to liability for death or   *+*  personal injury resulting from such party's negligence to the       *+*  extent applicable law prohibits such limitation. Some               *+*  jurisdictions do not allow the exclusion or limitation of           *+*  incidental or consequential damages, so this exclusion and          *+*  limitation may not apply to You.                                    *+*                                                                      *+************************************************************************++8. Litigation+-------------++Any litigation relating to this License may be brought only in the+courts of a jurisdiction where the defendant maintains its principal+place of business and such litigation shall be governed by laws of that+jurisdiction, without reference to its conflict-of-law provisions.+Nothing in this Section shall prevent a party's ability to bring+cross-claims or counter-claims.++9. Miscellaneous+----------------++This License represents the complete agreement concerning the subject+matter hereof. If any provision of this License is held to be+unenforceable, such provision shall be reformed only to the extent+necessary to make it enforceable. Any law or regulation which provides+that the language of a contract shall be construed against the drafter+shall not be used to construe this License against a Contributor.++10. Versions of the License+---------------------------++10.1. New Versions++Mozilla Foundation is the license steward. Except as provided in Section+10.3, no one other than the license steward has the right to modify or+publish new versions of this License. Each version will be given a+distinguishing version number.++10.2. Effect of New Versions++You may distribute the Covered Software under the terms of the version+of the License under which You originally received the Covered Software,+or under the terms of any subsequent version published by the license+steward.++10.3. Modified Versions++If you create software not governed by this License, and you want to+create a new license for such software, you may create and use a+modified version of this License if you rename the license and remove+any references to the name of the license steward (except to note that+such modified license differs from this License).++10.4. Distributing Source Code Form that is Incompatible With Secondary+Licenses++If You choose to distribute Source Code Form that is Incompatible With+Secondary Licenses under the terms of this version of the License, the+notice described in Exhibit B of this License must be attached.++Exhibit A - Source Code Form License Notice+-------------------------------------------++  This Source Code Form is subject to the terms of the Mozilla Public+  License, v. 2.0. If a copy of the MPL was not distributed with this+  file, You can obtain one at http://mozilla.org/MPL/2.0/.++If it is not possible or desirable to put the notice in a particular+file, then You may include the notice in a location (such as a LICENSE+file in a relevant directory) where a recipient would be likely to look+for such a notice.++You may add additional accurate notices of copyright ownership.
+ README.md view
@@ -0,0 +1,28 @@+# gogol-dataproc++* [Version](#version)+* [Description](#description)+* [Contribute](#contribute)+* [Licence](#licence)+++## Version++`0.1.0`+++## Description++A client library for the Google Cloud Dataproc.+++## 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-dataproc` 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/Dataproc.hs view
@@ -0,0 +1,481 @@+{-# LANGUAGE DataKinds         #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE TypeOperators     #-}++{-# OPTIONS_GHC -fno-warn-unused-imports    #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}++-- |+-- Module      : Network.Google.Dataproc+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Manages Hadoop-based clusters and jobs on Google Cloud Platform.+--+-- /See:/ <https://cloud.google.com/dataproc/ Google Cloud Dataproc API Reference>+module Network.Google.Dataproc+    (+    -- * Service Configuration+      dataprocService++    -- * OAuth Scopes+    , cloudPlatformScope++    -- * API Declaration+    , DataprocAPI++    -- * Resources++    -- ** dataproc.projects.regions.clusters.create+    , module Network.Google.Resource.Dataproc.Projects.Regions.Clusters.Create++    -- ** dataproc.projects.regions.clusters.delete+    , module Network.Google.Resource.Dataproc.Projects.Regions.Clusters.Delete++    -- ** dataproc.projects.regions.clusters.diagnose+    , module Network.Google.Resource.Dataproc.Projects.Regions.Clusters.Diagnose++    -- ** dataproc.projects.regions.clusters.get+    , module Network.Google.Resource.Dataproc.Projects.Regions.Clusters.Get++    -- ** dataproc.projects.regions.clusters.list+    , module Network.Google.Resource.Dataproc.Projects.Regions.Clusters.List++    -- ** dataproc.projects.regions.clusters.patch+    , module Network.Google.Resource.Dataproc.Projects.Regions.Clusters.Patch++    -- ** dataproc.projects.regions.jobs.cancel+    , module Network.Google.Resource.Dataproc.Projects.Regions.Jobs.Cancel++    -- ** dataproc.projects.regions.jobs.delete+    , module Network.Google.Resource.Dataproc.Projects.Regions.Jobs.Delete++    -- ** dataproc.projects.regions.jobs.get+    , module Network.Google.Resource.Dataproc.Projects.Regions.Jobs.Get++    -- ** dataproc.projects.regions.jobs.list+    , module Network.Google.Resource.Dataproc.Projects.Regions.Jobs.List++    -- ** dataproc.projects.regions.jobs.submit+    , module Network.Google.Resource.Dataproc.Projects.Regions.Jobs.Submit++    -- ** dataproc.projects.regions.operations.cancel+    , module Network.Google.Resource.Dataproc.Projects.Regions.Operations.Cancel++    -- ** dataproc.projects.regions.operations.delete+    , module Network.Google.Resource.Dataproc.Projects.Regions.Operations.Delete++    -- ** dataproc.projects.regions.operations.get+    , module Network.Google.Resource.Dataproc.Projects.Regions.Operations.Get++    -- ** dataproc.projects.regions.operations.list+    , module Network.Google.Resource.Dataproc.Projects.Regions.Operations.List++    -- * Types++    -- ** JobReference+    , JobReference+    , jobReference+    , jrJobId+    , jrProjectId++    -- ** Status+    , Status+    , status+    , sDetails+    , sCode+    , sMessage++    -- ** OperationSchema+    , OperationSchema+    , operationSchema+    , osAddtional++    -- ** PySparkJobProperties+    , PySparkJobProperties+    , pySparkJobProperties+    , psjpAddtional++    -- ** DiagnoseClusterResults+    , DiagnoseClusterResults+    , diagnoseClusterResults+    , dcrOutputURI++    -- ** InstanceGroupConfig+    , InstanceGroupConfig+    , instanceGroupConfig+    , igcNumInstances+    , igcDiskConfig+    , igcIsPreemptible+    , igcImageURI+    , igcInstanceNames+    , igcManagedGroupConfig+    , igcMachineTypeURI++    -- ** SparkJob+    , SparkJob+    , sparkJob+    , sjArgs+    , sjMainJarFileURI+    , sjJarFileURIs+    , sjFileURIs+    , sjArchiveURIs+    , sjMainClass+    , sjLoggingConfig+    , sjProperties++    -- ** SoftwareConfigProperties+    , SoftwareConfigProperties+    , softwareConfigProperties+    , scpAddtional++    -- ** DiskConfig+    , DiskConfig+    , diskConfig+    , dcNumLocalSsds+    , dcBootDiskSizeGb++    -- ** ListOperationsResponse+    , ListOperationsResponse+    , listOperationsResponse+    , lorNextPageToken+    , lorOperations++    -- ** HiveJobScriptVariables+    , HiveJobScriptVariables+    , hiveJobScriptVariables+    , hjsvAddtional++    -- ** Cluster+    , Cluster+    , cluster+    , cStatus+    , cClusterUuid+    , cConfig+    , cClusterName+    , cProjectId+    , cStatusHistory++    -- ** SubmitJobRequest+    , SubmitJobRequest+    , submitJobRequest+    , sjrJob++    -- ** Operation+    , Operation+    , operation+    , oDone+    , oError+    , oResponse+    , oName+    , oMetadata++    -- ** Empty+    , Empty+    , empty++    -- ** HiveJob+    , HiveJob+    , hiveJob+    , hjQueryFileURI+    , hjJarFileURIs+    , hjScriptVariables+    , hjQueryList+    , hjContinueOnFailure+    , hjProperties++    -- ** SparkSQLJobScriptVariables+    , SparkSQLJobScriptVariables+    , sparkSQLJobScriptVariables+    , ssqljsvAddtional++    -- ** PigJobProperties+    , PigJobProperties+    , pigJobProperties+    , pjpAddtional++    -- ** ClusterConfig+    , ClusterConfig+    , clusterConfig+    , ccWorkerConfig+    , ccInitializationActions+    , ccMasterConfig+    , ccGceClusterConfig+    , ccConfigBucket+    , ccSoftwareConfig+    , ccSecondaryWorkerConfig++    -- ** HadoopJobProperties+    , HadoopJobProperties+    , hadoopJobProperties+    , hjpAddtional++    -- ** ClusterOperationStatus+    , ClusterOperationStatus+    , clusterOperationStatus+    , cosState+    , cosInnerState+    , cosStateStartTime+    , cosDetails++    -- ** StatusDetailsItem+    , StatusDetailsItem+    , statusDetailsItem+    , sdiAddtional++    -- ** SparkSQLJobProperties+    , SparkSQLJobProperties+    , sparkSQLJobProperties+    , ssqljpAddtional++    -- ** NodeInitializationAction+    , NodeInitializationAction+    , nodeInitializationAction+    , niaExecutionTimeout+    , niaExecutableFile++    -- ** JobPlacement+    , JobPlacement+    , jobPlacement+    , jpClusterUuid+    , jpClusterName++    -- ** GceClusterConfig+    , GceClusterConfig+    , gceClusterConfig+    , gccSubnetworkURI+    , gccNetworkURI+    , gccZoneURI+    , gccMetadata+    , gccServiceAccountScopes+    , gccTags++    -- ** OperationStatus+    , OperationStatus+    , operationStatus+    , osState+    , osInnerState+    , osStateStartTime+    , osDetails++    -- ** GceClusterConfigMetadata+    , GceClusterConfigMetadata+    , gceClusterConfigMetadata+    , gccmAddtional++    -- ** HiveJobProperties+    , HiveJobProperties+    , hiveJobProperties+    , hAddtional++    -- ** DiagnoseClusterOutputLocation+    , DiagnoseClusterOutputLocation+    , diagnoseClusterOutputLocation+    , dcolOutputURI++    -- ** Job+    , Job+    , job+    , jSparkJob+    , jStatus+    , jDriverControlFilesURI+    , jHiveJob+    , jReference+    , jSparkSQLJob+    , jHadoopJob+    , jPysparkJob+    , jDriverOutputResourceURI+    , jStatusHistory+    , jPlacement+    , jPigJob++    -- ** DiagnoseClusterRequest+    , DiagnoseClusterRequest+    , diagnoseClusterRequest++    -- ** HadoopJob+    , HadoopJob+    , hadoopJob+    , hArgs+    , hMainJarFileURI+    , hJarFileURIs+    , hFileURIs+    , hArchiveURIs+    , hMainClass+    , hLoggingConfig+    , hProperties++    -- ** ClusterOperationMetadata+    , ClusterOperationMetadata+    , clusterOperationMetadata+    , comStatus+    , comClusterUuid+    , comClusterName+    , comOperationType+    , comStatusHistory+    , comDescription++    -- ** SparkSQLJob+    , SparkSQLJob+    , sparkSQLJob+    , ssqljQueryFileURI+    , ssqljJarFileURIs+    , ssqljScriptVariables+    , ssqljQueryList+    , ssqljLoggingConfig+    , ssqljProperties++    -- ** SoftwareConfig+    , SoftwareConfig+    , softwareConfig+    , scImageVersion+    , scProperties++    -- ** ListJobsResponse+    , ListJobsResponse+    , listJobsResponse+    , ljrNextPageToken+    , ljrJobs++    -- ** SparkJobProperties+    , SparkJobProperties+    , sparkJobProperties+    , sjpAddtional++    -- ** PySparkJob+    , PySparkJob+    , pySparkJob+    , psjPythonFileURIs+    , psjMainPythonFileURI+    , psjArgs+    , psjJarFileURIs+    , psjFileURIs+    , psjArchiveURIs+    , psjLoggingConfig+    , psjProperties++    -- ** ManagedGroupConfig+    , ManagedGroupConfig+    , managedGroupConfig+    , mgcInstanceTemplateName+    , mgcInstanceGroupManagerName++    -- ** ListClustersResponse+    , ListClustersResponse+    , listClustersResponse+    , lcrNextPageToken+    , lcrClusters++    -- ** CancelJobRequest+    , CancelJobRequest+    , cancelJobRequest++    -- ** QueryList+    , QueryList+    , queryList+    , qlQueries++    -- ** OperationMetadata+    , OperationMetadata+    , operationMetadata+    , omStatus+    , omState+    , omClusterUuid+    , omInsertTime+    , omStartTime+    , omInnerState+    , omEndTime+    , omDetails+    , omClusterName+    , omOperationType+    , omStatusHistory+    , omDescription++    -- ** JobStatus+    , JobStatus+    , jobStatus+    , jsState+    , jsStateStartTime+    , jsDetails++    -- ** PigJobScriptVariables+    , PigJobScriptVariables+    , pigJobScriptVariables+    , pjsvAddtional++    -- ** OperationResponse+    , OperationResponse+    , operationResponse+    , orAddtional++    -- ** LoggingConfigDriverLogLevels+    , LoggingConfigDriverLogLevels+    , loggingConfigDriverLogLevels+    , lcdllAddtional++    -- ** ClusterStatus+    , ClusterStatus+    , clusterStatus+    , csState+    , csStateStartTime+    , csDetail++    -- ** PigJob+    , PigJob+    , pigJob+    , pjQueryFileURI+    , pjJarFileURIs+    , pjScriptVariables+    , pjQueryList+    , pjContinueOnFailure+    , pjLoggingConfig+    , pjProperties++    -- ** LoggingConfig+    , LoggingConfig+    , loggingConfig+    , lcDriverLogLevels+    ) where++import           Network.Google.Dataproc.Types+import           Network.Google.Prelude+import           Network.Google.Resource.Dataproc.Projects.Regions.Clusters.Create+import           Network.Google.Resource.Dataproc.Projects.Regions.Clusters.Delete+import           Network.Google.Resource.Dataproc.Projects.Regions.Clusters.Diagnose+import           Network.Google.Resource.Dataproc.Projects.Regions.Clusters.Get+import           Network.Google.Resource.Dataproc.Projects.Regions.Clusters.List+import           Network.Google.Resource.Dataproc.Projects.Regions.Clusters.Patch+import           Network.Google.Resource.Dataproc.Projects.Regions.Jobs.Cancel+import           Network.Google.Resource.Dataproc.Projects.Regions.Jobs.Delete+import           Network.Google.Resource.Dataproc.Projects.Regions.Jobs.Get+import           Network.Google.Resource.Dataproc.Projects.Regions.Jobs.List+import           Network.Google.Resource.Dataproc.Projects.Regions.Jobs.Submit+import           Network.Google.Resource.Dataproc.Projects.Regions.Operations.Cancel+import           Network.Google.Resource.Dataproc.Projects.Regions.Operations.Delete+import           Network.Google.Resource.Dataproc.Projects.Regions.Operations.Get+import           Network.Google.Resource.Dataproc.Projects.Regions.Operations.List++{- $resources+TODO+-}++-- | Represents the entirety of the methods and resources available for the Google Cloud Dataproc API service.+type DataprocAPI =+     ProjectsRegionsJobsListResource :<|>+       ProjectsRegionsJobsGetResource+       :<|> ProjectsRegionsJobsSubmitResource+       :<|> ProjectsRegionsJobsCancelResource+       :<|> ProjectsRegionsJobsDeleteResource+       :<|> ProjectsRegionsOperationsListResource+       :<|> ProjectsRegionsOperationsGetResource+       :<|> ProjectsRegionsOperationsCancelResource+       :<|> ProjectsRegionsOperationsDeleteResource+       :<|> ProjectsRegionsClustersDiagnoseResource+       :<|> ProjectsRegionsClustersListResource+       :<|> ProjectsRegionsClustersPatchResource+       :<|> ProjectsRegionsClustersGetResource+       :<|> ProjectsRegionsClustersCreateResource+       :<|> ProjectsRegionsClustersDeleteResource
+ gen/Network/Google/Dataproc/Types.hs view
@@ -0,0 +1,401 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module      : Network.Google.Dataproc.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.Dataproc.Types+    (+    -- * Service Configuration+      dataprocService++    -- * OAuth Scopes+    , cloudPlatformScope++    -- * JobReference+    , JobReference+    , jobReference+    , jrJobId+    , jrProjectId++    -- * Status+    , Status+    , status+    , sDetails+    , sCode+    , sMessage++    -- * OperationSchema+    , OperationSchema+    , operationSchema+    , osAddtional++    -- * PySparkJobProperties+    , PySparkJobProperties+    , pySparkJobProperties+    , psjpAddtional++    -- * DiagnoseClusterResults+    , DiagnoseClusterResults+    , diagnoseClusterResults+    , dcrOutputURI++    -- * InstanceGroupConfig+    , InstanceGroupConfig+    , instanceGroupConfig+    , igcNumInstances+    , igcDiskConfig+    , igcIsPreemptible+    , igcImageURI+    , igcInstanceNames+    , igcManagedGroupConfig+    , igcMachineTypeURI++    -- * SparkJob+    , SparkJob+    , sparkJob+    , sjArgs+    , sjMainJarFileURI+    , sjJarFileURIs+    , sjFileURIs+    , sjArchiveURIs+    , sjMainClass+    , sjLoggingConfig+    , sjProperties++    -- * SoftwareConfigProperties+    , SoftwareConfigProperties+    , softwareConfigProperties+    , scpAddtional++    -- * DiskConfig+    , DiskConfig+    , diskConfig+    , dcNumLocalSsds+    , dcBootDiskSizeGb++    -- * ListOperationsResponse+    , ListOperationsResponse+    , listOperationsResponse+    , lorNextPageToken+    , lorOperations++    -- * HiveJobScriptVariables+    , HiveJobScriptVariables+    , hiveJobScriptVariables+    , hjsvAddtional++    -- * Cluster+    , Cluster+    , cluster+    , cStatus+    , cClusterUuid+    , cConfig+    , cClusterName+    , cProjectId+    , cStatusHistory++    -- * SubmitJobRequest+    , SubmitJobRequest+    , submitJobRequest+    , sjrJob++    -- * Operation+    , Operation+    , operation+    , oDone+    , oError+    , oResponse+    , oName+    , oMetadata++    -- * Empty+    , Empty+    , empty++    -- * HiveJob+    , HiveJob+    , hiveJob+    , hjQueryFileURI+    , hjJarFileURIs+    , hjScriptVariables+    , hjQueryList+    , hjContinueOnFailure+    , hjProperties++    -- * SparkSQLJobScriptVariables+    , SparkSQLJobScriptVariables+    , sparkSQLJobScriptVariables+    , ssqljsvAddtional++    -- * PigJobProperties+    , PigJobProperties+    , pigJobProperties+    , pjpAddtional++    -- * ClusterConfig+    , ClusterConfig+    , clusterConfig+    , ccWorkerConfig+    , ccInitializationActions+    , ccMasterConfig+    , ccGceClusterConfig+    , ccConfigBucket+    , ccSoftwareConfig+    , ccSecondaryWorkerConfig++    -- * HadoopJobProperties+    , HadoopJobProperties+    , hadoopJobProperties+    , hjpAddtional++    -- * ClusterOperationStatus+    , ClusterOperationStatus+    , clusterOperationStatus+    , cosState+    , cosInnerState+    , cosStateStartTime+    , cosDetails++    -- * StatusDetailsItem+    , StatusDetailsItem+    , statusDetailsItem+    , sdiAddtional++    -- * SparkSQLJobProperties+    , SparkSQLJobProperties+    , sparkSQLJobProperties+    , ssqljpAddtional++    -- * NodeInitializationAction+    , NodeInitializationAction+    , nodeInitializationAction+    , niaExecutionTimeout+    , niaExecutableFile++    -- * JobPlacement+    , JobPlacement+    , jobPlacement+    , jpClusterUuid+    , jpClusterName++    -- * GceClusterConfig+    , GceClusterConfig+    , gceClusterConfig+    , gccSubnetworkURI+    , gccNetworkURI+    , gccZoneURI+    , gccMetadata+    , gccServiceAccountScopes+    , gccTags++    -- * OperationStatus+    , OperationStatus+    , operationStatus+    , osState+    , osInnerState+    , osStateStartTime+    , osDetails++    -- * GceClusterConfigMetadata+    , GceClusterConfigMetadata+    , gceClusterConfigMetadata+    , gccmAddtional++    -- * HiveJobProperties+    , HiveJobProperties+    , hiveJobProperties+    , hAddtional++    -- * DiagnoseClusterOutputLocation+    , DiagnoseClusterOutputLocation+    , diagnoseClusterOutputLocation+    , dcolOutputURI++    -- * Job+    , Job+    , job+    , jSparkJob+    , jStatus+    , jDriverControlFilesURI+    , jHiveJob+    , jReference+    , jSparkSQLJob+    , jHadoopJob+    , jPysparkJob+    , jDriverOutputResourceURI+    , jStatusHistory+    , jPlacement+    , jPigJob++    -- * DiagnoseClusterRequest+    , DiagnoseClusterRequest+    , diagnoseClusterRequest++    -- * HadoopJob+    , HadoopJob+    , hadoopJob+    , hArgs+    , hMainJarFileURI+    , hJarFileURIs+    , hFileURIs+    , hArchiveURIs+    , hMainClass+    , hLoggingConfig+    , hProperties++    -- * ClusterOperationMetadata+    , ClusterOperationMetadata+    , clusterOperationMetadata+    , comStatus+    , comClusterUuid+    , comClusterName+    , comOperationType+    , comStatusHistory+    , comDescription++    -- * SparkSQLJob+    , SparkSQLJob+    , sparkSQLJob+    , ssqljQueryFileURI+    , ssqljJarFileURIs+    , ssqljScriptVariables+    , ssqljQueryList+    , ssqljLoggingConfig+    , ssqljProperties++    -- * SoftwareConfig+    , SoftwareConfig+    , softwareConfig+    , scImageVersion+    , scProperties++    -- * ListJobsResponse+    , ListJobsResponse+    , listJobsResponse+    , ljrNextPageToken+    , ljrJobs++    -- * SparkJobProperties+    , SparkJobProperties+    , sparkJobProperties+    , sjpAddtional++    -- * PySparkJob+    , PySparkJob+    , pySparkJob+    , psjPythonFileURIs+    , psjMainPythonFileURI+    , psjArgs+    , psjJarFileURIs+    , psjFileURIs+    , psjArchiveURIs+    , psjLoggingConfig+    , psjProperties++    -- * ManagedGroupConfig+    , ManagedGroupConfig+    , managedGroupConfig+    , mgcInstanceTemplateName+    , mgcInstanceGroupManagerName++    -- * ListClustersResponse+    , ListClustersResponse+    , listClustersResponse+    , lcrNextPageToken+    , lcrClusters++    -- * CancelJobRequest+    , CancelJobRequest+    , cancelJobRequest++    -- * QueryList+    , QueryList+    , queryList+    , qlQueries++    -- * OperationMetadata+    , OperationMetadata+    , operationMetadata+    , omStatus+    , omState+    , omClusterUuid+    , omInsertTime+    , omStartTime+    , omInnerState+    , omEndTime+    , omDetails+    , omClusterName+    , omOperationType+    , omStatusHistory+    , omDescription++    -- * JobStatus+    , JobStatus+    , jobStatus+    , jsState+    , jsStateStartTime+    , jsDetails++    -- * PigJobScriptVariables+    , PigJobScriptVariables+    , pigJobScriptVariables+    , pjsvAddtional++    -- * OperationResponse+    , OperationResponse+    , operationResponse+    , orAddtional++    -- * LoggingConfigDriverLogLevels+    , LoggingConfigDriverLogLevels+    , loggingConfigDriverLogLevels+    , lcdllAddtional++    -- * ClusterStatus+    , ClusterStatus+    , clusterStatus+    , csState+    , csStateStartTime+    , csDetail++    -- * PigJob+    , PigJob+    , pigJob+    , pjQueryFileURI+    , pjJarFileURIs+    , pjScriptVariables+    , pjQueryList+    , pjContinueOnFailure+    , pjLoggingConfig+    , pjProperties++    -- * LoggingConfig+    , LoggingConfig+    , loggingConfig+    , lcDriverLogLevels+    ) where++import           Network.Google.Dataproc.Types.Product+import           Network.Google.Dataproc.Types.Sum+import           Network.Google.Prelude++-- | Default request referring to version 'v1' of the Google Cloud Dataproc API. This contains the host and root path used as a starting point for constructing service requests.+dataprocService :: ServiceConfig+dataprocService+  = defaultService (ServiceId "dataproc:v1")+      "dataproc.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/Dataproc/Types/Product.hs view
@@ -0,0 +1,3376 @@+{-# 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.Dataproc.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.Dataproc.Types.Product where++import           Network.Google.Dataproc.Types.Sum+import           Network.Google.Prelude++-- | Encapsulates the full scoping used to reference a job.+--+-- /See:/ 'jobReference' smart constructor.+data JobReference = JobReference'+    { _jrJobId     :: !(Maybe Text)+    , _jrProjectId :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'JobReference' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'jrJobId'+--+-- * 'jrProjectId'+jobReference+    :: JobReference+jobReference =+    JobReference'+    { _jrJobId = Nothing+    , _jrProjectId = Nothing+    }++-- | [Required] The job ID, which must be unique within the project. The job+-- ID is generated by the server upon job submission or provided by the+-- user as a means to perform retries without creating duplicate jobs. The+-- ID must contain only letters (a-z, A-Z), numbers (0-9), underscores (_),+-- or hyphens (-). The maximum length is 512 characters.+jrJobId :: Lens' JobReference (Maybe Text)+jrJobId = lens _jrJobId (\ s a -> s{_jrJobId = a})++-- | [Required] The ID of the Google Cloud Platform project that the job+-- belongs to.+jrProjectId :: Lens' JobReference (Maybe Text)+jrProjectId+  = lens _jrProjectId (\ s a -> s{_jrProjectId = a})++instance FromJSON JobReference where+        parseJSON+          = withObject "JobReference"+              (\ o ->+                 JobReference' <$>+                   (o .:? "jobId") <*> (o .:? "projectId"))++instance ToJSON JobReference where+        toJSON JobReference'{..}+          = object+              (catMaybes+                 [("jobId" .=) <$> _jrJobId,+                  ("projectId" .=) <$> _jrProjectId])++-- | 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\` which can be used for common error conditions. #+-- Language mapping The \`Status\` message is the logical representation of+-- the error model, but it is not necessarily the actual wire format. When+-- the \`Status\` message is exposed in different client libraries and+-- different wire protocols, it can be mapped differently. For example, it+-- will likely be mapped to some exceptions in Java, but more likely mapped+-- to some error codes in C. # Other uses The error model and the+-- \`Status\` message can be used in a variety of environments, either with+-- or without APIs, to provide a consistent developer experience across+-- different environments. Example uses of this error model include: -+-- Partial errors. If a service needs to return partial errors to the+-- client, it may embed the \`Status\` in the normal response to indicate+-- the partial errors. - Workflow errors. A typical workflow has multiple+-- steps. Each step may have a \`Status\` message for error reporting+-- purpose. - Batch operations. If a client uses batch request and batch+-- response, the \`Status\` message should be used directly inside batch+-- response, one for each error sub-response. - Asynchronous operations. If+-- an API call embeds asynchronous operation results in its response, the+-- status of those operations should be represented directly using the+-- \`Status\` message. - Logging. If some API errors are stored in logs,+-- the message \`Status\` could be used directly after any stripping needed+-- for security\/privacy reasons.+--+-- /See:/ 'status' smart constructor.+data Status = Status'+    { _sDetails :: !(Maybe [StatusDetailsItem])+    , _sCode    :: !(Maybe (Textual Int32))+    , _sMessage :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Status' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sDetails'+--+-- * 'sCode'+--+-- * 'sMessage'+status+    :: Status+status =+    Status'+    { _sDetails = Nothing+    , _sCode = Nothing+    , _sMessage = Nothing+    }++-- | A list of messages that carry the error details. There will be a common+-- set of message types for APIs to use.+sDetails :: Lens' Status [StatusDetailsItem]+sDetails+  = lens _sDetails (\ s a -> s{_sDetails = a}) .+      _Default+      . _Coerce++-- | The status code, which should be an enum value of google.rpc.Code.+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])++-- | Service-specific metadata associated with the operation. It typically+-- contains progress information and common metadata such as create time.+-- Some services might not provide such metadata. Any method that returns a+-- long-running operation should document the metadata type, if any.+--+-- /See:/ 'operationSchema' smart constructor.+newtype OperationSchema = OperationSchema'+    { _osAddtional :: HashMap Text JSONValue+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'OperationSchema' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'osAddtional'+operationSchema+    :: HashMap Text JSONValue -- ^ 'osAddtional'+    -> OperationSchema+operationSchema pOsAddtional_ =+    OperationSchema'+    { _osAddtional = _Coerce # pOsAddtional_+    }++-- | Properties of the object. Contains field \'ype with type URL.+osAddtional :: Lens' OperationSchema (HashMap Text JSONValue)+osAddtional+  = lens _osAddtional (\ s a -> s{_osAddtional = a}) .+      _Coerce++instance FromJSON OperationSchema where+        parseJSON+          = withObject "OperationSchema"+              (\ o -> OperationSchema' <$> (parseJSONObject o))++instance ToJSON OperationSchema where+        toJSON = toJSON . _osAddtional++-- | [Optional] A mapping of property names to values, used to configure+-- PySpark. Properties that conflict with values set by the Cloud Dataproc+-- API may be overwritten. Can include properties set in+-- \/etc\/spark\/conf\/spark-defaults.conf and classes in user code.+--+-- /See:/ 'pySparkJobProperties' smart constructor.+newtype PySparkJobProperties = PySparkJobProperties'+    { _psjpAddtional :: HashMap Text Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PySparkJobProperties' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'psjpAddtional'+pySparkJobProperties+    :: HashMap Text Text -- ^ 'psjpAddtional'+    -> PySparkJobProperties+pySparkJobProperties pPsjpAddtional_ =+    PySparkJobProperties'+    { _psjpAddtional = _Coerce # pPsjpAddtional_+    }++psjpAddtional :: Lens' PySparkJobProperties (HashMap Text Text)+psjpAddtional+  = lens _psjpAddtional+      (\ s a -> s{_psjpAddtional = a})+      . _Coerce++instance FromJSON PySparkJobProperties where+        parseJSON+          = withObject "PySparkJobProperties"+              (\ o ->+                 PySparkJobProperties' <$> (parseJSONObject o))++instance ToJSON PySparkJobProperties where+        toJSON = toJSON . _psjpAddtional++-- | The location of diagnostic output.+--+-- /See:/ 'diagnoseClusterResults' smart constructor.+newtype DiagnoseClusterResults = DiagnoseClusterResults'+    { _dcrOutputURI :: Maybe Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DiagnoseClusterResults' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dcrOutputURI'+diagnoseClusterResults+    :: DiagnoseClusterResults+diagnoseClusterResults =+    DiagnoseClusterResults'+    { _dcrOutputURI = Nothing+    }++-- | [Output-only] The Google Cloud Storage URI of the diagnostic output.+-- This is a plain text file with a summary of collected diagnostics.+dcrOutputURI :: Lens' DiagnoseClusterResults (Maybe Text)+dcrOutputURI+  = lens _dcrOutputURI (\ s a -> s{_dcrOutputURI = a})++instance FromJSON DiagnoseClusterResults where+        parseJSON+          = withObject "DiagnoseClusterResults"+              (\ o ->+                 DiagnoseClusterResults' <$> (o .:? "outputUri"))++instance ToJSON DiagnoseClusterResults where+        toJSON DiagnoseClusterResults'{..}+          = object+              (catMaybes [("outputUri" .=) <$> _dcrOutputURI])++-- | The config settings for Google Compute Engine resources in an instance+-- group, such as a master or worker group.+--+-- /See:/ 'instanceGroupConfig' smart constructor.+data InstanceGroupConfig = InstanceGroupConfig'+    { _igcNumInstances       :: !(Maybe (Textual Int32))+    , _igcDiskConfig         :: !(Maybe DiskConfig)+    , _igcIsPreemptible      :: !(Maybe Bool)+    , _igcImageURI           :: !(Maybe Text)+    , _igcInstanceNames      :: !(Maybe [Text])+    , _igcManagedGroupConfig :: !(Maybe ManagedGroupConfig)+    , _igcMachineTypeURI     :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'InstanceGroupConfig' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'igcNumInstances'+--+-- * 'igcDiskConfig'+--+-- * 'igcIsPreemptible'+--+-- * 'igcImageURI'+--+-- * 'igcInstanceNames'+--+-- * 'igcManagedGroupConfig'+--+-- * 'igcMachineTypeURI'+instanceGroupConfig+    :: InstanceGroupConfig+instanceGroupConfig =+    InstanceGroupConfig'+    { _igcNumInstances = Nothing+    , _igcDiskConfig = Nothing+    , _igcIsPreemptible = Nothing+    , _igcImageURI = Nothing+    , _igcInstanceNames = Nothing+    , _igcManagedGroupConfig = Nothing+    , _igcMachineTypeURI = Nothing+    }++-- | The number of VM instances in the instance group. For master instance+-- groups, must be set to 1.+igcNumInstances :: Lens' InstanceGroupConfig (Maybe Int32)+igcNumInstances+  = lens _igcNumInstances+      (\ s a -> s{_igcNumInstances = a})+      . mapping _Coerce++-- | Disk option config settings.+igcDiskConfig :: Lens' InstanceGroupConfig (Maybe DiskConfig)+igcDiskConfig+  = lens _igcDiskConfig+      (\ s a -> s{_igcDiskConfig = a})++-- | Specifies that this instance group contains Preemptible Instances.+igcIsPreemptible :: Lens' InstanceGroupConfig (Maybe Bool)+igcIsPreemptible+  = lens _igcIsPreemptible+      (\ s a -> s{_igcIsPreemptible = a})++-- | [Output-only] The Google Compute Engine image resource used for cluster+-- instances. Inferred from \`SoftwareConfig.image_version\`.+igcImageURI :: Lens' InstanceGroupConfig (Maybe Text)+igcImageURI+  = lens _igcImageURI (\ s a -> s{_igcImageURI = a})++-- | The list of instance names. Cloud Dataproc derives the names from+-- \`cluster_name\`, \`num_instances\`, and the instance group if not set+-- by user (recommended practice is to let Cloud Dataproc derive the name).+igcInstanceNames :: Lens' InstanceGroupConfig [Text]+igcInstanceNames+  = lens _igcInstanceNames+      (\ s a -> s{_igcInstanceNames = a})+      . _Default+      . _Coerce++-- | [Output-only] The config for Google Compute Engine Instance Group+-- Manager that manages this group. This is only used for preemptible+-- instance groups.+igcManagedGroupConfig :: Lens' InstanceGroupConfig (Maybe ManagedGroupConfig)+igcManagedGroupConfig+  = lens _igcManagedGroupConfig+      (\ s a -> s{_igcManagedGroupConfig = a})++-- | The Google Compute Engine machine type used for cluster instances.+-- Example:+-- \`https:\/\/www.googleapis.com\/compute\/v1\/projects\/[project_id]\/zones\/us-east1-a\/machineTypes\/n1-standard-2\`.+igcMachineTypeURI :: Lens' InstanceGroupConfig (Maybe Text)+igcMachineTypeURI+  = lens _igcMachineTypeURI+      (\ s a -> s{_igcMachineTypeURI = a})++instance FromJSON InstanceGroupConfig where+        parseJSON+          = withObject "InstanceGroupConfig"+              (\ o ->+                 InstanceGroupConfig' <$>+                   (o .:? "numInstances") <*> (o .:? "diskConfig") <*>+                     (o .:? "isPreemptible")+                     <*> (o .:? "imageUri")+                     <*> (o .:? "instanceNames" .!= mempty)+                     <*> (o .:? "managedGroupConfig")+                     <*> (o .:? "machineTypeUri"))++instance ToJSON InstanceGroupConfig where+        toJSON InstanceGroupConfig'{..}+          = object+              (catMaybes+                 [("numInstances" .=) <$> _igcNumInstances,+                  ("diskConfig" .=) <$> _igcDiskConfig,+                  ("isPreemptible" .=) <$> _igcIsPreemptible,+                  ("imageUri" .=) <$> _igcImageURI,+                  ("instanceNames" .=) <$> _igcInstanceNames,+                  ("managedGroupConfig" .=) <$> _igcManagedGroupConfig,+                  ("machineTypeUri" .=) <$> _igcMachineTypeURI])++-- | A Cloud Dataproc job for running Spark applications on YARN.+--+-- /See:/ 'sparkJob' smart constructor.+data SparkJob = SparkJob'+    { _sjArgs           :: !(Maybe [Text])+    , _sjMainJarFileURI :: !(Maybe Text)+    , _sjJarFileURIs    :: !(Maybe [Text])+    , _sjFileURIs       :: !(Maybe [Text])+    , _sjArchiveURIs    :: !(Maybe [Text])+    , _sjMainClass      :: !(Maybe Text)+    , _sjLoggingConfig  :: !(Maybe LoggingConfig)+    , _sjProperties     :: !(Maybe SparkJobProperties)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SparkJob' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sjArgs'+--+-- * 'sjMainJarFileURI'+--+-- * 'sjJarFileURIs'+--+-- * 'sjFileURIs'+--+-- * 'sjArchiveURIs'+--+-- * 'sjMainClass'+--+-- * 'sjLoggingConfig'+--+-- * 'sjProperties'+sparkJob+    :: SparkJob+sparkJob =+    SparkJob'+    { _sjArgs = Nothing+    , _sjMainJarFileURI = Nothing+    , _sjJarFileURIs = Nothing+    , _sjFileURIs = Nothing+    , _sjArchiveURIs = Nothing+    , _sjMainClass = Nothing+    , _sjLoggingConfig = Nothing+    , _sjProperties = Nothing+    }++-- | [Optional] The arguments to pass to the driver. Do not include+-- arguments, such as \`--conf\`, that can be set as job properties, since+-- a collision may occur that causes an incorrect job submission.+sjArgs :: Lens' SparkJob [Text]+sjArgs+  = lens _sjArgs (\ s a -> s{_sjArgs = a}) . _Default .+      _Coerce++-- | The HCFS URI of the jar file that contains the main class.+sjMainJarFileURI :: Lens' SparkJob (Maybe Text)+sjMainJarFileURI+  = lens _sjMainJarFileURI+      (\ s a -> s{_sjMainJarFileURI = a})++-- | [Optional] HCFS URIs of jar files to add to the CLASSPATHs of the Spark+-- driver and tasks.+sjJarFileURIs :: Lens' SparkJob [Text]+sjJarFileURIs+  = lens _sjJarFileURIs+      (\ s a -> s{_sjJarFileURIs = a})+      . _Default+      . _Coerce++-- | [Optional] HCFS URIs of files to be copied to the working directory of+-- Spark drivers and distributed tasks. Useful for naively parallel tasks.+sjFileURIs :: Lens' SparkJob [Text]+sjFileURIs+  = lens _sjFileURIs (\ s a -> s{_sjFileURIs = a}) .+      _Default+      . _Coerce++-- | [Optional] HCFS URIs of archives to be extracted in the working+-- directory of Spark drivers and tasks. Supported file types: .jar, .tar,+-- .tar.gz, .tgz, and .zip.+sjArchiveURIs :: Lens' SparkJob [Text]+sjArchiveURIs+  = lens _sjArchiveURIs+      (\ s a -> s{_sjArchiveURIs = a})+      . _Default+      . _Coerce++-- | The name of the driver\'s main class. The jar file that contains the+-- class must be in the default CLASSPATH or specified in+-- \`jar_file_uris\`.+sjMainClass :: Lens' SparkJob (Maybe Text)+sjMainClass+  = lens _sjMainClass (\ s a -> s{_sjMainClass = a})++-- | [Optional] The runtime log config for job execution.+sjLoggingConfig :: Lens' SparkJob (Maybe LoggingConfig)+sjLoggingConfig+  = lens _sjLoggingConfig+      (\ s a -> s{_sjLoggingConfig = a})++-- | [Optional] A mapping of property names to values, used to configure+-- Spark. Properties that conflict with values set by the Cloud Dataproc+-- API may be overwritten. Can include properties set in+-- \/etc\/spark\/conf\/spark-defaults.conf and classes in user code.+sjProperties :: Lens' SparkJob (Maybe SparkJobProperties)+sjProperties+  = lens _sjProperties (\ s a -> s{_sjProperties = a})++instance FromJSON SparkJob where+        parseJSON+          = withObject "SparkJob"+              (\ o ->+                 SparkJob' <$>+                   (o .:? "args" .!= mempty) <*>+                     (o .:? "mainJarFileUri")+                     <*> (o .:? "jarFileUris" .!= mempty)+                     <*> (o .:? "fileUris" .!= mempty)+                     <*> (o .:? "archiveUris" .!= mempty)+                     <*> (o .:? "mainClass")+                     <*> (o .:? "loggingConfig")+                     <*> (o .:? "properties"))++instance ToJSON SparkJob where+        toJSON SparkJob'{..}+          = object+              (catMaybes+                 [("args" .=) <$> _sjArgs,+                  ("mainJarFileUri" .=) <$> _sjMainJarFileURI,+                  ("jarFileUris" .=) <$> _sjJarFileURIs,+                  ("fileUris" .=) <$> _sjFileURIs,+                  ("archiveUris" .=) <$> _sjArchiveURIs,+                  ("mainClass" .=) <$> _sjMainClass,+                  ("loggingConfig" .=) <$> _sjLoggingConfig,+                  ("properties" .=) <$> _sjProperties])++-- | [Optional] The properties to set on daemon config files. Property keys+-- are specified in \`prefix:property\` format, such as+-- \`core:fs.defaultFS\`. The following are supported prefixes and their+-- mappings: * core: \`core-site.xml\` * hdfs: \`hdfs-site.xml\` * mapred:+-- \`mapred-site.xml\` * yarn: \`yarn-site.xml\` * hive: \`hive-site.xml\`+-- * pig: \`pig.properties\` * spark: \`spark-defaults.conf\`+--+-- /See:/ 'softwareConfigProperties' smart constructor.+newtype SoftwareConfigProperties = SoftwareConfigProperties'+    { _scpAddtional :: HashMap Text Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SoftwareConfigProperties' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'scpAddtional'+softwareConfigProperties+    :: HashMap Text Text -- ^ 'scpAddtional'+    -> SoftwareConfigProperties+softwareConfigProperties pScpAddtional_ =+    SoftwareConfigProperties'+    { _scpAddtional = _Coerce # pScpAddtional_+    }++scpAddtional :: Lens' SoftwareConfigProperties (HashMap Text Text)+scpAddtional+  = lens _scpAddtional (\ s a -> s{_scpAddtional = a})+      . _Coerce++instance FromJSON SoftwareConfigProperties where+        parseJSON+          = withObject "SoftwareConfigProperties"+              (\ o ->+                 SoftwareConfigProperties' <$> (parseJSONObject o))++instance ToJSON SoftwareConfigProperties where+        toJSON = toJSON . _scpAddtional++-- | Specifies the config of disk options for a group of VM instances.+--+-- /See:/ 'diskConfig' smart constructor.+data DiskConfig = DiskConfig'+    { _dcNumLocalSsds   :: !(Maybe (Textual Int32))+    , _dcBootDiskSizeGb :: !(Maybe (Textual Int32))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DiskConfig' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dcNumLocalSsds'+--+-- * 'dcBootDiskSizeGb'+diskConfig+    :: DiskConfig+diskConfig =+    DiskConfig'+    { _dcNumLocalSsds = Nothing+    , _dcBootDiskSizeGb = Nothing+    }++-- | [Optional] Number of attached SSDs, from 0 to 4 (default is 0). If SSDs+-- are not attached, the boot disk is used to store runtime logs and HDFS+-- data. If one or more SSDs are attached, this runtime bulk data is spread+-- across them, and the boot disk contains only basic config and installed+-- binaries.+dcNumLocalSsds :: Lens' DiskConfig (Maybe Int32)+dcNumLocalSsds+  = lens _dcNumLocalSsds+      (\ s a -> s{_dcNumLocalSsds = a})+      . mapping _Coerce++-- | [Optional] Size in GB of the boot disk (default is 500GB).+dcBootDiskSizeGb :: Lens' DiskConfig (Maybe Int32)+dcBootDiskSizeGb+  = lens _dcBootDiskSizeGb+      (\ s a -> s{_dcBootDiskSizeGb = a})+      . mapping _Coerce++instance FromJSON DiskConfig where+        parseJSON+          = withObject "DiskConfig"+              (\ o ->+                 DiskConfig' <$>+                   (o .:? "numLocalSsds") <*> (o .:? "bootDiskSizeGb"))++instance ToJSON DiskConfig where+        toJSON DiskConfig'{..}+          = object+              (catMaybes+                 [("numLocalSsds" .=) <$> _dcNumLocalSsds,+                  ("bootDiskSizeGb" .=) <$> _dcBootDiskSizeGb])++-- | The response message for Operations.ListOperations.+--+-- /See:/ 'listOperationsResponse' smart constructor.+data ListOperationsResponse = ListOperationsResponse'+    { _lorNextPageToken :: !(Maybe Text)+    , _lorOperations    :: !(Maybe [Operation])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ListOperationsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lorNextPageToken'+--+-- * 'lorOperations'+listOperationsResponse+    :: ListOperationsResponse+listOperationsResponse =+    ListOperationsResponse'+    { _lorNextPageToken = Nothing+    , _lorOperations = Nothing+    }++-- | The standard List next-page token.+lorNextPageToken :: Lens' ListOperationsResponse (Maybe Text)+lorNextPageToken+  = lens _lorNextPageToken+      (\ s a -> s{_lorNextPageToken = a})++-- | A list of operations that matches the specified filter in the request.+lorOperations :: Lens' ListOperationsResponse [Operation]+lorOperations+  = lens _lorOperations+      (\ s a -> s{_lorOperations = a})+      . _Default+      . _Coerce++instance FromJSON ListOperationsResponse where+        parseJSON+          = withObject "ListOperationsResponse"+              (\ o ->+                 ListOperationsResponse' <$>+                   (o .:? "nextPageToken") <*>+                     (o .:? "operations" .!= mempty))++instance ToJSON ListOperationsResponse where+        toJSON ListOperationsResponse'{..}+          = object+              (catMaybes+                 [("nextPageToken" .=) <$> _lorNextPageToken,+                  ("operations" .=) <$> _lorOperations])++-- | [Optional] Mapping of query variable names to values (equivalent to the+-- Hive command: \`SET name=\"value\";\`).+--+-- /See:/ 'hiveJobScriptVariables' smart constructor.+newtype HiveJobScriptVariables = HiveJobScriptVariables'+    { _hjsvAddtional :: HashMap Text Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'HiveJobScriptVariables' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'hjsvAddtional'+hiveJobScriptVariables+    :: HashMap Text Text -- ^ 'hjsvAddtional'+    -> HiveJobScriptVariables+hiveJobScriptVariables pHjsvAddtional_ =+    HiveJobScriptVariables'+    { _hjsvAddtional = _Coerce # pHjsvAddtional_+    }++hjsvAddtional :: Lens' HiveJobScriptVariables (HashMap Text Text)+hjsvAddtional+  = lens _hjsvAddtional+      (\ s a -> s{_hjsvAddtional = a})+      . _Coerce++instance FromJSON HiveJobScriptVariables where+        parseJSON+          = withObject "HiveJobScriptVariables"+              (\ o ->+                 HiveJobScriptVariables' <$> (parseJSONObject o))++instance ToJSON HiveJobScriptVariables where+        toJSON = toJSON . _hjsvAddtional++-- | Describes the identifying information, config, and status of a cluster+-- of Google Compute Engine instances.+--+-- /See:/ 'cluster' smart constructor.+data Cluster = Cluster'+    { _cStatus        :: !(Maybe ClusterStatus)+    , _cClusterUuid   :: !(Maybe Text)+    , _cConfig        :: !(Maybe ClusterConfig)+    , _cClusterName   :: !(Maybe Text)+    , _cProjectId     :: !(Maybe Text)+    , _cStatusHistory :: !(Maybe [ClusterStatus])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Cluster' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cStatus'+--+-- * 'cClusterUuid'+--+-- * 'cConfig'+--+-- * 'cClusterName'+--+-- * 'cProjectId'+--+-- * 'cStatusHistory'+cluster+    :: Cluster+cluster =+    Cluster'+    { _cStatus = Nothing+    , _cClusterUuid = Nothing+    , _cConfig = Nothing+    , _cClusterName = Nothing+    , _cProjectId = Nothing+    , _cStatusHistory = Nothing+    }++-- | [Output-only] Cluster status.+cStatus :: Lens' Cluster (Maybe ClusterStatus)+cStatus = lens _cStatus (\ s a -> s{_cStatus = a})++-- | [Output-only] A cluster UUID (Unique Universal Identifier). Cloud+-- Dataproc generates this value when it creates the cluster.+cClusterUuid :: Lens' Cluster (Maybe Text)+cClusterUuid+  = lens _cClusterUuid (\ s a -> s{_cClusterUuid = a})++-- | [Required] The cluster config. Note that Cloud Dataproc may set default+-- values, and values may change when clusters are updated.+cConfig :: Lens' Cluster (Maybe ClusterConfig)+cConfig = lens _cConfig (\ s a -> s{_cConfig = a})++-- | [Required] The cluster name. Cluster names within a project must be+-- unique. Names of deleted clusters can be reused.+cClusterName :: Lens' Cluster (Maybe Text)+cClusterName+  = lens _cClusterName (\ s a -> s{_cClusterName = a})++-- | [Required] The Google Cloud Platform project ID that the cluster belongs+-- to.+cProjectId :: Lens' Cluster (Maybe Text)+cProjectId+  = lens _cProjectId (\ s a -> s{_cProjectId = a})++-- | [Output-only] The previous cluster status.+cStatusHistory :: Lens' Cluster [ClusterStatus]+cStatusHistory+  = lens _cStatusHistory+      (\ s a -> s{_cStatusHistory = a})+      . _Default+      . _Coerce++instance FromJSON Cluster where+        parseJSON+          = withObject "Cluster"+              (\ o ->+                 Cluster' <$>+                   (o .:? "status") <*> (o .:? "clusterUuid") <*>+                     (o .:? "config")+                     <*> (o .:? "clusterName")+                     <*> (o .:? "projectId")+                     <*> (o .:? "statusHistory" .!= mempty))++instance ToJSON Cluster where+        toJSON Cluster'{..}+          = object+              (catMaybes+                 [("status" .=) <$> _cStatus,+                  ("clusterUuid" .=) <$> _cClusterUuid,+                  ("config" .=) <$> _cConfig,+                  ("clusterName" .=) <$> _cClusterName,+                  ("projectId" .=) <$> _cProjectId,+                  ("statusHistory" .=) <$> _cStatusHistory])++-- | A request to submit a job.+--+-- /See:/ 'submitJobRequest' smart constructor.+newtype SubmitJobRequest = SubmitJobRequest'+    { _sjrJob :: Maybe Job+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SubmitJobRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sjrJob'+submitJobRequest+    :: SubmitJobRequest+submitJobRequest =+    SubmitJobRequest'+    { _sjrJob = Nothing+    }++-- | [Required] The job resource.+sjrJob :: Lens' SubmitJobRequest (Maybe Job)+sjrJob = lens _sjrJob (\ s a -> s{_sjrJob = a})++instance FromJSON SubmitJobRequest where+        parseJSON+          = withObject "SubmitJobRequest"+              (\ o -> SubmitJobRequest' <$> (o .:? "job"))++instance ToJSON SubmitJobRequest where+        toJSON SubmitJobRequest'{..}+          = object (catMaybes [("job" .=) <$> _sjrJob])++-- | This resource represents a long-running operation that is the result of+-- a network API call.+--+-- /See:/ 'operation' smart constructor.+data Operation = Operation'+    { _oDone     :: !(Maybe Bool)+    , _oError    :: !(Maybe Status)+    , _oResponse :: !(Maybe OperationResponse)+    , _oName     :: !(Maybe Text)+    , _oMetadata :: !(Maybe OperationSchema)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Operation' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'oDone'+--+-- * 'oError'+--+-- * 'oResponse'+--+-- * 'oName'+--+-- * 'oMetadata'+operation+    :: Operation+operation =+    Operation'+    { _oDone = Nothing+    , _oError = Nothing+    , _oResponse = Nothing+    , _oName = Nothing+    , _oMetadata = Nothing+    }++-- | If the value is \`false\`, it means the operation is still in progress.+-- If true, the operation is completed, and either \`error\` or+-- \`response\` is available.+oDone :: Lens' Operation (Maybe Bool)+oDone = lens _oDone (\ s a -> s{_oDone = a})++-- | The error result of the operation in case of failure.+oError :: Lens' Operation (Maybe Status)+oError = lens _oError (\ s a -> s{_oError = a})++-- | The normal response of the operation in case of success. If the original+-- method returns no data on success, such as \`Delete\`, the response is+-- \`google.protobuf.Empty\`. If the original method is standard+-- \`Get\`\/\`Create\`\/\`Update\`, the response should be the resource.+-- For other methods, the response should have the type \`XxxResponse\`,+-- where \`Xxx\` is the original method name. For example, if the original+-- method name is \`TakeSnapshot()\`, the inferred response type is+-- \`TakeSnapshotResponse\`.+oResponse :: Lens' Operation (Maybe OperationResponse)+oResponse+  = lens _oResponse (\ s a -> s{_oResponse = a})++-- | The server-assigned name, which is only unique within the same service+-- that originally returns it. If you use the default HTTP mapping, the+-- \`name\` should have the format of \`operations\/some\/unique\/name\`.+oName :: Lens' Operation (Maybe Text)+oName = lens _oName (\ s a -> s{_oName = a})++-- | Service-specific metadata associated with the operation. It typically+-- contains progress information and common metadata such as create time.+-- Some services might not provide such metadata. Any method that returns a+-- long-running operation should document the metadata type, if any.+oMetadata :: Lens' Operation (Maybe OperationSchema)+oMetadata+  = lens _oMetadata (\ s a -> s{_oMetadata = a})++instance FromJSON Operation where+        parseJSON+          = withObject "Operation"+              (\ o ->+                 Operation' <$>+                   (o .:? "done") <*> (o .:? "error") <*>+                     (o .:? "response")+                     <*> (o .:? "name")+                     <*> (o .:? "metadata"))++instance ToJSON Operation where+        toJSON Operation'{..}+          = object+              (catMaybes+                 [("done" .=) <$> _oDone, ("error" .=) <$> _oError,+                  ("response" .=) <$> _oResponse,+                  ("name" .=) <$> _oName,+                  ("metadata" .=) <$> _oMetadata])++-- | 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++-- | A Cloud Dataproc job for running Hive queries on YARN.+--+-- /See:/ 'hiveJob' smart constructor.+data HiveJob = HiveJob'+    { _hjQueryFileURI      :: !(Maybe Text)+    , _hjJarFileURIs       :: !(Maybe [Text])+    , _hjScriptVariables   :: !(Maybe HiveJobScriptVariables)+    , _hjQueryList         :: !(Maybe QueryList)+    , _hjContinueOnFailure :: !(Maybe Bool)+    , _hjProperties        :: !(Maybe HiveJobProperties)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'HiveJob' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'hjQueryFileURI'+--+-- * 'hjJarFileURIs'+--+-- * 'hjScriptVariables'+--+-- * 'hjQueryList'+--+-- * 'hjContinueOnFailure'+--+-- * 'hjProperties'+hiveJob+    :: HiveJob+hiveJob =+    HiveJob'+    { _hjQueryFileURI = Nothing+    , _hjJarFileURIs = Nothing+    , _hjScriptVariables = Nothing+    , _hjQueryList = Nothing+    , _hjContinueOnFailure = Nothing+    , _hjProperties = Nothing+    }++-- | The HCFS URI of the script that contains Hive queries.+hjQueryFileURI :: Lens' HiveJob (Maybe Text)+hjQueryFileURI+  = lens _hjQueryFileURI+      (\ s a -> s{_hjQueryFileURI = a})++-- | [Optional] HCFS URIs of jar files to add to the CLASSPATH of the Hive+-- server and Hadoop MapReduce (MR) tasks. Can contain Hive SerDes and+-- UDFs.+hjJarFileURIs :: Lens' HiveJob [Text]+hjJarFileURIs+  = lens _hjJarFileURIs+      (\ s a -> s{_hjJarFileURIs = a})+      . _Default+      . _Coerce++-- | [Optional] Mapping of query variable names to values (equivalent to the+-- Hive command: \`SET name=\"value\";\`).+hjScriptVariables :: Lens' HiveJob (Maybe HiveJobScriptVariables)+hjScriptVariables+  = lens _hjScriptVariables+      (\ s a -> s{_hjScriptVariables = a})++-- | A list of queries.+hjQueryList :: Lens' HiveJob (Maybe QueryList)+hjQueryList+  = lens _hjQueryList (\ s a -> s{_hjQueryList = a})++-- | [Optional] Whether to continue executing queries if a query fails. The+-- default value is \`false\`. Setting to \`true\` can be useful when+-- executing independent parallel queries.+hjContinueOnFailure :: Lens' HiveJob (Maybe Bool)+hjContinueOnFailure+  = lens _hjContinueOnFailure+      (\ s a -> s{_hjContinueOnFailure = a})++-- | [Optional] A mapping of property names and values, used to configure+-- Hive. Properties that conflict with values set by the Cloud Dataproc API+-- may be overwritten. Can include properties set in+-- \/etc\/hadoop\/conf\/*-site.xml, \/etc\/hive\/conf\/hive-site.xml, and+-- classes in user code.+hjProperties :: Lens' HiveJob (Maybe HiveJobProperties)+hjProperties+  = lens _hjProperties (\ s a -> s{_hjProperties = a})++instance FromJSON HiveJob where+        parseJSON+          = withObject "HiveJob"+              (\ o ->+                 HiveJob' <$>+                   (o .:? "queryFileUri") <*>+                     (o .:? "jarFileUris" .!= mempty)+                     <*> (o .:? "scriptVariables")+                     <*> (o .:? "queryList")+                     <*> (o .:? "continueOnFailure")+                     <*> (o .:? "properties"))++instance ToJSON HiveJob where+        toJSON HiveJob'{..}+          = object+              (catMaybes+                 [("queryFileUri" .=) <$> _hjQueryFileURI,+                  ("jarFileUris" .=) <$> _hjJarFileURIs,+                  ("scriptVariables" .=) <$> _hjScriptVariables,+                  ("queryList" .=) <$> _hjQueryList,+                  ("continueOnFailure" .=) <$> _hjContinueOnFailure,+                  ("properties" .=) <$> _hjProperties])++-- | [Optional] Mapping of query variable names to values (equivalent to the+-- Spark SQL command: SET \`name=\"value\";\`).+--+-- /See:/ 'sparkSQLJobScriptVariables' smart constructor.+newtype SparkSQLJobScriptVariables = SparkSQLJobScriptVariables'+    { _ssqljsvAddtional :: HashMap Text Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SparkSQLJobScriptVariables' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ssqljsvAddtional'+sparkSQLJobScriptVariables+    :: HashMap Text Text -- ^ 'ssqljsvAddtional'+    -> SparkSQLJobScriptVariables+sparkSQLJobScriptVariables pSsqljsvAddtional_ =+    SparkSQLJobScriptVariables'+    { _ssqljsvAddtional = _Coerce # pSsqljsvAddtional_+    }++ssqljsvAddtional :: Lens' SparkSQLJobScriptVariables (HashMap Text Text)+ssqljsvAddtional+  = lens _ssqljsvAddtional+      (\ s a -> s{_ssqljsvAddtional = a})+      . _Coerce++instance FromJSON SparkSQLJobScriptVariables where+        parseJSON+          = withObject "SparkSQLJobScriptVariables"+              (\ o ->+                 SparkSQLJobScriptVariables' <$> (parseJSONObject o))++instance ToJSON SparkSQLJobScriptVariables where+        toJSON = toJSON . _ssqljsvAddtional++-- | [Optional] A mapping of property names to values, used to configure Pig.+-- Properties that conflict with values set by the Cloud Dataproc API may+-- be overwritten. Can include properties set in+-- \/etc\/hadoop\/conf\/*-site.xml, \/etc\/pig\/conf\/pig.properties, and+-- classes in user code.+--+-- /See:/ 'pigJobProperties' smart constructor.+newtype PigJobProperties = PigJobProperties'+    { _pjpAddtional :: HashMap Text Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PigJobProperties' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pjpAddtional'+pigJobProperties+    :: HashMap Text Text -- ^ 'pjpAddtional'+    -> PigJobProperties+pigJobProperties pPjpAddtional_ =+    PigJobProperties'+    { _pjpAddtional = _Coerce # pPjpAddtional_+    }++pjpAddtional :: Lens' PigJobProperties (HashMap Text Text)+pjpAddtional+  = lens _pjpAddtional (\ s a -> s{_pjpAddtional = a})+      . _Coerce++instance FromJSON PigJobProperties where+        parseJSON+          = withObject "PigJobProperties"+              (\ o -> PigJobProperties' <$> (parseJSONObject o))++instance ToJSON PigJobProperties where+        toJSON = toJSON . _pjpAddtional++-- | The cluster config.+--+-- /See:/ 'clusterConfig' smart constructor.+data ClusterConfig = ClusterConfig'+    { _ccWorkerConfig          :: !(Maybe InstanceGroupConfig)+    , _ccInitializationActions :: !(Maybe [NodeInitializationAction])+    , _ccMasterConfig          :: !(Maybe InstanceGroupConfig)+    , _ccGceClusterConfig      :: !(Maybe GceClusterConfig)+    , _ccConfigBucket          :: !(Maybe Text)+    , _ccSoftwareConfig        :: !(Maybe SoftwareConfig)+    , _ccSecondaryWorkerConfig :: !(Maybe InstanceGroupConfig)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ClusterConfig' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ccWorkerConfig'+--+-- * 'ccInitializationActions'+--+-- * 'ccMasterConfig'+--+-- * 'ccGceClusterConfig'+--+-- * 'ccConfigBucket'+--+-- * 'ccSoftwareConfig'+--+-- * 'ccSecondaryWorkerConfig'+clusterConfig+    :: ClusterConfig+clusterConfig =+    ClusterConfig'+    { _ccWorkerConfig = Nothing+    , _ccInitializationActions = Nothing+    , _ccMasterConfig = Nothing+    , _ccGceClusterConfig = Nothing+    , _ccConfigBucket = Nothing+    , _ccSoftwareConfig = Nothing+    , _ccSecondaryWorkerConfig = Nothing+    }++-- | [Optional] The Google Compute Engine config settings for worker+-- instances in a cluster.+ccWorkerConfig :: Lens' ClusterConfig (Maybe InstanceGroupConfig)+ccWorkerConfig+  = lens _ccWorkerConfig+      (\ s a -> s{_ccWorkerConfig = a})++-- | [Optional] Commands to execute on each node after config is completed.+-- By default, executables are run on master and all worker nodes. You can+-- test a node\'s role metadata to run an executable on a master or worker+-- node, as shown below:+-- ROLE=$(\/usr\/share\/google\/get_metadata_value attributes\/role) if [[ \"${ROLE}\"+-- == \'Master\' ]]; then ... master specific actions ... else ... worker+-- specific actions ... fi+ccInitializationActions :: Lens' ClusterConfig [NodeInitializationAction]+ccInitializationActions+  = lens _ccInitializationActions+      (\ s a -> s{_ccInitializationActions = a})+      . _Default+      . _Coerce++-- | [Optional] The Google Compute Engine config settings for the master+-- instance in a cluster.+ccMasterConfig :: Lens' ClusterConfig (Maybe InstanceGroupConfig)+ccMasterConfig+  = lens _ccMasterConfig+      (\ s a -> s{_ccMasterConfig = a})++-- | [Required] The shared Google Compute Engine config settings for all+-- instances in a cluster.+ccGceClusterConfig :: Lens' ClusterConfig (Maybe GceClusterConfig)+ccGceClusterConfig+  = lens _ccGceClusterConfig+      (\ s a -> s{_ccGceClusterConfig = a})++-- | [Optional] A Google Cloud Storage staging bucket used for sharing+-- generated SSH keys and config. If you do not specify a staging bucket,+-- Cloud Dataproc will determine an appropriate Cloud Storage location (US,+-- ASIA, or EU) for your cluster\'s staging bucket according to the Google+-- Compute Engine zone where your cluster is deployed, and then it will+-- create and manage this project-level, per-location bucket for you.+ccConfigBucket :: Lens' ClusterConfig (Maybe Text)+ccConfigBucket+  = lens _ccConfigBucket+      (\ s a -> s{_ccConfigBucket = a})++-- | [Optional] The config settings for software inside the cluster.+ccSoftwareConfig :: Lens' ClusterConfig (Maybe SoftwareConfig)+ccSoftwareConfig+  = lens _ccSoftwareConfig+      (\ s a -> s{_ccSoftwareConfig = a})++-- | [Optional] The Google Compute Engine config settings for additional+-- worker instances in a cluster.+ccSecondaryWorkerConfig :: Lens' ClusterConfig (Maybe InstanceGroupConfig)+ccSecondaryWorkerConfig+  = lens _ccSecondaryWorkerConfig+      (\ s a -> s{_ccSecondaryWorkerConfig = a})++instance FromJSON ClusterConfig where+        parseJSON+          = withObject "ClusterConfig"+              (\ o ->+                 ClusterConfig' <$>+                   (o .:? "workerConfig") <*>+                     (o .:? "initializationActions" .!= mempty)+                     <*> (o .:? "masterConfig")+                     <*> (o .:? "gceClusterConfig")+                     <*> (o .:? "configBucket")+                     <*> (o .:? "softwareConfig")+                     <*> (o .:? "secondaryWorkerConfig"))++instance ToJSON ClusterConfig where+        toJSON ClusterConfig'{..}+          = object+              (catMaybes+                 [("workerConfig" .=) <$> _ccWorkerConfig,+                  ("initializationActions" .=) <$>+                    _ccInitializationActions,+                  ("masterConfig" .=) <$> _ccMasterConfig,+                  ("gceClusterConfig" .=) <$> _ccGceClusterConfig,+                  ("configBucket" .=) <$> _ccConfigBucket,+                  ("softwareConfig" .=) <$> _ccSoftwareConfig,+                  ("secondaryWorkerConfig" .=) <$>+                    _ccSecondaryWorkerConfig])++-- | [Optional] A mapping of property names to values, used to configure+-- Hadoop. Properties that conflict with values set by the Cloud Dataproc+-- API may be overwritten. Can include properties set in+-- \/etc\/hadoop\/conf\/*-site and classes in user code.+--+-- /See:/ 'hadoopJobProperties' smart constructor.+newtype HadoopJobProperties = HadoopJobProperties'+    { _hjpAddtional :: HashMap Text Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'HadoopJobProperties' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'hjpAddtional'+hadoopJobProperties+    :: HashMap Text Text -- ^ 'hjpAddtional'+    -> HadoopJobProperties+hadoopJobProperties pHjpAddtional_ =+    HadoopJobProperties'+    { _hjpAddtional = _Coerce # pHjpAddtional_+    }++hjpAddtional :: Lens' HadoopJobProperties (HashMap Text Text)+hjpAddtional+  = lens _hjpAddtional (\ s a -> s{_hjpAddtional = a})+      . _Coerce++instance FromJSON HadoopJobProperties where+        parseJSON+          = withObject "HadoopJobProperties"+              (\ o -> HadoopJobProperties' <$> (parseJSONObject o))++instance ToJSON HadoopJobProperties where+        toJSON = toJSON . _hjpAddtional++-- | The status of the operation.+--+-- /See:/ 'clusterOperationStatus' smart constructor.+data ClusterOperationStatus = ClusterOperationStatus'+    { _cosState          :: !(Maybe Text)+    , _cosInnerState     :: !(Maybe Text)+    , _cosStateStartTime :: !(Maybe Text)+    , _cosDetails        :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ClusterOperationStatus' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cosState'+--+-- * 'cosInnerState'+--+-- * 'cosStateStartTime'+--+-- * 'cosDetails'+clusterOperationStatus+    :: ClusterOperationStatus+clusterOperationStatus =+    ClusterOperationStatus'+    { _cosState = Nothing+    , _cosInnerState = Nothing+    , _cosStateStartTime = Nothing+    , _cosDetails = Nothing+    }++-- | A message containing the operation state.+cosState :: Lens' ClusterOperationStatus (Maybe Text)+cosState = lens _cosState (\ s a -> s{_cosState = a})++-- | A message containing the detailed operation state.+cosInnerState :: Lens' ClusterOperationStatus (Maybe Text)+cosInnerState+  = lens _cosInnerState+      (\ s a -> s{_cosInnerState = a})++-- | The time this state was entered.+cosStateStartTime :: Lens' ClusterOperationStatus (Maybe Text)+cosStateStartTime+  = lens _cosStateStartTime+      (\ s a -> s{_cosStateStartTime = a})++-- | A message containing any operation metadata details.+cosDetails :: Lens' ClusterOperationStatus (Maybe Text)+cosDetails+  = lens _cosDetails (\ s a -> s{_cosDetails = a})++instance FromJSON ClusterOperationStatus where+        parseJSON+          = withObject "ClusterOperationStatus"+              (\ o ->+                 ClusterOperationStatus' <$>+                   (o .:? "state") <*> (o .:? "innerState") <*>+                     (o .:? "stateStartTime")+                     <*> (o .:? "details"))++instance ToJSON ClusterOperationStatus where+        toJSON ClusterOperationStatus'{..}+          = object+              (catMaybes+                 [("state" .=) <$> _cosState,+                  ("innerState" .=) <$> _cosInnerState,+                  ("stateStartTime" .=) <$> _cosStateStartTime,+                  ("details" .=) <$> _cosDetails])++--+-- /See:/ 'statusDetailsItem' smart constructor.+newtype StatusDetailsItem = StatusDetailsItem'+    { _sdiAddtional :: HashMap Text JSONValue+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'StatusDetailsItem' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sdiAddtional'+statusDetailsItem+    :: HashMap Text JSONValue -- ^ 'sdiAddtional'+    -> StatusDetailsItem+statusDetailsItem pSdiAddtional_ =+    StatusDetailsItem'+    { _sdiAddtional = _Coerce # pSdiAddtional_+    }++-- | Properties of the object. Contains field \'ype with type URL.+sdiAddtional :: Lens' StatusDetailsItem (HashMap Text JSONValue)+sdiAddtional+  = lens _sdiAddtional (\ s a -> s{_sdiAddtional = a})+      . _Coerce++instance FromJSON StatusDetailsItem where+        parseJSON+          = withObject "StatusDetailsItem"+              (\ o -> StatusDetailsItem' <$> (parseJSONObject o))++instance ToJSON StatusDetailsItem where+        toJSON = toJSON . _sdiAddtional++-- | [Optional] A mapping of property names to values, used to configure+-- Spark SQL\'s SparkConf. Properties that conflict with values set by the+-- Cloud Dataproc API may be overwritten.+--+-- /See:/ 'sparkSQLJobProperties' smart constructor.+newtype SparkSQLJobProperties = SparkSQLJobProperties'+    { _ssqljpAddtional :: HashMap Text Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SparkSQLJobProperties' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ssqljpAddtional'+sparkSQLJobProperties+    :: HashMap Text Text -- ^ 'ssqljpAddtional'+    -> SparkSQLJobProperties+sparkSQLJobProperties pSsqljpAddtional_ =+    SparkSQLJobProperties'+    { _ssqljpAddtional = _Coerce # pSsqljpAddtional_+    }++ssqljpAddtional :: Lens' SparkSQLJobProperties (HashMap Text Text)+ssqljpAddtional+  = lens _ssqljpAddtional+      (\ s a -> s{_ssqljpAddtional = a})+      . _Coerce++instance FromJSON SparkSQLJobProperties where+        parseJSON+          = withObject "SparkSQLJobProperties"+              (\ o ->+                 SparkSQLJobProperties' <$> (parseJSONObject o))++instance ToJSON SparkSQLJobProperties where+        toJSON = toJSON . _ssqljpAddtional++-- | Specifies an executable to run on a fully configured node and a timeout+-- period for executable completion.+--+-- /See:/ 'nodeInitializationAction' smart constructor.+data NodeInitializationAction = NodeInitializationAction'+    { _niaExecutionTimeout :: !(Maybe Text)+    , _niaExecutableFile   :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'NodeInitializationAction' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'niaExecutionTimeout'+--+-- * 'niaExecutableFile'+nodeInitializationAction+    :: NodeInitializationAction+nodeInitializationAction =+    NodeInitializationAction'+    { _niaExecutionTimeout = Nothing+    , _niaExecutableFile = Nothing+    }++-- | [Optional] Amount of time executable has to complete. Default is 10+-- minutes. Cluster creation fails with an explanatory error message (the+-- name of the executable that caused the error and the exceeded timeout+-- period) if the executable is not completed at end of the timeout period.+niaExecutionTimeout :: Lens' NodeInitializationAction (Maybe Text)+niaExecutionTimeout+  = lens _niaExecutionTimeout+      (\ s a -> s{_niaExecutionTimeout = a})++-- | [Required] Google Cloud Storage URI of executable file.+niaExecutableFile :: Lens' NodeInitializationAction (Maybe Text)+niaExecutableFile+  = lens _niaExecutableFile+      (\ s a -> s{_niaExecutableFile = a})++instance FromJSON NodeInitializationAction where+        parseJSON+          = withObject "NodeInitializationAction"+              (\ o ->+                 NodeInitializationAction' <$>+                   (o .:? "executionTimeout") <*>+                     (o .:? "executableFile"))++instance ToJSON NodeInitializationAction where+        toJSON NodeInitializationAction'{..}+          = object+              (catMaybes+                 [("executionTimeout" .=) <$> _niaExecutionTimeout,+                  ("executableFile" .=) <$> _niaExecutableFile])++-- | Cloud Dataproc job config.+--+-- /See:/ 'jobPlacement' smart constructor.+data JobPlacement = JobPlacement'+    { _jpClusterUuid :: !(Maybe Text)+    , _jpClusterName :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'JobPlacement' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'jpClusterUuid'+--+-- * 'jpClusterName'+jobPlacement+    :: JobPlacement+jobPlacement =+    JobPlacement'+    { _jpClusterUuid = Nothing+    , _jpClusterName = Nothing+    }++-- | [Output-only] A cluster UUID generated by the Cloud Dataproc service+-- when the job is submitted.+jpClusterUuid :: Lens' JobPlacement (Maybe Text)+jpClusterUuid+  = lens _jpClusterUuid+      (\ s a -> s{_jpClusterUuid = a})++-- | [Required] The name of the cluster where the job will be submitted.+jpClusterName :: Lens' JobPlacement (Maybe Text)+jpClusterName+  = lens _jpClusterName+      (\ s a -> s{_jpClusterName = a})++instance FromJSON JobPlacement where+        parseJSON+          = withObject "JobPlacement"+              (\ o ->+                 JobPlacement' <$>+                   (o .:? "clusterUuid") <*> (o .:? "clusterName"))++instance ToJSON JobPlacement where+        toJSON JobPlacement'{..}+          = object+              (catMaybes+                 [("clusterUuid" .=) <$> _jpClusterUuid,+                  ("clusterName" .=) <$> _jpClusterName])++-- | Common config settings for resources of Google Compute Engine cluster+-- instances, applicable to all instances in the cluster.+--+-- /See:/ 'gceClusterConfig' smart constructor.+data GceClusterConfig = GceClusterConfig'+    { _gccSubnetworkURI        :: !(Maybe Text)+    , _gccNetworkURI           :: !(Maybe Text)+    , _gccZoneURI              :: !(Maybe Text)+    , _gccMetadata             :: !(Maybe GceClusterConfigMetadata)+    , _gccServiceAccountScopes :: !(Maybe [Text])+    , _gccTags                 :: !(Maybe [Text])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'GceClusterConfig' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gccSubnetworkURI'+--+-- * 'gccNetworkURI'+--+-- * 'gccZoneURI'+--+-- * 'gccMetadata'+--+-- * 'gccServiceAccountScopes'+--+-- * 'gccTags'+gceClusterConfig+    :: GceClusterConfig+gceClusterConfig =+    GceClusterConfig'+    { _gccSubnetworkURI = Nothing+    , _gccNetworkURI = Nothing+    , _gccZoneURI = Nothing+    , _gccMetadata = Nothing+    , _gccServiceAccountScopes = Nothing+    , _gccTags = Nothing+    }++-- | The Google Compute Engine subnetwork to be used for machine+-- communications. Cannot be specified with network_uri. Example:+-- \`https:\/\/www.googleapis.com\/compute\/v1\/projects\/[project_id]\/regions\/us-east1\/sub0\`.+gccSubnetworkURI :: Lens' GceClusterConfig (Maybe Text)+gccSubnetworkURI+  = lens _gccSubnetworkURI+      (\ s a -> s{_gccSubnetworkURI = a})++-- | The Google Compute Engine network to be used for machine communications.+-- Cannot be specified with subnetwork_uri. If neither network_uri nor+-- subnetwork_uri is specified, the \"default\" network of the project is+-- used, if it exists. Cannot be a \"Custom Subnet Network\" (see+-- https:\/\/cloud.google.com\/compute\/docs\/subnetworks for more+-- information). Example:+-- \`https:\/\/www.googleapis.com\/compute\/v1\/projects\/[project_id]\/regions\/global\/default\`.+gccNetworkURI :: Lens' GceClusterConfig (Maybe Text)+gccNetworkURI+  = lens _gccNetworkURI+      (\ s a -> s{_gccNetworkURI = a})++-- | [Required] The zone where the Google Compute Engine cluster will be+-- located. Example:+-- \`https:\/\/www.googleapis.com\/compute\/v1\/projects\/[project_id]\/zones\/[zone]\`.+gccZoneURI :: Lens' GceClusterConfig (Maybe Text)+gccZoneURI+  = lens _gccZoneURI (\ s a -> s{_gccZoneURI = a})++-- | The Google Compute Engine metadata entries to add to all instances.+gccMetadata :: Lens' GceClusterConfig (Maybe GceClusterConfigMetadata)+gccMetadata+  = lens _gccMetadata (\ s a -> s{_gccMetadata = a})++-- | The URIs of service account scopes to be included in Google Compute+-- Engine instances. The following base set of scopes is always included: *+-- https:\/\/www.googleapis.com\/auth\/cloud.useraccounts.readonly *+-- https:\/\/www.googleapis.com\/auth\/devstorage.read_write *+-- https:\/\/www.googleapis.com\/auth\/logging.write If no scopes are+-- specfied, the following defaults are also provided: *+-- https:\/\/www.googleapis.com\/auth\/bigquery *+-- https:\/\/www.googleapis.com\/auth\/bigtable.admin.table *+-- https:\/\/www.googleapis.com\/auth\/bigtable.data *+-- https:\/\/www.googleapis.com\/auth\/devstorage.full_control+gccServiceAccountScopes :: Lens' GceClusterConfig [Text]+gccServiceAccountScopes+  = lens _gccServiceAccountScopes+      (\ s a -> s{_gccServiceAccountScopes = a})+      . _Default+      . _Coerce++-- | The Google Compute Engine tags to add to all instances.+gccTags :: Lens' GceClusterConfig [Text]+gccTags+  = lens _gccTags (\ s a -> s{_gccTags = a}) . _Default+      . _Coerce++instance FromJSON GceClusterConfig where+        parseJSON+          = withObject "GceClusterConfig"+              (\ o ->+                 GceClusterConfig' <$>+                   (o .:? "subnetworkUri") <*> (o .:? "networkUri") <*>+                     (o .:? "zoneUri")+                     <*> (o .:? "metadata")+                     <*> (o .:? "serviceAccountScopes" .!= mempty)+                     <*> (o .:? "tags" .!= mempty))++instance ToJSON GceClusterConfig where+        toJSON GceClusterConfig'{..}+          = object+              (catMaybes+                 [("subnetworkUri" .=) <$> _gccSubnetworkURI,+                  ("networkUri" .=) <$> _gccNetworkURI,+                  ("zoneUri" .=) <$> _gccZoneURI,+                  ("metadata" .=) <$> _gccMetadata,+                  ("serviceAccountScopes" .=) <$>+                    _gccServiceAccountScopes,+                  ("tags" .=) <$> _gccTags])++-- | The status of the operation.+--+-- /See:/ 'operationStatus' smart constructor.+data OperationStatus = OperationStatus'+    { _osState          :: !(Maybe Text)+    , _osInnerState     :: !(Maybe Text)+    , _osStateStartTime :: !(Maybe Text)+    , _osDetails        :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'OperationStatus' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'osState'+--+-- * 'osInnerState'+--+-- * 'osStateStartTime'+--+-- * 'osDetails'+operationStatus+    :: OperationStatus+operationStatus =+    OperationStatus'+    { _osState = Nothing+    , _osInnerState = Nothing+    , _osStateStartTime = Nothing+    , _osDetails = Nothing+    }++-- | A message containing the operation state.+osState :: Lens' OperationStatus (Maybe Text)+osState = lens _osState (\ s a -> s{_osState = a})++-- | A message containing the detailed operation state.+osInnerState :: Lens' OperationStatus (Maybe Text)+osInnerState+  = lens _osInnerState (\ s a -> s{_osInnerState = a})++-- | The time this state was entered.+osStateStartTime :: Lens' OperationStatus (Maybe Text)+osStateStartTime+  = lens _osStateStartTime+      (\ s a -> s{_osStateStartTime = a})++-- | A message containing any operation metadata details.+osDetails :: Lens' OperationStatus (Maybe Text)+osDetails+  = lens _osDetails (\ s a -> s{_osDetails = a})++instance FromJSON OperationStatus where+        parseJSON+          = withObject "OperationStatus"+              (\ o ->+                 OperationStatus' <$>+                   (o .:? "state") <*> (o .:? "innerState") <*>+                     (o .:? "stateStartTime")+                     <*> (o .:? "details"))++instance ToJSON OperationStatus where+        toJSON OperationStatus'{..}+          = object+              (catMaybes+                 [("state" .=) <$> _osState,+                  ("innerState" .=) <$> _osInnerState,+                  ("stateStartTime" .=) <$> _osStateStartTime,+                  ("details" .=) <$> _osDetails])++-- | The Google Compute Engine metadata entries to add to all instances.+--+-- /See:/ 'gceClusterConfigMetadata' smart constructor.+newtype GceClusterConfigMetadata = GceClusterConfigMetadata'+    { _gccmAddtional :: HashMap Text Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'GceClusterConfigMetadata' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gccmAddtional'+gceClusterConfigMetadata+    :: HashMap Text Text -- ^ 'gccmAddtional'+    -> GceClusterConfigMetadata+gceClusterConfigMetadata pGccmAddtional_ =+    GceClusterConfigMetadata'+    { _gccmAddtional = _Coerce # pGccmAddtional_+    }++gccmAddtional :: Lens' GceClusterConfigMetadata (HashMap Text Text)+gccmAddtional+  = lens _gccmAddtional+      (\ s a -> s{_gccmAddtional = a})+      . _Coerce++instance FromJSON GceClusterConfigMetadata where+        parseJSON+          = withObject "GceClusterConfigMetadata"+              (\ o ->+                 GceClusterConfigMetadata' <$> (parseJSONObject o))++instance ToJSON GceClusterConfigMetadata where+        toJSON = toJSON . _gccmAddtional++-- | [Optional] A mapping of property names and values, used to configure+-- Hive. Properties that conflict with values set by the Cloud Dataproc API+-- may be overwritten. Can include properties set in+-- \/etc\/hadoop\/conf\/*-site.xml, \/etc\/hive\/conf\/hive-site.xml, and+-- classes in user code.+--+-- /See:/ 'hiveJobProperties' smart constructor.+newtype HiveJobProperties = HiveJobProperties'+    { _hAddtional :: HashMap Text Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'HiveJobProperties' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'hAddtional'+hiveJobProperties+    :: HashMap Text Text -- ^ 'hAddtional'+    -> HiveJobProperties+hiveJobProperties pHAddtional_ =+    HiveJobProperties'+    { _hAddtional = _Coerce # pHAddtional_+    }++hAddtional :: Lens' HiveJobProperties (HashMap Text Text)+hAddtional+  = lens _hAddtional (\ s a -> s{_hAddtional = a}) .+      _Coerce++instance FromJSON HiveJobProperties where+        parseJSON+          = withObject "HiveJobProperties"+              (\ o -> HiveJobProperties' <$> (parseJSONObject o))++instance ToJSON HiveJobProperties where+        toJSON = toJSON . _hAddtional++-- | The location where output from diagnostic command can be found.+--+-- /See:/ 'diagnoseClusterOutputLocation' smart constructor.+newtype DiagnoseClusterOutputLocation = DiagnoseClusterOutputLocation'+    { _dcolOutputURI :: Maybe Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DiagnoseClusterOutputLocation' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dcolOutputURI'+diagnoseClusterOutputLocation+    :: DiagnoseClusterOutputLocation+diagnoseClusterOutputLocation =+    DiagnoseClusterOutputLocation'+    { _dcolOutputURI = Nothing+    }++-- | [Output-only] The Google Cloud Storage URI of the diagnostic output.+-- This will be a plain text file with summary of collected diagnostics.+dcolOutputURI :: Lens' DiagnoseClusterOutputLocation (Maybe Text)+dcolOutputURI+  = lens _dcolOutputURI+      (\ s a -> s{_dcolOutputURI = a})++instance FromJSON DiagnoseClusterOutputLocation where+        parseJSON+          = withObject "DiagnoseClusterOutputLocation"+              (\ o ->+                 DiagnoseClusterOutputLocation' <$>+                   (o .:? "outputUri"))++instance ToJSON DiagnoseClusterOutputLocation where+        toJSON DiagnoseClusterOutputLocation'{..}+          = object+              (catMaybes [("outputUri" .=) <$> _dcolOutputURI])++-- | A Cloud Dataproc job resource.+--+-- /See:/ 'job' smart constructor.+data Job = Job'+    { _jSparkJob                :: !(Maybe SparkJob)+    , _jStatus                  :: !(Maybe JobStatus)+    , _jDriverControlFilesURI   :: !(Maybe Text)+    , _jHiveJob                 :: !(Maybe HiveJob)+    , _jReference               :: !(Maybe JobReference)+    , _jSparkSQLJob             :: !(Maybe SparkSQLJob)+    , _jHadoopJob               :: !(Maybe HadoopJob)+    , _jPysparkJob              :: !(Maybe PySparkJob)+    , _jDriverOutputResourceURI :: !(Maybe Text)+    , _jStatusHistory           :: !(Maybe [JobStatus])+    , _jPlacement               :: !(Maybe JobPlacement)+    , _jPigJob                  :: !(Maybe PigJob)+    } 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:+--+-- * 'jSparkJob'+--+-- * 'jStatus'+--+-- * 'jDriverControlFilesURI'+--+-- * 'jHiveJob'+--+-- * 'jReference'+--+-- * 'jSparkSQLJob'+--+-- * 'jHadoopJob'+--+-- * 'jPysparkJob'+--+-- * 'jDriverOutputResourceURI'+--+-- * 'jStatusHistory'+--+-- * 'jPlacement'+--+-- * 'jPigJob'+job+    :: Job+job =+    Job'+    { _jSparkJob = Nothing+    , _jStatus = Nothing+    , _jDriverControlFilesURI = Nothing+    , _jHiveJob = Nothing+    , _jReference = Nothing+    , _jSparkSQLJob = Nothing+    , _jHadoopJob = Nothing+    , _jPysparkJob = Nothing+    , _jDriverOutputResourceURI = Nothing+    , _jStatusHistory = Nothing+    , _jPlacement = Nothing+    , _jPigJob = Nothing+    }++-- | Job is a Spark job.+jSparkJob :: Lens' Job (Maybe SparkJob)+jSparkJob+  = lens _jSparkJob (\ s a -> s{_jSparkJob = a})++-- | [Output-only] The job status. Additional application-specific status+-- information may be contained in the type_job and yarn_applications+-- fields.+jStatus :: Lens' Job (Maybe JobStatus)+jStatus = lens _jStatus (\ s a -> s{_jStatus = a})++-- | [Output-only] If present, the location of miscellaneous control files+-- which may be used as part of job setup and handling. If not present,+-- control files may be placed in the same location as+-- \`driver_output_uri\`.+jDriverControlFilesURI :: Lens' Job (Maybe Text)+jDriverControlFilesURI+  = lens _jDriverControlFilesURI+      (\ s a -> s{_jDriverControlFilesURI = a})++-- | Job is a Hive job.+jHiveJob :: Lens' Job (Maybe HiveJob)+jHiveJob = lens _jHiveJob (\ s a -> s{_jHiveJob = a})++-- | [Optional] The fully qualified reference to the job, which can be used+-- to obtain the equivalent REST path of the job resource. If this property+-- is not specified when a job is created, the server generates a job_id.+jReference :: Lens' Job (Maybe JobReference)+jReference+  = lens _jReference (\ s a -> s{_jReference = a})++-- | Job is a SparkSql job.+jSparkSQLJob :: Lens' Job (Maybe SparkSQLJob)+jSparkSQLJob+  = lens _jSparkSQLJob (\ s a -> s{_jSparkSQLJob = a})++-- | Job is a Hadoop job.+jHadoopJob :: Lens' Job (Maybe HadoopJob)+jHadoopJob+  = lens _jHadoopJob (\ s a -> s{_jHadoopJob = a})++-- | Job is a Pyspark job.+jPysparkJob :: Lens' Job (Maybe PySparkJob)+jPysparkJob+  = lens _jPysparkJob (\ s a -> s{_jPysparkJob = a})++-- | [Output-only] A URI pointing to the location of the stdout of the job\'s+-- driver program.+jDriverOutputResourceURI :: Lens' Job (Maybe Text)+jDriverOutputResourceURI+  = lens _jDriverOutputResourceURI+      (\ s a -> s{_jDriverOutputResourceURI = a})++-- | [Output-only] The previous job status.+jStatusHistory :: Lens' Job [JobStatus]+jStatusHistory+  = lens _jStatusHistory+      (\ s a -> s{_jStatusHistory = a})+      . _Default+      . _Coerce++-- | [Required] Job information, including how, when, and where to run the+-- job.+jPlacement :: Lens' Job (Maybe JobPlacement)+jPlacement+  = lens _jPlacement (\ s a -> s{_jPlacement = a})++-- | Job is a Pig job.+jPigJob :: Lens' Job (Maybe PigJob)+jPigJob = lens _jPigJob (\ s a -> s{_jPigJob = a})++instance FromJSON Job where+        parseJSON+          = withObject "Job"+              (\ o ->+                 Job' <$>+                   (o .:? "sparkJob") <*> (o .:? "status") <*>+                     (o .:? "driverControlFilesUri")+                     <*> (o .:? "hiveJob")+                     <*> (o .:? "reference")+                     <*> (o .:? "sparkSqlJob")+                     <*> (o .:? "hadoopJob")+                     <*> (o .:? "pysparkJob")+                     <*> (o .:? "driverOutputResourceUri")+                     <*> (o .:? "statusHistory" .!= mempty)+                     <*> (o .:? "placement")+                     <*> (o .:? "pigJob"))++instance ToJSON Job where+        toJSON Job'{..}+          = object+              (catMaybes+                 [("sparkJob" .=) <$> _jSparkJob,+                  ("status" .=) <$> _jStatus,+                  ("driverControlFilesUri" .=) <$>+                    _jDriverControlFilesURI,+                  ("hiveJob" .=) <$> _jHiveJob,+                  ("reference" .=) <$> _jReference,+                  ("sparkSqlJob" .=) <$> _jSparkSQLJob,+                  ("hadoopJob" .=) <$> _jHadoopJob,+                  ("pysparkJob" .=) <$> _jPysparkJob,+                  ("driverOutputResourceUri" .=) <$>+                    _jDriverOutputResourceURI,+                  ("statusHistory" .=) <$> _jStatusHistory,+                  ("placement" .=) <$> _jPlacement,+                  ("pigJob" .=) <$> _jPigJob])++-- | A request to collect cluster diagnostic information.+--+-- /See:/ 'diagnoseClusterRequest' smart constructor.+data DiagnoseClusterRequest =+    DiagnoseClusterRequest'+    deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DiagnoseClusterRequest' with the minimum fields required to make a request.+--+diagnoseClusterRequest+    :: DiagnoseClusterRequest+diagnoseClusterRequest = DiagnoseClusterRequest'++instance FromJSON DiagnoseClusterRequest where+        parseJSON+          = withObject "DiagnoseClusterRequest"+              (\ o -> pure DiagnoseClusterRequest')++instance ToJSON DiagnoseClusterRequest where+        toJSON = const emptyObject++-- | A Cloud Dataproc job for running Hadoop MapReduce jobs on YARN.+--+-- /See:/ 'hadoopJob' smart constructor.+data HadoopJob = HadoopJob'+    { _hArgs           :: !(Maybe [Text])+    , _hMainJarFileURI :: !(Maybe Text)+    , _hJarFileURIs    :: !(Maybe [Text])+    , _hFileURIs       :: !(Maybe [Text])+    , _hArchiveURIs    :: !(Maybe [Text])+    , _hMainClass      :: !(Maybe Text)+    , _hLoggingConfig  :: !(Maybe LoggingConfig)+    , _hProperties     :: !(Maybe HadoopJobProperties)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'HadoopJob' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'hArgs'+--+-- * 'hMainJarFileURI'+--+-- * 'hJarFileURIs'+--+-- * 'hFileURIs'+--+-- * 'hArchiveURIs'+--+-- * 'hMainClass'+--+-- * 'hLoggingConfig'+--+-- * 'hProperties'+hadoopJob+    :: HadoopJob+hadoopJob =+    HadoopJob'+    { _hArgs = Nothing+    , _hMainJarFileURI = Nothing+    , _hJarFileURIs = Nothing+    , _hFileURIs = Nothing+    , _hArchiveURIs = Nothing+    , _hMainClass = Nothing+    , _hLoggingConfig = Nothing+    , _hProperties = Nothing+    }++-- | [Optional] The arguments to pass to the driver. Do not include+-- arguments, such as \`-libjars\` or \`-Dfoo=bar\`, that can be set as job+-- properties, since a collision may occur that causes an incorrect job+-- submission.+hArgs :: Lens' HadoopJob [Text]+hArgs+  = lens _hArgs (\ s a -> s{_hArgs = a}) . _Default .+      _Coerce++-- | The HCFS URI of the jar file containing the main class. Examples:+-- \'gs:\/\/foo-bucket\/analytics-binaries\/extract-useful-metrics-mr.jar\'+-- \'hdfs:\/tmp\/test-samples\/custom-wordcount.jar\'+-- \'file:\/\/\/home\/usr\/lib\/hadoop-mapreduce\/hadoop-mapreduce-examples.jar\'+hMainJarFileURI :: Lens' HadoopJob (Maybe Text)+hMainJarFileURI+  = lens _hMainJarFileURI+      (\ s a -> s{_hMainJarFileURI = a})++-- | [Optional] Jar file URIs to add to the CLASSPATHs of the Hadoop driver+-- and tasks.+hJarFileURIs :: Lens' HadoopJob [Text]+hJarFileURIs+  = lens _hJarFileURIs (\ s a -> s{_hJarFileURIs = a})+      . _Default+      . _Coerce++-- | [Optional] HCFS (Hadoop Compatible Filesystem) URIs of files to be+-- copied to the working directory of Hadoop drivers and distributed tasks.+-- Useful for naively parallel tasks.+hFileURIs :: Lens' HadoopJob [Text]+hFileURIs+  = lens _hFileURIs (\ s a -> s{_hFileURIs = a}) .+      _Default+      . _Coerce++-- | [Optional] HCFS URIs of archives to be extracted in the working+-- directory of Hadoop drivers and tasks. Supported file types: .jar, .tar,+-- .tar.gz, .tgz, or .zip.+hArchiveURIs :: Lens' HadoopJob [Text]+hArchiveURIs+  = lens _hArchiveURIs (\ s a -> s{_hArchiveURIs = a})+      . _Default+      . _Coerce++-- | The name of the driver\'s main class. The jar file containing the class+-- must be in the default CLASSPATH or specified in \`jar_file_uris\`.+hMainClass :: Lens' HadoopJob (Maybe Text)+hMainClass+  = lens _hMainClass (\ s a -> s{_hMainClass = a})++-- | [Optional] The runtime log config for job execution.+hLoggingConfig :: Lens' HadoopJob (Maybe LoggingConfig)+hLoggingConfig+  = lens _hLoggingConfig+      (\ s a -> s{_hLoggingConfig = a})++-- | [Optional] A mapping of property names to values, used to configure+-- Hadoop. Properties that conflict with values set by the Cloud Dataproc+-- API may be overwritten. Can include properties set in+-- \/etc\/hadoop\/conf\/*-site and classes in user code.+hProperties :: Lens' HadoopJob (Maybe HadoopJobProperties)+hProperties+  = lens _hProperties (\ s a -> s{_hProperties = a})++instance FromJSON HadoopJob where+        parseJSON+          = withObject "HadoopJob"+              (\ o ->+                 HadoopJob' <$>+                   (o .:? "args" .!= mempty) <*>+                     (o .:? "mainJarFileUri")+                     <*> (o .:? "jarFileUris" .!= mempty)+                     <*> (o .:? "fileUris" .!= mempty)+                     <*> (o .:? "archiveUris" .!= mempty)+                     <*> (o .:? "mainClass")+                     <*> (o .:? "loggingConfig")+                     <*> (o .:? "properties"))++instance ToJSON HadoopJob where+        toJSON HadoopJob'{..}+          = object+              (catMaybes+                 [("args" .=) <$> _hArgs,+                  ("mainJarFileUri" .=) <$> _hMainJarFileURI,+                  ("jarFileUris" .=) <$> _hJarFileURIs,+                  ("fileUris" .=) <$> _hFileURIs,+                  ("archiveUris" .=) <$> _hArchiveURIs,+                  ("mainClass" .=) <$> _hMainClass,+                  ("loggingConfig" .=) <$> _hLoggingConfig,+                  ("properties" .=) <$> _hProperties])++-- | Metadata describing the operation.+--+-- /See:/ 'clusterOperationMetadata' smart constructor.+data ClusterOperationMetadata = ClusterOperationMetadata'+    { _comStatus        :: !(Maybe ClusterOperationStatus)+    , _comClusterUuid   :: !(Maybe Text)+    , _comClusterName   :: !(Maybe Text)+    , _comOperationType :: !(Maybe Text)+    , _comStatusHistory :: !(Maybe [ClusterOperationStatus])+    , _comDescription   :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ClusterOperationMetadata' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'comStatus'+--+-- * 'comClusterUuid'+--+-- * 'comClusterName'+--+-- * 'comOperationType'+--+-- * 'comStatusHistory'+--+-- * 'comDescription'+clusterOperationMetadata+    :: ClusterOperationMetadata+clusterOperationMetadata =+    ClusterOperationMetadata'+    { _comStatus = Nothing+    , _comClusterUuid = Nothing+    , _comClusterName = Nothing+    , _comOperationType = Nothing+    , _comStatusHistory = Nothing+    , _comDescription = Nothing+    }++-- | [Output-only] Current operation status.+comStatus :: Lens' ClusterOperationMetadata (Maybe ClusterOperationStatus)+comStatus+  = lens _comStatus (\ s a -> s{_comStatus = a})++-- | Cluster UUId for the operation.+comClusterUuid :: Lens' ClusterOperationMetadata (Maybe Text)+comClusterUuid+  = lens _comClusterUuid+      (\ s a -> s{_comClusterUuid = a})++-- | Name of the cluster for the operation.+comClusterName :: Lens' ClusterOperationMetadata (Maybe Text)+comClusterName+  = lens _comClusterName+      (\ s a -> s{_comClusterName = a})++-- | [Output-only] The operation type.+comOperationType :: Lens' ClusterOperationMetadata (Maybe Text)+comOperationType+  = lens _comOperationType+      (\ s a -> s{_comOperationType = a})++-- | [Output-only] The previous operation status.+comStatusHistory :: Lens' ClusterOperationMetadata [ClusterOperationStatus]+comStatusHistory+  = lens _comStatusHistory+      (\ s a -> s{_comStatusHistory = a})+      . _Default+      . _Coerce++-- | [Output-only] Short description of operation.+comDescription :: Lens' ClusterOperationMetadata (Maybe Text)+comDescription+  = lens _comDescription+      (\ s a -> s{_comDescription = a})++instance FromJSON ClusterOperationMetadata where+        parseJSON+          = withObject "ClusterOperationMetadata"+              (\ o ->+                 ClusterOperationMetadata' <$>+                   (o .:? "status") <*> (o .:? "clusterUuid") <*>+                     (o .:? "clusterName")+                     <*> (o .:? "operationType")+                     <*> (o .:? "statusHistory" .!= mempty)+                     <*> (o .:? "description"))++instance ToJSON ClusterOperationMetadata where+        toJSON ClusterOperationMetadata'{..}+          = object+              (catMaybes+                 [("status" .=) <$> _comStatus,+                  ("clusterUuid" .=) <$> _comClusterUuid,+                  ("clusterName" .=) <$> _comClusterName,+                  ("operationType" .=) <$> _comOperationType,+                  ("statusHistory" .=) <$> _comStatusHistory,+                  ("description" .=) <$> _comDescription])++-- | A Cloud Dataproc job for running Spark SQL queries.+--+-- /See:/ 'sparkSQLJob' smart constructor.+data SparkSQLJob = SparkSQLJob'+    { _ssqljQueryFileURI    :: !(Maybe Text)+    , _ssqljJarFileURIs     :: !(Maybe [Text])+    , _ssqljScriptVariables :: !(Maybe SparkSQLJobScriptVariables)+    , _ssqljQueryList       :: !(Maybe QueryList)+    , _ssqljLoggingConfig   :: !(Maybe LoggingConfig)+    , _ssqljProperties      :: !(Maybe SparkSQLJobProperties)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SparkSQLJob' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ssqljQueryFileURI'+--+-- * 'ssqljJarFileURIs'+--+-- * 'ssqljScriptVariables'+--+-- * 'ssqljQueryList'+--+-- * 'ssqljLoggingConfig'+--+-- * 'ssqljProperties'+sparkSQLJob+    :: SparkSQLJob+sparkSQLJob =+    SparkSQLJob'+    { _ssqljQueryFileURI = Nothing+    , _ssqljJarFileURIs = Nothing+    , _ssqljScriptVariables = Nothing+    , _ssqljQueryList = Nothing+    , _ssqljLoggingConfig = Nothing+    , _ssqljProperties = Nothing+    }++-- | The HCFS URI of the script that contains SQL queries.+ssqljQueryFileURI :: Lens' SparkSQLJob (Maybe Text)+ssqljQueryFileURI+  = lens _ssqljQueryFileURI+      (\ s a -> s{_ssqljQueryFileURI = a})++-- | [Optional] HCFS URIs of jar files to be added to the Spark CLASSPATH.+ssqljJarFileURIs :: Lens' SparkSQLJob [Text]+ssqljJarFileURIs+  = lens _ssqljJarFileURIs+      (\ s a -> s{_ssqljJarFileURIs = a})+      . _Default+      . _Coerce++-- | [Optional] Mapping of query variable names to values (equivalent to the+-- Spark SQL command: SET \`name=\"value\";\`).+ssqljScriptVariables :: Lens' SparkSQLJob (Maybe SparkSQLJobScriptVariables)+ssqljScriptVariables+  = lens _ssqljScriptVariables+      (\ s a -> s{_ssqljScriptVariables = a})++-- | A list of queries.+ssqljQueryList :: Lens' SparkSQLJob (Maybe QueryList)+ssqljQueryList+  = lens _ssqljQueryList+      (\ s a -> s{_ssqljQueryList = a})++-- | [Optional] The runtime log config for job execution.+ssqljLoggingConfig :: Lens' SparkSQLJob (Maybe LoggingConfig)+ssqljLoggingConfig+  = lens _ssqljLoggingConfig+      (\ s a -> s{_ssqljLoggingConfig = a})++-- | [Optional] A mapping of property names to values, used to configure+-- Spark SQL\'s SparkConf. Properties that conflict with values set by the+-- Cloud Dataproc API may be overwritten.+ssqljProperties :: Lens' SparkSQLJob (Maybe SparkSQLJobProperties)+ssqljProperties+  = lens _ssqljProperties+      (\ s a -> s{_ssqljProperties = a})++instance FromJSON SparkSQLJob where+        parseJSON+          = withObject "SparkSQLJob"+              (\ o ->+                 SparkSQLJob' <$>+                   (o .:? "queryFileUri") <*>+                     (o .:? "jarFileUris" .!= mempty)+                     <*> (o .:? "scriptVariables")+                     <*> (o .:? "queryList")+                     <*> (o .:? "loggingConfig")+                     <*> (o .:? "properties"))++instance ToJSON SparkSQLJob where+        toJSON SparkSQLJob'{..}+          = object+              (catMaybes+                 [("queryFileUri" .=) <$> _ssqljQueryFileURI,+                  ("jarFileUris" .=) <$> _ssqljJarFileURIs,+                  ("scriptVariables" .=) <$> _ssqljScriptVariables,+                  ("queryList" .=) <$> _ssqljQueryList,+                  ("loggingConfig" .=) <$> _ssqljLoggingConfig,+                  ("properties" .=) <$> _ssqljProperties])++-- | Specifies the selection and config of software inside the cluster.+--+-- /See:/ 'softwareConfig' smart constructor.+data SoftwareConfig = SoftwareConfig'+    { _scImageVersion :: !(Maybe Text)+    , _scProperties   :: !(Maybe SoftwareConfigProperties)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SoftwareConfig' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'scImageVersion'+--+-- * 'scProperties'+softwareConfig+    :: SoftwareConfig+softwareConfig =+    SoftwareConfig'+    { _scImageVersion = Nothing+    , _scProperties = Nothing+    }++-- | [Optional] The version of software inside the cluster. It must match the+-- regular expression \`[0-9]+\\.[0-9]+\`. If unspecified, it defaults to+-- the latest version (see [Cloud Dataproc+-- Versioning](\/dataproc\/versioning)).+scImageVersion :: Lens' SoftwareConfig (Maybe Text)+scImageVersion+  = lens _scImageVersion+      (\ s a -> s{_scImageVersion = a})++-- | [Optional] The properties to set on daemon config files. Property keys+-- are specified in \`prefix:property\` format, such as+-- \`core:fs.defaultFS\`. The following are supported prefixes and their+-- mappings: * core: \`core-site.xml\` * hdfs: \`hdfs-site.xml\` * mapred:+-- \`mapred-site.xml\` * yarn: \`yarn-site.xml\` * hive: \`hive-site.xml\`+-- * pig: \`pig.properties\` * spark: \`spark-defaults.conf\`+scProperties :: Lens' SoftwareConfig (Maybe SoftwareConfigProperties)+scProperties+  = lens _scProperties (\ s a -> s{_scProperties = a})++instance FromJSON SoftwareConfig where+        parseJSON+          = withObject "SoftwareConfig"+              (\ o ->+                 SoftwareConfig' <$>+                   (o .:? "imageVersion") <*> (o .:? "properties"))++instance ToJSON SoftwareConfig where+        toJSON SoftwareConfig'{..}+          = object+              (catMaybes+                 [("imageVersion" .=) <$> _scImageVersion,+                  ("properties" .=) <$> _scProperties])++-- | A list of jobs in a project.+--+-- /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+    }++-- | [Optional] This token is included in the response if there are more+-- results to fetch. To fetch additional results, provide this value as the+-- \`page_token\` in a subsequent ListJobsRequest.+ljrNextPageToken :: Lens' ListJobsResponse (Maybe Text)+ljrNextPageToken+  = lens _ljrNextPageToken+      (\ s a -> s{_ljrNextPageToken = a})++-- | [Output-only] Jobs list.+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])++-- | [Optional] A mapping of property names to values, used to configure+-- Spark. Properties that conflict with values set by the Cloud Dataproc+-- API may be overwritten. Can include properties set in+-- \/etc\/spark\/conf\/spark-defaults.conf and classes in user code.+--+-- /See:/ 'sparkJobProperties' smart constructor.+newtype SparkJobProperties = SparkJobProperties'+    { _sjpAddtional :: HashMap Text Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SparkJobProperties' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sjpAddtional'+sparkJobProperties+    :: HashMap Text Text -- ^ 'sjpAddtional'+    -> SparkJobProperties+sparkJobProperties pSjpAddtional_ =+    SparkJobProperties'+    { _sjpAddtional = _Coerce # pSjpAddtional_+    }++sjpAddtional :: Lens' SparkJobProperties (HashMap Text Text)+sjpAddtional+  = lens _sjpAddtional (\ s a -> s{_sjpAddtional = a})+      . _Coerce++instance FromJSON SparkJobProperties where+        parseJSON+          = withObject "SparkJobProperties"+              (\ o -> SparkJobProperties' <$> (parseJSONObject o))++instance ToJSON SparkJobProperties where+        toJSON = toJSON . _sjpAddtional++-- | A Cloud Dataproc job for running PySpark applications on YARN.+--+-- /See:/ 'pySparkJob' smart constructor.+data PySparkJob = PySparkJob'+    { _psjPythonFileURIs    :: !(Maybe [Text])+    , _psjMainPythonFileURI :: !(Maybe Text)+    , _psjArgs              :: !(Maybe [Text])+    , _psjJarFileURIs       :: !(Maybe [Text])+    , _psjFileURIs          :: !(Maybe [Text])+    , _psjArchiveURIs       :: !(Maybe [Text])+    , _psjLoggingConfig     :: !(Maybe LoggingConfig)+    , _psjProperties        :: !(Maybe PySparkJobProperties)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PySparkJob' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'psjPythonFileURIs'+--+-- * 'psjMainPythonFileURI'+--+-- * 'psjArgs'+--+-- * 'psjJarFileURIs'+--+-- * 'psjFileURIs'+--+-- * 'psjArchiveURIs'+--+-- * 'psjLoggingConfig'+--+-- * 'psjProperties'+pySparkJob+    :: PySparkJob+pySparkJob =+    PySparkJob'+    { _psjPythonFileURIs = Nothing+    , _psjMainPythonFileURI = Nothing+    , _psjArgs = Nothing+    , _psjJarFileURIs = Nothing+    , _psjFileURIs = Nothing+    , _psjArchiveURIs = Nothing+    , _psjLoggingConfig = Nothing+    , _psjProperties = Nothing+    }++-- | [Optional] HCFS file URIs of Python files to pass to the PySpark+-- framework. Supported file types: .py, .egg, and .zip.+psjPythonFileURIs :: Lens' PySparkJob [Text]+psjPythonFileURIs+  = lens _psjPythonFileURIs+      (\ s a -> s{_psjPythonFileURIs = a})+      . _Default+      . _Coerce++-- | [Required] The HCFS URI of the main Python file to use as the driver.+-- Must be a .py file.+psjMainPythonFileURI :: Lens' PySparkJob (Maybe Text)+psjMainPythonFileURI+  = lens _psjMainPythonFileURI+      (\ s a -> s{_psjMainPythonFileURI = a})++-- | [Optional] The arguments to pass to the driver. Do not include+-- arguments, such as \`--conf\`, that can be set as job properties, since+-- a collision may occur that causes an incorrect job submission.+psjArgs :: Lens' PySparkJob [Text]+psjArgs+  = lens _psjArgs (\ s a -> s{_psjArgs = a}) . _Default+      . _Coerce++-- | [Optional] HCFS URIs of jar files to add to the CLASSPATHs of the Python+-- driver and tasks.+psjJarFileURIs :: Lens' PySparkJob [Text]+psjJarFileURIs+  = lens _psjJarFileURIs+      (\ s a -> s{_psjJarFileURIs = a})+      . _Default+      . _Coerce++-- | [Optional] HCFS URIs of files to be copied to the working directory of+-- Python drivers and distributed tasks. Useful for naively parallel tasks.+psjFileURIs :: Lens' PySparkJob [Text]+psjFileURIs+  = lens _psjFileURIs (\ s a -> s{_psjFileURIs = a}) .+      _Default+      . _Coerce++-- | [Optional] HCFS URIs of archives to be extracted in the working+-- directory of .jar, .tar, .tar.gz, .tgz, and .zip.+psjArchiveURIs :: Lens' PySparkJob [Text]+psjArchiveURIs+  = lens _psjArchiveURIs+      (\ s a -> s{_psjArchiveURIs = a})+      . _Default+      . _Coerce++-- | [Optional] The runtime log config for job execution.+psjLoggingConfig :: Lens' PySparkJob (Maybe LoggingConfig)+psjLoggingConfig+  = lens _psjLoggingConfig+      (\ s a -> s{_psjLoggingConfig = a})++-- | [Optional] A mapping of property names to values, used to configure+-- PySpark. Properties that conflict with values set by the Cloud Dataproc+-- API may be overwritten. Can include properties set in+-- \/etc\/spark\/conf\/spark-defaults.conf and classes in user code.+psjProperties :: Lens' PySparkJob (Maybe PySparkJobProperties)+psjProperties+  = lens _psjProperties+      (\ s a -> s{_psjProperties = a})++instance FromJSON PySparkJob where+        parseJSON+          = withObject "PySparkJob"+              (\ o ->+                 PySparkJob' <$>+                   (o .:? "pythonFileUris" .!= mempty) <*>+                     (o .:? "mainPythonFileUri")+                     <*> (o .:? "args" .!= mempty)+                     <*> (o .:? "jarFileUris" .!= mempty)+                     <*> (o .:? "fileUris" .!= mempty)+                     <*> (o .:? "archiveUris" .!= mempty)+                     <*> (o .:? "loggingConfig")+                     <*> (o .:? "properties"))++instance ToJSON PySparkJob where+        toJSON PySparkJob'{..}+          = object+              (catMaybes+                 [("pythonFileUris" .=) <$> _psjPythonFileURIs,+                  ("mainPythonFileUri" .=) <$> _psjMainPythonFileURI,+                  ("args" .=) <$> _psjArgs,+                  ("jarFileUris" .=) <$> _psjJarFileURIs,+                  ("fileUris" .=) <$> _psjFileURIs,+                  ("archiveUris" .=) <$> _psjArchiveURIs,+                  ("loggingConfig" .=) <$> _psjLoggingConfig,+                  ("properties" .=) <$> _psjProperties])++-- | Specifies the resources used to actively manage an instance group.+--+-- /See:/ 'managedGroupConfig' smart constructor.+data ManagedGroupConfig = ManagedGroupConfig'+    { _mgcInstanceTemplateName     :: !(Maybe Text)+    , _mgcInstanceGroupManagerName :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ManagedGroupConfig' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mgcInstanceTemplateName'+--+-- * 'mgcInstanceGroupManagerName'+managedGroupConfig+    :: ManagedGroupConfig+managedGroupConfig =+    ManagedGroupConfig'+    { _mgcInstanceTemplateName = Nothing+    , _mgcInstanceGroupManagerName = Nothing+    }++-- | [Output-only] The name of the Instance Template used for the Managed+-- Instance Group.+mgcInstanceTemplateName :: Lens' ManagedGroupConfig (Maybe Text)+mgcInstanceTemplateName+  = lens _mgcInstanceTemplateName+      (\ s a -> s{_mgcInstanceTemplateName = a})++-- | [Output-only] The name of the Instance Group Manager for this group.+mgcInstanceGroupManagerName :: Lens' ManagedGroupConfig (Maybe Text)+mgcInstanceGroupManagerName+  = lens _mgcInstanceGroupManagerName+      (\ s a -> s{_mgcInstanceGroupManagerName = a})++instance FromJSON ManagedGroupConfig where+        parseJSON+          = withObject "ManagedGroupConfig"+              (\ o ->+                 ManagedGroupConfig' <$>+                   (o .:? "instanceTemplateName") <*>+                     (o .:? "instanceGroupManagerName"))++instance ToJSON ManagedGroupConfig where+        toJSON ManagedGroupConfig'{..}+          = object+              (catMaybes+                 [("instanceTemplateName" .=) <$>+                    _mgcInstanceTemplateName,+                  ("instanceGroupManagerName" .=) <$>+                    _mgcInstanceGroupManagerName])++-- | The list of all clusters in a project.+--+-- /See:/ 'listClustersResponse' smart constructor.+data ListClustersResponse = ListClustersResponse'+    { _lcrNextPageToken :: !(Maybe Text)+    , _lcrClusters      :: !(Maybe [Cluster])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ListClustersResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lcrNextPageToken'+--+-- * 'lcrClusters'+listClustersResponse+    :: ListClustersResponse+listClustersResponse =+    ListClustersResponse'+    { _lcrNextPageToken = Nothing+    , _lcrClusters = Nothing+    }++-- | [Optional] This token is included in the response if there are more+-- results to fetch. To fetch additional results, provide this value as the+-- \`page_token\` in a subsequent ListClustersRequest.+lcrNextPageToken :: Lens' ListClustersResponse (Maybe Text)+lcrNextPageToken+  = lens _lcrNextPageToken+      (\ s a -> s{_lcrNextPageToken = a})++-- | [Output-only] The clusters in the project.+lcrClusters :: Lens' ListClustersResponse [Cluster]+lcrClusters+  = lens _lcrClusters (\ s a -> s{_lcrClusters = a}) .+      _Default+      . _Coerce++instance FromJSON ListClustersResponse where+        parseJSON+          = withObject "ListClustersResponse"+              (\ o ->+                 ListClustersResponse' <$>+                   (o .:? "nextPageToken") <*>+                     (o .:? "clusters" .!= mempty))++instance ToJSON ListClustersResponse where+        toJSON ListClustersResponse'{..}+          = object+              (catMaybes+                 [("nextPageToken" .=) <$> _lcrNextPageToken,+                  ("clusters" .=) <$> _lcrClusters])++-- | A request to cancel a job.+--+-- /See:/ 'cancelJobRequest' smart constructor.+data CancelJobRequest =+    CancelJobRequest'+    deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CancelJobRequest' with the minimum fields required to make a request.+--+cancelJobRequest+    :: CancelJobRequest+cancelJobRequest = CancelJobRequest'++instance FromJSON CancelJobRequest where+        parseJSON+          = withObject "CancelJobRequest"+              (\ o -> pure CancelJobRequest')++instance ToJSON CancelJobRequest where+        toJSON = const emptyObject++-- | A list of queries to run on a cluster.+--+-- /See:/ 'queryList' smart constructor.+newtype QueryList = QueryList'+    { _qlQueries :: Maybe [Text]+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'QueryList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'qlQueries'+queryList+    :: QueryList+queryList =+    QueryList'+    { _qlQueries = Nothing+    }++-- | [Required] The queries to execute. You do not need to terminate a query+-- with a semicolon. Multiple queries can be specified in one string by+-- separating each with a semicolon. Here is an example of an Cloud+-- Dataproc API snippet that uses a QueryList to specify a HiveJob:+-- \"hiveJob\": { \"queryList\": { \"queries\": [ \"query1\", \"query2\",+-- \"query3;query4\", ] } }+qlQueries :: Lens' QueryList [Text]+qlQueries+  = lens _qlQueries (\ s a -> s{_qlQueries = a}) .+      _Default+      . _Coerce++instance FromJSON QueryList where+        parseJSON+          = withObject "QueryList"+              (\ o -> QueryList' <$> (o .:? "queries" .!= mempty))++instance ToJSON QueryList where+        toJSON QueryList'{..}+          = object (catMaybes [("queries" .=) <$> _qlQueries])++-- | Metadata describing the operation.+--+-- /See:/ 'operationMetadata' smart constructor.+data OperationMetadata = OperationMetadata'+    { _omStatus        :: !(Maybe OperationStatus)+    , _omState         :: !(Maybe Text)+    , _omClusterUuid   :: !(Maybe Text)+    , _omInsertTime    :: !(Maybe Text)+    , _omStartTime     :: !(Maybe Text)+    , _omInnerState    :: !(Maybe Text)+    , _omEndTime       :: !(Maybe Text)+    , _omDetails       :: !(Maybe Text)+    , _omClusterName   :: !(Maybe Text)+    , _omOperationType :: !(Maybe Text)+    , _omStatusHistory :: !(Maybe [OperationStatus])+    , _omDescription   :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'OperationMetadata' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'omStatus'+--+-- * 'omState'+--+-- * 'omClusterUuid'+--+-- * 'omInsertTime'+--+-- * 'omStartTime'+--+-- * 'omInnerState'+--+-- * 'omEndTime'+--+-- * 'omDetails'+--+-- * 'omClusterName'+--+-- * 'omOperationType'+--+-- * 'omStatusHistory'+--+-- * 'omDescription'+operationMetadata+    :: OperationMetadata+operationMetadata =+    OperationMetadata'+    { _omStatus = Nothing+    , _omState = Nothing+    , _omClusterUuid = Nothing+    , _omInsertTime = Nothing+    , _omStartTime = Nothing+    , _omInnerState = Nothing+    , _omEndTime = Nothing+    , _omDetails = Nothing+    , _omClusterName = Nothing+    , _omOperationType = Nothing+    , _omStatusHistory = Nothing+    , _omDescription = Nothing+    }++-- | [Output-only] Current operation status.+omStatus :: Lens' OperationMetadata (Maybe OperationStatus)+omStatus = lens _omStatus (\ s a -> s{_omStatus = a})++-- | A message containing the operation state.+omState :: Lens' OperationMetadata (Maybe Text)+omState = lens _omState (\ s a -> s{_omState = a})++-- | Cluster UUId for the operation.+omClusterUuid :: Lens' OperationMetadata (Maybe Text)+omClusterUuid+  = lens _omClusterUuid+      (\ s a -> s{_omClusterUuid = a})++-- | The time that the operation was requested.+omInsertTime :: Lens' OperationMetadata (Maybe Text)+omInsertTime+  = lens _omInsertTime (\ s a -> s{_omInsertTime = a})++-- | The time that the operation was started by the server.+omStartTime :: Lens' OperationMetadata (Maybe Text)+omStartTime+  = lens _omStartTime (\ s a -> s{_omStartTime = a})++-- | A message containing the detailed operation state.+omInnerState :: Lens' OperationMetadata (Maybe Text)+omInnerState+  = lens _omInnerState (\ s a -> s{_omInnerState = a})++-- | The time that the operation completed.+omEndTime :: Lens' OperationMetadata (Maybe Text)+omEndTime+  = lens _omEndTime (\ s a -> s{_omEndTime = a})++-- | A message containing any operation metadata details.+omDetails :: Lens' OperationMetadata (Maybe Text)+omDetails+  = lens _omDetails (\ s a -> s{_omDetails = a})++-- | Name of the cluster for the operation.+omClusterName :: Lens' OperationMetadata (Maybe Text)+omClusterName+  = lens _omClusterName+      (\ s a -> s{_omClusterName = a})++-- | [Output-only] The operation type.+omOperationType :: Lens' OperationMetadata (Maybe Text)+omOperationType+  = lens _omOperationType+      (\ s a -> s{_omOperationType = a})++-- | [Output-only] Previous operation status.+omStatusHistory :: Lens' OperationMetadata [OperationStatus]+omStatusHistory+  = lens _omStatusHistory+      (\ s a -> s{_omStatusHistory = a})+      . _Default+      . _Coerce++-- | [Output-only] Short description of operation.+omDescription :: Lens' OperationMetadata (Maybe Text)+omDescription+  = lens _omDescription+      (\ s a -> s{_omDescription = a})++instance FromJSON OperationMetadata where+        parseJSON+          = withObject "OperationMetadata"+              (\ o ->+                 OperationMetadata' <$>+                   (o .:? "status") <*> (o .:? "state") <*>+                     (o .:? "clusterUuid")+                     <*> (o .:? "insertTime")+                     <*> (o .:? "startTime")+                     <*> (o .:? "innerState")+                     <*> (o .:? "endTime")+                     <*> (o .:? "details")+                     <*> (o .:? "clusterName")+                     <*> (o .:? "operationType")+                     <*> (o .:? "statusHistory" .!= mempty)+                     <*> (o .:? "description"))++instance ToJSON OperationMetadata where+        toJSON OperationMetadata'{..}+          = object+              (catMaybes+                 [("status" .=) <$> _omStatus,+                  ("state" .=) <$> _omState,+                  ("clusterUuid" .=) <$> _omClusterUuid,+                  ("insertTime" .=) <$> _omInsertTime,+                  ("startTime" .=) <$> _omStartTime,+                  ("innerState" .=) <$> _omInnerState,+                  ("endTime" .=) <$> _omEndTime,+                  ("details" .=) <$> _omDetails,+                  ("clusterName" .=) <$> _omClusterName,+                  ("operationType" .=) <$> _omOperationType,+                  ("statusHistory" .=) <$> _omStatusHistory,+                  ("description" .=) <$> _omDescription])++-- | Cloud Dataproc job status.+--+-- /See:/ 'jobStatus' smart constructor.+data JobStatus = JobStatus'+    { _jsState          :: !(Maybe Text)+    , _jsStateStartTime :: !(Maybe Text)+    , _jsDetails        :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'JobStatus' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'jsState'+--+-- * 'jsStateStartTime'+--+-- * 'jsDetails'+jobStatus+    :: JobStatus+jobStatus =+    JobStatus'+    { _jsState = Nothing+    , _jsStateStartTime = Nothing+    , _jsDetails = Nothing+    }++-- | [Required] A state message specifying the overall job state.+jsState :: Lens' JobStatus (Maybe Text)+jsState = lens _jsState (\ s a -> s{_jsState = a})++-- | [Output-only] The time when this state was entered.+jsStateStartTime :: Lens' JobStatus (Maybe Text)+jsStateStartTime+  = lens _jsStateStartTime+      (\ s a -> s{_jsStateStartTime = a})++-- | [Optional] Job state details, such as an error description if the state+-- is ERROR.+jsDetails :: Lens' JobStatus (Maybe Text)+jsDetails+  = lens _jsDetails (\ s a -> s{_jsDetails = a})++instance FromJSON JobStatus where+        parseJSON+          = withObject "JobStatus"+              (\ o ->+                 JobStatus' <$>+                   (o .:? "state") <*> (o .:? "stateStartTime") <*>+                     (o .:? "details"))++instance ToJSON JobStatus where+        toJSON JobStatus'{..}+          = object+              (catMaybes+                 [("state" .=) <$> _jsState,+                  ("stateStartTime" .=) <$> _jsStateStartTime,+                  ("details" .=) <$> _jsDetails])++-- | [Optional] Mapping of query variable names to values (equivalent to the+-- Pig command: \`name=[value]\`).+--+-- /See:/ 'pigJobScriptVariables' smart constructor.+newtype PigJobScriptVariables = PigJobScriptVariables'+    { _pjsvAddtional :: HashMap Text Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PigJobScriptVariables' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pjsvAddtional'+pigJobScriptVariables+    :: HashMap Text Text -- ^ 'pjsvAddtional'+    -> PigJobScriptVariables+pigJobScriptVariables pPjsvAddtional_ =+    PigJobScriptVariables'+    { _pjsvAddtional = _Coerce # pPjsvAddtional_+    }++pjsvAddtional :: Lens' PigJobScriptVariables (HashMap Text Text)+pjsvAddtional+  = lens _pjsvAddtional+      (\ s a -> s{_pjsvAddtional = a})+      . _Coerce++instance FromJSON PigJobScriptVariables where+        parseJSON+          = withObject "PigJobScriptVariables"+              (\ o ->+                 PigJobScriptVariables' <$> (parseJSONObject o))++instance ToJSON PigJobScriptVariables where+        toJSON = toJSON . _pjsvAddtional++-- | The normal response of the operation in case of success. If the original+-- method returns no data on success, such as \`Delete\`, the response is+-- \`google.protobuf.Empty\`. If the original method is standard+-- \`Get\`\/\`Create\`\/\`Update\`, the response should be the resource.+-- For other methods, the response should have the type \`XxxResponse\`,+-- where \`Xxx\` is the original method name. For example, if the original+-- method name is \`TakeSnapshot()\`, the inferred response type is+-- \`TakeSnapshotResponse\`.+--+-- /See:/ 'operationResponse' smart constructor.+newtype OperationResponse = OperationResponse'+    { _orAddtional :: HashMap Text JSONValue+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'OperationResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'orAddtional'+operationResponse+    :: HashMap Text JSONValue -- ^ 'orAddtional'+    -> OperationResponse+operationResponse pOrAddtional_ =+    OperationResponse'+    { _orAddtional = _Coerce # pOrAddtional_+    }++-- | Properties of the object. Contains field \'ype with type URL.+orAddtional :: Lens' OperationResponse (HashMap Text JSONValue)+orAddtional+  = lens _orAddtional (\ s a -> s{_orAddtional = a}) .+      _Coerce++instance FromJSON OperationResponse where+        parseJSON+          = withObject "OperationResponse"+              (\ o -> OperationResponse' <$> (parseJSONObject o))++instance ToJSON OperationResponse where+        toJSON = toJSON . _orAddtional++-- | The per-package log levels for the driver. This may include \"root\"+-- package name to configure rootLogger. Examples: \'com.google = FATAL\',+-- \'root = INFO\', \'org.apache = DEBUG\'+--+-- /See:/ 'loggingConfigDriverLogLevels' smart constructor.+newtype LoggingConfigDriverLogLevels = LoggingConfigDriverLogLevels'+    { _lcdllAddtional :: HashMap Text Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'LoggingConfigDriverLogLevels' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lcdllAddtional'+loggingConfigDriverLogLevels+    :: HashMap Text Text -- ^ 'lcdllAddtional'+    -> LoggingConfigDriverLogLevels+loggingConfigDriverLogLevels pLcdllAddtional_ =+    LoggingConfigDriverLogLevels'+    { _lcdllAddtional = _Coerce # pLcdllAddtional_+    }++lcdllAddtional :: Lens' LoggingConfigDriverLogLevels (HashMap Text Text)+lcdllAddtional+  = lens _lcdllAddtional+      (\ s a -> s{_lcdllAddtional = a})+      . _Coerce++instance FromJSON LoggingConfigDriverLogLevels where+        parseJSON+          = withObject "LoggingConfigDriverLogLevels"+              (\ o ->+                 LoggingConfigDriverLogLevels' <$>+                   (parseJSONObject o))++instance ToJSON LoggingConfigDriverLogLevels where+        toJSON = toJSON . _lcdllAddtional++-- | The status of a cluster and its instances.+--+-- /See:/ 'clusterStatus' smart constructor.+data ClusterStatus = ClusterStatus'+    { _csState          :: !(Maybe Text)+    , _csStateStartTime :: !(Maybe Text)+    , _csDetail         :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ClusterStatus' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'csState'+--+-- * 'csStateStartTime'+--+-- * 'csDetail'+clusterStatus+    :: ClusterStatus+clusterStatus =+    ClusterStatus'+    { _csState = Nothing+    , _csStateStartTime = Nothing+    , _csDetail = Nothing+    }++-- | The cluster\'s state.+csState :: Lens' ClusterStatus (Maybe Text)+csState = lens _csState (\ s a -> s{_csState = a})++-- | Time when this state was entered.+csStateStartTime :: Lens' ClusterStatus (Maybe Text)+csStateStartTime+  = lens _csStateStartTime+      (\ s a -> s{_csStateStartTime = a})++-- | Optional details of cluster\'s state.+csDetail :: Lens' ClusterStatus (Maybe Text)+csDetail = lens _csDetail (\ s a -> s{_csDetail = a})++instance FromJSON ClusterStatus where+        parseJSON+          = withObject "ClusterStatus"+              (\ o ->+                 ClusterStatus' <$>+                   (o .:? "state") <*> (o .:? "stateStartTime") <*>+                     (o .:? "detail"))++instance ToJSON ClusterStatus where+        toJSON ClusterStatus'{..}+          = object+              (catMaybes+                 [("state" .=) <$> _csState,+                  ("stateStartTime" .=) <$> _csStateStartTime,+                  ("detail" .=) <$> _csDetail])++-- | A Cloud Dataproc job for running Pig queries on YARN.+--+-- /See:/ 'pigJob' smart constructor.+data PigJob = PigJob'+    { _pjQueryFileURI      :: !(Maybe Text)+    , _pjJarFileURIs       :: !(Maybe [Text])+    , _pjScriptVariables   :: !(Maybe PigJobScriptVariables)+    , _pjQueryList         :: !(Maybe QueryList)+    , _pjContinueOnFailure :: !(Maybe Bool)+    , _pjLoggingConfig     :: !(Maybe LoggingConfig)+    , _pjProperties        :: !(Maybe PigJobProperties)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PigJob' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pjQueryFileURI'+--+-- * 'pjJarFileURIs'+--+-- * 'pjScriptVariables'+--+-- * 'pjQueryList'+--+-- * 'pjContinueOnFailure'+--+-- * 'pjLoggingConfig'+--+-- * 'pjProperties'+pigJob+    :: PigJob+pigJob =+    PigJob'+    { _pjQueryFileURI = Nothing+    , _pjJarFileURIs = Nothing+    , _pjScriptVariables = Nothing+    , _pjQueryList = Nothing+    , _pjContinueOnFailure = Nothing+    , _pjLoggingConfig = Nothing+    , _pjProperties = Nothing+    }++-- | The HCFS URI of the script that contains the Pig queries.+pjQueryFileURI :: Lens' PigJob (Maybe Text)+pjQueryFileURI+  = lens _pjQueryFileURI+      (\ s a -> s{_pjQueryFileURI = a})++-- | [Optional] HCFS URIs of jar files to add to the CLASSPATH of the Pig+-- Client and Hadoop MapReduce (MR) tasks. Can contain Pig UDFs.+pjJarFileURIs :: Lens' PigJob [Text]+pjJarFileURIs+  = lens _pjJarFileURIs+      (\ s a -> s{_pjJarFileURIs = a})+      . _Default+      . _Coerce++-- | [Optional] Mapping of query variable names to values (equivalent to the+-- Pig command: \`name=[value]\`).+pjScriptVariables :: Lens' PigJob (Maybe PigJobScriptVariables)+pjScriptVariables+  = lens _pjScriptVariables+      (\ s a -> s{_pjScriptVariables = a})++-- | A list of queries.+pjQueryList :: Lens' PigJob (Maybe QueryList)+pjQueryList+  = lens _pjQueryList (\ s a -> s{_pjQueryList = a})++-- | [Optional] Whether to continue executing queries if a query fails. The+-- default value is \`false\`. Setting to \`true\` can be useful when+-- executing independent parallel queries.+pjContinueOnFailure :: Lens' PigJob (Maybe Bool)+pjContinueOnFailure+  = lens _pjContinueOnFailure+      (\ s a -> s{_pjContinueOnFailure = a})++-- | [Optional] The runtime log config for job execution.+pjLoggingConfig :: Lens' PigJob (Maybe LoggingConfig)+pjLoggingConfig+  = lens _pjLoggingConfig+      (\ s a -> s{_pjLoggingConfig = a})++-- | [Optional] A mapping of property names to values, used to configure Pig.+-- Properties that conflict with values set by the Cloud Dataproc API may+-- be overwritten. Can include properties set in+-- \/etc\/hadoop\/conf\/*-site.xml, \/etc\/pig\/conf\/pig.properties, and+-- classes in user code.+pjProperties :: Lens' PigJob (Maybe PigJobProperties)+pjProperties+  = lens _pjProperties (\ s a -> s{_pjProperties = a})++instance FromJSON PigJob where+        parseJSON+          = withObject "PigJob"+              (\ o ->+                 PigJob' <$>+                   (o .:? "queryFileUri") <*>+                     (o .:? "jarFileUris" .!= mempty)+                     <*> (o .:? "scriptVariables")+                     <*> (o .:? "queryList")+                     <*> (o .:? "continueOnFailure")+                     <*> (o .:? "loggingConfig")+                     <*> (o .:? "properties"))++instance ToJSON PigJob where+        toJSON PigJob'{..}+          = object+              (catMaybes+                 [("queryFileUri" .=) <$> _pjQueryFileURI,+                  ("jarFileUris" .=) <$> _pjJarFileURIs,+                  ("scriptVariables" .=) <$> _pjScriptVariables,+                  ("queryList" .=) <$> _pjQueryList,+                  ("continueOnFailure" .=) <$> _pjContinueOnFailure,+                  ("loggingConfig" .=) <$> _pjLoggingConfig,+                  ("properties" .=) <$> _pjProperties])++-- | The runtime logging config of the job.+--+-- /See:/ 'loggingConfig' smart constructor.+newtype LoggingConfig = LoggingConfig'+    { _lcDriverLogLevels :: Maybe LoggingConfigDriverLogLevels+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'LoggingConfig' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lcDriverLogLevels'+loggingConfig+    :: LoggingConfig+loggingConfig =+    LoggingConfig'+    { _lcDriverLogLevels = Nothing+    }++-- | The per-package log levels for the driver. This may include \"root\"+-- package name to configure rootLogger. Examples: \'com.google = FATAL\',+-- \'root = INFO\', \'org.apache = DEBUG\'+lcDriverLogLevels :: Lens' LoggingConfig (Maybe LoggingConfigDriverLogLevels)+lcDriverLogLevels+  = lens _lcDriverLogLevels+      (\ s a -> s{_lcDriverLogLevels = a})++instance FromJSON LoggingConfig where+        parseJSON+          = withObject "LoggingConfig"+              (\ o -> LoggingConfig' <$> (o .:? "driverLogLevels"))++instance ToJSON LoggingConfig where+        toJSON LoggingConfig'{..}+          = object+              (catMaybes+                 [("driverLogLevels" .=) <$> _lcDriverLogLevels])
+ gen/Network/Google/Dataproc/Types/Sum.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE LambdaCase         #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module      : Network.Google.Dataproc.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.Dataproc.Types.Sum where++import           Network.Google.Prelude
+ gen/Network/Google/Resource/Dataproc/Projects/Regions/Clusters/Create.hs view
@@ -0,0 +1,204 @@+{-# 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.Dataproc.Projects.Regions.Clusters.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 cluster in a project.+--+-- /See:/ <https://cloud.google.com/dataproc/ Google Cloud Dataproc API Reference> for @dataproc.projects.regions.clusters.create@.+module Network.Google.Resource.Dataproc.Projects.Regions.Clusters.Create+    (+    -- * REST Resource+      ProjectsRegionsClustersCreateResource++    -- * Creating a Request+    , projectsRegionsClustersCreate+    , ProjectsRegionsClustersCreate++    -- * Request Lenses+    , prccXgafv+    , prccUploadProtocol+    , prccPp+    , prccAccessToken+    , prccUploadType+    , prccPayload+    , prccBearerToken+    , prccRegion+    , prccProjectId+    , prccCallback+    ) where++import           Network.Google.Dataproc.Types+import           Network.Google.Prelude++-- | A resource alias for @dataproc.projects.regions.clusters.create@ method which the+-- 'ProjectsRegionsClustersCreate' request conforms to.+type ProjectsRegionsClustersCreateResource =+     "v1" :>+       "projects" :>+         Capture "projectId" Text :>+           "regions" :>+             Capture "region" Text :>+               "clusters" :>+                 QueryParam "$.xgafv" Text :>+                   QueryParam "upload_protocol" Text :>+                     QueryParam "pp" Bool :>+                       QueryParam "access_token" Text :>+                         QueryParam "uploadType" Text :>+                           QueryParam "bearer_token" Text :>+                             QueryParam "callback" Text :>+                               QueryParam "alt" AltJSON :>+                                 ReqBody '[JSON] Cluster :>+                                   Post '[JSON] Operation++-- | Creates a cluster in a project.+--+-- /See:/ 'projectsRegionsClustersCreate' smart constructor.+data ProjectsRegionsClustersCreate = ProjectsRegionsClustersCreate'+    { _prccXgafv          :: !(Maybe Text)+    , _prccUploadProtocol :: !(Maybe Text)+    , _prccPp             :: !Bool+    , _prccAccessToken    :: !(Maybe Text)+    , _prccUploadType     :: !(Maybe Text)+    , _prccPayload        :: !Cluster+    , _prccBearerToken    :: !(Maybe Text)+    , _prccRegion         :: !Text+    , _prccProjectId      :: !Text+    , _prccCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProjectsRegionsClustersCreate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'prccXgafv'+--+-- * 'prccUploadProtocol'+--+-- * 'prccPp'+--+-- * 'prccAccessToken'+--+-- * 'prccUploadType'+--+-- * 'prccPayload'+--+-- * 'prccBearerToken'+--+-- * 'prccRegion'+--+-- * 'prccProjectId'+--+-- * 'prccCallback'+projectsRegionsClustersCreate+    :: Cluster -- ^ 'prccPayload'+    -> Text -- ^ 'prccRegion'+    -> Text -- ^ 'prccProjectId'+    -> ProjectsRegionsClustersCreate+projectsRegionsClustersCreate pPrccPayload_ pPrccRegion_ pPrccProjectId_ =+    ProjectsRegionsClustersCreate'+    { _prccXgafv = Nothing+    , _prccUploadProtocol = Nothing+    , _prccPp = True+    , _prccAccessToken = Nothing+    , _prccUploadType = Nothing+    , _prccPayload = pPrccPayload_+    , _prccBearerToken = Nothing+    , _prccRegion = pPrccRegion_+    , _prccProjectId = pPrccProjectId_+    , _prccCallback = Nothing+    }++-- | V1 error format.+prccXgafv :: Lens' ProjectsRegionsClustersCreate (Maybe Text)+prccXgafv+  = lens _prccXgafv (\ s a -> s{_prccXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+prccUploadProtocol :: Lens' ProjectsRegionsClustersCreate (Maybe Text)+prccUploadProtocol+  = lens _prccUploadProtocol+      (\ s a -> s{_prccUploadProtocol = a})++-- | Pretty-print response.+prccPp :: Lens' ProjectsRegionsClustersCreate Bool+prccPp = lens _prccPp (\ s a -> s{_prccPp = a})++-- | OAuth access token.+prccAccessToken :: Lens' ProjectsRegionsClustersCreate (Maybe Text)+prccAccessToken+  = lens _prccAccessToken+      (\ s a -> s{_prccAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+prccUploadType :: Lens' ProjectsRegionsClustersCreate (Maybe Text)+prccUploadType+  = lens _prccUploadType+      (\ s a -> s{_prccUploadType = a})++-- | Multipart request metadata.+prccPayload :: Lens' ProjectsRegionsClustersCreate Cluster+prccPayload+  = lens _prccPayload (\ s a -> s{_prccPayload = a})++-- | OAuth bearer token.+prccBearerToken :: Lens' ProjectsRegionsClustersCreate (Maybe Text)+prccBearerToken+  = lens _prccBearerToken+      (\ s a -> s{_prccBearerToken = a})++-- | [Required] The Cloud Dataproc region in which to handle the request.+prccRegion :: Lens' ProjectsRegionsClustersCreate Text+prccRegion+  = lens _prccRegion (\ s a -> s{_prccRegion = a})++-- | [Required] The ID of the Google Cloud Platform project that the cluster+-- belongs to.+prccProjectId :: Lens' ProjectsRegionsClustersCreate Text+prccProjectId+  = lens _prccProjectId+      (\ s a -> s{_prccProjectId = a})++-- | JSONP+prccCallback :: Lens' ProjectsRegionsClustersCreate (Maybe Text)+prccCallback+  = lens _prccCallback (\ s a -> s{_prccCallback = a})++instance GoogleRequest ProjectsRegionsClustersCreate+         where+        type Rs ProjectsRegionsClustersCreate = Operation+        type Scopes ProjectsRegionsClustersCreate =+             '["https://www.googleapis.com/auth/cloud-platform"]+        requestClient ProjectsRegionsClustersCreate'{..}+          = go _prccProjectId _prccRegion _prccXgafv+              _prccUploadProtocol+              (Just _prccPp)+              _prccAccessToken+              _prccUploadType+              _prccBearerToken+              _prccCallback+              (Just AltJSON)+              _prccPayload+              dataprocService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy ProjectsRegionsClustersCreateResource)+                      mempty
+ gen/Network/Google/Resource/Dataproc/Projects/Regions/Clusters/Delete.hs view
@@ -0,0 +1,205 @@+{-# 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.Dataproc.Projects.Regions.Clusters.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 cluster in a project.+--+-- /See:/ <https://cloud.google.com/dataproc/ Google Cloud Dataproc API Reference> for @dataproc.projects.regions.clusters.delete@.+module Network.Google.Resource.Dataproc.Projects.Regions.Clusters.Delete+    (+    -- * REST Resource+      ProjectsRegionsClustersDeleteResource++    -- * Creating a Request+    , projectsRegionsClustersDelete+    , ProjectsRegionsClustersDelete++    -- * Request Lenses+    , prcdXgafv+    , prcdUploadProtocol+    , prcdPp+    , prcdAccessToken+    , prcdUploadType+    , prcdBearerToken+    , prcdClusterName+    , prcdRegion+    , prcdProjectId+    , prcdCallback+    ) where++import           Network.Google.Dataproc.Types+import           Network.Google.Prelude++-- | A resource alias for @dataproc.projects.regions.clusters.delete@ method which the+-- 'ProjectsRegionsClustersDelete' request conforms to.+type ProjectsRegionsClustersDeleteResource =+     "v1" :>+       "projects" :>+         Capture "projectId" Text :>+           "regions" :>+             Capture "region" Text :>+               "clusters" :>+                 Capture "clusterName" Text :>+                   QueryParam "$.xgafv" Text :>+                     QueryParam "upload_protocol" Text :>+                       QueryParam "pp" Bool :>+                         QueryParam "access_token" Text :>+                           QueryParam "uploadType" Text :>+                             QueryParam "bearer_token" Text :>+                               QueryParam "callback" Text :>+                                 QueryParam "alt" AltJSON :>+                                   Delete '[JSON] Operation++-- | Deletes a cluster in a project.+--+-- /See:/ 'projectsRegionsClustersDelete' smart constructor.+data ProjectsRegionsClustersDelete = ProjectsRegionsClustersDelete'+    { _prcdXgafv          :: !(Maybe Text)+    , _prcdUploadProtocol :: !(Maybe Text)+    , _prcdPp             :: !Bool+    , _prcdAccessToken    :: !(Maybe Text)+    , _prcdUploadType     :: !(Maybe Text)+    , _prcdBearerToken    :: !(Maybe Text)+    , _prcdClusterName    :: !Text+    , _prcdRegion         :: !Text+    , _prcdProjectId      :: !Text+    , _prcdCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProjectsRegionsClustersDelete' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'prcdXgafv'+--+-- * 'prcdUploadProtocol'+--+-- * 'prcdPp'+--+-- * 'prcdAccessToken'+--+-- * 'prcdUploadType'+--+-- * 'prcdBearerToken'+--+-- * 'prcdClusterName'+--+-- * 'prcdRegion'+--+-- * 'prcdProjectId'+--+-- * 'prcdCallback'+projectsRegionsClustersDelete+    :: Text -- ^ 'prcdClusterName'+    -> Text -- ^ 'prcdRegion'+    -> Text -- ^ 'prcdProjectId'+    -> ProjectsRegionsClustersDelete+projectsRegionsClustersDelete pPrcdClusterName_ pPrcdRegion_ pPrcdProjectId_ =+    ProjectsRegionsClustersDelete'+    { _prcdXgafv = Nothing+    , _prcdUploadProtocol = Nothing+    , _prcdPp = True+    , _prcdAccessToken = Nothing+    , _prcdUploadType = Nothing+    , _prcdBearerToken = Nothing+    , _prcdClusterName = pPrcdClusterName_+    , _prcdRegion = pPrcdRegion_+    , _prcdProjectId = pPrcdProjectId_+    , _prcdCallback = Nothing+    }++-- | V1 error format.+prcdXgafv :: Lens' ProjectsRegionsClustersDelete (Maybe Text)+prcdXgafv+  = lens _prcdXgafv (\ s a -> s{_prcdXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+prcdUploadProtocol :: Lens' ProjectsRegionsClustersDelete (Maybe Text)+prcdUploadProtocol+  = lens _prcdUploadProtocol+      (\ s a -> s{_prcdUploadProtocol = a})++-- | Pretty-print response.+prcdPp :: Lens' ProjectsRegionsClustersDelete Bool+prcdPp = lens _prcdPp (\ s a -> s{_prcdPp = a})++-- | OAuth access token.+prcdAccessToken :: Lens' ProjectsRegionsClustersDelete (Maybe Text)+prcdAccessToken+  = lens _prcdAccessToken+      (\ s a -> s{_prcdAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+prcdUploadType :: Lens' ProjectsRegionsClustersDelete (Maybe Text)+prcdUploadType+  = lens _prcdUploadType+      (\ s a -> s{_prcdUploadType = a})++-- | OAuth bearer token.+prcdBearerToken :: Lens' ProjectsRegionsClustersDelete (Maybe Text)+prcdBearerToken+  = lens _prcdBearerToken+      (\ s a -> s{_prcdBearerToken = a})++-- | [Required] The cluster name.+prcdClusterName :: Lens' ProjectsRegionsClustersDelete Text+prcdClusterName+  = lens _prcdClusterName+      (\ s a -> s{_prcdClusterName = a})++-- | [Required] The Cloud Dataproc region in which to handle the request.+prcdRegion :: Lens' ProjectsRegionsClustersDelete Text+prcdRegion+  = lens _prcdRegion (\ s a -> s{_prcdRegion = a})++-- | [Required] The ID of the Google Cloud Platform project that the cluster+-- belongs to.+prcdProjectId :: Lens' ProjectsRegionsClustersDelete Text+prcdProjectId+  = lens _prcdProjectId+      (\ s a -> s{_prcdProjectId = a})++-- | JSONP+prcdCallback :: Lens' ProjectsRegionsClustersDelete (Maybe Text)+prcdCallback+  = lens _prcdCallback (\ s a -> s{_prcdCallback = a})++instance GoogleRequest ProjectsRegionsClustersDelete+         where+        type Rs ProjectsRegionsClustersDelete = Operation+        type Scopes ProjectsRegionsClustersDelete =+             '["https://www.googleapis.com/auth/cloud-platform"]+        requestClient ProjectsRegionsClustersDelete'{..}+          = go _prcdProjectId _prcdRegion _prcdClusterName+              _prcdXgafv+              _prcdUploadProtocol+              (Just _prcdPp)+              _prcdAccessToken+              _prcdUploadType+              _prcdBearerToken+              _prcdCallback+              (Just AltJSON)+              dataprocService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy ProjectsRegionsClustersDeleteResource)+                      mempty
+ gen/Network/Google/Resource/Dataproc/Projects/Regions/Clusters/Diagnose.hs view
@@ -0,0 +1,211 @@+{-# 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.Dataproc.Projects.Regions.Clusters.Diagnose+-- 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 cluster diagnostic information. After the operation completes, the+-- Operation.response field contains \`DiagnoseClusterOutputLocation\`.+--+-- /See:/ <https://cloud.google.com/dataproc/ Google Cloud Dataproc API Reference> for @dataproc.projects.regions.clusters.diagnose@.+module Network.Google.Resource.Dataproc.Projects.Regions.Clusters.Diagnose+    (+    -- * REST Resource+      ProjectsRegionsClustersDiagnoseResource++    -- * Creating a Request+    , projectsRegionsClustersDiagnose+    , ProjectsRegionsClustersDiagnose++    -- * Request Lenses+    , pXgafv+    , pUploadProtocol+    , pPp+    , pAccessToken+    , pUploadType+    , pPayload+    , pBearerToken+    , pClusterName+    , pRegion+    , pProjectId+    , pCallback+    ) where++import           Network.Google.Dataproc.Types+import           Network.Google.Prelude++-- | A resource alias for @dataproc.projects.regions.clusters.diagnose@ method which the+-- 'ProjectsRegionsClustersDiagnose' request conforms to.+type ProjectsRegionsClustersDiagnoseResource =+     "v1" :>+       "projects" :>+         Capture "projectId" Text :>+           "regions" :>+             Capture "region" Text :>+               "clusters" :>+                 CaptureMode "clusterName" "diagnose" Text :>+                   QueryParam "$.xgafv" Text :>+                     QueryParam "upload_protocol" Text :>+                       QueryParam "pp" Bool :>+                         QueryParam "access_token" Text :>+                           QueryParam "uploadType" Text :>+                             QueryParam "bearer_token" Text :>+                               QueryParam "callback" Text :>+                                 QueryParam "alt" AltJSON :>+                                   ReqBody '[JSON] DiagnoseClusterRequest :>+                                     Post '[JSON] Operation++-- | Gets cluster diagnostic information. After the operation completes, the+-- Operation.response field contains \`DiagnoseClusterOutputLocation\`.+--+-- /See:/ 'projectsRegionsClustersDiagnose' smart constructor.+data ProjectsRegionsClustersDiagnose = ProjectsRegionsClustersDiagnose'+    { _pXgafv          :: !(Maybe Text)+    , _pUploadProtocol :: !(Maybe Text)+    , _pPp             :: !Bool+    , _pAccessToken    :: !(Maybe Text)+    , _pUploadType     :: !(Maybe Text)+    , _pPayload        :: !DiagnoseClusterRequest+    , _pBearerToken    :: !(Maybe Text)+    , _pClusterName    :: !Text+    , _pRegion         :: !Text+    , _pProjectId      :: !Text+    , _pCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProjectsRegionsClustersDiagnose' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pXgafv'+--+-- * 'pUploadProtocol'+--+-- * 'pPp'+--+-- * 'pAccessToken'+--+-- * 'pUploadType'+--+-- * 'pPayload'+--+-- * 'pBearerToken'+--+-- * 'pClusterName'+--+-- * 'pRegion'+--+-- * 'pProjectId'+--+-- * 'pCallback'+projectsRegionsClustersDiagnose+    :: DiagnoseClusterRequest -- ^ 'pPayload'+    -> Text -- ^ 'pClusterName'+    -> Text -- ^ 'pRegion'+    -> Text -- ^ 'pProjectId'+    -> ProjectsRegionsClustersDiagnose+projectsRegionsClustersDiagnose pPPayload_ pPClusterName_ pPRegion_ pPProjectId_ =+    ProjectsRegionsClustersDiagnose'+    { _pXgafv = Nothing+    , _pUploadProtocol = Nothing+    , _pPp = True+    , _pAccessToken = Nothing+    , _pUploadType = Nothing+    , _pPayload = pPPayload_+    , _pBearerToken = Nothing+    , _pClusterName = pPClusterName_+    , _pRegion = pPRegion_+    , _pProjectId = pPProjectId_+    , _pCallback = Nothing+    }++-- | V1 error format.+pXgafv :: Lens' ProjectsRegionsClustersDiagnose (Maybe Text)+pXgafv = lens _pXgafv (\ s a -> s{_pXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+pUploadProtocol :: Lens' ProjectsRegionsClustersDiagnose (Maybe Text)+pUploadProtocol+  = lens _pUploadProtocol+      (\ s a -> s{_pUploadProtocol = a})++-- | Pretty-print response.+pPp :: Lens' ProjectsRegionsClustersDiagnose Bool+pPp = lens _pPp (\ s a -> s{_pPp = a})++-- | OAuth access token.+pAccessToken :: Lens' ProjectsRegionsClustersDiagnose (Maybe Text)+pAccessToken+  = lens _pAccessToken (\ s a -> s{_pAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+pUploadType :: Lens' ProjectsRegionsClustersDiagnose (Maybe Text)+pUploadType+  = lens _pUploadType (\ s a -> s{_pUploadType = a})++-- | Multipart request metadata.+pPayload :: Lens' ProjectsRegionsClustersDiagnose DiagnoseClusterRequest+pPayload = lens _pPayload (\ s a -> s{_pPayload = a})++-- | OAuth bearer token.+pBearerToken :: Lens' ProjectsRegionsClustersDiagnose (Maybe Text)+pBearerToken+  = lens _pBearerToken (\ s a -> s{_pBearerToken = a})++-- | [Required] The cluster name.+pClusterName :: Lens' ProjectsRegionsClustersDiagnose Text+pClusterName+  = lens _pClusterName (\ s a -> s{_pClusterName = a})++-- | [Required] The Cloud Dataproc region in which to handle the request.+pRegion :: Lens' ProjectsRegionsClustersDiagnose Text+pRegion = lens _pRegion (\ s a -> s{_pRegion = a})++-- | [Required] The ID of the Google Cloud Platform project that the cluster+-- belongs to.+pProjectId :: Lens' ProjectsRegionsClustersDiagnose Text+pProjectId+  = lens _pProjectId (\ s a -> s{_pProjectId = a})++-- | JSONP+pCallback :: Lens' ProjectsRegionsClustersDiagnose (Maybe Text)+pCallback+  = lens _pCallback (\ s a -> s{_pCallback = a})++instance GoogleRequest+         ProjectsRegionsClustersDiagnose where+        type Rs ProjectsRegionsClustersDiagnose = Operation+        type Scopes ProjectsRegionsClustersDiagnose =+             '["https://www.googleapis.com/auth/cloud-platform"]+        requestClient ProjectsRegionsClustersDiagnose'{..}+          = go _pProjectId _pRegion _pClusterName _pXgafv+              _pUploadProtocol+              (Just _pPp)+              _pAccessToken+              _pUploadType+              _pBearerToken+              _pCallback+              (Just AltJSON)+              _pPayload+              dataprocService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy ProjectsRegionsClustersDiagnoseResource)+                      mempty
+ gen/Network/Google/Resource/Dataproc/Projects/Regions/Clusters/Get.hs view
@@ -0,0 +1,203 @@+{-# 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.Dataproc.Projects.Regions.Clusters.Get+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Gets the resource representation for a cluster in a project.+--+-- /See:/ <https://cloud.google.com/dataproc/ Google Cloud Dataproc API Reference> for @dataproc.projects.regions.clusters.get@.+module Network.Google.Resource.Dataproc.Projects.Regions.Clusters.Get+    (+    -- * REST Resource+      ProjectsRegionsClustersGetResource++    -- * Creating a Request+    , projectsRegionsClustersGet+    , ProjectsRegionsClustersGet++    -- * Request Lenses+    , prcgXgafv+    , prcgUploadProtocol+    , prcgPp+    , prcgAccessToken+    , prcgUploadType+    , prcgBearerToken+    , prcgClusterName+    , prcgRegion+    , prcgProjectId+    , prcgCallback+    ) where++import           Network.Google.Dataproc.Types+import           Network.Google.Prelude++-- | A resource alias for @dataproc.projects.regions.clusters.get@ method which the+-- 'ProjectsRegionsClustersGet' request conforms to.+type ProjectsRegionsClustersGetResource =+     "v1" :>+       "projects" :>+         Capture "projectId" Text :>+           "regions" :>+             Capture "region" Text :>+               "clusters" :>+                 Capture "clusterName" Text :>+                   QueryParam "$.xgafv" Text :>+                     QueryParam "upload_protocol" Text :>+                       QueryParam "pp" Bool :>+                         QueryParam "access_token" Text :>+                           QueryParam "uploadType" Text :>+                             QueryParam "bearer_token" Text :>+                               QueryParam "callback" Text :>+                                 QueryParam "alt" AltJSON :> Get '[JSON] Cluster++-- | Gets the resource representation for a cluster in a project.+--+-- /See:/ 'projectsRegionsClustersGet' smart constructor.+data ProjectsRegionsClustersGet = ProjectsRegionsClustersGet'+    { _prcgXgafv          :: !(Maybe Text)+    , _prcgUploadProtocol :: !(Maybe Text)+    , _prcgPp             :: !Bool+    , _prcgAccessToken    :: !(Maybe Text)+    , _prcgUploadType     :: !(Maybe Text)+    , _prcgBearerToken    :: !(Maybe Text)+    , _prcgClusterName    :: !Text+    , _prcgRegion         :: !Text+    , _prcgProjectId      :: !Text+    , _prcgCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProjectsRegionsClustersGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'prcgXgafv'+--+-- * 'prcgUploadProtocol'+--+-- * 'prcgPp'+--+-- * 'prcgAccessToken'+--+-- * 'prcgUploadType'+--+-- * 'prcgBearerToken'+--+-- * 'prcgClusterName'+--+-- * 'prcgRegion'+--+-- * 'prcgProjectId'+--+-- * 'prcgCallback'+projectsRegionsClustersGet+    :: Text -- ^ 'prcgClusterName'+    -> Text -- ^ 'prcgRegion'+    -> Text -- ^ 'prcgProjectId'+    -> ProjectsRegionsClustersGet+projectsRegionsClustersGet pPrcgClusterName_ pPrcgRegion_ pPrcgProjectId_ =+    ProjectsRegionsClustersGet'+    { _prcgXgafv = Nothing+    , _prcgUploadProtocol = Nothing+    , _prcgPp = True+    , _prcgAccessToken = Nothing+    , _prcgUploadType = Nothing+    , _prcgBearerToken = Nothing+    , _prcgClusterName = pPrcgClusterName_+    , _prcgRegion = pPrcgRegion_+    , _prcgProjectId = pPrcgProjectId_+    , _prcgCallback = Nothing+    }++-- | V1 error format.+prcgXgafv :: Lens' ProjectsRegionsClustersGet (Maybe Text)+prcgXgafv+  = lens _prcgXgafv (\ s a -> s{_prcgXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+prcgUploadProtocol :: Lens' ProjectsRegionsClustersGet (Maybe Text)+prcgUploadProtocol+  = lens _prcgUploadProtocol+      (\ s a -> s{_prcgUploadProtocol = a})++-- | Pretty-print response.+prcgPp :: Lens' ProjectsRegionsClustersGet Bool+prcgPp = lens _prcgPp (\ s a -> s{_prcgPp = a})++-- | OAuth access token.+prcgAccessToken :: Lens' ProjectsRegionsClustersGet (Maybe Text)+prcgAccessToken+  = lens _prcgAccessToken+      (\ s a -> s{_prcgAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+prcgUploadType :: Lens' ProjectsRegionsClustersGet (Maybe Text)+prcgUploadType+  = lens _prcgUploadType+      (\ s a -> s{_prcgUploadType = a})++-- | OAuth bearer token.+prcgBearerToken :: Lens' ProjectsRegionsClustersGet (Maybe Text)+prcgBearerToken+  = lens _prcgBearerToken+      (\ s a -> s{_prcgBearerToken = a})++-- | [Required] The cluster name.+prcgClusterName :: Lens' ProjectsRegionsClustersGet Text+prcgClusterName+  = lens _prcgClusterName+      (\ s a -> s{_prcgClusterName = a})++-- | [Required] The Cloud Dataproc region in which to handle the request.+prcgRegion :: Lens' ProjectsRegionsClustersGet Text+prcgRegion+  = lens _prcgRegion (\ s a -> s{_prcgRegion = a})++-- | [Required] The ID of the Google Cloud Platform project that the cluster+-- belongs to.+prcgProjectId :: Lens' ProjectsRegionsClustersGet Text+prcgProjectId+  = lens _prcgProjectId+      (\ s a -> s{_prcgProjectId = a})++-- | JSONP+prcgCallback :: Lens' ProjectsRegionsClustersGet (Maybe Text)+prcgCallback+  = lens _prcgCallback (\ s a -> s{_prcgCallback = a})++instance GoogleRequest ProjectsRegionsClustersGet+         where+        type Rs ProjectsRegionsClustersGet = Cluster+        type Scopes ProjectsRegionsClustersGet =+             '["https://www.googleapis.com/auth/cloud-platform"]+        requestClient ProjectsRegionsClustersGet'{..}+          = go _prcgProjectId _prcgRegion _prcgClusterName+              _prcgXgafv+              _prcgUploadProtocol+              (Just _prcgPp)+              _prcgAccessToken+              _prcgUploadType+              _prcgBearerToken+              _prcgCallback+              (Just AltJSON)+              dataprocService+          where go+                  = buildClient+                      (Proxy :: Proxy ProjectsRegionsClustersGetResource)+                      mempty
+ gen/Network/Google/Resource/Dataproc/Projects/Regions/Clusters/List.hs view
@@ -0,0 +1,217 @@+{-# 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.Dataproc.Projects.Regions.Clusters.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 all regions\/{region}\/clusters in a project.+--+-- /See:/ <https://cloud.google.com/dataproc/ Google Cloud Dataproc API Reference> for @dataproc.projects.regions.clusters.list@.+module Network.Google.Resource.Dataproc.Projects.Regions.Clusters.List+    (+    -- * REST Resource+      ProjectsRegionsClustersListResource++    -- * Creating a Request+    , projectsRegionsClustersList+    , ProjectsRegionsClustersList++    -- * Request Lenses+    , prclXgafv+    , prclUploadProtocol+    , prclPp+    , prclAccessToken+    , prclUploadType+    , prclBearerToken+    , prclRegion+    , prclPageToken+    , prclProjectId+    , prclPageSize+    , prclCallback+    ) where++import           Network.Google.Dataproc.Types+import           Network.Google.Prelude++-- | A resource alias for @dataproc.projects.regions.clusters.list@ method which the+-- 'ProjectsRegionsClustersList' request conforms to.+type ProjectsRegionsClustersListResource =+     "v1" :>+       "projects" :>+         Capture "projectId" Text :>+           "regions" :>+             Capture "region" Text :>+               "clusters" :>+                 QueryParam "$.xgafv" Text :>+                   QueryParam "upload_protocol" Text :>+                     QueryParam "pp" Bool :>+                       QueryParam "access_token" Text :>+                         QueryParam "uploadType" Text :>+                           QueryParam "bearer_token" Text :>+                             QueryParam "pageToken" Text :>+                               QueryParam "pageSize" (Textual Int32) :>+                                 QueryParam "callback" Text :>+                                   QueryParam "alt" AltJSON :>+                                     Get '[JSON] ListClustersResponse++-- | Lists all regions\/{region}\/clusters in a project.+--+-- /See:/ 'projectsRegionsClustersList' smart constructor.+data ProjectsRegionsClustersList = ProjectsRegionsClustersList'+    { _prclXgafv          :: !(Maybe Text)+    , _prclUploadProtocol :: !(Maybe Text)+    , _prclPp             :: !Bool+    , _prclAccessToken    :: !(Maybe Text)+    , _prclUploadType     :: !(Maybe Text)+    , _prclBearerToken    :: !(Maybe Text)+    , _prclRegion         :: !Text+    , _prclPageToken      :: !(Maybe Text)+    , _prclProjectId      :: !Text+    , _prclPageSize       :: !(Maybe (Textual Int32))+    , _prclCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProjectsRegionsClustersList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'prclXgafv'+--+-- * 'prclUploadProtocol'+--+-- * 'prclPp'+--+-- * 'prclAccessToken'+--+-- * 'prclUploadType'+--+-- * 'prclBearerToken'+--+-- * 'prclRegion'+--+-- * 'prclPageToken'+--+-- * 'prclProjectId'+--+-- * 'prclPageSize'+--+-- * 'prclCallback'+projectsRegionsClustersList+    :: Text -- ^ 'prclRegion'+    -> Text -- ^ 'prclProjectId'+    -> ProjectsRegionsClustersList+projectsRegionsClustersList pPrclRegion_ pPrclProjectId_ =+    ProjectsRegionsClustersList'+    { _prclXgafv = Nothing+    , _prclUploadProtocol = Nothing+    , _prclPp = True+    , _prclAccessToken = Nothing+    , _prclUploadType = Nothing+    , _prclBearerToken = Nothing+    , _prclRegion = pPrclRegion_+    , _prclPageToken = Nothing+    , _prclProjectId = pPrclProjectId_+    , _prclPageSize = Nothing+    , _prclCallback = Nothing+    }++-- | V1 error format.+prclXgafv :: Lens' ProjectsRegionsClustersList (Maybe Text)+prclXgafv+  = lens _prclXgafv (\ s a -> s{_prclXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+prclUploadProtocol :: Lens' ProjectsRegionsClustersList (Maybe Text)+prclUploadProtocol+  = lens _prclUploadProtocol+      (\ s a -> s{_prclUploadProtocol = a})++-- | Pretty-print response.+prclPp :: Lens' ProjectsRegionsClustersList Bool+prclPp = lens _prclPp (\ s a -> s{_prclPp = a})++-- | OAuth access token.+prclAccessToken :: Lens' ProjectsRegionsClustersList (Maybe Text)+prclAccessToken+  = lens _prclAccessToken+      (\ s a -> s{_prclAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+prclUploadType :: Lens' ProjectsRegionsClustersList (Maybe Text)+prclUploadType+  = lens _prclUploadType+      (\ s a -> s{_prclUploadType = a})++-- | OAuth bearer token.+prclBearerToken :: Lens' ProjectsRegionsClustersList (Maybe Text)+prclBearerToken+  = lens _prclBearerToken+      (\ s a -> s{_prclBearerToken = a})++-- | [Required] The Cloud Dataproc region in which to handle the request.+prclRegion :: Lens' ProjectsRegionsClustersList Text+prclRegion+  = lens _prclRegion (\ s a -> s{_prclRegion = a})++-- | The standard List page token.+prclPageToken :: Lens' ProjectsRegionsClustersList (Maybe Text)+prclPageToken+  = lens _prclPageToken+      (\ s a -> s{_prclPageToken = a})++-- | [Required] The ID of the Google Cloud Platform project that the cluster+-- belongs to.+prclProjectId :: Lens' ProjectsRegionsClustersList Text+prclProjectId+  = lens _prclProjectId+      (\ s a -> s{_prclProjectId = a})++-- | The standard List page size.+prclPageSize :: Lens' ProjectsRegionsClustersList (Maybe Int32)+prclPageSize+  = lens _prclPageSize (\ s a -> s{_prclPageSize = a})+      . mapping _Coerce++-- | JSONP+prclCallback :: Lens' ProjectsRegionsClustersList (Maybe Text)+prclCallback+  = lens _prclCallback (\ s a -> s{_prclCallback = a})++instance GoogleRequest ProjectsRegionsClustersList+         where+        type Rs ProjectsRegionsClustersList =+             ListClustersResponse+        type Scopes ProjectsRegionsClustersList =+             '["https://www.googleapis.com/auth/cloud-platform"]+        requestClient ProjectsRegionsClustersList'{..}+          = go _prclProjectId _prclRegion _prclXgafv+              _prclUploadProtocol+              (Just _prclPp)+              _prclAccessToken+              _prclUploadType+              _prclBearerToken+              _prclPageToken+              _prclPageSize+              _prclCallback+              (Just AltJSON)+              dataprocService+          where go+                  = buildClient+                      (Proxy :: Proxy ProjectsRegionsClustersListResource)+                      mempty
+ gen/Network/Google/Resource/Dataproc/Projects/Regions/Clusters/Patch.hs view
@@ -0,0 +1,242 @@+{-# 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.Dataproc.Projects.Regions.Clusters.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 cluster in a project.+--+-- /See:/ <https://cloud.google.com/dataproc/ Google Cloud Dataproc API Reference> for @dataproc.projects.regions.clusters.patch@.+module Network.Google.Resource.Dataproc.Projects.Regions.Clusters.Patch+    (+    -- * REST Resource+      ProjectsRegionsClustersPatchResource++    -- * Creating a Request+    , projectsRegionsClustersPatch+    , ProjectsRegionsClustersPatch++    -- * Request Lenses+    , prcpXgafv+    , prcpUploadProtocol+    , prcpUpdateMask+    , prcpPp+    , prcpAccessToken+    , prcpUploadType+    , prcpPayload+    , prcpBearerToken+    , prcpClusterName+    , prcpRegion+    , prcpProjectId+    , prcpCallback+    ) where++import           Network.Google.Dataproc.Types+import           Network.Google.Prelude++-- | A resource alias for @dataproc.projects.regions.clusters.patch@ method which the+-- 'ProjectsRegionsClustersPatch' request conforms to.+type ProjectsRegionsClustersPatchResource =+     "v1" :>+       "projects" :>+         Capture "projectId" Text :>+           "regions" :>+             Capture "region" Text :>+               "clusters" :>+                 Capture "clusterName" Text :>+                   QueryParam "$.xgafv" Text :>+                     QueryParam "upload_protocol" Text :>+                       QueryParam "updateMask" Text :>+                         QueryParam "pp" Bool :>+                           QueryParam "access_token" Text :>+                             QueryParam "uploadType" Text :>+                               QueryParam "bearer_token" Text :>+                                 QueryParam "callback" Text :>+                                   QueryParam "alt" AltJSON :>+                                     ReqBody '[JSON] Cluster :>+                                       Patch '[JSON] Operation++-- | Updates a cluster in a project.+--+-- /See:/ 'projectsRegionsClustersPatch' smart constructor.+data ProjectsRegionsClustersPatch = ProjectsRegionsClustersPatch'+    { _prcpXgafv          :: !(Maybe Text)+    , _prcpUploadProtocol :: !(Maybe Text)+    , _prcpUpdateMask     :: !(Maybe Text)+    , _prcpPp             :: !Bool+    , _prcpAccessToken    :: !(Maybe Text)+    , _prcpUploadType     :: !(Maybe Text)+    , _prcpPayload        :: !Cluster+    , _prcpBearerToken    :: !(Maybe Text)+    , _prcpClusterName    :: !Text+    , _prcpRegion         :: !Text+    , _prcpProjectId      :: !Text+    , _prcpCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProjectsRegionsClustersPatch' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'prcpXgafv'+--+-- * 'prcpUploadProtocol'+--+-- * 'prcpUpdateMask'+--+-- * 'prcpPp'+--+-- * 'prcpAccessToken'+--+-- * 'prcpUploadType'+--+-- * 'prcpPayload'+--+-- * 'prcpBearerToken'+--+-- * 'prcpClusterName'+--+-- * 'prcpRegion'+--+-- * 'prcpProjectId'+--+-- * 'prcpCallback'+projectsRegionsClustersPatch+    :: Cluster -- ^ 'prcpPayload'+    -> Text -- ^ 'prcpClusterName'+    -> Text -- ^ 'prcpRegion'+    -> Text -- ^ 'prcpProjectId'+    -> ProjectsRegionsClustersPatch+projectsRegionsClustersPatch pPrcpPayload_ pPrcpClusterName_ pPrcpRegion_ pPrcpProjectId_ =+    ProjectsRegionsClustersPatch'+    { _prcpXgafv = Nothing+    , _prcpUploadProtocol = Nothing+    , _prcpUpdateMask = Nothing+    , _prcpPp = True+    , _prcpAccessToken = Nothing+    , _prcpUploadType = Nothing+    , _prcpPayload = pPrcpPayload_+    , _prcpBearerToken = Nothing+    , _prcpClusterName = pPrcpClusterName_+    , _prcpRegion = pPrcpRegion_+    , _prcpProjectId = pPrcpProjectId_+    , _prcpCallback = Nothing+    }++-- | V1 error format.+prcpXgafv :: Lens' ProjectsRegionsClustersPatch (Maybe Text)+prcpXgafv+  = lens _prcpXgafv (\ s a -> s{_prcpXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+prcpUploadProtocol :: Lens' ProjectsRegionsClustersPatch (Maybe Text)+prcpUploadProtocol+  = lens _prcpUploadProtocol+      (\ s a -> s{_prcpUploadProtocol = a})++-- | [Required] Specifies the path, relative to Cluster, of the field to+-- update. For example, to change the number of workers in a cluster to 5,+-- the update_mask parameter would be specified as+-- config.worker_config.num_instances, and the \`PATCH\` request body would+-- specify the new value, as follows: { \"config\":{ \"workerConfig\":{+-- \"numInstances\":\"5\" } } } Similarly, to change the number of+-- preemptible workers in a cluster to 5, the update_mask parameter would+-- be config.secondary_worker_config.num_instances, and the \`PATCH\`+-- request body would be set as follows: { \"config\":{+-- \"secondaryWorkerConfig\":{ \"numInstances\":\"5\" } } } Note:+-- Currently, config.worker_config.num_instances and+-- config.secondary_worker_config.num_instances are the only fields that+-- can be updated.+prcpUpdateMask :: Lens' ProjectsRegionsClustersPatch (Maybe Text)+prcpUpdateMask+  = lens _prcpUpdateMask+      (\ s a -> s{_prcpUpdateMask = a})++-- | Pretty-print response.+prcpPp :: Lens' ProjectsRegionsClustersPatch Bool+prcpPp = lens _prcpPp (\ s a -> s{_prcpPp = a})++-- | OAuth access token.+prcpAccessToken :: Lens' ProjectsRegionsClustersPatch (Maybe Text)+prcpAccessToken+  = lens _prcpAccessToken+      (\ s a -> s{_prcpAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+prcpUploadType :: Lens' ProjectsRegionsClustersPatch (Maybe Text)+prcpUploadType+  = lens _prcpUploadType+      (\ s a -> s{_prcpUploadType = a})++-- | Multipart request metadata.+prcpPayload :: Lens' ProjectsRegionsClustersPatch Cluster+prcpPayload+  = lens _prcpPayload (\ s a -> s{_prcpPayload = a})++-- | OAuth bearer token.+prcpBearerToken :: Lens' ProjectsRegionsClustersPatch (Maybe Text)+prcpBearerToken+  = lens _prcpBearerToken+      (\ s a -> s{_prcpBearerToken = a})++-- | [Required] The cluster name.+prcpClusterName :: Lens' ProjectsRegionsClustersPatch Text+prcpClusterName+  = lens _prcpClusterName+      (\ s a -> s{_prcpClusterName = a})++-- | [Required] The Cloud Dataproc region in which to handle the request.+prcpRegion :: Lens' ProjectsRegionsClustersPatch Text+prcpRegion+  = lens _prcpRegion (\ s a -> s{_prcpRegion = a})++-- | [Required] The ID of the Google Cloud Platform project the cluster+-- belongs to.+prcpProjectId :: Lens' ProjectsRegionsClustersPatch Text+prcpProjectId+  = lens _prcpProjectId+      (\ s a -> s{_prcpProjectId = a})++-- | JSONP+prcpCallback :: Lens' ProjectsRegionsClustersPatch (Maybe Text)+prcpCallback+  = lens _prcpCallback (\ s a -> s{_prcpCallback = a})++instance GoogleRequest ProjectsRegionsClustersPatch+         where+        type Rs ProjectsRegionsClustersPatch = Operation+        type Scopes ProjectsRegionsClustersPatch =+             '["https://www.googleapis.com/auth/cloud-platform"]+        requestClient ProjectsRegionsClustersPatch'{..}+          = go _prcpProjectId _prcpRegion _prcpClusterName+              _prcpXgafv+              _prcpUploadProtocol+              _prcpUpdateMask+              (Just _prcpPp)+              _prcpAccessToken+              _prcpUploadType+              _prcpBearerToken+              _prcpCallback+              (Just AltJSON)+              _prcpPayload+              dataprocService+          where go+                  = buildClient+                      (Proxy :: Proxy ProjectsRegionsClustersPatchResource)+                      mempty
+ gen/Network/Google/Resource/Dataproc/Projects/Regions/Jobs/Cancel.hs view
@@ -0,0 +1,223 @@+{-# 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.Dataproc.Projects.Regions.Jobs.Cancel+-- 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)+--+-- Starts a job cancellation request. To access the job resource after+-- cancellation, call+-- [regions\/{region}\/jobs.list](\/dataproc\/reference\/rest\/v1\/projects.regions.jobs\/list)+-- or+-- [regions\/{region}\/jobs.get](\/dataproc\/reference\/rest\/v1\/projects.regions.jobs\/get).+--+-- /See:/ <https://cloud.google.com/dataproc/ Google Cloud Dataproc API Reference> for @dataproc.projects.regions.jobs.cancel@.+module Network.Google.Resource.Dataproc.Projects.Regions.Jobs.Cancel+    (+    -- * REST Resource+      ProjectsRegionsJobsCancelResource++    -- * Creating a Request+    , projectsRegionsJobsCancel+    , ProjectsRegionsJobsCancel++    -- * Request Lenses+    , prjcXgafv+    , prjcJobId+    , prjcUploadProtocol+    , prjcPp+    , prjcAccessToken+    , prjcUploadType+    , prjcPayload+    , prjcBearerToken+    , prjcRegion+    , prjcProjectId+    , prjcCallback+    ) where++import           Network.Google.Dataproc.Types+import           Network.Google.Prelude++-- | A resource alias for @dataproc.projects.regions.jobs.cancel@ method which the+-- 'ProjectsRegionsJobsCancel' request conforms to.+type ProjectsRegionsJobsCancelResource =+     "v1" :>+       "projects" :>+         Capture "projectId" Text :>+           "regions" :>+             Capture "region" Text :>+               "jobs" :>+                 CaptureMode "jobId" "cancel" Text :>+                   QueryParam "$.xgafv" Text :>+                     QueryParam "upload_protocol" Text :>+                       QueryParam "pp" Bool :>+                         QueryParam "access_token" Text :>+                           QueryParam "uploadType" Text :>+                             QueryParam "bearer_token" Text :>+                               QueryParam "callback" Text :>+                                 QueryParam "alt" AltJSON :>+                                   ReqBody '[JSON] CancelJobRequest :>+                                     Post '[JSON] Job++-- | Starts a job cancellation request. To access the job resource after+-- cancellation, call+-- [regions\/{region}\/jobs.list](\/dataproc\/reference\/rest\/v1\/projects.regions.jobs\/list)+-- or+-- [regions\/{region}\/jobs.get](\/dataproc\/reference\/rest\/v1\/projects.regions.jobs\/get).+--+-- /See:/ 'projectsRegionsJobsCancel' smart constructor.+data ProjectsRegionsJobsCancel = ProjectsRegionsJobsCancel'+    { _prjcXgafv          :: !(Maybe Text)+    , _prjcJobId          :: !Text+    , _prjcUploadProtocol :: !(Maybe Text)+    , _prjcPp             :: !Bool+    , _prjcAccessToken    :: !(Maybe Text)+    , _prjcUploadType     :: !(Maybe Text)+    , _prjcPayload        :: !CancelJobRequest+    , _prjcBearerToken    :: !(Maybe Text)+    , _prjcRegion         :: !Text+    , _prjcProjectId      :: !Text+    , _prjcCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProjectsRegionsJobsCancel' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'prjcXgafv'+--+-- * 'prjcJobId'+--+-- * 'prjcUploadProtocol'+--+-- * 'prjcPp'+--+-- * 'prjcAccessToken'+--+-- * 'prjcUploadType'+--+-- * 'prjcPayload'+--+-- * 'prjcBearerToken'+--+-- * 'prjcRegion'+--+-- * 'prjcProjectId'+--+-- * 'prjcCallback'+projectsRegionsJobsCancel+    :: Text -- ^ 'prjcJobId'+    -> CancelJobRequest -- ^ 'prjcPayload'+    -> Text -- ^ 'prjcRegion'+    -> Text -- ^ 'prjcProjectId'+    -> ProjectsRegionsJobsCancel+projectsRegionsJobsCancel pPrjcJobId_ pPrjcPayload_ pPrjcRegion_ pPrjcProjectId_ =+    ProjectsRegionsJobsCancel'+    { _prjcXgafv = Nothing+    , _prjcJobId = pPrjcJobId_+    , _prjcUploadProtocol = Nothing+    , _prjcPp = True+    , _prjcAccessToken = Nothing+    , _prjcUploadType = Nothing+    , _prjcPayload = pPrjcPayload_+    , _prjcBearerToken = Nothing+    , _prjcRegion = pPrjcRegion_+    , _prjcProjectId = pPrjcProjectId_+    , _prjcCallback = Nothing+    }++-- | V1 error format.+prjcXgafv :: Lens' ProjectsRegionsJobsCancel (Maybe Text)+prjcXgafv+  = lens _prjcXgafv (\ s a -> s{_prjcXgafv = a})++-- | [Required] The job ID.+prjcJobId :: Lens' ProjectsRegionsJobsCancel Text+prjcJobId+  = lens _prjcJobId (\ s a -> s{_prjcJobId = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+prjcUploadProtocol :: Lens' ProjectsRegionsJobsCancel (Maybe Text)+prjcUploadProtocol+  = lens _prjcUploadProtocol+      (\ s a -> s{_prjcUploadProtocol = a})++-- | Pretty-print response.+prjcPp :: Lens' ProjectsRegionsJobsCancel Bool+prjcPp = lens _prjcPp (\ s a -> s{_prjcPp = a})++-- | OAuth access token.+prjcAccessToken :: Lens' ProjectsRegionsJobsCancel (Maybe Text)+prjcAccessToken+  = lens _prjcAccessToken+      (\ s a -> s{_prjcAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+prjcUploadType :: Lens' ProjectsRegionsJobsCancel (Maybe Text)+prjcUploadType+  = lens _prjcUploadType+      (\ s a -> s{_prjcUploadType = a})++-- | Multipart request metadata.+prjcPayload :: Lens' ProjectsRegionsJobsCancel CancelJobRequest+prjcPayload+  = lens _prjcPayload (\ s a -> s{_prjcPayload = a})++-- | OAuth bearer token.+prjcBearerToken :: Lens' ProjectsRegionsJobsCancel (Maybe Text)+prjcBearerToken+  = lens _prjcBearerToken+      (\ s a -> s{_prjcBearerToken = a})++-- | [Required] The Cloud Dataproc region in which to handle the request.+prjcRegion :: Lens' ProjectsRegionsJobsCancel Text+prjcRegion+  = lens _prjcRegion (\ s a -> s{_prjcRegion = a})++-- | [Required] The ID of the Google Cloud Platform project that the job+-- belongs to.+prjcProjectId :: Lens' ProjectsRegionsJobsCancel Text+prjcProjectId+  = lens _prjcProjectId+      (\ s a -> s{_prjcProjectId = a})++-- | JSONP+prjcCallback :: Lens' ProjectsRegionsJobsCancel (Maybe Text)+prjcCallback+  = lens _prjcCallback (\ s a -> s{_prjcCallback = a})++instance GoogleRequest ProjectsRegionsJobsCancel+         where+        type Rs ProjectsRegionsJobsCancel = Job+        type Scopes ProjectsRegionsJobsCancel =+             '["https://www.googleapis.com/auth/cloud-platform"]+        requestClient ProjectsRegionsJobsCancel'{..}+          = go _prjcProjectId _prjcRegion _prjcJobId _prjcXgafv+              _prjcUploadProtocol+              (Just _prjcPp)+              _prjcAccessToken+              _prjcUploadType+              _prjcBearerToken+              _prjcCallback+              (Just AltJSON)+              _prjcPayload+              dataprocService+          where go+                  = buildClient+                      (Proxy :: Proxy ProjectsRegionsJobsCancelResource)+                      mempty
+ gen/Network/Google/Resource/Dataproc/Projects/Regions/Jobs/Delete.hs view
@@ -0,0 +1,204 @@+{-# 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.Dataproc.Projects.Regions.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 the job from the project. If the job is active, the delete+-- fails, and the response returns \`FAILED_PRECONDITION\`.+--+-- /See:/ <https://cloud.google.com/dataproc/ Google Cloud Dataproc API Reference> for @dataproc.projects.regions.jobs.delete@.+module Network.Google.Resource.Dataproc.Projects.Regions.Jobs.Delete+    (+    -- * REST Resource+      ProjectsRegionsJobsDeleteResource++    -- * Creating a Request+    , projectsRegionsJobsDelete+    , ProjectsRegionsJobsDelete++    -- * Request Lenses+    , prjdXgafv+    , prjdJobId+    , prjdUploadProtocol+    , prjdPp+    , prjdAccessToken+    , prjdUploadType+    , prjdBearerToken+    , prjdRegion+    , prjdProjectId+    , prjdCallback+    ) where++import           Network.Google.Dataproc.Types+import           Network.Google.Prelude++-- | A resource alias for @dataproc.projects.regions.jobs.delete@ method which the+-- 'ProjectsRegionsJobsDelete' request conforms to.+type ProjectsRegionsJobsDeleteResource =+     "v1" :>+       "projects" :>+         Capture "projectId" Text :>+           "regions" :>+             Capture "region" Text :>+               "jobs" :>+                 Capture "jobId" Text :>+                   QueryParam "$.xgafv" Text :>+                     QueryParam "upload_protocol" Text :>+                       QueryParam "pp" Bool :>+                         QueryParam "access_token" Text :>+                           QueryParam "uploadType" Text :>+                             QueryParam "bearer_token" Text :>+                               QueryParam "callback" Text :>+                                 QueryParam "alt" AltJSON :>+                                   Delete '[JSON] Empty++-- | Deletes the job from the project. If the job is active, the delete+-- fails, and the response returns \`FAILED_PRECONDITION\`.+--+-- /See:/ 'projectsRegionsJobsDelete' smart constructor.+data ProjectsRegionsJobsDelete = ProjectsRegionsJobsDelete'+    { _prjdXgafv          :: !(Maybe Text)+    , _prjdJobId          :: !Text+    , _prjdUploadProtocol :: !(Maybe Text)+    , _prjdPp             :: !Bool+    , _prjdAccessToken    :: !(Maybe Text)+    , _prjdUploadType     :: !(Maybe Text)+    , _prjdBearerToken    :: !(Maybe Text)+    , _prjdRegion         :: !Text+    , _prjdProjectId      :: !Text+    , _prjdCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProjectsRegionsJobsDelete' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'prjdXgafv'+--+-- * 'prjdJobId'+--+-- * 'prjdUploadProtocol'+--+-- * 'prjdPp'+--+-- * 'prjdAccessToken'+--+-- * 'prjdUploadType'+--+-- * 'prjdBearerToken'+--+-- * 'prjdRegion'+--+-- * 'prjdProjectId'+--+-- * 'prjdCallback'+projectsRegionsJobsDelete+    :: Text -- ^ 'prjdJobId'+    -> Text -- ^ 'prjdRegion'+    -> Text -- ^ 'prjdProjectId'+    -> ProjectsRegionsJobsDelete+projectsRegionsJobsDelete pPrjdJobId_ pPrjdRegion_ pPrjdProjectId_ =+    ProjectsRegionsJobsDelete'+    { _prjdXgafv = Nothing+    , _prjdJobId = pPrjdJobId_+    , _prjdUploadProtocol = Nothing+    , _prjdPp = True+    , _prjdAccessToken = Nothing+    , _prjdUploadType = Nothing+    , _prjdBearerToken = Nothing+    , _prjdRegion = pPrjdRegion_+    , _prjdProjectId = pPrjdProjectId_+    , _prjdCallback = Nothing+    }++-- | V1 error format.+prjdXgafv :: Lens' ProjectsRegionsJobsDelete (Maybe Text)+prjdXgafv+  = lens _prjdXgafv (\ s a -> s{_prjdXgafv = a})++-- | [Required] The job ID.+prjdJobId :: Lens' ProjectsRegionsJobsDelete Text+prjdJobId+  = lens _prjdJobId (\ s a -> s{_prjdJobId = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+prjdUploadProtocol :: Lens' ProjectsRegionsJobsDelete (Maybe Text)+prjdUploadProtocol+  = lens _prjdUploadProtocol+      (\ s a -> s{_prjdUploadProtocol = a})++-- | Pretty-print response.+prjdPp :: Lens' ProjectsRegionsJobsDelete Bool+prjdPp = lens _prjdPp (\ s a -> s{_prjdPp = a})++-- | OAuth access token.+prjdAccessToken :: Lens' ProjectsRegionsJobsDelete (Maybe Text)+prjdAccessToken+  = lens _prjdAccessToken+      (\ s a -> s{_prjdAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+prjdUploadType :: Lens' ProjectsRegionsJobsDelete (Maybe Text)+prjdUploadType+  = lens _prjdUploadType+      (\ s a -> s{_prjdUploadType = a})++-- | OAuth bearer token.+prjdBearerToken :: Lens' ProjectsRegionsJobsDelete (Maybe Text)+prjdBearerToken+  = lens _prjdBearerToken+      (\ s a -> s{_prjdBearerToken = a})++-- | [Required] The Cloud Dataproc region in which to handle the request.+prjdRegion :: Lens' ProjectsRegionsJobsDelete Text+prjdRegion+  = lens _prjdRegion (\ s a -> s{_prjdRegion = a})++-- | [Required] The ID of the Google Cloud Platform project that the job+-- belongs to.+prjdProjectId :: Lens' ProjectsRegionsJobsDelete Text+prjdProjectId+  = lens _prjdProjectId+      (\ s a -> s{_prjdProjectId = a})++-- | JSONP+prjdCallback :: Lens' ProjectsRegionsJobsDelete (Maybe Text)+prjdCallback+  = lens _prjdCallback (\ s a -> s{_prjdCallback = a})++instance GoogleRequest ProjectsRegionsJobsDelete+         where+        type Rs ProjectsRegionsJobsDelete = Empty+        type Scopes ProjectsRegionsJobsDelete =+             '["https://www.googleapis.com/auth/cloud-platform"]+        requestClient ProjectsRegionsJobsDelete'{..}+          = go _prjdProjectId _prjdRegion _prjdJobId _prjdXgafv+              _prjdUploadProtocol+              (Just _prjdPp)+              _prjdAccessToken+              _prjdUploadType+              _prjdBearerToken+              _prjdCallback+              (Just AltJSON)+              dataprocService+          where go+                  = buildClient+                      (Proxy :: Proxy ProjectsRegionsJobsDeleteResource)+                      mempty
+ gen/Network/Google/Resource/Dataproc/Projects/Regions/Jobs/Get.hs view
@@ -0,0 +1,200 @@+{-# 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.Dataproc.Projects.Regions.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 the resource representation for a job in a project.+--+-- /See:/ <https://cloud.google.com/dataproc/ Google Cloud Dataproc API Reference> for @dataproc.projects.regions.jobs.get@.+module Network.Google.Resource.Dataproc.Projects.Regions.Jobs.Get+    (+    -- * REST Resource+      ProjectsRegionsJobsGetResource++    -- * Creating a Request+    , projectsRegionsJobsGet+    , ProjectsRegionsJobsGet++    -- * Request Lenses+    , prjgXgafv+    , prjgJobId+    , prjgUploadProtocol+    , prjgPp+    , prjgAccessToken+    , prjgUploadType+    , prjgBearerToken+    , prjgRegion+    , prjgProjectId+    , prjgCallback+    ) where++import           Network.Google.Dataproc.Types+import           Network.Google.Prelude++-- | A resource alias for @dataproc.projects.regions.jobs.get@ method which the+-- 'ProjectsRegionsJobsGet' request conforms to.+type ProjectsRegionsJobsGetResource =+     "v1" :>+       "projects" :>+         Capture "projectId" Text :>+           "regions" :>+             Capture "region" Text :>+               "jobs" :>+                 Capture "jobId" Text :>+                   QueryParam "$.xgafv" Text :>+                     QueryParam "upload_protocol" Text :>+                       QueryParam "pp" Bool :>+                         QueryParam "access_token" Text :>+                           QueryParam "uploadType" Text :>+                             QueryParam "bearer_token" Text :>+                               QueryParam "callback" Text :>+                                 QueryParam "alt" AltJSON :> Get '[JSON] Job++-- | Gets the resource representation for a job in a project.+--+-- /See:/ 'projectsRegionsJobsGet' smart constructor.+data ProjectsRegionsJobsGet = ProjectsRegionsJobsGet'+    { _prjgXgafv          :: !(Maybe Text)+    , _prjgJobId          :: !Text+    , _prjgUploadProtocol :: !(Maybe Text)+    , _prjgPp             :: !Bool+    , _prjgAccessToken    :: !(Maybe Text)+    , _prjgUploadType     :: !(Maybe Text)+    , _prjgBearerToken    :: !(Maybe Text)+    , _prjgRegion         :: !Text+    , _prjgProjectId      :: !Text+    , _prjgCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProjectsRegionsJobsGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'prjgXgafv'+--+-- * 'prjgJobId'+--+-- * 'prjgUploadProtocol'+--+-- * 'prjgPp'+--+-- * 'prjgAccessToken'+--+-- * 'prjgUploadType'+--+-- * 'prjgBearerToken'+--+-- * 'prjgRegion'+--+-- * 'prjgProjectId'+--+-- * 'prjgCallback'+projectsRegionsJobsGet+    :: Text -- ^ 'prjgJobId'+    -> Text -- ^ 'prjgRegion'+    -> Text -- ^ 'prjgProjectId'+    -> ProjectsRegionsJobsGet+projectsRegionsJobsGet pPrjgJobId_ pPrjgRegion_ pPrjgProjectId_ =+    ProjectsRegionsJobsGet'+    { _prjgXgafv = Nothing+    , _prjgJobId = pPrjgJobId_+    , _prjgUploadProtocol = Nothing+    , _prjgPp = True+    , _prjgAccessToken = Nothing+    , _prjgUploadType = Nothing+    , _prjgBearerToken = Nothing+    , _prjgRegion = pPrjgRegion_+    , _prjgProjectId = pPrjgProjectId_+    , _prjgCallback = Nothing+    }++-- | V1 error format.+prjgXgafv :: Lens' ProjectsRegionsJobsGet (Maybe Text)+prjgXgafv+  = lens _prjgXgafv (\ s a -> s{_prjgXgafv = a})++-- | [Required] The job ID.+prjgJobId :: Lens' ProjectsRegionsJobsGet Text+prjgJobId+  = lens _prjgJobId (\ s a -> s{_prjgJobId = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+prjgUploadProtocol :: Lens' ProjectsRegionsJobsGet (Maybe Text)+prjgUploadProtocol+  = lens _prjgUploadProtocol+      (\ s a -> s{_prjgUploadProtocol = a})++-- | Pretty-print response.+prjgPp :: Lens' ProjectsRegionsJobsGet Bool+prjgPp = lens _prjgPp (\ s a -> s{_prjgPp = a})++-- | OAuth access token.+prjgAccessToken :: Lens' ProjectsRegionsJobsGet (Maybe Text)+prjgAccessToken+  = lens _prjgAccessToken+      (\ s a -> s{_prjgAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+prjgUploadType :: Lens' ProjectsRegionsJobsGet (Maybe Text)+prjgUploadType+  = lens _prjgUploadType+      (\ s a -> s{_prjgUploadType = a})++-- | OAuth bearer token.+prjgBearerToken :: Lens' ProjectsRegionsJobsGet (Maybe Text)+prjgBearerToken+  = lens _prjgBearerToken+      (\ s a -> s{_prjgBearerToken = a})++-- | [Required] The Cloud Dataproc region in which to handle the request.+prjgRegion :: Lens' ProjectsRegionsJobsGet Text+prjgRegion+  = lens _prjgRegion (\ s a -> s{_prjgRegion = a})++-- | [Required] The ID of the Google Cloud Platform project that the job+-- belongs to.+prjgProjectId :: Lens' ProjectsRegionsJobsGet Text+prjgProjectId+  = lens _prjgProjectId+      (\ s a -> s{_prjgProjectId = a})++-- | JSONP+prjgCallback :: Lens' ProjectsRegionsJobsGet (Maybe Text)+prjgCallback+  = lens _prjgCallback (\ s a -> s{_prjgCallback = a})++instance GoogleRequest ProjectsRegionsJobsGet where+        type Rs ProjectsRegionsJobsGet = Job+        type Scopes ProjectsRegionsJobsGet =+             '["https://www.googleapis.com/auth/cloud-platform"]+        requestClient ProjectsRegionsJobsGet'{..}+          = go _prjgProjectId _prjgRegion _prjgJobId _prjgXgafv+              _prjgUploadProtocol+              (Just _prjgPp)+              _prjgAccessToken+              _prjgUploadType+              _prjgBearerToken+              _prjgCallback+              (Just AltJSON)+              dataprocService+          where go+                  = buildClient+                      (Proxy :: Proxy ProjectsRegionsJobsGetResource)+                      mempty
+ gen/Network/Google/Resource/Dataproc/Projects/Regions/Jobs/List.hs view
@@ -0,0 +1,243 @@+{-# 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.Dataproc.Projects.Regions.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 regions\/{region}\/jobs in a project.+--+-- /See:/ <https://cloud.google.com/dataproc/ Google Cloud Dataproc API Reference> for @dataproc.projects.regions.jobs.list@.+module Network.Google.Resource.Dataproc.Projects.Regions.Jobs.List+    (+    -- * REST Resource+      ProjectsRegionsJobsListResource++    -- * Creating a Request+    , projectsRegionsJobsList+    , ProjectsRegionsJobsList++    -- * Request Lenses+    , prjlJobStateMatcher+    , prjlXgafv+    , prjlUploadProtocol+    , prjlPp+    , prjlAccessToken+    , prjlUploadType+    , prjlBearerToken+    , prjlClusterName+    , prjlRegion+    , prjlPageToken+    , prjlProjectId+    , prjlPageSize+    , prjlCallback+    ) where++import           Network.Google.Dataproc.Types+import           Network.Google.Prelude++-- | A resource alias for @dataproc.projects.regions.jobs.list@ method which the+-- 'ProjectsRegionsJobsList' request conforms to.+type ProjectsRegionsJobsListResource =+     "v1" :>+       "projects" :>+         Capture "projectId" Text :>+           "regions" :>+             Capture "region" Text :>+               "jobs" :>+                 QueryParam "jobStateMatcher" Text :>+                   QueryParam "$.xgafv" Text :>+                     QueryParam "upload_protocol" Text :>+                       QueryParam "pp" Bool :>+                         QueryParam "access_token" Text :>+                           QueryParam "uploadType" Text :>+                             QueryParam "bearer_token" Text :>+                               QueryParam "clusterName" Text :>+                                 QueryParam "pageToken" Text :>+                                   QueryParam "pageSize" (Textual Int32) :>+                                     QueryParam "callback" Text :>+                                       QueryParam "alt" AltJSON :>+                                         Get '[JSON] ListJobsResponse++-- | Lists regions\/{region}\/jobs in a project.+--+-- /See:/ 'projectsRegionsJobsList' smart constructor.+data ProjectsRegionsJobsList = ProjectsRegionsJobsList'+    { _prjlJobStateMatcher :: !(Maybe Text)+    , _prjlXgafv           :: !(Maybe Text)+    , _prjlUploadProtocol  :: !(Maybe Text)+    , _prjlPp              :: !Bool+    , _prjlAccessToken     :: !(Maybe Text)+    , _prjlUploadType      :: !(Maybe Text)+    , _prjlBearerToken     :: !(Maybe Text)+    , _prjlClusterName     :: !(Maybe Text)+    , _prjlRegion          :: !Text+    , _prjlPageToken       :: !(Maybe Text)+    , _prjlProjectId       :: !Text+    , _prjlPageSize        :: !(Maybe (Textual Int32))+    , _prjlCallback        :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProjectsRegionsJobsList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'prjlJobStateMatcher'+--+-- * 'prjlXgafv'+--+-- * 'prjlUploadProtocol'+--+-- * 'prjlPp'+--+-- * 'prjlAccessToken'+--+-- * 'prjlUploadType'+--+-- * 'prjlBearerToken'+--+-- * 'prjlClusterName'+--+-- * 'prjlRegion'+--+-- * 'prjlPageToken'+--+-- * 'prjlProjectId'+--+-- * 'prjlPageSize'+--+-- * 'prjlCallback'+projectsRegionsJobsList+    :: Text -- ^ 'prjlRegion'+    -> Text -- ^ 'prjlProjectId'+    -> ProjectsRegionsJobsList+projectsRegionsJobsList pPrjlRegion_ pPrjlProjectId_ =+    ProjectsRegionsJobsList'+    { _prjlJobStateMatcher = Nothing+    , _prjlXgafv = Nothing+    , _prjlUploadProtocol = Nothing+    , _prjlPp = True+    , _prjlAccessToken = Nothing+    , _prjlUploadType = Nothing+    , _prjlBearerToken = Nothing+    , _prjlClusterName = Nothing+    , _prjlRegion = pPrjlRegion_+    , _prjlPageToken = Nothing+    , _prjlProjectId = pPrjlProjectId_+    , _prjlPageSize = Nothing+    , _prjlCallback = Nothing+    }++-- | [Optional] Specifies enumerated categories of jobs to list.+prjlJobStateMatcher :: Lens' ProjectsRegionsJobsList (Maybe Text)+prjlJobStateMatcher+  = lens _prjlJobStateMatcher+      (\ s a -> s{_prjlJobStateMatcher = a})++-- | V1 error format.+prjlXgafv :: Lens' ProjectsRegionsJobsList (Maybe Text)+prjlXgafv+  = lens _prjlXgafv (\ s a -> s{_prjlXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+prjlUploadProtocol :: Lens' ProjectsRegionsJobsList (Maybe Text)+prjlUploadProtocol+  = lens _prjlUploadProtocol+      (\ s a -> s{_prjlUploadProtocol = a})++-- | Pretty-print response.+prjlPp :: Lens' ProjectsRegionsJobsList Bool+prjlPp = lens _prjlPp (\ s a -> s{_prjlPp = a})++-- | OAuth access token.+prjlAccessToken :: Lens' ProjectsRegionsJobsList (Maybe Text)+prjlAccessToken+  = lens _prjlAccessToken+      (\ s a -> s{_prjlAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+prjlUploadType :: Lens' ProjectsRegionsJobsList (Maybe Text)+prjlUploadType+  = lens _prjlUploadType+      (\ s a -> s{_prjlUploadType = a})++-- | OAuth bearer token.+prjlBearerToken :: Lens' ProjectsRegionsJobsList (Maybe Text)+prjlBearerToken+  = lens _prjlBearerToken+      (\ s a -> s{_prjlBearerToken = a})++-- | [Optional] If set, the returned jobs list includes only jobs that were+-- submitted to the named cluster.+prjlClusterName :: Lens' ProjectsRegionsJobsList (Maybe Text)+prjlClusterName+  = lens _prjlClusterName+      (\ s a -> s{_prjlClusterName = a})++-- | [Required] The Cloud Dataproc region in which to handle the request.+prjlRegion :: Lens' ProjectsRegionsJobsList Text+prjlRegion+  = lens _prjlRegion (\ s a -> s{_prjlRegion = a})++-- | [Optional] The page token, returned by a previous call, to request the+-- next page of results.+prjlPageToken :: Lens' ProjectsRegionsJobsList (Maybe Text)+prjlPageToken+  = lens _prjlPageToken+      (\ s a -> s{_prjlPageToken = a})++-- | [Required] The ID of the Google Cloud Platform project that the job+-- belongs to.+prjlProjectId :: Lens' ProjectsRegionsJobsList Text+prjlProjectId+  = lens _prjlProjectId+      (\ s a -> s{_prjlProjectId = a})++-- | [Optional] The number of results to return in each response.+prjlPageSize :: Lens' ProjectsRegionsJobsList (Maybe Int32)+prjlPageSize+  = lens _prjlPageSize (\ s a -> s{_prjlPageSize = a})+      . mapping _Coerce++-- | JSONP+prjlCallback :: Lens' ProjectsRegionsJobsList (Maybe Text)+prjlCallback+  = lens _prjlCallback (\ s a -> s{_prjlCallback = a})++instance GoogleRequest ProjectsRegionsJobsList where+        type Rs ProjectsRegionsJobsList = ListJobsResponse+        type Scopes ProjectsRegionsJobsList =+             '["https://www.googleapis.com/auth/cloud-platform"]+        requestClient ProjectsRegionsJobsList'{..}+          = go _prjlProjectId _prjlRegion _prjlJobStateMatcher+              _prjlXgafv+              _prjlUploadProtocol+              (Just _prjlPp)+              _prjlAccessToken+              _prjlUploadType+              _prjlBearerToken+              _prjlClusterName+              _prjlPageToken+              _prjlPageSize+              _prjlCallback+              (Just AltJSON)+              dataprocService+          where go+                  = buildClient+                      (Proxy :: Proxy ProjectsRegionsJobsListResource)+                      mempty
+ gen/Network/Google/Resource/Dataproc/Projects/Regions/Jobs/Submit.hs view
@@ -0,0 +1,203 @@+{-# 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.Dataproc.Projects.Regions.Jobs.Submit+-- 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)+--+-- Submits a job to a cluster.+--+-- /See:/ <https://cloud.google.com/dataproc/ Google Cloud Dataproc API Reference> for @dataproc.projects.regions.jobs.submit@.+module Network.Google.Resource.Dataproc.Projects.Regions.Jobs.Submit+    (+    -- * REST Resource+      ProjectsRegionsJobsSubmitResource++    -- * Creating a Request+    , projectsRegionsJobsSubmit+    , ProjectsRegionsJobsSubmit++    -- * Request Lenses+    , prjsXgafv+    , prjsUploadProtocol+    , prjsPp+    , prjsAccessToken+    , prjsUploadType+    , prjsPayload+    , prjsBearerToken+    , prjsRegion+    , prjsProjectId+    , prjsCallback+    ) where++import           Network.Google.Dataproc.Types+import           Network.Google.Prelude++-- | A resource alias for @dataproc.projects.regions.jobs.submit@ method which the+-- 'ProjectsRegionsJobsSubmit' request conforms to.+type ProjectsRegionsJobsSubmitResource =+     "v1" :>+       "projects" :>+         Capture "projectId" Text :>+           "regions" :>+             Capture "region" Text :>+               "jobs:submit" :>+                 QueryParam "$.xgafv" Text :>+                   QueryParam "upload_protocol" Text :>+                     QueryParam "pp" Bool :>+                       QueryParam "access_token" Text :>+                         QueryParam "uploadType" Text :>+                           QueryParam "bearer_token" Text :>+                             QueryParam "callback" Text :>+                               QueryParam "alt" AltJSON :>+                                 ReqBody '[JSON] SubmitJobRequest :>+                                   Post '[JSON] Job++-- | Submits a job to a cluster.+--+-- /See:/ 'projectsRegionsJobsSubmit' smart constructor.+data ProjectsRegionsJobsSubmit = ProjectsRegionsJobsSubmit'+    { _prjsXgafv          :: !(Maybe Text)+    , _prjsUploadProtocol :: !(Maybe Text)+    , _prjsPp             :: !Bool+    , _prjsAccessToken    :: !(Maybe Text)+    , _prjsUploadType     :: !(Maybe Text)+    , _prjsPayload        :: !SubmitJobRequest+    , _prjsBearerToken    :: !(Maybe Text)+    , _prjsRegion         :: !Text+    , _prjsProjectId      :: !Text+    , _prjsCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProjectsRegionsJobsSubmit' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'prjsXgafv'+--+-- * 'prjsUploadProtocol'+--+-- * 'prjsPp'+--+-- * 'prjsAccessToken'+--+-- * 'prjsUploadType'+--+-- * 'prjsPayload'+--+-- * 'prjsBearerToken'+--+-- * 'prjsRegion'+--+-- * 'prjsProjectId'+--+-- * 'prjsCallback'+projectsRegionsJobsSubmit+    :: SubmitJobRequest -- ^ 'prjsPayload'+    -> Text -- ^ 'prjsRegion'+    -> Text -- ^ 'prjsProjectId'+    -> ProjectsRegionsJobsSubmit+projectsRegionsJobsSubmit pPrjsPayload_ pPrjsRegion_ pPrjsProjectId_ =+    ProjectsRegionsJobsSubmit'+    { _prjsXgafv = Nothing+    , _prjsUploadProtocol = Nothing+    , _prjsPp = True+    , _prjsAccessToken = Nothing+    , _prjsUploadType = Nothing+    , _prjsPayload = pPrjsPayload_+    , _prjsBearerToken = Nothing+    , _prjsRegion = pPrjsRegion_+    , _prjsProjectId = pPrjsProjectId_+    , _prjsCallback = Nothing+    }++-- | V1 error format.+prjsXgafv :: Lens' ProjectsRegionsJobsSubmit (Maybe Text)+prjsXgafv+  = lens _prjsXgafv (\ s a -> s{_prjsXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+prjsUploadProtocol :: Lens' ProjectsRegionsJobsSubmit (Maybe Text)+prjsUploadProtocol+  = lens _prjsUploadProtocol+      (\ s a -> s{_prjsUploadProtocol = a})++-- | Pretty-print response.+prjsPp :: Lens' ProjectsRegionsJobsSubmit Bool+prjsPp = lens _prjsPp (\ s a -> s{_prjsPp = a})++-- | OAuth access token.+prjsAccessToken :: Lens' ProjectsRegionsJobsSubmit (Maybe Text)+prjsAccessToken+  = lens _prjsAccessToken+      (\ s a -> s{_prjsAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+prjsUploadType :: Lens' ProjectsRegionsJobsSubmit (Maybe Text)+prjsUploadType+  = lens _prjsUploadType+      (\ s a -> s{_prjsUploadType = a})++-- | Multipart request metadata.+prjsPayload :: Lens' ProjectsRegionsJobsSubmit SubmitJobRequest+prjsPayload+  = lens _prjsPayload (\ s a -> s{_prjsPayload = a})++-- | OAuth bearer token.+prjsBearerToken :: Lens' ProjectsRegionsJobsSubmit (Maybe Text)+prjsBearerToken+  = lens _prjsBearerToken+      (\ s a -> s{_prjsBearerToken = a})++-- | [Required] The Cloud Dataproc region in which to handle the request.+prjsRegion :: Lens' ProjectsRegionsJobsSubmit Text+prjsRegion+  = lens _prjsRegion (\ s a -> s{_prjsRegion = a})++-- | [Required] The ID of the Google Cloud Platform project that the job+-- belongs to.+prjsProjectId :: Lens' ProjectsRegionsJobsSubmit Text+prjsProjectId+  = lens _prjsProjectId+      (\ s a -> s{_prjsProjectId = a})++-- | JSONP+prjsCallback :: Lens' ProjectsRegionsJobsSubmit (Maybe Text)+prjsCallback+  = lens _prjsCallback (\ s a -> s{_prjsCallback = a})++instance GoogleRequest ProjectsRegionsJobsSubmit+         where+        type Rs ProjectsRegionsJobsSubmit = Job+        type Scopes ProjectsRegionsJobsSubmit =+             '["https://www.googleapis.com/auth/cloud-platform"]+        requestClient ProjectsRegionsJobsSubmit'{..}+          = go _prjsProjectId _prjsRegion _prjsXgafv+              _prjsUploadProtocol+              (Just _prjsPp)+              _prjsAccessToken+              _prjsUploadType+              _prjsBearerToken+              _prjsCallback+              (Just AltJSON)+              _prjsPayload+              dataprocService+          where go+                  = buildClient+                      (Proxy :: Proxy ProjectsRegionsJobsSubmitResource)+                      mempty
+ gen/Network/Google/Resource/Dataproc/Projects/Regions/Operations/Cancel.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.Dataproc.Projects.Regions.Operations.Cancel+-- 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)+--+-- Starts asynchronous cancellation on a long-running operation. The server+-- makes a best effort to cancel the operation, but success is not+-- guaranteed. If the server doesn\'t support this method, it returns+-- \`google.rpc.Code.UNIMPLEMENTED\`. Clients can use+-- Operations.GetOperation or other methods to check whether the+-- cancellation succeeded or whether the operation completed despite+-- cancellation.+--+-- /See:/ <https://cloud.google.com/dataproc/ Google Cloud Dataproc API Reference> for @dataproc.projects.regions.operations.cancel@.+module Network.Google.Resource.Dataproc.Projects.Regions.Operations.Cancel+    (+    -- * REST Resource+      ProjectsRegionsOperationsCancelResource++    -- * Creating a Request+    , projectsRegionsOperationsCancel+    , ProjectsRegionsOperationsCancel++    -- * Request Lenses+    , procXgafv+    , procUploadProtocol+    , procPp+    , procAccessToken+    , procUploadType+    , procBearerToken+    , procName+    , procCallback+    ) where++import           Network.Google.Dataproc.Types+import           Network.Google.Prelude++-- | A resource alias for @dataproc.projects.regions.operations.cancel@ method which the+-- 'ProjectsRegionsOperationsCancel' request conforms to.+type ProjectsRegionsOperationsCancelResource =+     "v1" :>+       CaptureMode "name" "cancel" Text :>+         QueryParam "$.xgafv" Text :>+           QueryParam "upload_protocol" Text :>+             QueryParam "pp" Bool :>+               QueryParam "access_token" Text :>+                 QueryParam "uploadType" Text :>+                   QueryParam "bearer_token" Text :>+                     QueryParam "callback" Text :>+                       QueryParam "alt" AltJSON :> Post '[JSON] Empty++-- | Starts asynchronous cancellation on a long-running operation. The server+-- makes a best effort to cancel the operation, but success is not+-- guaranteed. If the server doesn\'t support this method, it returns+-- \`google.rpc.Code.UNIMPLEMENTED\`. Clients can use+-- Operations.GetOperation or other methods to check whether the+-- cancellation succeeded or whether the operation completed despite+-- cancellation.+--+-- /See:/ 'projectsRegionsOperationsCancel' smart constructor.+data ProjectsRegionsOperationsCancel = ProjectsRegionsOperationsCancel'+    { _procXgafv          :: !(Maybe Text)+    , _procUploadProtocol :: !(Maybe Text)+    , _procPp             :: !Bool+    , _procAccessToken    :: !(Maybe Text)+    , _procUploadType     :: !(Maybe Text)+    , _procBearerToken    :: !(Maybe Text)+    , _procName           :: !Text+    , _procCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProjectsRegionsOperationsCancel' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'procXgafv'+--+-- * 'procUploadProtocol'+--+-- * 'procPp'+--+-- * 'procAccessToken'+--+-- * 'procUploadType'+--+-- * 'procBearerToken'+--+-- * 'procName'+--+-- * 'procCallback'+projectsRegionsOperationsCancel+    :: Text -- ^ 'procName'+    -> ProjectsRegionsOperationsCancel+projectsRegionsOperationsCancel pProcName_ =+    ProjectsRegionsOperationsCancel'+    { _procXgafv = Nothing+    , _procUploadProtocol = Nothing+    , _procPp = True+    , _procAccessToken = Nothing+    , _procUploadType = Nothing+    , _procBearerToken = Nothing+    , _procName = pProcName_+    , _procCallback = Nothing+    }++-- | V1 error format.+procXgafv :: Lens' ProjectsRegionsOperationsCancel (Maybe Text)+procXgafv+  = lens _procXgafv (\ s a -> s{_procXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+procUploadProtocol :: Lens' ProjectsRegionsOperationsCancel (Maybe Text)+procUploadProtocol+  = lens _procUploadProtocol+      (\ s a -> s{_procUploadProtocol = a})++-- | Pretty-print response.+procPp :: Lens' ProjectsRegionsOperationsCancel Bool+procPp = lens _procPp (\ s a -> s{_procPp = a})++-- | OAuth access token.+procAccessToken :: Lens' ProjectsRegionsOperationsCancel (Maybe Text)+procAccessToken+  = lens _procAccessToken+      (\ s a -> s{_procAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+procUploadType :: Lens' ProjectsRegionsOperationsCancel (Maybe Text)+procUploadType+  = lens _procUploadType+      (\ s a -> s{_procUploadType = a})++-- | OAuth bearer token.+procBearerToken :: Lens' ProjectsRegionsOperationsCancel (Maybe Text)+procBearerToken+  = lens _procBearerToken+      (\ s a -> s{_procBearerToken = a})++-- | The name of the operation resource to be cancelled.+procName :: Lens' ProjectsRegionsOperationsCancel Text+procName = lens _procName (\ s a -> s{_procName = a})++-- | JSONP+procCallback :: Lens' ProjectsRegionsOperationsCancel (Maybe Text)+procCallback+  = lens _procCallback (\ s a -> s{_procCallback = a})++instance GoogleRequest+         ProjectsRegionsOperationsCancel where+        type Rs ProjectsRegionsOperationsCancel = Empty+        type Scopes ProjectsRegionsOperationsCancel =+             '["https://www.googleapis.com/auth/cloud-platform"]+        requestClient ProjectsRegionsOperationsCancel'{..}+          = go _procName _procXgafv _procUploadProtocol+              (Just _procPp)+              _procAccessToken+              _procUploadType+              _procBearerToken+              _procCallback+              (Just AltJSON)+              dataprocService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy ProjectsRegionsOperationsCancelResource)+                      mempty
+ gen/Network/Google/Resource/Dataproc/Projects/Regions/Operations/Delete.hs view
@@ -0,0 +1,177 @@+{-# 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.Dataproc.Projects.Regions.Operations.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 long-running operation. This method indicates that the client+-- is no longer interested in the operation result. It does not cancel the+-- operation. If the server doesn\'t support this method, it returns+-- \`google.rpc.Code.UNIMPLEMENTED\`.+--+-- /See:/ <https://cloud.google.com/dataproc/ Google Cloud Dataproc API Reference> for @dataproc.projects.regions.operations.delete@.+module Network.Google.Resource.Dataproc.Projects.Regions.Operations.Delete+    (+    -- * REST Resource+      ProjectsRegionsOperationsDeleteResource++    -- * Creating a Request+    , projectsRegionsOperationsDelete+    , ProjectsRegionsOperationsDelete++    -- * Request Lenses+    , prodXgafv+    , prodUploadProtocol+    , prodPp+    , prodAccessToken+    , prodUploadType+    , prodBearerToken+    , prodName+    , prodCallback+    ) where++import           Network.Google.Dataproc.Types+import           Network.Google.Prelude++-- | A resource alias for @dataproc.projects.regions.operations.delete@ method which the+-- 'ProjectsRegionsOperationsDelete' request conforms to.+type ProjectsRegionsOperationsDeleteResource =+     "v1" :>+       Capture "name" Text :>+         QueryParam "$.xgafv" Text :>+           QueryParam "upload_protocol" Text :>+             QueryParam "pp" Bool :>+               QueryParam "access_token" Text :>+                 QueryParam "uploadType" Text :>+                   QueryParam "bearer_token" Text :>+                     QueryParam "callback" Text :>+                       QueryParam "alt" AltJSON :> Delete '[JSON] Empty++-- | Deletes a long-running operation. This method indicates that the client+-- is no longer interested in the operation result. It does not cancel the+-- operation. If the server doesn\'t support this method, it returns+-- \`google.rpc.Code.UNIMPLEMENTED\`.+--+-- /See:/ 'projectsRegionsOperationsDelete' smart constructor.+data ProjectsRegionsOperationsDelete = ProjectsRegionsOperationsDelete'+    { _prodXgafv          :: !(Maybe Text)+    , _prodUploadProtocol :: !(Maybe Text)+    , _prodPp             :: !Bool+    , _prodAccessToken    :: !(Maybe Text)+    , _prodUploadType     :: !(Maybe Text)+    , _prodBearerToken    :: !(Maybe Text)+    , _prodName           :: !Text+    , _prodCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProjectsRegionsOperationsDelete' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'prodXgafv'+--+-- * 'prodUploadProtocol'+--+-- * 'prodPp'+--+-- * 'prodAccessToken'+--+-- * 'prodUploadType'+--+-- * 'prodBearerToken'+--+-- * 'prodName'+--+-- * 'prodCallback'+projectsRegionsOperationsDelete+    :: Text -- ^ 'prodName'+    -> ProjectsRegionsOperationsDelete+projectsRegionsOperationsDelete pProdName_ =+    ProjectsRegionsOperationsDelete'+    { _prodXgafv = Nothing+    , _prodUploadProtocol = Nothing+    , _prodPp = True+    , _prodAccessToken = Nothing+    , _prodUploadType = Nothing+    , _prodBearerToken = Nothing+    , _prodName = pProdName_+    , _prodCallback = Nothing+    }++-- | V1 error format.+prodXgafv :: Lens' ProjectsRegionsOperationsDelete (Maybe Text)+prodXgafv+  = lens _prodXgafv (\ s a -> s{_prodXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+prodUploadProtocol :: Lens' ProjectsRegionsOperationsDelete (Maybe Text)+prodUploadProtocol+  = lens _prodUploadProtocol+      (\ s a -> s{_prodUploadProtocol = a})++-- | Pretty-print response.+prodPp :: Lens' ProjectsRegionsOperationsDelete Bool+prodPp = lens _prodPp (\ s a -> s{_prodPp = a})++-- | OAuth access token.+prodAccessToken :: Lens' ProjectsRegionsOperationsDelete (Maybe Text)+prodAccessToken+  = lens _prodAccessToken+      (\ s a -> s{_prodAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+prodUploadType :: Lens' ProjectsRegionsOperationsDelete (Maybe Text)+prodUploadType+  = lens _prodUploadType+      (\ s a -> s{_prodUploadType = a})++-- | OAuth bearer token.+prodBearerToken :: Lens' ProjectsRegionsOperationsDelete (Maybe Text)+prodBearerToken+  = lens _prodBearerToken+      (\ s a -> s{_prodBearerToken = a})++-- | The name of the operation resource to be deleted.+prodName :: Lens' ProjectsRegionsOperationsDelete Text+prodName = lens _prodName (\ s a -> s{_prodName = a})++-- | JSONP+prodCallback :: Lens' ProjectsRegionsOperationsDelete (Maybe Text)+prodCallback+  = lens _prodCallback (\ s a -> s{_prodCallback = a})++instance GoogleRequest+         ProjectsRegionsOperationsDelete where+        type Rs ProjectsRegionsOperationsDelete = Empty+        type Scopes ProjectsRegionsOperationsDelete =+             '["https://www.googleapis.com/auth/cloud-platform"]+        requestClient ProjectsRegionsOperationsDelete'{..}+          = go _prodName _prodXgafv _prodUploadProtocol+              (Just _prodPp)+              _prodAccessToken+              _prodUploadType+              _prodBearerToken+              _prodCallback+              (Just AltJSON)+              dataprocService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy ProjectsRegionsOperationsDeleteResource)+                      mempty
+ gen/Network/Google/Resource/Dataproc/Projects/Regions/Operations/Get.hs view
@@ -0,0 +1,174 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.Dataproc.Projects.Regions.Operations.Get+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Gets the latest state of a long-running operation. Clients can use this+-- method to poll the operation result at intervals as recommended by the+-- API service.+--+-- /See:/ <https://cloud.google.com/dataproc/ Google Cloud Dataproc API Reference> for @dataproc.projects.regions.operations.get@.+module Network.Google.Resource.Dataproc.Projects.Regions.Operations.Get+    (+    -- * REST Resource+      ProjectsRegionsOperationsGetResource++    -- * Creating a Request+    , projectsRegionsOperationsGet+    , ProjectsRegionsOperationsGet++    -- * Request Lenses+    , progXgafv+    , progUploadProtocol+    , progPp+    , progAccessToken+    , progUploadType+    , progBearerToken+    , progName+    , progCallback+    ) where++import           Network.Google.Dataproc.Types+import           Network.Google.Prelude++-- | A resource alias for @dataproc.projects.regions.operations.get@ method which the+-- 'ProjectsRegionsOperationsGet' request conforms to.+type ProjectsRegionsOperationsGetResource =+     "v1" :>+       Capture "name" Text :>+         QueryParam "$.xgafv" Text :>+           QueryParam "upload_protocol" Text :>+             QueryParam "pp" Bool :>+               QueryParam "access_token" Text :>+                 QueryParam "uploadType" Text :>+                   QueryParam "bearer_token" Text :>+                     QueryParam "callback" Text :>+                       QueryParam "alt" AltJSON :> Get '[JSON] Operation++-- | Gets the latest state of a long-running operation. Clients can use this+-- method to poll the operation result at intervals as recommended by the+-- API service.+--+-- /See:/ 'projectsRegionsOperationsGet' smart constructor.+data ProjectsRegionsOperationsGet = ProjectsRegionsOperationsGet'+    { _progXgafv          :: !(Maybe Text)+    , _progUploadProtocol :: !(Maybe Text)+    , _progPp             :: !Bool+    , _progAccessToken    :: !(Maybe Text)+    , _progUploadType     :: !(Maybe Text)+    , _progBearerToken    :: !(Maybe Text)+    , _progName           :: !Text+    , _progCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProjectsRegionsOperationsGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'progXgafv'+--+-- * 'progUploadProtocol'+--+-- * 'progPp'+--+-- * 'progAccessToken'+--+-- * 'progUploadType'+--+-- * 'progBearerToken'+--+-- * 'progName'+--+-- * 'progCallback'+projectsRegionsOperationsGet+    :: Text -- ^ 'progName'+    -> ProjectsRegionsOperationsGet+projectsRegionsOperationsGet pProgName_ =+    ProjectsRegionsOperationsGet'+    { _progXgafv = Nothing+    , _progUploadProtocol = Nothing+    , _progPp = True+    , _progAccessToken = Nothing+    , _progUploadType = Nothing+    , _progBearerToken = Nothing+    , _progName = pProgName_+    , _progCallback = Nothing+    }++-- | V1 error format.+progXgafv :: Lens' ProjectsRegionsOperationsGet (Maybe Text)+progXgafv+  = lens _progXgafv (\ s a -> s{_progXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+progUploadProtocol :: Lens' ProjectsRegionsOperationsGet (Maybe Text)+progUploadProtocol+  = lens _progUploadProtocol+      (\ s a -> s{_progUploadProtocol = a})++-- | Pretty-print response.+progPp :: Lens' ProjectsRegionsOperationsGet Bool+progPp = lens _progPp (\ s a -> s{_progPp = a})++-- | OAuth access token.+progAccessToken :: Lens' ProjectsRegionsOperationsGet (Maybe Text)+progAccessToken+  = lens _progAccessToken+      (\ s a -> s{_progAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+progUploadType :: Lens' ProjectsRegionsOperationsGet (Maybe Text)+progUploadType+  = lens _progUploadType+      (\ s a -> s{_progUploadType = a})++-- | OAuth bearer token.+progBearerToken :: Lens' ProjectsRegionsOperationsGet (Maybe Text)+progBearerToken+  = lens _progBearerToken+      (\ s a -> s{_progBearerToken = a})++-- | The name of the operation resource.+progName :: Lens' ProjectsRegionsOperationsGet Text+progName = lens _progName (\ s a -> s{_progName = a})++-- | JSONP+progCallback :: Lens' ProjectsRegionsOperationsGet (Maybe Text)+progCallback+  = lens _progCallback (\ s a -> s{_progCallback = a})++instance GoogleRequest ProjectsRegionsOperationsGet+         where+        type Rs ProjectsRegionsOperationsGet = Operation+        type Scopes ProjectsRegionsOperationsGet =+             '["https://www.googleapis.com/auth/cloud-platform"]+        requestClient ProjectsRegionsOperationsGet'{..}+          = go _progName _progXgafv _progUploadProtocol+              (Just _progPp)+              _progAccessToken+              _progUploadType+              _progBearerToken+              _progCallback+              (Just AltJSON)+              dataprocService+          where go+                  = buildClient+                      (Proxy :: Proxy ProjectsRegionsOperationsGetResource)+                      mempty
+ gen/Network/Google/Resource/Dataproc/Projects/Regions/Operations/List.hs view
@@ -0,0 +1,219 @@+{-# 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.Dataproc.Projects.Regions.Operations.List+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists operations that match the specified filter in the request. If the+-- server doesn\'t support this method, it returns \`UNIMPLEMENTED\`. NOTE:+-- the \`name\` binding below allows API services to override the binding+-- to use different resource name schemes, such as+-- \`users\/*\/operations\`.+--+-- /See:/ <https://cloud.google.com/dataproc/ Google Cloud Dataproc API Reference> for @dataproc.projects.regions.operations.list@.+module Network.Google.Resource.Dataproc.Projects.Regions.Operations.List+    (+    -- * REST Resource+      ProjectsRegionsOperationsListResource++    -- * Creating a Request+    , projectsRegionsOperationsList+    , ProjectsRegionsOperationsList++    -- * Request Lenses+    , prolXgafv+    , prolUploadProtocol+    , prolPp+    , prolAccessToken+    , prolUploadType+    , prolBearerToken+    , prolName+    , prolFilter+    , prolPageToken+    , prolPageSize+    , prolCallback+    ) where++import           Network.Google.Dataproc.Types+import           Network.Google.Prelude++-- | A resource alias for @dataproc.projects.regions.operations.list@ method which the+-- 'ProjectsRegionsOperationsList' request conforms to.+type ProjectsRegionsOperationsListResource =+     "v1" :>+       Capture "name" Text :>+         QueryParam "$.xgafv" Text :>+           QueryParam "upload_protocol" Text :>+             QueryParam "pp" Bool :>+               QueryParam "access_token" Text :>+                 QueryParam "uploadType" Text :>+                   QueryParam "bearer_token" Text :>+                     QueryParam "filter" Text :>+                       QueryParam "pageToken" Text :>+                         QueryParam "pageSize" (Textual Int32) :>+                           QueryParam "callback" Text :>+                             QueryParam "alt" AltJSON :>+                               Get '[JSON] ListOperationsResponse++-- | Lists operations that match the specified filter in the request. If the+-- server doesn\'t support this method, it returns \`UNIMPLEMENTED\`. NOTE:+-- the \`name\` binding below allows API services to override the binding+-- to use different resource name schemes, such as+-- \`users\/*\/operations\`.+--+-- /See:/ 'projectsRegionsOperationsList' smart constructor.+data ProjectsRegionsOperationsList = ProjectsRegionsOperationsList'+    { _prolXgafv          :: !(Maybe Text)+    , _prolUploadProtocol :: !(Maybe Text)+    , _prolPp             :: !Bool+    , _prolAccessToken    :: !(Maybe Text)+    , _prolUploadType     :: !(Maybe Text)+    , _prolBearerToken    :: !(Maybe Text)+    , _prolName           :: !Text+    , _prolFilter         :: !(Maybe Text)+    , _prolPageToken      :: !(Maybe Text)+    , _prolPageSize       :: !(Maybe (Textual Int32))+    , _prolCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProjectsRegionsOperationsList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'prolXgafv'+--+-- * 'prolUploadProtocol'+--+-- * 'prolPp'+--+-- * 'prolAccessToken'+--+-- * 'prolUploadType'+--+-- * 'prolBearerToken'+--+-- * 'prolName'+--+-- * 'prolFilter'+--+-- * 'prolPageToken'+--+-- * 'prolPageSize'+--+-- * 'prolCallback'+projectsRegionsOperationsList+    :: Text -- ^ 'prolName'+    -> ProjectsRegionsOperationsList+projectsRegionsOperationsList pProlName_ =+    ProjectsRegionsOperationsList'+    { _prolXgafv = Nothing+    , _prolUploadProtocol = Nothing+    , _prolPp = True+    , _prolAccessToken = Nothing+    , _prolUploadType = Nothing+    , _prolBearerToken = Nothing+    , _prolName = pProlName_+    , _prolFilter = Nothing+    , _prolPageToken = Nothing+    , _prolPageSize = Nothing+    , _prolCallback = Nothing+    }++-- | V1 error format.+prolXgafv :: Lens' ProjectsRegionsOperationsList (Maybe Text)+prolXgafv+  = lens _prolXgafv (\ s a -> s{_prolXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+prolUploadProtocol :: Lens' ProjectsRegionsOperationsList (Maybe Text)+prolUploadProtocol+  = lens _prolUploadProtocol+      (\ s a -> s{_prolUploadProtocol = a})++-- | Pretty-print response.+prolPp :: Lens' ProjectsRegionsOperationsList Bool+prolPp = lens _prolPp (\ s a -> s{_prolPp = a})++-- | OAuth access token.+prolAccessToken :: Lens' ProjectsRegionsOperationsList (Maybe Text)+prolAccessToken+  = lens _prolAccessToken+      (\ s a -> s{_prolAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+prolUploadType :: Lens' ProjectsRegionsOperationsList (Maybe Text)+prolUploadType+  = lens _prolUploadType+      (\ s a -> s{_prolUploadType = a})++-- | OAuth bearer token.+prolBearerToken :: Lens' ProjectsRegionsOperationsList (Maybe Text)+prolBearerToken+  = lens _prolBearerToken+      (\ s a -> s{_prolBearerToken = a})++-- | The name of the operation collection.+prolName :: Lens' ProjectsRegionsOperationsList Text+prolName = lens _prolName (\ s a -> s{_prolName = a})++-- | The standard list filter.+prolFilter :: Lens' ProjectsRegionsOperationsList (Maybe Text)+prolFilter+  = lens _prolFilter (\ s a -> s{_prolFilter = a})++-- | The standard list page token.+prolPageToken :: Lens' ProjectsRegionsOperationsList (Maybe Text)+prolPageToken+  = lens _prolPageToken+      (\ s a -> s{_prolPageToken = a})++-- | The standard list page size.+prolPageSize :: Lens' ProjectsRegionsOperationsList (Maybe Int32)+prolPageSize+  = lens _prolPageSize (\ s a -> s{_prolPageSize = a})+      . mapping _Coerce++-- | JSONP+prolCallback :: Lens' ProjectsRegionsOperationsList (Maybe Text)+prolCallback+  = lens _prolCallback (\ s a -> s{_prolCallback = a})++instance GoogleRequest ProjectsRegionsOperationsList+         where+        type Rs ProjectsRegionsOperationsList =+             ListOperationsResponse+        type Scopes ProjectsRegionsOperationsList =+             '["https://www.googleapis.com/auth/cloud-platform"]+        requestClient ProjectsRegionsOperationsList'{..}+          = go _prolName _prolXgafv _prolUploadProtocol+              (Just _prolPp)+              _prolAccessToken+              _prolUploadType+              _prolBearerToken+              _prolFilter+              _prolPageToken+              _prolPageSize+              _prolCallback+              (Just AltJSON)+              dataprocService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy ProjectsRegionsOperationsListResource)+                      mempty
+ gogol-dataproc.cabal view
@@ -0,0 +1,60 @@+name:                  gogol-dataproc+version:               0.1.0+synopsis:              Google Cloud Dataproc 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++description:+    Manages Hadoop-based clusters and jobs on Google Cloud Platform.+    .+    /Warning:/ This is an experimental prototype/preview release which is still+    under exploratory development and not intended for public use, caveat emptor!+    .+    This library is compatible with version @v1@+    of the API.++source-repository head+    type:     git+    location: git://github.com/brendanhay/gogol.git++library+    default-language:  Haskell2010+    hs-source-dirs:    src gen++    ghc-options:       -Wall++    exposed-modules:+          Network.Google.Dataproc+        , Network.Google.Dataproc.Types+        , Network.Google.Resource.Dataproc.Projects.Regions.Clusters.Create+        , Network.Google.Resource.Dataproc.Projects.Regions.Clusters.Delete+        , Network.Google.Resource.Dataproc.Projects.Regions.Clusters.Diagnose+        , Network.Google.Resource.Dataproc.Projects.Regions.Clusters.Get+        , Network.Google.Resource.Dataproc.Projects.Regions.Clusters.List+        , Network.Google.Resource.Dataproc.Projects.Regions.Clusters.Patch+        , Network.Google.Resource.Dataproc.Projects.Regions.Jobs.Cancel+        , Network.Google.Resource.Dataproc.Projects.Regions.Jobs.Delete+        , Network.Google.Resource.Dataproc.Projects.Regions.Jobs.Get+        , Network.Google.Resource.Dataproc.Projects.Regions.Jobs.List+        , Network.Google.Resource.Dataproc.Projects.Regions.Jobs.Submit+        , Network.Google.Resource.Dataproc.Projects.Regions.Operations.Cancel+        , Network.Google.Resource.Dataproc.Projects.Regions.Operations.Delete+        , Network.Google.Resource.Dataproc.Projects.Regions.Operations.Get+        , Network.Google.Resource.Dataproc.Projects.Regions.Operations.List++    other-modules:+          Network.Google.Dataproc.Types.Product+        , Network.Google.Dataproc.Types.Sum++    build-depends:+          gogol-core == 0.1.0.*+        , base       >= 4.7 && < 5