packages feed

gogol-bigquery (empty) → 0.0.1

raw patch · 29 files changed

+8420/−0 lines, 29 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-bigquery++* [Version](#version)+* [Description](#description)+* [Contribute](#contribute)+* [Licence](#licence)+++## Version++`0.0.1`+++## Description++A client library for the Google BigQuery.+++## Contribute++For any problems, comments, or feedback please create an issue [here on GitHub](https://github.com/brendanhay/amazonka/issues).++> _Note:_ this library is an auto-generated Haskell package. Please see `amazonka-gen` for more information.+++## Licence++`gogol-bigquery` 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/BigQuery.hs view
@@ -0,0 +1,585 @@+{-# LANGUAGE DataKinds         #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE TypeOperators     #-}++{-# OPTIONS_GHC -fno-warn-unused-imports    #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}++-- |+-- Module      : Network.Google.BigQuery+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- A data platform for customers to create, manage, share and query data.+--+-- /See:/ <https://cloud.google.com/bigquery/ BigQuery API Reference>+module Network.Google.BigQuery+    (+    -- * Service Configuration+      bigQueryService++    -- * API Declaration+    , BigQueryAPI++    -- * Resources++    -- ** bigquery.datasets.delete+    , module Network.Google.Resource.BigQuery.DataSets.Delete++    -- ** bigquery.datasets.get+    , module Network.Google.Resource.BigQuery.DataSets.Get++    -- ** bigquery.datasets.insert+    , module Network.Google.Resource.BigQuery.DataSets.Insert++    -- ** bigquery.datasets.list+    , module Network.Google.Resource.BigQuery.DataSets.List++    -- ** bigquery.datasets.patch+    , module Network.Google.Resource.BigQuery.DataSets.Patch++    -- ** bigquery.datasets.update+    , module Network.Google.Resource.BigQuery.DataSets.Update++    -- ** bigquery.jobs.cancel+    , module Network.Google.Resource.BigQuery.Jobs.Cancel++    -- ** bigquery.jobs.get+    , module Network.Google.Resource.BigQuery.Jobs.Get++    -- ** bigquery.jobs.getQueryResults+    , module Network.Google.Resource.BigQuery.Jobs.GetQueryResults++    -- ** bigquery.jobs.insert+    , module Network.Google.Resource.BigQuery.Jobs.Insert++    -- ** bigquery.jobs.list+    , module Network.Google.Resource.BigQuery.Jobs.List++    -- ** bigquery.jobs.query+    , module Network.Google.Resource.BigQuery.Jobs.Query++    -- ** bigquery.projects.list+    , module Network.Google.Resource.BigQuery.Projects.List++    -- ** bigquery.tabledata.insertAll+    , module Network.Google.Resource.BigQuery.TableData.InsertAll++    -- ** bigquery.tabledata.list+    , module Network.Google.Resource.BigQuery.TableData.List++    -- ** bigquery.tables.delete+    , module Network.Google.Resource.BigQuery.Tables.Delete++    -- ** bigquery.tables.get+    , module Network.Google.Resource.BigQuery.Tables.Get++    -- ** bigquery.tables.insert+    , module Network.Google.Resource.BigQuery.Tables.Insert++    -- ** bigquery.tables.list+    , module Network.Google.Resource.BigQuery.Tables.List++    -- ** bigquery.tables.patch+    , module Network.Google.Resource.BigQuery.Tables.Patch++    -- ** bigquery.tables.update+    , module Network.Google.Resource.BigQuery.Tables.Update++    -- * Types++    -- ** JobReference+    , JobReference+    , jobReference+    , jrJobId+    , jrProjectId++    -- ** TableList+    , TableList+    , tableList+    , tlTotalItems+    , tlEtag+    , tlNextPageToken+    , tlKind+    , tlTables++    -- ** DataSetListDataSetsItem+    , DataSetListDataSetsItem+    , dataSetListDataSetsItem+    , dsldsiFriendlyName+    , dsldsiKind+    , dsldsiDataSetReference+    , dsldsiId++    -- ** TableDataList+    , TableDataList+    , tableDataList+    , tdlEtag+    , tdlKind+    , tdlRows+    , tdlPageToken+    , tdlTotalRows++    -- ** JobConfigurationTableCopy+    , JobConfigurationTableCopy+    , jobConfigurationTableCopy+    , jctcDestinationTable+    , jctcWriteDisPosition+    , jctcSourceTables+    , jctcCreateDisPosition+    , jctcSourceTable++    -- ** TableListTablesItem+    , TableListTablesItem+    , tableListTablesItem+    , tltiTableReference+    , tltiFriendlyName+    , tltiKind+    , tltiId+    , tltiType++    -- ** TableSchema+    , TableSchema+    , tableSchema+    , tsFields++    -- ** ProjectList+    , ProjectList+    , projectList+    , plTotalItems+    , plEtag+    , plNextPageToken+    , plKind+    , plProjects++    -- ** JobStatistics+    , JobStatistics+    , jobStatistics+    , jsCreationTime+    , jsStartTime+    , jsLoad+    , jsTotalBytesProcessed+    , jsEndTime+    , jsQuery+    , jsExtract++    -- ** DataSet+    , DataSet+    , dataSet+    , dsCreationTime+    , dsAccess+    , dsEtag+    , dsLocation+    , dsFriendlyName+    , dsKind+    , dsLastModifiedTime+    , dsDataSetReference+    , dsSelfLink+    , dsId+    , dsDefaultTableExpirationMs+    , dsDescription++    -- ** ExternalDataConfiguration+    , ExternalDataConfiguration+    , externalDataConfiguration+    , edcIgnoreUnknownValues+    , edcCompression+    , edcSourceFormat+    , edcSchema+    , edcMaxBadRecords+    , edcSourceURIs+    , edcCSVOptions++    -- ** TableReference+    , TableReference+    , tableReference+    , trDataSetId+    , trProjectId+    , trTableId++    -- ** TableFieldSchema+    , TableFieldSchema+    , tableFieldSchema+    , tfsMode+    , tfsName+    , tfsType+    , tfsDescription+    , tfsFields++    -- ** GetQueryResultsResponse+    , GetQueryResultsResponse+    , getQueryResultsResponse+    , gqrrJobReference+    , gqrrEtag+    , gqrrKind+    , gqrrSchema+    , gqrrTotalBytesProcessed+    , gqrrRows+    , gqrrPageToken+    , gqrrTotalRows+    , gqrrErrors+    , gqrrJobComplete+    , gqrrCacheHit++    -- ** DataSetList+    , DataSetList+    , dataSetList+    , dslEtag+    , dslNextPageToken+    , dslKind+    , dslDataSets++    -- ** QueryRequest+    , QueryRequest+    , queryRequest+    , qrUseQueryCache+    , qrPreserveNulls+    , qrKind+    , qrQuery+    , qrTimeoutMs+    , qrDryRun+    , qrMaxResults+    , qrDefaultDataSet++    -- ** JobsListProjection+    , JobsListProjection (..)++    -- ** JobStatistics4+    , JobStatistics4+    , jobStatistics4+    , jsDestinationURIFileCounts++    -- ** ProjectReference+    , ProjectReference+    , projectReference+    , prProjectId++    -- ** JobConfigurationLoad+    , JobConfigurationLoad+    , jobConfigurationLoad+    , jclSkipLeadingRows+    , jclProjectionFields+    , jclDestinationTable+    , jclWriteDisPosition+    , jclAllowJaggedRows+    , jclSchemaInline+    , jclIgnoreUnknownValues+    , jclCreateDisPosition+    , jclSchemaInlineFormat+    , jclAllowQuotedNewlines+    , jclSourceFormat+    , jclSchema+    , jclQuote+    , jclMaxBadRecords+    , jclSourceURIs+    , jclEncoding+    , jclFieldDelimiter++    -- ** JobsListStateFilter+    , JobsListStateFilter (..)++    -- ** DataSetReference+    , DataSetReference+    , dataSetReference+    , dsrDataSetId+    , dsrProjectId++    -- ** TableDataInsertAllRequest+    , TableDataInsertAllRequest+    , tableDataInsertAllRequest+    , tdiarKind+    , tdiarIgnoreUnknownValues+    , tdiarRows+    , tdiarSkipInvalidRows++    -- ** ProjectListProjectsItem+    , ProjectListProjectsItem+    , projectListProjectsItem+    , plpiFriendlyName+    , plpiKind+    , plpiProjectReference+    , plpiId+    , plpiNumericId++    -- ** Streamingbuffer+    , Streamingbuffer+    , streamingbuffer+    , sEstimatedBytes+    , sOldestEntryTime+    , sEstimatedRows++    -- ** TableRow+    , TableRow+    , tableRow+    , trF++    -- ** JobListJobsItem+    , JobListJobsItem+    , jobListJobsItem+    , jljiJobReference+    , jljiStatus+    , jljiState+    , jljiUserEmail+    , jljiKind+    , jljiErrorResult+    , jljiId+    , jljiStatistics+    , jljiConfiguration++    -- ** JobConfiguration+    , JobConfiguration+    , jobConfiguration+    , jcCopy+    , jcLink+    , jcLoad+    , jcQuery+    , jcExtract+    , jcDryRun++    -- ** Job+    , Job+    , job+    , jJobReference+    , jStatus+    , jEtag+    , jUserEmail+    , jKind+    , jSelfLink+    , jId+    , jStatistics+    , jConfiguration++    -- ** JobConfigurationLink+    , JobConfigurationLink+    , jobConfigurationLink+    , jDestinationTable+    , jWriteDisPosition+    , jCreateDisPosition+    , jSourceURI++    -- ** TableDataInsertAllResponseInsertErrorsItem+    , TableDataInsertAllResponseInsertErrorsItem+    , tableDataInsertAllResponseInsertErrorsItem+    , tdiarieiErrors+    , tdiarieiIndex++    -- ** JobConfigurationExtract+    , JobConfigurationExtract+    , jobConfigurationExtract+    , jceDestinationFormat+    , jceSourceTable+    , jcePrintHeader+    , jceCompression+    , jceDestinationURIs+    , jceDestinationURI+    , jceFieldDelimiter++    -- ** JobCancelResponse+    , JobCancelResponse+    , jobCancelResponse+    , jcrKind+    , jcrJob++    -- ** JSONObject+    , JSONObject+    , jsonObject+    , joAddtional++    -- ** JobConfigurationQuery+    , JobConfigurationQuery+    , jobConfigurationQuery+    , jcqDestinationTable+    , jcqWriteDisPosition+    , jcqPriority+    , jcqUseQueryCache+    , jcqPreserveNulls+    , jcqTableDefinitions+    , jcqCreateDisPosition+    , jcqUserDefinedFunctionResources+    , jcqAllowLargeResults+    , jcqQuery+    , jcqFlattenResults+    , jcqDefaultDataSet++    -- ** TableDataInsertAllRequestRowsItem+    , TableDataInsertAllRequestRowsItem+    , tableDataInsertAllRequestRowsItem+    , tdiarriJSON+    , tdiarriInsertId++    -- ** JobList+    , JobList+    , jobList+    , jlEtag+    , jlNextPageToken+    , jlKind+    , jlJobs++    -- ** JobConfigurationQueryTableDefinitions+    , JobConfigurationQueryTableDefinitions+    , jobConfigurationQueryTableDefinitions+    , jcqtdAddtional++    -- ** TableCell+    , TableCell+    , tableCell+    , tcV++    -- ** ViewDefinition+    , ViewDefinition+    , viewDefinition+    , vdQuery++    -- ** UserDefinedFunctionResource+    , UserDefinedFunctionResource+    , userDefinedFunctionResource+    , udfrResourceURI+    , udfrInlineCode++    -- ** JobStatistics2+    , JobStatistics2+    , jobStatistics2+    , jTotalBytesProcessed+    , jBillingTier+    , jCacheHit+    , jTotalBytesBilled++    -- ** JobStatus+    , JobStatus+    , jobStatus+    , jsState+    , jsErrorResult+    , jsErrors++    -- ** DataSetAccessItem+    , DataSetAccessItem+    , dataSetAccessItem+    , dsaiGroupByEmail+    , dsaiDomain+    , dsaiSpecialGroup+    , dsaiRole+    , dsaiView+    , dsaiUserByEmail++    -- ** TableDataInsertAllResponse+    , TableDataInsertAllResponse+    , tableDataInsertAllResponse+    , tKind+    , tInsertErrors++    -- ** Table+    , Table+    , table+    , tabCreationTime+    , tabEtag+    , tabNumBytes+    , tabExternalDataConfiguration+    , tabLocation+    , tabTableReference+    , tabFriendlyName+    , tabKind+    , tabLastModifiedTime+    , tabSchema+    , tabStreamingBuffer+    , tabSelfLink+    , tabNumRows+    , tabView+    , tabId+    , tabType+    , tabExpirationTime+    , tabDescription++    -- ** ErrorProto+    , ErrorProto+    , errorProto+    , epDebugInfo+    , epLocation+    , epReason+    , epMessage++    -- ** CSVOptions+    , CSVOptions+    , csvOptions+    , coSkipLeadingRows+    , coAllowJaggedRows+    , coAllowQuotedNewlines+    , coQuote+    , coEncoding+    , coFieldDelimiter++    -- ** JobStatistics3+    , JobStatistics3+    , jobStatistics3+    , jsInputFiles+    , jsOutputRows+    , jsOutputBytes+    , jsInputFileBytes++    -- ** QueryResponse+    , QueryResponse+    , queryResponse+    , qJobReference+    , qKind+    , qSchema+    , qTotalBytesProcessed+    , qRows+    , qPageToken+    , qTotalRows+    , qErrors+    , qJobComplete+    , qCacheHit+    ) where++import           Network.Google.BigQuery.Types+import           Network.Google.Prelude+import           Network.Google.Resource.BigQuery.DataSets.Delete+import           Network.Google.Resource.BigQuery.DataSets.Get+import           Network.Google.Resource.BigQuery.DataSets.Insert+import           Network.Google.Resource.BigQuery.DataSets.List+import           Network.Google.Resource.BigQuery.DataSets.Patch+import           Network.Google.Resource.BigQuery.DataSets.Update+import           Network.Google.Resource.BigQuery.Jobs.Cancel+import           Network.Google.Resource.BigQuery.Jobs.Get+import           Network.Google.Resource.BigQuery.Jobs.GetQueryResults+import           Network.Google.Resource.BigQuery.Jobs.Insert+import           Network.Google.Resource.BigQuery.Jobs.List+import           Network.Google.Resource.BigQuery.Jobs.Query+import           Network.Google.Resource.BigQuery.Projects.List+import           Network.Google.Resource.BigQuery.TableData.InsertAll+import           Network.Google.Resource.BigQuery.TableData.List+import           Network.Google.Resource.BigQuery.Tables.Delete+import           Network.Google.Resource.BigQuery.Tables.Get+import           Network.Google.Resource.BigQuery.Tables.Insert+import           Network.Google.Resource.BigQuery.Tables.List+import           Network.Google.Resource.BigQuery.Tables.Patch+import           Network.Google.Resource.BigQuery.Tables.Update++{- $resources+TODO+-}++-- | Represents the entirety of the methods and resources available for the BigQuery API service.+type BigQueryAPI =+     JobsInsertResource :<|> JobsListResource :<|>+       JobsGetResource+       :<|> JobsQueryResource+       :<|> JobsCancelResource+       :<|> JobsGetQueryResultsResource+       :<|> TablesInsertResource+       :<|> TablesListResource+       :<|> TablesPatchResource+       :<|> TablesGetResource+       :<|> TablesDeleteResource+       :<|> TablesUpdateResource+       :<|> TableDataListResource+       :<|> TableDataInsertAllResource+       :<|> ProjectsListResource+       :<|> DataSetsInsertResource+       :<|> DataSetsListResource+       :<|> DataSetsPatchResource+       :<|> DataSetsGetResource+       :<|> DataSetsDeleteResource+       :<|> DataSetsUpdateResource
+ gen/Network/Google/BigQuery/Types.hs view
@@ -0,0 +1,508 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module      : Network.Google.BigQuery.Types+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+module Network.Google.BigQuery.Types+    (+    -- * Service Configuration+      bigQueryService++    -- * OAuth Scopes+    , cloudPlatformReadOnlyScope+    , cloudPlatformScope+    , devstorageReadOnlyScope+    , bigqueryInsertdataScope+    , devstorageReadWriteScope+    , bigqueryScope+    , devstorageFullControlScope++    -- * JobReference+    , JobReference+    , jobReference+    , jrJobId+    , jrProjectId++    -- * TableList+    , TableList+    , tableList+    , tlTotalItems+    , tlEtag+    , tlNextPageToken+    , tlKind+    , tlTables++    -- * DataSetListDataSetsItem+    , DataSetListDataSetsItem+    , dataSetListDataSetsItem+    , dsldsiFriendlyName+    , dsldsiKind+    , dsldsiDataSetReference+    , dsldsiId++    -- * TableDataList+    , TableDataList+    , tableDataList+    , tdlEtag+    , tdlKind+    , tdlRows+    , tdlPageToken+    , tdlTotalRows++    -- * JobConfigurationTableCopy+    , JobConfigurationTableCopy+    , jobConfigurationTableCopy+    , jctcDestinationTable+    , jctcWriteDisPosition+    , jctcSourceTables+    , jctcCreateDisPosition+    , jctcSourceTable++    -- * TableListTablesItem+    , TableListTablesItem+    , tableListTablesItem+    , tltiTableReference+    , tltiFriendlyName+    , tltiKind+    , tltiId+    , tltiType++    -- * TableSchema+    , TableSchema+    , tableSchema+    , tsFields++    -- * ProjectList+    , ProjectList+    , projectList+    , plTotalItems+    , plEtag+    , plNextPageToken+    , plKind+    , plProjects++    -- * JobStatistics+    , JobStatistics+    , jobStatistics+    , jsCreationTime+    , jsStartTime+    , jsLoad+    , jsTotalBytesProcessed+    , jsEndTime+    , jsQuery+    , jsExtract++    -- * DataSet+    , DataSet+    , dataSet+    , dsCreationTime+    , dsAccess+    , dsEtag+    , dsLocation+    , dsFriendlyName+    , dsKind+    , dsLastModifiedTime+    , dsDataSetReference+    , dsSelfLink+    , dsId+    , dsDefaultTableExpirationMs+    , dsDescription++    -- * ExternalDataConfiguration+    , ExternalDataConfiguration+    , externalDataConfiguration+    , edcIgnoreUnknownValues+    , edcCompression+    , edcSourceFormat+    , edcSchema+    , edcMaxBadRecords+    , edcSourceURIs+    , edcCSVOptions++    -- * TableReference+    , TableReference+    , tableReference+    , trDataSetId+    , trProjectId+    , trTableId++    -- * TableFieldSchema+    , TableFieldSchema+    , tableFieldSchema+    , tfsMode+    , tfsName+    , tfsType+    , tfsDescription+    , tfsFields++    -- * GetQueryResultsResponse+    , GetQueryResultsResponse+    , getQueryResultsResponse+    , gqrrJobReference+    , gqrrEtag+    , gqrrKind+    , gqrrSchema+    , gqrrTotalBytesProcessed+    , gqrrRows+    , gqrrPageToken+    , gqrrTotalRows+    , gqrrErrors+    , gqrrJobComplete+    , gqrrCacheHit++    -- * DataSetList+    , DataSetList+    , dataSetList+    , dslEtag+    , dslNextPageToken+    , dslKind+    , dslDataSets++    -- * QueryRequest+    , QueryRequest+    , queryRequest+    , qrUseQueryCache+    , qrPreserveNulls+    , qrKind+    , qrQuery+    , qrTimeoutMs+    , qrDryRun+    , qrMaxResults+    , qrDefaultDataSet++    -- * JobsListProjection+    , JobsListProjection (..)++    -- * JobStatistics4+    , JobStatistics4+    , jobStatistics4+    , jsDestinationURIFileCounts++    -- * ProjectReference+    , ProjectReference+    , projectReference+    , prProjectId++    -- * JobConfigurationLoad+    , JobConfigurationLoad+    , jobConfigurationLoad+    , jclSkipLeadingRows+    , jclProjectionFields+    , jclDestinationTable+    , jclWriteDisPosition+    , jclAllowJaggedRows+    , jclSchemaInline+    , jclIgnoreUnknownValues+    , jclCreateDisPosition+    , jclSchemaInlineFormat+    , jclAllowQuotedNewlines+    , jclSourceFormat+    , jclSchema+    , jclQuote+    , jclMaxBadRecords+    , jclSourceURIs+    , jclEncoding+    , jclFieldDelimiter++    -- * JobsListStateFilter+    , JobsListStateFilter (..)++    -- * DataSetReference+    , DataSetReference+    , dataSetReference+    , dsrDataSetId+    , dsrProjectId++    -- * TableDataInsertAllRequest+    , TableDataInsertAllRequest+    , tableDataInsertAllRequest+    , tdiarKind+    , tdiarIgnoreUnknownValues+    , tdiarRows+    , tdiarSkipInvalidRows++    -- * ProjectListProjectsItem+    , ProjectListProjectsItem+    , projectListProjectsItem+    , plpiFriendlyName+    , plpiKind+    , plpiProjectReference+    , plpiId+    , plpiNumericId++    -- * Streamingbuffer+    , Streamingbuffer+    , streamingbuffer+    , sEstimatedBytes+    , sOldestEntryTime+    , sEstimatedRows++    -- * TableRow+    , TableRow+    , tableRow+    , trF++    -- * JobListJobsItem+    , JobListJobsItem+    , jobListJobsItem+    , jljiJobReference+    , jljiStatus+    , jljiState+    , jljiUserEmail+    , jljiKind+    , jljiErrorResult+    , jljiId+    , jljiStatistics+    , jljiConfiguration++    -- * JobConfiguration+    , JobConfiguration+    , jobConfiguration+    , jcCopy+    , jcLink+    , jcLoad+    , jcQuery+    , jcExtract+    , jcDryRun++    -- * Job+    , Job+    , job+    , jJobReference+    , jStatus+    , jEtag+    , jUserEmail+    , jKind+    , jSelfLink+    , jId+    , jStatistics+    , jConfiguration++    -- * JobConfigurationLink+    , JobConfigurationLink+    , jobConfigurationLink+    , jDestinationTable+    , jWriteDisPosition+    , jCreateDisPosition+    , jSourceURI++    -- * TableDataInsertAllResponseInsertErrorsItem+    , TableDataInsertAllResponseInsertErrorsItem+    , tableDataInsertAllResponseInsertErrorsItem+    , tdiarieiErrors+    , tdiarieiIndex++    -- * JobConfigurationExtract+    , JobConfigurationExtract+    , jobConfigurationExtract+    , jceDestinationFormat+    , jceSourceTable+    , jcePrintHeader+    , jceCompression+    , jceDestinationURIs+    , jceDestinationURI+    , jceFieldDelimiter++    -- * JobCancelResponse+    , JobCancelResponse+    , jobCancelResponse+    , jcrKind+    , jcrJob++    -- * JSONObject+    , JSONObject+    , jsonObject+    , joAddtional++    -- * JobConfigurationQuery+    , JobConfigurationQuery+    , jobConfigurationQuery+    , jcqDestinationTable+    , jcqWriteDisPosition+    , jcqPriority+    , jcqUseQueryCache+    , jcqPreserveNulls+    , jcqTableDefinitions+    , jcqCreateDisPosition+    , jcqUserDefinedFunctionResources+    , jcqAllowLargeResults+    , jcqQuery+    , jcqFlattenResults+    , jcqDefaultDataSet++    -- * TableDataInsertAllRequestRowsItem+    , TableDataInsertAllRequestRowsItem+    , tableDataInsertAllRequestRowsItem+    , tdiarriJSON+    , tdiarriInsertId++    -- * JobList+    , JobList+    , jobList+    , jlEtag+    , jlNextPageToken+    , jlKind+    , jlJobs++    -- * JobConfigurationQueryTableDefinitions+    , JobConfigurationQueryTableDefinitions+    , jobConfigurationQueryTableDefinitions+    , jcqtdAddtional++    -- * TableCell+    , TableCell+    , tableCell+    , tcV++    -- * ViewDefinition+    , ViewDefinition+    , viewDefinition+    , vdQuery++    -- * UserDefinedFunctionResource+    , UserDefinedFunctionResource+    , userDefinedFunctionResource+    , udfrResourceURI+    , udfrInlineCode++    -- * JobStatistics2+    , JobStatistics2+    , jobStatistics2+    , jTotalBytesProcessed+    , jBillingTier+    , jCacheHit+    , jTotalBytesBilled++    -- * JobStatus+    , JobStatus+    , jobStatus+    , jsState+    , jsErrorResult+    , jsErrors++    -- * DataSetAccessItem+    , DataSetAccessItem+    , dataSetAccessItem+    , dsaiGroupByEmail+    , dsaiDomain+    , dsaiSpecialGroup+    , dsaiRole+    , dsaiView+    , dsaiUserByEmail++    -- * TableDataInsertAllResponse+    , TableDataInsertAllResponse+    , tableDataInsertAllResponse+    , tKind+    , tInsertErrors++    -- * Table+    , Table+    , table+    , tabCreationTime+    , tabEtag+    , tabNumBytes+    , tabExternalDataConfiguration+    , tabLocation+    , tabTableReference+    , tabFriendlyName+    , tabKind+    , tabLastModifiedTime+    , tabSchema+    , tabStreamingBuffer+    , tabSelfLink+    , tabNumRows+    , tabView+    , tabId+    , tabType+    , tabExpirationTime+    , tabDescription++    -- * ErrorProto+    , ErrorProto+    , errorProto+    , epDebugInfo+    , epLocation+    , epReason+    , epMessage++    -- * CSVOptions+    , CSVOptions+    , csvOptions+    , coSkipLeadingRows+    , coAllowJaggedRows+    , coAllowQuotedNewlines+    , coQuote+    , coEncoding+    , coFieldDelimiter++    -- * JobStatistics3+    , JobStatistics3+    , jobStatistics3+    , jsInputFiles+    , jsOutputRows+    , jsOutputBytes+    , jsInputFileBytes++    -- * QueryResponse+    , QueryResponse+    , queryResponse+    , qJobReference+    , qKind+    , qSchema+    , qTotalBytesProcessed+    , qRows+    , qPageToken+    , qTotalRows+    , qErrors+    , qJobComplete+    , qCacheHit+    ) where++import           Network.Google.BigQuery.Types.Product+import           Network.Google.BigQuery.Types.Sum+import           Network.Google.Prelude++-- | Default request referring to version 'v2' of the BigQuery API. This contains the host and root path used as a starting point for constructing service requests.+bigQueryService :: Service+bigQueryService+  = defaultService (ServiceId "bigquery:v2")+      "www.googleapis.com"++-- | View your data across Google Cloud Platform services+cloudPlatformReadOnlyScope :: OAuthScope+cloudPlatformReadOnlyScope = "https://www.googleapis.com/auth/cloud-platform.read-only";++-- | View and manage your data across Google Cloud Platform services+cloudPlatformScope :: OAuthScope+cloudPlatformScope = "https://www.googleapis.com/auth/cloud-platform";++-- | View your data in Google Cloud Storage+devstorageReadOnlyScope :: OAuthScope+devstorageReadOnlyScope = "https://www.googleapis.com/auth/devstorage.read_only";++-- | Insert data into Google BigQuery+bigqueryInsertdataScope :: OAuthScope+bigqueryInsertdataScope = "https://www.googleapis.com/auth/bigquery.insertdata";++-- | Manage your data in Google Cloud Storage+devstorageReadWriteScope :: OAuthScope+devstorageReadWriteScope = "https://www.googleapis.com/auth/devstorage.read_write";++-- | View and manage your data in Google BigQuery+bigqueryScope :: OAuthScope+bigqueryScope = "https://www.googleapis.com/auth/bigquery";++-- | Manage your data and permissions in Google Cloud Storage+devstorageFullControlScope :: OAuthScope+devstorageFullControlScope = "https://www.googleapis.com/auth/devstorage.full_control";
+ gen/Network/Google/BigQuery/Types/Product.hs view
@@ -0,0 +1,4298 @@+{-# 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.BigQuery.Types.Product+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+module Network.Google.BigQuery.Types.Product where++import           Network.Google.BigQuery.Types.Sum+import           Network.Google.Prelude++--+-- /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 ID of the job. The ID must contain only letters (a-z,+-- A-Z), numbers (0-9), underscores (_), or dashes (-). The maximum length+-- is 1,024 characters.+jrJobId :: Lens' JobReference (Maybe Text)+jrJobId = lens _jrJobId (\ s a -> s{_jrJobId = a})++-- | [Required] The ID of the project containing this job.+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])++--+-- /See:/ 'tableList' smart constructor.+data TableList = TableList+    { _tlTotalItems    :: !(Maybe (Textual Int32))+    , _tlEtag          :: !(Maybe Text)+    , _tlNextPageToken :: !(Maybe Text)+    , _tlKind          :: !Text+    , _tlTables        :: !(Maybe [TableListTablesItem])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TableList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tlTotalItems'+--+-- * 'tlEtag'+--+-- * 'tlNextPageToken'+--+-- * 'tlKind'+--+-- * 'tlTables'+tableList+    :: TableList+tableList =+    TableList+    { _tlTotalItems = Nothing+    , _tlEtag = Nothing+    , _tlNextPageToken = Nothing+    , _tlKind = "bigquery#tableList"+    , _tlTables = Nothing+    }++-- | The total number of tables in the dataset.+tlTotalItems :: Lens' TableList (Maybe Int32)+tlTotalItems+  = lens _tlTotalItems (\ s a -> s{_tlTotalItems = a})+      . mapping _Coerce++-- | A hash of this page of results.+tlEtag :: Lens' TableList (Maybe Text)+tlEtag = lens _tlEtag (\ s a -> s{_tlEtag = a})++-- | A token to request the next page of results.+tlNextPageToken :: Lens' TableList (Maybe Text)+tlNextPageToken+  = lens _tlNextPageToken+      (\ s a -> s{_tlNextPageToken = a})++-- | The type of list.+tlKind :: Lens' TableList Text+tlKind = lens _tlKind (\ s a -> s{_tlKind = a})++-- | Tables in the requested dataset.+tlTables :: Lens' TableList [TableListTablesItem]+tlTables+  = lens _tlTables (\ s a -> s{_tlTables = a}) .+      _Default+      . _Coerce++instance FromJSON TableList where+        parseJSON+          = withObject "TableList"+              (\ o ->+                 TableList <$>+                   (o .:? "totalItems") <*> (o .:? "etag") <*>+                     (o .:? "nextPageToken")+                     <*> (o .:? "kind" .!= "bigquery#tableList")+                     <*> (o .:? "tables" .!= mempty))++instance ToJSON TableList where+        toJSON TableList{..}+          = object+              (catMaybes+                 [("totalItems" .=) <$> _tlTotalItems,+                  ("etag" .=) <$> _tlEtag,+                  ("nextPageToken" .=) <$> _tlNextPageToken,+                  Just ("kind" .= _tlKind),+                  ("tables" .=) <$> _tlTables])++--+-- /See:/ 'dataSetListDataSetsItem' smart constructor.+data DataSetListDataSetsItem = DataSetListDataSetsItem+    { _dsldsiFriendlyName     :: !(Maybe Text)+    , _dsldsiKind             :: !Text+    , _dsldsiDataSetReference :: !(Maybe DataSetReference)+    , _dsldsiId               :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DataSetListDataSetsItem' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dsldsiFriendlyName'+--+-- * 'dsldsiKind'+--+-- * 'dsldsiDataSetReference'+--+-- * 'dsldsiId'+dataSetListDataSetsItem+    :: DataSetListDataSetsItem+dataSetListDataSetsItem =+    DataSetListDataSetsItem+    { _dsldsiFriendlyName = Nothing+    , _dsldsiKind = "bigquery#dataset"+    , _dsldsiDataSetReference = Nothing+    , _dsldsiId = Nothing+    }++-- | A descriptive name for the dataset, if one exists.+dsldsiFriendlyName :: Lens' DataSetListDataSetsItem (Maybe Text)+dsldsiFriendlyName+  = lens _dsldsiFriendlyName+      (\ s a -> s{_dsldsiFriendlyName = a})++-- | The resource type. This property always returns the value+-- \"bigquery#dataset\".+dsldsiKind :: Lens' DataSetListDataSetsItem Text+dsldsiKind+  = lens _dsldsiKind (\ s a -> s{_dsldsiKind = a})++-- | The dataset reference. Use this property to access specific parts of the+-- dataset\'s ID, such as project ID or dataset ID.+dsldsiDataSetReference :: Lens' DataSetListDataSetsItem (Maybe DataSetReference)+dsldsiDataSetReference+  = lens _dsldsiDataSetReference+      (\ s a -> s{_dsldsiDataSetReference = a})++-- | The fully-qualified, unique, opaque ID of the dataset.+dsldsiId :: Lens' DataSetListDataSetsItem (Maybe Text)+dsldsiId = lens _dsldsiId (\ s a -> s{_dsldsiId = a})++instance FromJSON DataSetListDataSetsItem where+        parseJSON+          = withObject "DataSetListDataSetsItem"+              (\ o ->+                 DataSetListDataSetsItem <$>+                   (o .:? "friendlyName") <*>+                     (o .:? "kind" .!= "bigquery#dataset")+                     <*> (o .:? "datasetReference")+                     <*> (o .:? "id"))++instance ToJSON DataSetListDataSetsItem where+        toJSON DataSetListDataSetsItem{..}+          = object+              (catMaybes+                 [("friendlyName" .=) <$> _dsldsiFriendlyName,+                  Just ("kind" .= _dsldsiKind),+                  ("datasetReference" .=) <$> _dsldsiDataSetReference,+                  ("id" .=) <$> _dsldsiId])++--+-- /See:/ 'tableDataList' smart constructor.+data TableDataList = TableDataList+    { _tdlEtag      :: !(Maybe Text)+    , _tdlKind      :: !Text+    , _tdlRows      :: !(Maybe [TableRow])+    , _tdlPageToken :: !(Maybe Text)+    , _tdlTotalRows :: !(Maybe (Textual Int64))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TableDataList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tdlEtag'+--+-- * 'tdlKind'+--+-- * 'tdlRows'+--+-- * 'tdlPageToken'+--+-- * 'tdlTotalRows'+tableDataList+    :: TableDataList+tableDataList =+    TableDataList+    { _tdlEtag = Nothing+    , _tdlKind = "bigquery#tableDataList"+    , _tdlRows = Nothing+    , _tdlPageToken = Nothing+    , _tdlTotalRows = Nothing+    }++-- | A hash of this page of results.+tdlEtag :: Lens' TableDataList (Maybe Text)+tdlEtag = lens _tdlEtag (\ s a -> s{_tdlEtag = a})++-- | The resource type of the response.+tdlKind :: Lens' TableDataList Text+tdlKind = lens _tdlKind (\ s a -> s{_tdlKind = a})++-- | Rows of results.+tdlRows :: Lens' TableDataList [TableRow]+tdlRows+  = lens _tdlRows (\ s a -> s{_tdlRows = a}) . _Default+      . _Coerce++-- | A token used for paging results. Providing this token instead of the+-- startIndex parameter can help you retrieve stable results when an+-- underlying table is changing.+tdlPageToken :: Lens' TableDataList (Maybe Text)+tdlPageToken+  = lens _tdlPageToken (\ s a -> s{_tdlPageToken = a})++-- | The total number of rows in the complete table.+tdlTotalRows :: Lens' TableDataList (Maybe Int64)+tdlTotalRows+  = lens _tdlTotalRows (\ s a -> s{_tdlTotalRows = a})+      . mapping _Coerce++instance FromJSON TableDataList where+        parseJSON+          = withObject "TableDataList"+              (\ o ->+                 TableDataList <$>+                   (o .:? "etag") <*>+                     (o .:? "kind" .!= "bigquery#tableDataList")+                     <*> (o .:? "rows" .!= mempty)+                     <*> (o .:? "pageToken")+                     <*> (o .:? "totalRows"))++instance ToJSON TableDataList where+        toJSON TableDataList{..}+          = object+              (catMaybes+                 [("etag" .=) <$> _tdlEtag, Just ("kind" .= _tdlKind),+                  ("rows" .=) <$> _tdlRows,+                  ("pageToken" .=) <$> _tdlPageToken,+                  ("totalRows" .=) <$> _tdlTotalRows])++--+-- /See:/ 'jobConfigurationTableCopy' smart constructor.+data JobConfigurationTableCopy = JobConfigurationTableCopy+    { _jctcDestinationTable  :: !(Maybe TableReference)+    , _jctcWriteDisPosition  :: !(Maybe Text)+    , _jctcSourceTables      :: !(Maybe [TableReference])+    , _jctcCreateDisPosition :: !(Maybe Text)+    , _jctcSourceTable       :: !(Maybe TableReference)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'JobConfigurationTableCopy' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'jctcDestinationTable'+--+-- * 'jctcWriteDisPosition'+--+-- * 'jctcSourceTables'+--+-- * 'jctcCreateDisPosition'+--+-- * 'jctcSourceTable'+jobConfigurationTableCopy+    :: JobConfigurationTableCopy+jobConfigurationTableCopy =+    JobConfigurationTableCopy+    { _jctcDestinationTable = Nothing+    , _jctcWriteDisPosition = Nothing+    , _jctcSourceTables = Nothing+    , _jctcCreateDisPosition = Nothing+    , _jctcSourceTable = Nothing+    }++-- | [Required] The destination table+jctcDestinationTable :: Lens' JobConfigurationTableCopy (Maybe TableReference)+jctcDestinationTable+  = lens _jctcDestinationTable+      (\ s a -> s{_jctcDestinationTable = a})++-- | [Optional] Specifies the action that occurs if the destination table+-- already exists. The following values are supported: WRITE_TRUNCATE: If+-- the table already exists, BigQuery overwrites the table data.+-- WRITE_APPEND: If the table already exists, BigQuery appends the data to+-- the table. WRITE_EMPTY: If the table already exists and contains data, a+-- \'duplicate\' error is returned in the job result. The default value is+-- WRITE_EMPTY. Each action is atomic and only occurs if BigQuery is able+-- to complete the job successfully. Creation, truncation and append+-- actions occur as one atomic update upon job completion.+jctcWriteDisPosition :: Lens' JobConfigurationTableCopy (Maybe Text)+jctcWriteDisPosition+  = lens _jctcWriteDisPosition+      (\ s a -> s{_jctcWriteDisPosition = a})++-- | [Pick one] Source tables to copy.+jctcSourceTables :: Lens' JobConfigurationTableCopy [TableReference]+jctcSourceTables+  = lens _jctcSourceTables+      (\ s a -> s{_jctcSourceTables = a})+      . _Default+      . _Coerce++-- | [Optional] Specifies whether the job is allowed to create new tables.+-- The following values are supported: CREATE_IF_NEEDED: If the table does+-- not exist, BigQuery creates the table. CREATE_NEVER: The table must+-- already exist. If it does not, a \'notFound\' error is returned in the+-- job result. The default value is CREATE_IF_NEEDED. Creation, truncation+-- and append actions occur as one atomic update upon job completion.+jctcCreateDisPosition :: Lens' JobConfigurationTableCopy (Maybe Text)+jctcCreateDisPosition+  = lens _jctcCreateDisPosition+      (\ s a -> s{_jctcCreateDisPosition = a})++-- | [Pick one] Source table to copy.+jctcSourceTable :: Lens' JobConfigurationTableCopy (Maybe TableReference)+jctcSourceTable+  = lens _jctcSourceTable+      (\ s a -> s{_jctcSourceTable = a})++instance FromJSON JobConfigurationTableCopy where+        parseJSON+          = withObject "JobConfigurationTableCopy"+              (\ o ->+                 JobConfigurationTableCopy <$>+                   (o .:? "destinationTable") <*>+                     (o .:? "writeDisposition")+                     <*> (o .:? "sourceTables" .!= mempty)+                     <*> (o .:? "createDisposition")+                     <*> (o .:? "sourceTable"))++instance ToJSON JobConfigurationTableCopy where+        toJSON JobConfigurationTableCopy{..}+          = object+              (catMaybes+                 [("destinationTable" .=) <$> _jctcDestinationTable,+                  ("writeDisposition" .=) <$> _jctcWriteDisPosition,+                  ("sourceTables" .=) <$> _jctcSourceTables,+                  ("createDisposition" .=) <$> _jctcCreateDisPosition,+                  ("sourceTable" .=) <$> _jctcSourceTable])++--+-- /See:/ 'tableListTablesItem' smart constructor.+data TableListTablesItem = TableListTablesItem+    { _tltiTableReference :: !(Maybe TableReference)+    , _tltiFriendlyName   :: !(Maybe Text)+    , _tltiKind           :: !Text+    , _tltiId             :: !(Maybe Text)+    , _tltiType           :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TableListTablesItem' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tltiTableReference'+--+-- * 'tltiFriendlyName'+--+-- * 'tltiKind'+--+-- * 'tltiId'+--+-- * 'tltiType'+tableListTablesItem+    :: TableListTablesItem+tableListTablesItem =+    TableListTablesItem+    { _tltiTableReference = Nothing+    , _tltiFriendlyName = Nothing+    , _tltiKind = "bigquery#table"+    , _tltiId = Nothing+    , _tltiType = Nothing+    }++-- | A reference uniquely identifying the table.+tltiTableReference :: Lens' TableListTablesItem (Maybe TableReference)+tltiTableReference+  = lens _tltiTableReference+      (\ s a -> s{_tltiTableReference = a})++-- | The user-friendly name for this table.+tltiFriendlyName :: Lens' TableListTablesItem (Maybe Text)+tltiFriendlyName+  = lens _tltiFriendlyName+      (\ s a -> s{_tltiFriendlyName = a})++-- | The resource type.+tltiKind :: Lens' TableListTablesItem Text+tltiKind = lens _tltiKind (\ s a -> s{_tltiKind = a})++-- | An opaque ID of the table+tltiId :: Lens' TableListTablesItem (Maybe Text)+tltiId = lens _tltiId (\ s a -> s{_tltiId = a})++-- | The type of table. Possible values are: TABLE, VIEW.+tltiType :: Lens' TableListTablesItem (Maybe Text)+tltiType = lens _tltiType (\ s a -> s{_tltiType = a})++instance FromJSON TableListTablesItem where+        parseJSON+          = withObject "TableListTablesItem"+              (\ o ->+                 TableListTablesItem <$>+                   (o .:? "tableReference") <*> (o .:? "friendlyName")+                     <*> (o .:? "kind" .!= "bigquery#table")+                     <*> (o .:? "id")+                     <*> (o .:? "type"))++instance ToJSON TableListTablesItem where+        toJSON TableListTablesItem{..}+          = object+              (catMaybes+                 [("tableReference" .=) <$> _tltiTableReference,+                  ("friendlyName" .=) <$> _tltiFriendlyName,+                  Just ("kind" .= _tltiKind), ("id" .=) <$> _tltiId,+                  ("type" .=) <$> _tltiType])++--+-- /See:/ 'tableSchema' smart constructor.+newtype TableSchema = TableSchema+    { _tsFields :: Maybe [TableFieldSchema]+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TableSchema' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tsFields'+tableSchema+    :: TableSchema+tableSchema =+    TableSchema+    { _tsFields = Nothing+    }++-- | Describes the fields in a table.+tsFields :: Lens' TableSchema [TableFieldSchema]+tsFields+  = lens _tsFields (\ s a -> s{_tsFields = a}) .+      _Default+      . _Coerce++instance FromJSON TableSchema where+        parseJSON+          = withObject "TableSchema"+              (\ o -> TableSchema <$> (o .:? "fields" .!= mempty))++instance ToJSON TableSchema where+        toJSON TableSchema{..}+          = object (catMaybes [("fields" .=) <$> _tsFields])++--+-- /See:/ 'projectList' smart constructor.+data ProjectList = ProjectList+    { _plTotalItems    :: !(Maybe (Textual Int32))+    , _plEtag          :: !(Maybe Text)+    , _plNextPageToken :: !(Maybe Text)+    , _plKind          :: !Text+    , _plProjects      :: !(Maybe [ProjectListProjectsItem])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProjectList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'plTotalItems'+--+-- * 'plEtag'+--+-- * 'plNextPageToken'+--+-- * 'plKind'+--+-- * 'plProjects'+projectList+    :: ProjectList+projectList =+    ProjectList+    { _plTotalItems = Nothing+    , _plEtag = Nothing+    , _plNextPageToken = Nothing+    , _plKind = "bigquery#projectList"+    , _plProjects = Nothing+    }++-- | The total number of projects in the list.+plTotalItems :: Lens' ProjectList (Maybe Int32)+plTotalItems+  = lens _plTotalItems (\ s a -> s{_plTotalItems = a})+      . mapping _Coerce++-- | A hash of the page of results+plEtag :: Lens' ProjectList (Maybe Text)+plEtag = lens _plEtag (\ s a -> s{_plEtag = a})++-- | A token to request the next page of results.+plNextPageToken :: Lens' ProjectList (Maybe Text)+plNextPageToken+  = lens _plNextPageToken+      (\ s a -> s{_plNextPageToken = a})++-- | The type of list.+plKind :: Lens' ProjectList Text+plKind = lens _plKind (\ s a -> s{_plKind = a})++-- | Projects to which you have at least READ access.+plProjects :: Lens' ProjectList [ProjectListProjectsItem]+plProjects+  = lens _plProjects (\ s a -> s{_plProjects = a}) .+      _Default+      . _Coerce++instance FromJSON ProjectList where+        parseJSON+          = withObject "ProjectList"+              (\ o ->+                 ProjectList <$>+                   (o .:? "totalItems") <*> (o .:? "etag") <*>+                     (o .:? "nextPageToken")+                     <*> (o .:? "kind" .!= "bigquery#projectList")+                     <*> (o .:? "projects" .!= mempty))++instance ToJSON ProjectList where+        toJSON ProjectList{..}+          = object+              (catMaybes+                 [("totalItems" .=) <$> _plTotalItems,+                  ("etag" .=) <$> _plEtag,+                  ("nextPageToken" .=) <$> _plNextPageToken,+                  Just ("kind" .= _plKind),+                  ("projects" .=) <$> _plProjects])++--+-- /See:/ 'jobStatistics' smart constructor.+data JobStatistics = JobStatistics+    { _jsCreationTime        :: !(Maybe (Textual Int64))+    , _jsStartTime           :: !(Maybe (Textual Int64))+    , _jsLoad                :: !(Maybe JobStatistics3)+    , _jsTotalBytesProcessed :: !(Maybe (Textual Int64))+    , _jsEndTime             :: !(Maybe (Textual Int64))+    , _jsQuery               :: !(Maybe JobStatistics2)+    , _jsExtract             :: !(Maybe JobStatistics4)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'JobStatistics' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'jsCreationTime'+--+-- * 'jsStartTime'+--+-- * 'jsLoad'+--+-- * 'jsTotalBytesProcessed'+--+-- * 'jsEndTime'+--+-- * 'jsQuery'+--+-- * 'jsExtract'+jobStatistics+    :: JobStatistics+jobStatistics =+    JobStatistics+    { _jsCreationTime = Nothing+    , _jsStartTime = Nothing+    , _jsLoad = Nothing+    , _jsTotalBytesProcessed = Nothing+    , _jsEndTime = Nothing+    , _jsQuery = Nothing+    , _jsExtract = Nothing+    }++-- | [Output-only] Creation time of this job, in milliseconds since the+-- epoch. This field will be present on all jobs.+jsCreationTime :: Lens' JobStatistics (Maybe Int64)+jsCreationTime+  = lens _jsCreationTime+      (\ s a -> s{_jsCreationTime = a})+      . mapping _Coerce++-- | [Output-only] Start time of this job, in milliseconds since the epoch.+-- This field will be present when the job transitions from the PENDING+-- state to either RUNNING or DONE.+jsStartTime :: Lens' JobStatistics (Maybe Int64)+jsStartTime+  = lens _jsStartTime (\ s a -> s{_jsStartTime = a}) .+      mapping _Coerce++-- | [Output-only] Statistics for a load job.+jsLoad :: Lens' JobStatistics (Maybe JobStatistics3)+jsLoad = lens _jsLoad (\ s a -> s{_jsLoad = a})++-- | [Output-only] [Deprecated] Use the bytes processed in the query+-- statistics instead.+jsTotalBytesProcessed :: Lens' JobStatistics (Maybe Int64)+jsTotalBytesProcessed+  = lens _jsTotalBytesProcessed+      (\ s a -> s{_jsTotalBytesProcessed = a})+      . mapping _Coerce++-- | [Output-only] End time of this job, in milliseconds since the epoch.+-- This field will be present whenever a job is in the DONE state.+jsEndTime :: Lens' JobStatistics (Maybe Int64)+jsEndTime+  = lens _jsEndTime (\ s a -> s{_jsEndTime = a}) .+      mapping _Coerce++-- | [Output-only] Statistics for a query job.+jsQuery :: Lens' JobStatistics (Maybe JobStatistics2)+jsQuery = lens _jsQuery (\ s a -> s{_jsQuery = a})++-- | [Output-only] Statistics for an extract job.+jsExtract :: Lens' JobStatistics (Maybe JobStatistics4)+jsExtract+  = lens _jsExtract (\ s a -> s{_jsExtract = a})++instance FromJSON JobStatistics where+        parseJSON+          = withObject "JobStatistics"+              (\ o ->+                 JobStatistics <$>+                   (o .:? "creationTime") <*> (o .:? "startTime") <*>+                     (o .:? "load")+                     <*> (o .:? "totalBytesProcessed")+                     <*> (o .:? "endTime")+                     <*> (o .:? "query")+                     <*> (o .:? "extract"))++instance ToJSON JobStatistics where+        toJSON JobStatistics{..}+          = object+              (catMaybes+                 [("creationTime" .=) <$> _jsCreationTime,+                  ("startTime" .=) <$> _jsStartTime,+                  ("load" .=) <$> _jsLoad,+                  ("totalBytesProcessed" .=) <$>+                    _jsTotalBytesProcessed,+                  ("endTime" .=) <$> _jsEndTime,+                  ("query" .=) <$> _jsQuery,+                  ("extract" .=) <$> _jsExtract])++--+-- /See:/ 'dataSet' smart constructor.+data DataSet = DataSet+    { _dsCreationTime             :: !(Maybe (Textual Int64))+    , _dsAccess                   :: !(Maybe [DataSetAccessItem])+    , _dsEtag                     :: !(Maybe Text)+    , _dsLocation                 :: !(Maybe Text)+    , _dsFriendlyName             :: !(Maybe Text)+    , _dsKind                     :: !Text+    , _dsLastModifiedTime         :: !(Maybe (Textual Int64))+    , _dsDataSetReference         :: !(Maybe DataSetReference)+    , _dsSelfLink                 :: !(Maybe Text)+    , _dsId                       :: !(Maybe Text)+    , _dsDefaultTableExpirationMs :: !(Maybe (Textual Int64))+    , _dsDescription              :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DataSet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dsCreationTime'+--+-- * 'dsAccess'+--+-- * 'dsEtag'+--+-- * 'dsLocation'+--+-- * 'dsFriendlyName'+--+-- * 'dsKind'+--+-- * 'dsLastModifiedTime'+--+-- * 'dsDataSetReference'+--+-- * 'dsSelfLink'+--+-- * 'dsId'+--+-- * 'dsDefaultTableExpirationMs'+--+-- * 'dsDescription'+dataSet+    :: DataSet+dataSet =+    DataSet+    { _dsCreationTime = Nothing+    , _dsAccess = Nothing+    , _dsEtag = Nothing+    , _dsLocation = Nothing+    , _dsFriendlyName = Nothing+    , _dsKind = "bigquery#dataset"+    , _dsLastModifiedTime = Nothing+    , _dsDataSetReference = Nothing+    , _dsSelfLink = Nothing+    , _dsId = Nothing+    , _dsDefaultTableExpirationMs = Nothing+    , _dsDescription = Nothing+    }++-- | [Output-only] The time when this dataset was created, in milliseconds+-- since the epoch.+dsCreationTime :: Lens' DataSet (Maybe Int64)+dsCreationTime+  = lens _dsCreationTime+      (\ s a -> s{_dsCreationTime = a})+      . mapping _Coerce++-- | [Optional] An array of objects that define dataset access for one or+-- more entities. You can set this property when inserting or updating a+-- dataset in order to control who is allowed to access the data. If+-- unspecified at dataset creation time, BigQuery adds default dataset+-- access for the following entities: access.specialGroup: projectReaders;+-- access.role: READER; access.specialGroup: projectWriters; access.role:+-- WRITER; access.specialGroup: projectOwners; access.role: OWNER;+-- access.userByEmail: [dataset creator email]; access.role: OWNER;+dsAccess :: Lens' DataSet [DataSetAccessItem]+dsAccess+  = lens _dsAccess (\ s a -> s{_dsAccess = a}) .+      _Default+      . _Coerce++-- | [Output-only] A hash of the resource.+dsEtag :: Lens' DataSet (Maybe Text)+dsEtag = lens _dsEtag (\ s a -> s{_dsEtag = a})++-- | [Experimental] The geographic location where the dataset should reside.+-- Possible values include EU and US. The default value is US.+dsLocation :: Lens' DataSet (Maybe Text)+dsLocation+  = lens _dsLocation (\ s a -> s{_dsLocation = a})++-- | [Optional] A descriptive name for the dataset.+dsFriendlyName :: Lens' DataSet (Maybe Text)+dsFriendlyName+  = lens _dsFriendlyName+      (\ s a -> s{_dsFriendlyName = a})++-- | [Output-only] The resource type.+dsKind :: Lens' DataSet Text+dsKind = lens _dsKind (\ s a -> s{_dsKind = a})++-- | [Output-only] The date when this dataset or any of its tables was last+-- modified, in milliseconds since the epoch.+dsLastModifiedTime :: Lens' DataSet (Maybe Int64)+dsLastModifiedTime+  = lens _dsLastModifiedTime+      (\ s a -> s{_dsLastModifiedTime = a})+      . mapping _Coerce++-- | [Required] A reference that identifies the dataset.+dsDataSetReference :: Lens' DataSet (Maybe DataSetReference)+dsDataSetReference+  = lens _dsDataSetReference+      (\ s a -> s{_dsDataSetReference = a})++-- | [Output-only] A URL that can be used to access the resource again. You+-- can use this URL in Get or Update requests to the resource.+dsSelfLink :: Lens' DataSet (Maybe Text)+dsSelfLink+  = lens _dsSelfLink (\ s a -> s{_dsSelfLink = a})++-- | [Output-only] The fully-qualified unique name of the dataset in the+-- format projectId:datasetId. The dataset name without the project name is+-- given in the datasetId field. When creating a new dataset, leave this+-- field blank, and instead specify the datasetId field.+dsId :: Lens' DataSet (Maybe Text)+dsId = lens _dsId (\ s a -> s{_dsId = a})++-- | [Experimental] The default lifetime of all tables in the dataset, in+-- milliseconds. The minimum value is 3600000 milliseconds (one hour). Once+-- this property is set, all newly-created tables in the dataset will have+-- an expirationTime property set to the creation time plus the value in+-- this property, and changing the value will only affect new tables, not+-- existing ones. When the expirationTime for a given table is reached,+-- that table will be deleted automatically. If a table\'s expirationTime+-- is modified or removed before the table expires, or if you provide an+-- explicit expirationTime when creating a table, that value takes+-- precedence over the default expiration time indicated by this property.+dsDefaultTableExpirationMs :: Lens' DataSet (Maybe Int64)+dsDefaultTableExpirationMs+  = lens _dsDefaultTableExpirationMs+      (\ s a -> s{_dsDefaultTableExpirationMs = a})+      . mapping _Coerce++-- | [Optional] A user-friendly description of the dataset.+dsDescription :: Lens' DataSet (Maybe Text)+dsDescription+  = lens _dsDescription+      (\ s a -> s{_dsDescription = a})++instance FromJSON DataSet where+        parseJSON+          = withObject "DataSet"+              (\ o ->+                 DataSet <$>+                   (o .:? "creationTime") <*>+                     (o .:? "access" .!= mempty)+                     <*> (o .:? "etag")+                     <*> (o .:? "location")+                     <*> (o .:? "friendlyName")+                     <*> (o .:? "kind" .!= "bigquery#dataset")+                     <*> (o .:? "lastModifiedTime")+                     <*> (o .:? "datasetReference")+                     <*> (o .:? "selfLink")+                     <*> (o .:? "id")+                     <*> (o .:? "defaultTableExpirationMs")+                     <*> (o .:? "description"))++instance ToJSON DataSet where+        toJSON DataSet{..}+          = object+              (catMaybes+                 [("creationTime" .=) <$> _dsCreationTime,+                  ("access" .=) <$> _dsAccess, ("etag" .=) <$> _dsEtag,+                  ("location" .=) <$> _dsLocation,+                  ("friendlyName" .=) <$> _dsFriendlyName,+                  Just ("kind" .= _dsKind),+                  ("lastModifiedTime" .=) <$> _dsLastModifiedTime,+                  ("datasetReference" .=) <$> _dsDataSetReference,+                  ("selfLink" .=) <$> _dsSelfLink, ("id" .=) <$> _dsId,+                  ("defaultTableExpirationMs" .=) <$>+                    _dsDefaultTableExpirationMs,+                  ("description" .=) <$> _dsDescription])++--+-- /See:/ 'externalDataConfiguration' smart constructor.+data ExternalDataConfiguration = ExternalDataConfiguration+    { _edcIgnoreUnknownValues :: !(Maybe Bool)+    , _edcCompression         :: !(Maybe Text)+    , _edcSourceFormat        :: !(Maybe Text)+    , _edcSchema              :: !(Maybe TableSchema)+    , _edcMaxBadRecords       :: !(Maybe (Textual Int32))+    , _edcSourceURIs          :: !(Maybe [Text])+    , _edcCSVOptions          :: !(Maybe CSVOptions)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ExternalDataConfiguration' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'edcIgnoreUnknownValues'+--+-- * 'edcCompression'+--+-- * 'edcSourceFormat'+--+-- * 'edcSchema'+--+-- * 'edcMaxBadRecords'+--+-- * 'edcSourceURIs'+--+-- * 'edcCSVOptions'+externalDataConfiguration+    :: ExternalDataConfiguration+externalDataConfiguration =+    ExternalDataConfiguration+    { _edcIgnoreUnknownValues = Nothing+    , _edcCompression = Nothing+    , _edcSourceFormat = Nothing+    , _edcSchema = Nothing+    , _edcMaxBadRecords = Nothing+    , _edcSourceURIs = Nothing+    , _edcCSVOptions = Nothing+    }++-- | [Optional] Indicates if BigQuery should allow extra values that are not+-- represented in the table schema. If true, the extra values are ignored.+-- If false, records with extra columns are treated as bad records, and if+-- there are too many bad records, an invalid error is returned in the job+-- result. The default value is false. The sourceFormat property determines+-- what BigQuery treats as an extra value: CSV: Trailing columns JSON:+-- Named values that don\'t match any column names+edcIgnoreUnknownValues :: Lens' ExternalDataConfiguration (Maybe Bool)+edcIgnoreUnknownValues+  = lens _edcIgnoreUnknownValues+      (\ s a -> s{_edcIgnoreUnknownValues = a})++-- | [Optional] The compression type of the data source. Possible values+-- include GZIP and NONE. The default value is NONE.+edcCompression :: Lens' ExternalDataConfiguration (Maybe Text)+edcCompression+  = lens _edcCompression+      (\ s a -> s{_edcCompression = a})++-- | [Required] The data format. For CSV files, specify \"CSV\". For+-- newline-delimited JSON, specify \"NEWLINE_DELIMITED_JSON\".+edcSourceFormat :: Lens' ExternalDataConfiguration (Maybe Text)+edcSourceFormat+  = lens _edcSourceFormat+      (\ s a -> s{_edcSourceFormat = a})++-- | [Required] The schema for the data.+edcSchema :: Lens' ExternalDataConfiguration (Maybe TableSchema)+edcSchema+  = lens _edcSchema (\ s a -> s{_edcSchema = a})++-- | [Optional] The maximum number of bad records that BigQuery can ignore+-- when reading data. If the number of bad records exceeds this value, an+-- invalid error is returned in the job result. The default value is 0,+-- which requires that all records are valid.+edcMaxBadRecords :: Lens' ExternalDataConfiguration (Maybe Int32)+edcMaxBadRecords+  = lens _edcMaxBadRecords+      (\ s a -> s{_edcMaxBadRecords = a})+      . mapping _Coerce++-- | [Required] The fully-qualified URIs that point to your data in Google+-- Cloud Storage. Each URI can contain one \'*\' wildcard character and it+-- must come after the \'bucket\' name. Size limits related to load jobs+-- apply to external data sources, plus an additional limit of 10 GB+-- maximum size across all URIs.+edcSourceURIs :: Lens' ExternalDataConfiguration [Text]+edcSourceURIs+  = lens _edcSourceURIs+      (\ s a -> s{_edcSourceURIs = a})+      . _Default+      . _Coerce++-- | Additional properties to set if sourceFormat is set to CSV.+edcCSVOptions :: Lens' ExternalDataConfiguration (Maybe CSVOptions)+edcCSVOptions+  = lens _edcCSVOptions+      (\ s a -> s{_edcCSVOptions = a})++instance FromJSON ExternalDataConfiguration where+        parseJSON+          = withObject "ExternalDataConfiguration"+              (\ o ->+                 ExternalDataConfiguration <$>+                   (o .:? "ignoreUnknownValues") <*>+                     (o .:? "compression")+                     <*> (o .:? "sourceFormat")+                     <*> (o .:? "schema")+                     <*> (o .:? "maxBadRecords")+                     <*> (o .:? "sourceUris" .!= mempty)+                     <*> (o .:? "csvOptions"))++instance ToJSON ExternalDataConfiguration where+        toJSON ExternalDataConfiguration{..}+          = object+              (catMaybes+                 [("ignoreUnknownValues" .=) <$>+                    _edcIgnoreUnknownValues,+                  ("compression" .=) <$> _edcCompression,+                  ("sourceFormat" .=) <$> _edcSourceFormat,+                  ("schema" .=) <$> _edcSchema,+                  ("maxBadRecords" .=) <$> _edcMaxBadRecords,+                  ("sourceUris" .=) <$> _edcSourceURIs,+                  ("csvOptions" .=) <$> _edcCSVOptions])++--+-- /See:/ 'tableReference' smart constructor.+data TableReference = TableReference+    { _trDataSetId :: !(Maybe Text)+    , _trProjectId :: !(Maybe Text)+    , _trTableId   :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TableReference' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'trDataSetId'+--+-- * 'trProjectId'+--+-- * 'trTableId'+tableReference+    :: TableReference+tableReference =+    TableReference+    { _trDataSetId = Nothing+    , _trProjectId = Nothing+    , _trTableId = Nothing+    }++-- | [Required] The ID of the dataset containing this table.+trDataSetId :: Lens' TableReference (Maybe Text)+trDataSetId+  = lens _trDataSetId (\ s a -> s{_trDataSetId = a})++-- | [Required] The ID of the project containing this table.+trProjectId :: Lens' TableReference (Maybe Text)+trProjectId+  = lens _trProjectId (\ s a -> s{_trProjectId = a})++-- | [Required] The ID of the table. The ID must contain only letters (a-z,+-- A-Z), numbers (0-9), or underscores (_). The maximum length is 1,024+-- characters.+trTableId :: Lens' TableReference (Maybe Text)+trTableId+  = lens _trTableId (\ s a -> s{_trTableId = a})++instance FromJSON TableReference where+        parseJSON+          = withObject "TableReference"+              (\ o ->+                 TableReference <$>+                   (o .:? "datasetId") <*> (o .:? "projectId") <*>+                     (o .:? "tableId"))++instance ToJSON TableReference where+        toJSON TableReference{..}+          = object+              (catMaybes+                 [("datasetId" .=) <$> _trDataSetId,+                  ("projectId" .=) <$> _trProjectId,+                  ("tableId" .=) <$> _trTableId])++--+-- /See:/ 'tableFieldSchema' smart constructor.+data TableFieldSchema = TableFieldSchema+    { _tfsMode        :: !(Maybe Text)+    , _tfsName        :: !(Maybe Text)+    , _tfsType        :: !(Maybe Text)+    , _tfsDescription :: !(Maybe Text)+    , _tfsFields      :: !(Maybe [TableFieldSchema])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TableFieldSchema' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tfsMode'+--+-- * 'tfsName'+--+-- * 'tfsType'+--+-- * 'tfsDescription'+--+-- * 'tfsFields'+tableFieldSchema+    :: TableFieldSchema+tableFieldSchema =+    TableFieldSchema+    { _tfsMode = Nothing+    , _tfsName = Nothing+    , _tfsType = Nothing+    , _tfsDescription = Nothing+    , _tfsFields = Nothing+    }++-- | [Optional] The field mode. Possible values include NULLABLE, REQUIRED+-- and REPEATED. The default value is NULLABLE.+tfsMode :: Lens' TableFieldSchema (Maybe Text)+tfsMode = lens _tfsMode (\ s a -> s{_tfsMode = a})++-- | [Required] The field name. The name must contain only letters (a-z,+-- A-Z), numbers (0-9), or underscores (_), and must start with a letter or+-- underscore. The maximum length is 128 characters.+tfsName :: Lens' TableFieldSchema (Maybe Text)+tfsName = lens _tfsName (\ s a -> s{_tfsName = a})++-- | [Required] The field data type. Possible values include STRING, INTEGER,+-- FLOAT, BOOLEAN, TIMESTAMP or RECORD (where RECORD indicates that the+-- field contains a nested schema).+tfsType :: Lens' TableFieldSchema (Maybe Text)+tfsType = lens _tfsType (\ s a -> s{_tfsType = a})++-- | [Optional] The field description. The maximum length is 16K characters.+tfsDescription :: Lens' TableFieldSchema (Maybe Text)+tfsDescription+  = lens _tfsDescription+      (\ s a -> s{_tfsDescription = a})++-- | [Optional] Describes the nested schema fields if the type property is+-- set to RECORD.+tfsFields :: Lens' TableFieldSchema [TableFieldSchema]+tfsFields+  = lens _tfsFields (\ s a -> s{_tfsFields = a}) .+      _Default+      . _Coerce++instance FromJSON TableFieldSchema where+        parseJSON+          = withObject "TableFieldSchema"+              (\ o ->+                 TableFieldSchema <$>+                   (o .:? "mode") <*> (o .:? "name") <*> (o .:? "type")+                     <*> (o .:? "description")+                     <*> (o .:? "fields" .!= mempty))++instance ToJSON TableFieldSchema where+        toJSON TableFieldSchema{..}+          = object+              (catMaybes+                 [("mode" .=) <$> _tfsMode, ("name" .=) <$> _tfsName,+                  ("type" .=) <$> _tfsType,+                  ("description" .=) <$> _tfsDescription,+                  ("fields" .=) <$> _tfsFields])++--+-- /See:/ 'getQueryResultsResponse' smart constructor.+data GetQueryResultsResponse = GetQueryResultsResponse+    { _gqrrJobReference        :: !(Maybe JobReference)+    , _gqrrEtag                :: !(Maybe Text)+    , _gqrrKind                :: !Text+    , _gqrrSchema              :: !(Maybe TableSchema)+    , _gqrrTotalBytesProcessed :: !(Maybe (Textual Int64))+    , _gqrrRows                :: !(Maybe [TableRow])+    , _gqrrPageToken           :: !(Maybe Text)+    , _gqrrTotalRows           :: !(Maybe (Textual Word64))+    , _gqrrErrors              :: !(Maybe [ErrorProto])+    , _gqrrJobComplete         :: !(Maybe Bool)+    , _gqrrCacheHit            :: !(Maybe Bool)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'GetQueryResultsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gqrrJobReference'+--+-- * 'gqrrEtag'+--+-- * 'gqrrKind'+--+-- * 'gqrrSchema'+--+-- * 'gqrrTotalBytesProcessed'+--+-- * 'gqrrRows'+--+-- * 'gqrrPageToken'+--+-- * 'gqrrTotalRows'+--+-- * 'gqrrErrors'+--+-- * 'gqrrJobComplete'+--+-- * 'gqrrCacheHit'+getQueryResultsResponse+    :: GetQueryResultsResponse+getQueryResultsResponse =+    GetQueryResultsResponse+    { _gqrrJobReference = Nothing+    , _gqrrEtag = Nothing+    , _gqrrKind = "bigquery#getQueryResultsResponse"+    , _gqrrSchema = Nothing+    , _gqrrTotalBytesProcessed = Nothing+    , _gqrrRows = Nothing+    , _gqrrPageToken = Nothing+    , _gqrrTotalRows = Nothing+    , _gqrrErrors = Nothing+    , _gqrrJobComplete = Nothing+    , _gqrrCacheHit = Nothing+    }++-- | Reference to the BigQuery Job that was created to run the query. This+-- field will be present even if the original request timed out, in which+-- case GetQueryResults can be used to read the results once the query has+-- completed. Since this API only returns the first page of results,+-- subsequent pages can be fetched via the same mechanism+-- (GetQueryResults).+gqrrJobReference :: Lens' GetQueryResultsResponse (Maybe JobReference)+gqrrJobReference+  = lens _gqrrJobReference+      (\ s a -> s{_gqrrJobReference = a})++-- | A hash of this response.+gqrrEtag :: Lens' GetQueryResultsResponse (Maybe Text)+gqrrEtag = lens _gqrrEtag (\ s a -> s{_gqrrEtag = a})++-- | The resource type of the response.+gqrrKind :: Lens' GetQueryResultsResponse Text+gqrrKind = lens _gqrrKind (\ s a -> s{_gqrrKind = a})++-- | The schema of the results. Present only when the query completes+-- successfully.+gqrrSchema :: Lens' GetQueryResultsResponse (Maybe TableSchema)+gqrrSchema+  = lens _gqrrSchema (\ s a -> s{_gqrrSchema = a})++-- | The total number of bytes processed for this query.+gqrrTotalBytesProcessed :: Lens' GetQueryResultsResponse (Maybe Int64)+gqrrTotalBytesProcessed+  = lens _gqrrTotalBytesProcessed+      (\ s a -> s{_gqrrTotalBytesProcessed = a})+      . mapping _Coerce++-- | An object with as many results as can be contained within the maximum+-- permitted reply size. To get any additional rows, you can call+-- GetQueryResults and specify the jobReference returned above. Present+-- only when the query completes successfully.+gqrrRows :: Lens' GetQueryResultsResponse [TableRow]+gqrrRows+  = lens _gqrrRows (\ s a -> s{_gqrrRows = a}) .+      _Default+      . _Coerce++-- | A token used for paging results.+gqrrPageToken :: Lens' GetQueryResultsResponse (Maybe Text)+gqrrPageToken+  = lens _gqrrPageToken+      (\ s a -> s{_gqrrPageToken = a})++-- | The total number of rows in the complete query result set, which can be+-- more than the number of rows in this single page of results. Present+-- only when the query completes successfully.+gqrrTotalRows :: Lens' GetQueryResultsResponse (Maybe Word64)+gqrrTotalRows+  = lens _gqrrTotalRows+      (\ s a -> s{_gqrrTotalRows = a})+      . mapping _Coerce++-- | [Output-only] All errors and warnings encountered during the running of+-- the job. Errors here do not necessarily mean that the job has completed+-- or was unsuccessful.+gqrrErrors :: Lens' GetQueryResultsResponse [ErrorProto]+gqrrErrors+  = lens _gqrrErrors (\ s a -> s{_gqrrErrors = a}) .+      _Default+      . _Coerce++-- | Whether the query has completed or not. If rows or totalRows are+-- present, this will always be true. If this is false, totalRows will not+-- be available.+gqrrJobComplete :: Lens' GetQueryResultsResponse (Maybe Bool)+gqrrJobComplete+  = lens _gqrrJobComplete+      (\ s a -> s{_gqrrJobComplete = a})++-- | Whether the query result was fetched from the query cache.+gqrrCacheHit :: Lens' GetQueryResultsResponse (Maybe Bool)+gqrrCacheHit+  = lens _gqrrCacheHit (\ s a -> s{_gqrrCacheHit = a})++instance FromJSON GetQueryResultsResponse where+        parseJSON+          = withObject "GetQueryResultsResponse"+              (\ o ->+                 GetQueryResultsResponse <$>+                   (o .:? "jobReference") <*> (o .:? "etag") <*>+                     (o .:? "kind" .!= "bigquery#getQueryResultsResponse")+                     <*> (o .:? "schema")+                     <*> (o .:? "totalBytesProcessed")+                     <*> (o .:? "rows" .!= mempty)+                     <*> (o .:? "pageToken")+                     <*> (o .:? "totalRows")+                     <*> (o .:? "errors" .!= mempty)+                     <*> (o .:? "jobComplete")+                     <*> (o .:? "cacheHit"))++instance ToJSON GetQueryResultsResponse where+        toJSON GetQueryResultsResponse{..}+          = object+              (catMaybes+                 [("jobReference" .=) <$> _gqrrJobReference,+                  ("etag" .=) <$> _gqrrEtag,+                  Just ("kind" .= _gqrrKind),+                  ("schema" .=) <$> _gqrrSchema,+                  ("totalBytesProcessed" .=) <$>+                    _gqrrTotalBytesProcessed,+                  ("rows" .=) <$> _gqrrRows,+                  ("pageToken" .=) <$> _gqrrPageToken,+                  ("totalRows" .=) <$> _gqrrTotalRows,+                  ("errors" .=) <$> _gqrrErrors,+                  ("jobComplete" .=) <$> _gqrrJobComplete,+                  ("cacheHit" .=) <$> _gqrrCacheHit])++--+-- /See:/ 'dataSetList' smart constructor.+data DataSetList = DataSetList+    { _dslEtag          :: !(Maybe Text)+    , _dslNextPageToken :: !(Maybe Text)+    , _dslKind          :: !Text+    , _dslDataSets      :: !(Maybe [DataSetListDataSetsItem])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DataSetList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dslEtag'+--+-- * 'dslNextPageToken'+--+-- * 'dslKind'+--+-- * 'dslDataSets'+dataSetList+    :: DataSetList+dataSetList =+    DataSetList+    { _dslEtag = Nothing+    , _dslNextPageToken = Nothing+    , _dslKind = "bigquery#datasetList"+    , _dslDataSets = Nothing+    }++-- | A hash value of the results page. You can use this property to determine+-- if the page has changed since the last request.+dslEtag :: Lens' DataSetList (Maybe Text)+dslEtag = lens _dslEtag (\ s a -> s{_dslEtag = a})++-- | A token that can be used to request the next results page. This property+-- is omitted on the final results page.+dslNextPageToken :: Lens' DataSetList (Maybe Text)+dslNextPageToken+  = lens _dslNextPageToken+      (\ s a -> s{_dslNextPageToken = a})++-- | The list type. This property always returns the value+-- \"bigquery#datasetList\".+dslKind :: Lens' DataSetList Text+dslKind = lens _dslKind (\ s a -> s{_dslKind = a})++-- | An array of the dataset resources in the project. Each resource contains+-- basic information. For full information about a particular dataset+-- resource, use the Datasets: get method. This property is omitted when+-- there are no datasets in the project.+dslDataSets :: Lens' DataSetList [DataSetListDataSetsItem]+dslDataSets+  = lens _dslDataSets (\ s a -> s{_dslDataSets = a}) .+      _Default+      . _Coerce++instance FromJSON DataSetList where+        parseJSON+          = withObject "DataSetList"+              (\ o ->+                 DataSetList <$>+                   (o .:? "etag") <*> (o .:? "nextPageToken") <*>+                     (o .:? "kind" .!= "bigquery#datasetList")+                     <*> (o .:? "datasets" .!= mempty))++instance ToJSON DataSetList where+        toJSON DataSetList{..}+          = object+              (catMaybes+                 [("etag" .=) <$> _dslEtag,+                  ("nextPageToken" .=) <$> _dslNextPageToken,+                  Just ("kind" .= _dslKind),+                  ("datasets" .=) <$> _dslDataSets])++--+-- /See:/ 'queryRequest' smart constructor.+data QueryRequest = QueryRequest+    { _qrUseQueryCache  :: !Bool+    , _qrPreserveNulls  :: !(Maybe Bool)+    , _qrKind           :: !Text+    , _qrQuery          :: !(Maybe Text)+    , _qrTimeoutMs      :: !(Maybe (Textual Word32))+    , _qrDryRun         :: !(Maybe Bool)+    , _qrMaxResults     :: !(Maybe (Textual Word32))+    , _qrDefaultDataSet :: !(Maybe DataSetReference)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'QueryRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'qrUseQueryCache'+--+-- * 'qrPreserveNulls'+--+-- * 'qrKind'+--+-- * 'qrQuery'+--+-- * 'qrTimeoutMs'+--+-- * 'qrDryRun'+--+-- * 'qrMaxResults'+--+-- * 'qrDefaultDataSet'+queryRequest+    :: QueryRequest+queryRequest =+    QueryRequest+    { _qrUseQueryCache = True+    , _qrPreserveNulls = Nothing+    , _qrKind = "bigquery#queryRequest"+    , _qrQuery = Nothing+    , _qrTimeoutMs = Nothing+    , _qrDryRun = Nothing+    , _qrMaxResults = Nothing+    , _qrDefaultDataSet = Nothing+    }++-- | [Optional] Whether to look for the result in the query cache. The query+-- cache is a best-effort cache that will be flushed whenever tables in the+-- query are modified. The default value is true.+qrUseQueryCache :: Lens' QueryRequest Bool+qrUseQueryCache+  = lens _qrUseQueryCache+      (\ s a -> s{_qrUseQueryCache = a})++-- | [Deprecated] This property is deprecated.+qrPreserveNulls :: Lens' QueryRequest (Maybe Bool)+qrPreserveNulls+  = lens _qrPreserveNulls+      (\ s a -> s{_qrPreserveNulls = a})++-- | The resource type of the request.+qrKind :: Lens' QueryRequest Text+qrKind = lens _qrKind (\ s a -> s{_qrKind = a})++-- | [Required] A query string, following the BigQuery query syntax, of the+-- query to execute. Example: \"SELECT count(f1) FROM+-- [myProjectId:myDatasetId.myTableId]\".+qrQuery :: Lens' QueryRequest (Maybe Text)+qrQuery = lens _qrQuery (\ s a -> s{_qrQuery = a})++-- | [Optional] How long to wait for the query to complete, in milliseconds,+-- before the request times out and returns. Note that this is only a+-- timeout for the request, not the query. If the query takes longer to run+-- than the timeout value, the call returns without any results and with+-- the \'jobComplete\' flag set to false. You can call GetQueryResults() to+-- wait for the query to complete and read the results. The default value+-- is 10000 milliseconds (10 seconds).+qrTimeoutMs :: Lens' QueryRequest (Maybe Word32)+qrTimeoutMs+  = lens _qrTimeoutMs (\ s a -> s{_qrTimeoutMs = a}) .+      mapping _Coerce++-- | [Optional] If set to true, BigQuery doesn\'t run the job. Instead, if+-- the query is valid, BigQuery returns statistics about the job such as+-- how many bytes would be processed. If the query is invalid, an error+-- returns. The default value is false.+qrDryRun :: Lens' QueryRequest (Maybe Bool)+qrDryRun = lens _qrDryRun (\ s a -> s{_qrDryRun = a})++-- | [Optional] The maximum number of rows of data to return per page of+-- results. Setting this flag to a small value such as 1000 and then paging+-- through results might improve reliability when the query result set is+-- large. In addition to this limit, responses are also limited to 10 MB.+-- By default, there is no maximum row count, and only the byte limit+-- applies.+qrMaxResults :: Lens' QueryRequest (Maybe Word32)+qrMaxResults+  = lens _qrMaxResults (\ s a -> s{_qrMaxResults = a})+      . mapping _Coerce++-- | [Optional] Specifies the default datasetId and projectId to assume for+-- any unqualified table names in the query. If not set, all table names in+-- the query string must be qualified in the format \'datasetId.tableId\'.+qrDefaultDataSet :: Lens' QueryRequest (Maybe DataSetReference)+qrDefaultDataSet+  = lens _qrDefaultDataSet+      (\ s a -> s{_qrDefaultDataSet = a})++instance FromJSON QueryRequest where+        parseJSON+          = withObject "QueryRequest"+              (\ o ->+                 QueryRequest <$>+                   (o .:? "useQueryCache" .!= True) <*>+                     (o .:? "preserveNulls")+                     <*> (o .:? "kind" .!= "bigquery#queryRequest")+                     <*> (o .:? "query")+                     <*> (o .:? "timeoutMs")+                     <*> (o .:? "dryRun")+                     <*> (o .:? "maxResults")+                     <*> (o .:? "defaultDataset"))++instance ToJSON QueryRequest where+        toJSON QueryRequest{..}+          = object+              (catMaybes+                 [Just ("useQueryCache" .= _qrUseQueryCache),+                  ("preserveNulls" .=) <$> _qrPreserveNulls,+                  Just ("kind" .= _qrKind), ("query" .=) <$> _qrQuery,+                  ("timeoutMs" .=) <$> _qrTimeoutMs,+                  ("dryRun" .=) <$> _qrDryRun,+                  ("maxResults" .=) <$> _qrMaxResults,+                  ("defaultDataset" .=) <$> _qrDefaultDataSet])++--+-- /See:/ 'jobStatistics4' smart constructor.+newtype JobStatistics4 = JobStatistics4+    { _jsDestinationURIFileCounts :: Maybe [Textual Int64]+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'JobStatistics4' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'jsDestinationURIFileCounts'+jobStatistics4+    :: JobStatistics4+jobStatistics4 =+    JobStatistics4+    { _jsDestinationURIFileCounts = Nothing+    }++-- | [Output-only] Number of files per destination URI or URI pattern+-- specified in the extract configuration. These values will be in the same+-- order as the URIs specified in the \'destinationUris\' field.+jsDestinationURIFileCounts :: Lens' JobStatistics4 [Int64]+jsDestinationURIFileCounts+  = lens _jsDestinationURIFileCounts+      (\ s a -> s{_jsDestinationURIFileCounts = a})+      . _Default+      . _Coerce++instance FromJSON JobStatistics4 where+        parseJSON+          = withObject "JobStatistics4"+              (\ o ->+                 JobStatistics4 <$>+                   (o .:? "destinationUriFileCounts" .!= mempty))++instance ToJSON JobStatistics4 where+        toJSON JobStatistics4{..}+          = object+              (catMaybes+                 [("destinationUriFileCounts" .=) <$>+                    _jsDestinationURIFileCounts])++--+-- /See:/ 'projectReference' smart constructor.+newtype ProjectReference = ProjectReference+    { _prProjectId :: Maybe Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProjectReference' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'prProjectId'+projectReference+    :: ProjectReference+projectReference =+    ProjectReference+    { _prProjectId = Nothing+    }++-- | [Required] ID of the project. Can be either the numeric ID or the+-- assigned ID of the project.+prProjectId :: Lens' ProjectReference (Maybe Text)+prProjectId+  = lens _prProjectId (\ s a -> s{_prProjectId = a})++instance FromJSON ProjectReference where+        parseJSON+          = withObject "ProjectReference"+              (\ o -> ProjectReference <$> (o .:? "projectId"))++instance ToJSON ProjectReference where+        toJSON ProjectReference{..}+          = object+              (catMaybes [("projectId" .=) <$> _prProjectId])++--+-- /See:/ 'jobConfigurationLoad' smart constructor.+data JobConfigurationLoad = JobConfigurationLoad+    { _jclSkipLeadingRows     :: !(Maybe (Textual Int32))+    , _jclProjectionFields    :: !(Maybe [Text])+    , _jclDestinationTable    :: !(Maybe TableReference)+    , _jclWriteDisPosition    :: !(Maybe Text)+    , _jclAllowJaggedRows     :: !(Maybe Bool)+    , _jclSchemaInline        :: !(Maybe Text)+    , _jclIgnoreUnknownValues :: !(Maybe Bool)+    , _jclCreateDisPosition   :: !(Maybe Text)+    , _jclSchemaInlineFormat  :: !(Maybe Text)+    , _jclAllowQuotedNewlines :: !(Maybe Bool)+    , _jclSourceFormat        :: !(Maybe Text)+    , _jclSchema              :: !(Maybe TableSchema)+    , _jclQuote               :: !Text+    , _jclMaxBadRecords       :: !(Maybe (Textual Int32))+    , _jclSourceURIs          :: !(Maybe [Text])+    , _jclEncoding            :: !(Maybe Text)+    , _jclFieldDelimiter      :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'JobConfigurationLoad' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'jclSkipLeadingRows'+--+-- * 'jclProjectionFields'+--+-- * 'jclDestinationTable'+--+-- * 'jclWriteDisPosition'+--+-- * 'jclAllowJaggedRows'+--+-- * 'jclSchemaInline'+--+-- * 'jclIgnoreUnknownValues'+--+-- * 'jclCreateDisPosition'+--+-- * 'jclSchemaInlineFormat'+--+-- * 'jclAllowQuotedNewlines'+--+-- * 'jclSourceFormat'+--+-- * 'jclSchema'+--+-- * 'jclQuote'+--+-- * 'jclMaxBadRecords'+--+-- * 'jclSourceURIs'+--+-- * 'jclEncoding'+--+-- * 'jclFieldDelimiter'+jobConfigurationLoad+    :: JobConfigurationLoad+jobConfigurationLoad =+    JobConfigurationLoad+    { _jclSkipLeadingRows = Nothing+    , _jclProjectionFields = Nothing+    , _jclDestinationTable = Nothing+    , _jclWriteDisPosition = Nothing+    , _jclAllowJaggedRows = Nothing+    , _jclSchemaInline = Nothing+    , _jclIgnoreUnknownValues = Nothing+    , _jclCreateDisPosition = Nothing+    , _jclSchemaInlineFormat = Nothing+    , _jclAllowQuotedNewlines = Nothing+    , _jclSourceFormat = Nothing+    , _jclSchema = Nothing+    , _jclQuote = "\""+    , _jclMaxBadRecords = Nothing+    , _jclSourceURIs = Nothing+    , _jclEncoding = Nothing+    , _jclFieldDelimiter = Nothing+    }++-- | [Optional] The number of rows at the top of a CSV file that BigQuery+-- will skip when loading the data. The default value is 0. This property+-- is useful if you have header rows in the file that should be skipped.+jclSkipLeadingRows :: Lens' JobConfigurationLoad (Maybe Int32)+jclSkipLeadingRows+  = lens _jclSkipLeadingRows+      (\ s a -> s{_jclSkipLeadingRows = a})+      . mapping _Coerce++-- | [Experimental] If sourceFormat is set to \"DATASTORE_BACKUP\", indicates+-- which entity properties to load into BigQuery from a Cloud Datastore+-- backup. Property names are case sensitive and must be top-level+-- properties. If no properties are specified, BigQuery loads all+-- properties. If any named property isn\'t found in the Cloud Datastore+-- backup, an invalid error is returned in the job result.+jclProjectionFields :: Lens' JobConfigurationLoad [Text]+jclProjectionFields+  = lens _jclProjectionFields+      (\ s a -> s{_jclProjectionFields = a})+      . _Default+      . _Coerce++-- | [Required] The destination table to load the data into.+jclDestinationTable :: Lens' JobConfigurationLoad (Maybe TableReference)+jclDestinationTable+  = lens _jclDestinationTable+      (\ s a -> s{_jclDestinationTable = a})++-- | [Optional] Specifies the action that occurs if the destination table+-- already exists. The following values are supported: WRITE_TRUNCATE: If+-- the table already exists, BigQuery overwrites the table data.+-- WRITE_APPEND: If the table already exists, BigQuery appends the data to+-- the table. WRITE_EMPTY: If the table already exists and contains data, a+-- \'duplicate\' error is returned in the job result. The default value is+-- WRITE_APPEND. Each action is atomic and only occurs if BigQuery is able+-- to complete the job successfully. Creation, truncation and append+-- actions occur as one atomic update upon job completion.+jclWriteDisPosition :: Lens' JobConfigurationLoad (Maybe Text)+jclWriteDisPosition+  = lens _jclWriteDisPosition+      (\ s a -> s{_jclWriteDisPosition = a})++-- | [Optional] Accept rows that are missing trailing optional columns. The+-- missing values are treated as nulls. If false, records with missing+-- trailing columns are treated as bad records, and if there are too many+-- bad records, an invalid error is returned in the job result. The default+-- value is false. Only applicable to CSV, ignored for other formats.+jclAllowJaggedRows :: Lens' JobConfigurationLoad (Maybe Bool)+jclAllowJaggedRows+  = lens _jclAllowJaggedRows+      (\ s a -> s{_jclAllowJaggedRows = a})++-- | [Deprecated] The inline schema. For CSV schemas, specify as+-- \"Field1:Type1[,Field2:Type2]*\". For example, \"foo:STRING,+-- bar:INTEGER, baz:FLOAT\".+jclSchemaInline :: Lens' JobConfigurationLoad (Maybe Text)+jclSchemaInline+  = lens _jclSchemaInline+      (\ s a -> s{_jclSchemaInline = a})++-- | [Optional] Indicates if BigQuery should allow extra values that are not+-- represented in the table schema. If true, the extra values are ignored.+-- If false, records with extra columns are treated as bad records, and if+-- there are too many bad records, an invalid error is returned in the job+-- result. The default value is false. The sourceFormat property determines+-- what BigQuery treats as an extra value: CSV: Trailing columns JSON:+-- Named values that don\'t match any column names+jclIgnoreUnknownValues :: Lens' JobConfigurationLoad (Maybe Bool)+jclIgnoreUnknownValues+  = lens _jclIgnoreUnknownValues+      (\ s a -> s{_jclIgnoreUnknownValues = a})++-- | [Optional] Specifies whether the job is allowed to create new tables.+-- The following values are supported: CREATE_IF_NEEDED: If the table does+-- not exist, BigQuery creates the table. CREATE_NEVER: The table must+-- already exist. If it does not, a \'notFound\' error is returned in the+-- job result. The default value is CREATE_IF_NEEDED. Creation, truncation+-- and append actions occur as one atomic update upon job completion.+jclCreateDisPosition :: Lens' JobConfigurationLoad (Maybe Text)+jclCreateDisPosition+  = lens _jclCreateDisPosition+      (\ s a -> s{_jclCreateDisPosition = a})++-- | [Deprecated] The format of the schemaInline property.+jclSchemaInlineFormat :: Lens' JobConfigurationLoad (Maybe Text)+jclSchemaInlineFormat+  = lens _jclSchemaInlineFormat+      (\ s a -> s{_jclSchemaInlineFormat = a})++-- | Indicates if BigQuery should allow quoted data sections that contain+-- newline characters in a CSV file. The default value is false.+jclAllowQuotedNewlines :: Lens' JobConfigurationLoad (Maybe Bool)+jclAllowQuotedNewlines+  = lens _jclAllowQuotedNewlines+      (\ s a -> s{_jclAllowQuotedNewlines = a})++-- | [Optional] The format of the data files. For CSV files, specify \"CSV\".+-- For datastore backups, specify \"DATASTORE_BACKUP\". For+-- newline-delimited JSON, specify \"NEWLINE_DELIMITED_JSON\". The default+-- value is CSV.+jclSourceFormat :: Lens' JobConfigurationLoad (Maybe Text)+jclSourceFormat+  = lens _jclSourceFormat+      (\ s a -> s{_jclSourceFormat = a})++-- | [Optional] The schema for the destination table. The schema can be+-- omitted if the destination table already exists or if the schema can be+-- inferred from the loaded data.+jclSchema :: Lens' JobConfigurationLoad (Maybe TableSchema)+jclSchema+  = lens _jclSchema (\ s a -> s{_jclSchema = a})++-- | [Optional] The value that is used to quote data sections in a CSV file.+-- BigQuery converts the string to ISO-8859-1 encoding, and then uses the+-- first byte of the encoded string to split the data in its raw, binary+-- state. The default value is a double-quote (\'\"\'). If your data does+-- not contain quoted sections, set the property value to an empty string.+-- If your data contains quoted newline characters, you must also set the+-- allowQuotedNewlines property to true.+jclQuote :: Lens' JobConfigurationLoad Text+jclQuote = lens _jclQuote (\ s a -> s{_jclQuote = a})++-- | [Optional] The maximum number of bad records that BigQuery can ignore+-- when running the job. If the number of bad records exceeds this value,+-- an invalid error is returned in the job result. The default value is 0,+-- which requires that all records are valid.+jclMaxBadRecords :: Lens' JobConfigurationLoad (Maybe Int32)+jclMaxBadRecords+  = lens _jclMaxBadRecords+      (\ s a -> s{_jclMaxBadRecords = a})+      . mapping _Coerce++-- | [Required] The fully-qualified URIs that point to your data in Google+-- Cloud Storage. Each URI can contain one \'*\' wildcard character and it+-- must come after the \'bucket\' name.+jclSourceURIs :: Lens' JobConfigurationLoad [Text]+jclSourceURIs+  = lens _jclSourceURIs+      (\ s a -> s{_jclSourceURIs = a})+      . _Default+      . _Coerce++-- | [Optional] The character encoding of the data. The supported values are+-- UTF-8 or ISO-8859-1. The default value is UTF-8. BigQuery decodes the+-- data after the raw, binary data has been split using the values of the+-- quote and fieldDelimiter properties.+jclEncoding :: Lens' JobConfigurationLoad (Maybe Text)+jclEncoding+  = lens _jclEncoding (\ s a -> s{_jclEncoding = a})++-- | [Optional] The separator for fields in a CSV file. BigQuery converts the+-- string to ISO-8859-1 encoding, and then uses the first byte of the+-- encoded string to split the data in its raw, binary state. BigQuery also+-- supports the escape sequence \"\\t\" to specify a tab separator. The+-- default value is a comma (\',\').+jclFieldDelimiter :: Lens' JobConfigurationLoad (Maybe Text)+jclFieldDelimiter+  = lens _jclFieldDelimiter+      (\ s a -> s{_jclFieldDelimiter = a})++instance FromJSON JobConfigurationLoad where+        parseJSON+          = withObject "JobConfigurationLoad"+              (\ o ->+                 JobConfigurationLoad <$>+                   (o .:? "skipLeadingRows") <*>+                     (o .:? "projectionFields" .!= mempty)+                     <*> (o .:? "destinationTable")+                     <*> (o .:? "writeDisposition")+                     <*> (o .:? "allowJaggedRows")+                     <*> (o .:? "schemaInline")+                     <*> (o .:? "ignoreUnknownValues")+                     <*> (o .:? "createDisposition")+                     <*> (o .:? "schemaInlineFormat")+                     <*> (o .:? "allowQuotedNewlines")+                     <*> (o .:? "sourceFormat")+                     <*> (o .:? "schema")+                     <*> (o .:? "quote" .!= "\"")+                     <*> (o .:? "maxBadRecords")+                     <*> (o .:? "sourceUris" .!= mempty)+                     <*> (o .:? "encoding")+                     <*> (o .:? "fieldDelimiter"))++instance ToJSON JobConfigurationLoad where+        toJSON JobConfigurationLoad{..}+          = object+              (catMaybes+                 [("skipLeadingRows" .=) <$> _jclSkipLeadingRows,+                  ("projectionFields" .=) <$> _jclProjectionFields,+                  ("destinationTable" .=) <$> _jclDestinationTable,+                  ("writeDisposition" .=) <$> _jclWriteDisPosition,+                  ("allowJaggedRows" .=) <$> _jclAllowJaggedRows,+                  ("schemaInline" .=) <$> _jclSchemaInline,+                  ("ignoreUnknownValues" .=) <$>+                    _jclIgnoreUnknownValues,+                  ("createDisposition" .=) <$> _jclCreateDisPosition,+                  ("schemaInlineFormat" .=) <$> _jclSchemaInlineFormat,+                  ("allowQuotedNewlines" .=) <$>+                    _jclAllowQuotedNewlines,+                  ("sourceFormat" .=) <$> _jclSourceFormat,+                  ("schema" .=) <$> _jclSchema,+                  Just ("quote" .= _jclQuote),+                  ("maxBadRecords" .=) <$> _jclMaxBadRecords,+                  ("sourceUris" .=) <$> _jclSourceURIs,+                  ("encoding" .=) <$> _jclEncoding,+                  ("fieldDelimiter" .=) <$> _jclFieldDelimiter])++--+-- /See:/ 'dataSetReference' smart constructor.+data DataSetReference = DataSetReference+    { _dsrDataSetId :: !(Maybe Text)+    , _dsrProjectId :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DataSetReference' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dsrDataSetId'+--+-- * 'dsrProjectId'+dataSetReference+    :: DataSetReference+dataSetReference =+    DataSetReference+    { _dsrDataSetId = Nothing+    , _dsrProjectId = Nothing+    }++-- | [Required] A unique ID for this dataset, without the project name. The+-- ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores+-- (_). The maximum length is 1,024 characters.+dsrDataSetId :: Lens' DataSetReference (Maybe Text)+dsrDataSetId+  = lens _dsrDataSetId (\ s a -> s{_dsrDataSetId = a})++-- | [Optional] The ID of the project containing this dataset.+dsrProjectId :: Lens' DataSetReference (Maybe Text)+dsrProjectId+  = lens _dsrProjectId (\ s a -> s{_dsrProjectId = a})++instance FromJSON DataSetReference where+        parseJSON+          = withObject "DataSetReference"+              (\ o ->+                 DataSetReference <$>+                   (o .:? "datasetId") <*> (o .:? "projectId"))++instance ToJSON DataSetReference where+        toJSON DataSetReference{..}+          = object+              (catMaybes+                 [("datasetId" .=) <$> _dsrDataSetId,+                  ("projectId" .=) <$> _dsrProjectId])++--+-- /See:/ 'tableDataInsertAllRequest' smart constructor.+data TableDataInsertAllRequest = TableDataInsertAllRequest+    { _tdiarKind                :: !Text+    , _tdiarIgnoreUnknownValues :: !(Maybe Bool)+    , _tdiarRows                :: !(Maybe [TableDataInsertAllRequestRowsItem])+    , _tdiarSkipInvalidRows     :: !(Maybe Bool)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TableDataInsertAllRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tdiarKind'+--+-- * 'tdiarIgnoreUnknownValues'+--+-- * 'tdiarRows'+--+-- * 'tdiarSkipInvalidRows'+tableDataInsertAllRequest+    :: TableDataInsertAllRequest+tableDataInsertAllRequest =+    TableDataInsertAllRequest+    { _tdiarKind = "bigquery#tableDataInsertAllRequest"+    , _tdiarIgnoreUnknownValues = Nothing+    , _tdiarRows = Nothing+    , _tdiarSkipInvalidRows = Nothing+    }++-- | The resource type of the response.+tdiarKind :: Lens' TableDataInsertAllRequest Text+tdiarKind+  = lens _tdiarKind (\ s a -> s{_tdiarKind = a})++-- | [Optional] Accept rows that contain values that do not match the schema.+-- The unknown values are ignored. Default is false, which treats unknown+-- values as errors.+tdiarIgnoreUnknownValues :: Lens' TableDataInsertAllRequest (Maybe Bool)+tdiarIgnoreUnknownValues+  = lens _tdiarIgnoreUnknownValues+      (\ s a -> s{_tdiarIgnoreUnknownValues = a})++-- | The rows to insert.+tdiarRows :: Lens' TableDataInsertAllRequest [TableDataInsertAllRequestRowsItem]+tdiarRows+  = lens _tdiarRows (\ s a -> s{_tdiarRows = a}) .+      _Default+      . _Coerce++-- | [Optional] Insert all valid rows of a request, even if invalid rows+-- exist. The default value is false, which causes the entire request to+-- fail if any invalid rows exist.+tdiarSkipInvalidRows :: Lens' TableDataInsertAllRequest (Maybe Bool)+tdiarSkipInvalidRows+  = lens _tdiarSkipInvalidRows+      (\ s a -> s{_tdiarSkipInvalidRows = a})++instance FromJSON TableDataInsertAllRequest where+        parseJSON+          = withObject "TableDataInsertAllRequest"+              (\ o ->+                 TableDataInsertAllRequest <$>+                   (o .:? "kind" .!=+                      "bigquery#tableDataInsertAllRequest")+                     <*> (o .:? "ignoreUnknownValues")+                     <*> (o .:? "rows" .!= mempty)+                     <*> (o .:? "skipInvalidRows"))++instance ToJSON TableDataInsertAllRequest where+        toJSON TableDataInsertAllRequest{..}+          = object+              (catMaybes+                 [Just ("kind" .= _tdiarKind),+                  ("ignoreUnknownValues" .=) <$>+                    _tdiarIgnoreUnknownValues,+                  ("rows" .=) <$> _tdiarRows,+                  ("skipInvalidRows" .=) <$> _tdiarSkipInvalidRows])++--+-- /See:/ 'projectListProjectsItem' smart constructor.+data ProjectListProjectsItem = ProjectListProjectsItem+    { _plpiFriendlyName     :: !(Maybe Text)+    , _plpiKind             :: !Text+    , _plpiProjectReference :: !(Maybe ProjectReference)+    , _plpiId               :: !(Maybe Text)+    , _plpiNumericId        :: !(Maybe (Textual Word64))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProjectListProjectsItem' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'plpiFriendlyName'+--+-- * 'plpiKind'+--+-- * 'plpiProjectReference'+--+-- * 'plpiId'+--+-- * 'plpiNumericId'+projectListProjectsItem+    :: ProjectListProjectsItem+projectListProjectsItem =+    ProjectListProjectsItem+    { _plpiFriendlyName = Nothing+    , _plpiKind = "bigquery#project"+    , _plpiProjectReference = Nothing+    , _plpiId = Nothing+    , _plpiNumericId = Nothing+    }++-- | A descriptive name for this project.+plpiFriendlyName :: Lens' ProjectListProjectsItem (Maybe Text)+plpiFriendlyName+  = lens _plpiFriendlyName+      (\ s a -> s{_plpiFriendlyName = a})++-- | The resource type.+plpiKind :: Lens' ProjectListProjectsItem Text+plpiKind = lens _plpiKind (\ s a -> s{_plpiKind = a})++-- | A unique reference to this project.+plpiProjectReference :: Lens' ProjectListProjectsItem (Maybe ProjectReference)+plpiProjectReference+  = lens _plpiProjectReference+      (\ s a -> s{_plpiProjectReference = a})++-- | An opaque ID of this project.+plpiId :: Lens' ProjectListProjectsItem (Maybe Text)+plpiId = lens _plpiId (\ s a -> s{_plpiId = a})++-- | The numeric ID of this project.+plpiNumericId :: Lens' ProjectListProjectsItem (Maybe Word64)+plpiNumericId+  = lens _plpiNumericId+      (\ s a -> s{_plpiNumericId = a})+      . mapping _Coerce++instance FromJSON ProjectListProjectsItem where+        parseJSON+          = withObject "ProjectListProjectsItem"+              (\ o ->+                 ProjectListProjectsItem <$>+                   (o .:? "friendlyName") <*>+                     (o .:? "kind" .!= "bigquery#project")+                     <*> (o .:? "projectReference")+                     <*> (o .:? "id")+                     <*> (o .:? "numericId"))++instance ToJSON ProjectListProjectsItem where+        toJSON ProjectListProjectsItem{..}+          = object+              (catMaybes+                 [("friendlyName" .=) <$> _plpiFriendlyName,+                  Just ("kind" .= _plpiKind),+                  ("projectReference" .=) <$> _plpiProjectReference,+                  ("id" .=) <$> _plpiId,+                  ("numericId" .=) <$> _plpiNumericId])++--+-- /See:/ 'streamingbuffer' smart constructor.+data Streamingbuffer = Streamingbuffer+    { _sEstimatedBytes  :: !(Maybe (Textual Word64))+    , _sOldestEntryTime :: !(Maybe (Textual Word64))+    , _sEstimatedRows   :: !(Maybe (Textual Word64))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Streamingbuffer' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sEstimatedBytes'+--+-- * 'sOldestEntryTime'+--+-- * 'sEstimatedRows'+streamingbuffer+    :: Streamingbuffer+streamingbuffer =+    Streamingbuffer+    { _sEstimatedBytes = Nothing+    , _sOldestEntryTime = Nothing+    , _sEstimatedRows = Nothing+    }++-- | [Output-only] A lower-bound estimate of the number of bytes currently in+-- the streaming buffer.+sEstimatedBytes :: Lens' Streamingbuffer (Maybe Word64)+sEstimatedBytes+  = lens _sEstimatedBytes+      (\ s a -> s{_sEstimatedBytes = a})+      . mapping _Coerce++-- | [Output-only] Contains the timestamp of the oldest entry in the+-- streaming buffer, in milliseconds since the epoch, if the streaming+-- buffer is available.+sOldestEntryTime :: Lens' Streamingbuffer (Maybe Word64)+sOldestEntryTime+  = lens _sOldestEntryTime+      (\ s a -> s{_sOldestEntryTime = a})+      . mapping _Coerce++-- | [Output-only] A lower-bound estimate of the number of rows currently in+-- the streaming buffer.+sEstimatedRows :: Lens' Streamingbuffer (Maybe Word64)+sEstimatedRows+  = lens _sEstimatedRows+      (\ s a -> s{_sEstimatedRows = a})+      . mapping _Coerce++instance FromJSON Streamingbuffer where+        parseJSON+          = withObject "Streamingbuffer"+              (\ o ->+                 Streamingbuffer <$>+                   (o .:? "estimatedBytes") <*>+                     (o .:? "oldestEntryTime")+                     <*> (o .:? "estimatedRows"))++instance ToJSON Streamingbuffer where+        toJSON Streamingbuffer{..}+          = object+              (catMaybes+                 [("estimatedBytes" .=) <$> _sEstimatedBytes,+                  ("oldestEntryTime" .=) <$> _sOldestEntryTime,+                  ("estimatedRows" .=) <$> _sEstimatedRows])++--+-- /See:/ 'tableRow' smart constructor.+newtype TableRow = TableRow+    { _trF :: Maybe [TableCell]+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TableRow' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'trF'+tableRow+    :: TableRow+tableRow =+    TableRow+    { _trF = Nothing+    }++-- | Represents a single row in the result set, consisting of one or more+-- fields.+trF :: Lens' TableRow [TableCell]+trF+  = lens _trF (\ s a -> s{_trF = a}) . _Default .+      _Coerce++instance FromJSON TableRow where+        parseJSON+          = withObject "TableRow"+              (\ o -> TableRow <$> (o .:? "f" .!= mempty))++instance ToJSON TableRow where+        toJSON TableRow{..}+          = object (catMaybes [("f" .=) <$> _trF])++--+-- /See:/ 'jobListJobsItem' smart constructor.+data JobListJobsItem = JobListJobsItem+    { _jljiJobReference  :: !(Maybe JobReference)+    , _jljiStatus        :: !(Maybe JobStatus)+    , _jljiState         :: !(Maybe Text)+    , _jljiUserEmail     :: !(Maybe Text)+    , _jljiKind          :: !Text+    , _jljiErrorResult   :: !(Maybe ErrorProto)+    , _jljiId            :: !(Maybe Text)+    , _jljiStatistics    :: !(Maybe JobStatistics)+    , _jljiConfiguration :: !(Maybe JobConfiguration)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'JobListJobsItem' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'jljiJobReference'+--+-- * 'jljiStatus'+--+-- * 'jljiState'+--+-- * 'jljiUserEmail'+--+-- * 'jljiKind'+--+-- * 'jljiErrorResult'+--+-- * 'jljiId'+--+-- * 'jljiStatistics'+--+-- * 'jljiConfiguration'+jobListJobsItem+    :: JobListJobsItem+jobListJobsItem =+    JobListJobsItem+    { _jljiJobReference = Nothing+    , _jljiStatus = Nothing+    , _jljiState = Nothing+    , _jljiUserEmail = Nothing+    , _jljiKind = "bigquery#job"+    , _jljiErrorResult = Nothing+    , _jljiId = Nothing+    , _jljiStatistics = Nothing+    , _jljiConfiguration = Nothing+    }++-- | Job reference uniquely identifying the job.+jljiJobReference :: Lens' JobListJobsItem (Maybe JobReference)+jljiJobReference+  = lens _jljiJobReference+      (\ s a -> s{_jljiJobReference = a})++-- | [Full-projection-only] Describes the state of the job.+jljiStatus :: Lens' JobListJobsItem (Maybe JobStatus)+jljiStatus+  = lens _jljiStatus (\ s a -> s{_jljiStatus = a})++-- | Running state of the job. When the state is DONE, errorResult can be+-- checked to determine whether the job succeeded or failed.+jljiState :: Lens' JobListJobsItem (Maybe Text)+jljiState+  = lens _jljiState (\ s a -> s{_jljiState = a})++-- | [Full-projection-only] Email address of the user who ran the job.+jljiUserEmail :: Lens' JobListJobsItem (Maybe Text)+jljiUserEmail+  = lens _jljiUserEmail+      (\ s a -> s{_jljiUserEmail = a})++-- | The resource type.+jljiKind :: Lens' JobListJobsItem Text+jljiKind = lens _jljiKind (\ s a -> s{_jljiKind = a})++-- | A result object that will be present only if the job has failed.+jljiErrorResult :: Lens' JobListJobsItem (Maybe ErrorProto)+jljiErrorResult+  = lens _jljiErrorResult+      (\ s a -> s{_jljiErrorResult = a})++-- | Unique opaque ID of the job.+jljiId :: Lens' JobListJobsItem (Maybe Text)+jljiId = lens _jljiId (\ s a -> s{_jljiId = a})++-- | [Output-only] Information about the job, including starting time and+-- ending time of the job.+jljiStatistics :: Lens' JobListJobsItem (Maybe JobStatistics)+jljiStatistics+  = lens _jljiStatistics+      (\ s a -> s{_jljiStatistics = a})++-- | [Full-projection-only] Specifies the job configuration.+jljiConfiguration :: Lens' JobListJobsItem (Maybe JobConfiguration)+jljiConfiguration+  = lens _jljiConfiguration+      (\ s a -> s{_jljiConfiguration = a})++instance FromJSON JobListJobsItem where+        parseJSON+          = withObject "JobListJobsItem"+              (\ o ->+                 JobListJobsItem <$>+                   (o .:? "jobReference") <*> (o .:? "status") <*>+                     (o .:? "state")+                     <*> (o .:? "user_email")+                     <*> (o .:? "kind" .!= "bigquery#job")+                     <*> (o .:? "errorResult")+                     <*> (o .:? "id")+                     <*> (o .:? "statistics")+                     <*> (o .:? "configuration"))++instance ToJSON JobListJobsItem where+        toJSON JobListJobsItem{..}+          = object+              (catMaybes+                 [("jobReference" .=) <$> _jljiJobReference,+                  ("status" .=) <$> _jljiStatus,+                  ("state" .=) <$> _jljiState,+                  ("user_email" .=) <$> _jljiUserEmail,+                  Just ("kind" .= _jljiKind),+                  ("errorResult" .=) <$> _jljiErrorResult,+                  ("id" .=) <$> _jljiId,+                  ("statistics" .=) <$> _jljiStatistics,+                  ("configuration" .=) <$> _jljiConfiguration])++--+-- /See:/ 'jobConfiguration' smart constructor.+data JobConfiguration = JobConfiguration+    { _jcCopy    :: !(Maybe JobConfigurationTableCopy)+    , _jcLink    :: !(Maybe JobConfigurationLink)+    , _jcLoad    :: !(Maybe JobConfigurationLoad)+    , _jcQuery   :: !(Maybe JobConfigurationQuery)+    , _jcExtract :: !(Maybe JobConfigurationExtract)+    , _jcDryRun  :: !(Maybe Bool)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'JobConfiguration' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'jcCopy'+--+-- * 'jcLink'+--+-- * 'jcLoad'+--+-- * 'jcQuery'+--+-- * 'jcExtract'+--+-- * 'jcDryRun'+jobConfiguration+    :: JobConfiguration+jobConfiguration =+    JobConfiguration+    { _jcCopy = Nothing+    , _jcLink = Nothing+    , _jcLoad = Nothing+    , _jcQuery = Nothing+    , _jcExtract = Nothing+    , _jcDryRun = Nothing+    }++-- | [Pick one] Copies a table.+jcCopy :: Lens' JobConfiguration (Maybe JobConfigurationTableCopy)+jcCopy = lens _jcCopy (\ s a -> s{_jcCopy = a})++-- | [Pick one] Configures a link job.+jcLink :: Lens' JobConfiguration (Maybe JobConfigurationLink)+jcLink = lens _jcLink (\ s a -> s{_jcLink = a})++-- | [Pick one] Configures a load job.+jcLoad :: Lens' JobConfiguration (Maybe JobConfigurationLoad)+jcLoad = lens _jcLoad (\ s a -> s{_jcLoad = a})++-- | [Pick one] Configures a query job.+jcQuery :: Lens' JobConfiguration (Maybe JobConfigurationQuery)+jcQuery = lens _jcQuery (\ s a -> s{_jcQuery = a})++-- | [Pick one] Configures an extract job.+jcExtract :: Lens' JobConfiguration (Maybe JobConfigurationExtract)+jcExtract+  = lens _jcExtract (\ s a -> s{_jcExtract = a})++-- | [Optional] If set, don\'t actually run this job. A valid query will+-- return a mostly empty response with some processing statistics, while an+-- invalid query will return the same error it would if it wasn\'t a dry+-- run. Behavior of non-query jobs is undefined.+jcDryRun :: Lens' JobConfiguration (Maybe Bool)+jcDryRun = lens _jcDryRun (\ s a -> s{_jcDryRun = a})++instance FromJSON JobConfiguration where+        parseJSON+          = withObject "JobConfiguration"+              (\ o ->+                 JobConfiguration <$>+                   (o .:? "copy") <*> (o .:? "link") <*> (o .:? "load")+                     <*> (o .:? "query")+                     <*> (o .:? "extract")+                     <*> (o .:? "dryRun"))++instance ToJSON JobConfiguration where+        toJSON JobConfiguration{..}+          = object+              (catMaybes+                 [("copy" .=) <$> _jcCopy, ("link" .=) <$> _jcLink,+                  ("load" .=) <$> _jcLoad, ("query" .=) <$> _jcQuery,+                  ("extract" .=) <$> _jcExtract,+                  ("dryRun" .=) <$> _jcDryRun])++--+-- /See:/ 'job' smart constructor.+data Job = Job+    { _jJobReference  :: !(Maybe JobReference)+    , _jStatus        :: !(Maybe JobStatus)+    , _jEtag          :: !(Maybe Text)+    , _jUserEmail     :: !(Maybe Text)+    , _jKind          :: !Text+    , _jSelfLink      :: !(Maybe Text)+    , _jId            :: !(Maybe Text)+    , _jStatistics    :: !(Maybe JobStatistics)+    , _jConfiguration :: !(Maybe JobConfiguration)+    } 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:+--+-- * 'jJobReference'+--+-- * 'jStatus'+--+-- * 'jEtag'+--+-- * 'jUserEmail'+--+-- * 'jKind'+--+-- * 'jSelfLink'+--+-- * 'jId'+--+-- * 'jStatistics'+--+-- * 'jConfiguration'+job+    :: Job+job =+    Job+    { _jJobReference = Nothing+    , _jStatus = Nothing+    , _jEtag = Nothing+    , _jUserEmail = Nothing+    , _jKind = "bigquery#job"+    , _jSelfLink = Nothing+    , _jId = Nothing+    , _jStatistics = Nothing+    , _jConfiguration = Nothing+    }++-- | [Optional] Reference describing the unique-per-user name of the job.+jJobReference :: Lens' Job (Maybe JobReference)+jJobReference+  = lens _jJobReference+      (\ s a -> s{_jJobReference = a})++-- | [Output-only] The status of this job. Examine this value when polling an+-- asynchronous job to see if the job is complete.+jStatus :: Lens' Job (Maybe JobStatus)+jStatus = lens _jStatus (\ s a -> s{_jStatus = a})++-- | [Output-only] A hash of this resource.+jEtag :: Lens' Job (Maybe Text)+jEtag = lens _jEtag (\ s a -> s{_jEtag = a})++-- | [Output-only] Email address of the user who ran the job.+jUserEmail :: Lens' Job (Maybe Text)+jUserEmail+  = lens _jUserEmail (\ s a -> s{_jUserEmail = a})++-- | [Output-only] The type of the resource.+jKind :: Lens' Job Text+jKind = lens _jKind (\ s a -> s{_jKind = a})++-- | [Output-only] A URL that can be used to access this resource again.+jSelfLink :: Lens' Job (Maybe Text)+jSelfLink+  = lens _jSelfLink (\ s a -> s{_jSelfLink = a})++-- | [Output-only] Opaque ID field of the job+jId :: Lens' Job (Maybe Text)+jId = lens _jId (\ s a -> s{_jId = a})++-- | [Output-only] Information about the job, including starting time and+-- ending time of the job.+jStatistics :: Lens' Job (Maybe JobStatistics)+jStatistics+  = lens _jStatistics (\ s a -> s{_jStatistics = a})++-- | [Required] Describes the job configuration.+jConfiguration :: Lens' Job (Maybe JobConfiguration)+jConfiguration+  = lens _jConfiguration+      (\ s a -> s{_jConfiguration = a})++instance FromJSON Job where+        parseJSON+          = withObject "Job"+              (\ o ->+                 Job <$>+                   (o .:? "jobReference") <*> (o .:? "status") <*>+                     (o .:? "etag")+                     <*> (o .:? "user_email")+                     <*> (o .:? "kind" .!= "bigquery#job")+                     <*> (o .:? "selfLink")+                     <*> (o .:? "id")+                     <*> (o .:? "statistics")+                     <*> (o .:? "configuration"))++instance ToJSON Job where+        toJSON Job{..}+          = object+              (catMaybes+                 [("jobReference" .=) <$> _jJobReference,+                  ("status" .=) <$> _jStatus, ("etag" .=) <$> _jEtag,+                  ("user_email" .=) <$> _jUserEmail,+                  Just ("kind" .= _jKind),+                  ("selfLink" .=) <$> _jSelfLink, ("id" .=) <$> _jId,+                  ("statistics" .=) <$> _jStatistics,+                  ("configuration" .=) <$> _jConfiguration])++--+-- /See:/ 'jobConfigurationLink' smart constructor.+data JobConfigurationLink = JobConfigurationLink+    { _jDestinationTable  :: !(Maybe TableReference)+    , _jWriteDisPosition  :: !(Maybe Text)+    , _jCreateDisPosition :: !(Maybe Text)+    , _jSourceURI         :: !(Maybe [Text])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'JobConfigurationLink' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'jDestinationTable'+--+-- * 'jWriteDisPosition'+--+-- * 'jCreateDisPosition'+--+-- * 'jSourceURI'+jobConfigurationLink+    :: JobConfigurationLink+jobConfigurationLink =+    JobConfigurationLink+    { _jDestinationTable = Nothing+    , _jWriteDisPosition = Nothing+    , _jCreateDisPosition = Nothing+    , _jSourceURI = Nothing+    }++-- | [Required] The destination table of the link job.+jDestinationTable :: Lens' JobConfigurationLink (Maybe TableReference)+jDestinationTable+  = lens _jDestinationTable+      (\ s a -> s{_jDestinationTable = a})++-- | [Optional] Specifies the action that occurs if the destination table+-- already exists. The following values are supported: WRITE_TRUNCATE: If+-- the table already exists, BigQuery overwrites the table data.+-- WRITE_APPEND: If the table already exists, BigQuery appends the data to+-- the table. WRITE_EMPTY: If the table already exists and contains data, a+-- \'duplicate\' error is returned in the job result. The default value is+-- WRITE_EMPTY. Each action is atomic and only occurs if BigQuery is able+-- to complete the job successfully. Creation, truncation and append+-- actions occur as one atomic update upon job completion.+jWriteDisPosition :: Lens' JobConfigurationLink (Maybe Text)+jWriteDisPosition+  = lens _jWriteDisPosition+      (\ s a -> s{_jWriteDisPosition = a})++-- | [Optional] Specifies whether the job is allowed to create new tables.+-- The following values are supported: CREATE_IF_NEEDED: If the table does+-- not exist, BigQuery creates the table. CREATE_NEVER: The table must+-- already exist. If it does not, a \'notFound\' error is returned in the+-- job result. The default value is CREATE_IF_NEEDED. Creation, truncation+-- and append actions occur as one atomic update upon job completion.+jCreateDisPosition :: Lens' JobConfigurationLink (Maybe Text)+jCreateDisPosition+  = lens _jCreateDisPosition+      (\ s a -> s{_jCreateDisPosition = a})++-- | [Required] URI of source table to link.+jSourceURI :: Lens' JobConfigurationLink [Text]+jSourceURI+  = lens _jSourceURI (\ s a -> s{_jSourceURI = a}) .+      _Default+      . _Coerce++instance FromJSON JobConfigurationLink where+        parseJSON+          = withObject "JobConfigurationLink"+              (\ o ->+                 JobConfigurationLink <$>+                   (o .:? "destinationTable") <*>+                     (o .:? "writeDisposition")+                     <*> (o .:? "createDisposition")+                     <*> (o .:? "sourceUri" .!= mempty))++instance ToJSON JobConfigurationLink where+        toJSON JobConfigurationLink{..}+          = object+              (catMaybes+                 [("destinationTable" .=) <$> _jDestinationTable,+                  ("writeDisposition" .=) <$> _jWriteDisPosition,+                  ("createDisposition" .=) <$> _jCreateDisPosition,+                  ("sourceUri" .=) <$> _jSourceURI])++--+-- /See:/ 'tableDataInsertAllResponseInsertErrorsItem' smart constructor.+data TableDataInsertAllResponseInsertErrorsItem = TableDataInsertAllResponseInsertErrorsItem+    { _tdiarieiErrors :: !(Maybe [ErrorProto])+    , _tdiarieiIndex  :: !(Maybe (Textual Word32))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TableDataInsertAllResponseInsertErrorsItem' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tdiarieiErrors'+--+-- * 'tdiarieiIndex'+tableDataInsertAllResponseInsertErrorsItem+    :: TableDataInsertAllResponseInsertErrorsItem+tableDataInsertAllResponseInsertErrorsItem =+    TableDataInsertAllResponseInsertErrorsItem+    { _tdiarieiErrors = Nothing+    , _tdiarieiIndex = Nothing+    }++-- | Error information for the row indicated by the index property.+tdiarieiErrors :: Lens' TableDataInsertAllResponseInsertErrorsItem [ErrorProto]+tdiarieiErrors+  = lens _tdiarieiErrors+      (\ s a -> s{_tdiarieiErrors = a})+      . _Default+      . _Coerce++-- | The index of the row that error applies to.+tdiarieiIndex :: Lens' TableDataInsertAllResponseInsertErrorsItem (Maybe Word32)+tdiarieiIndex+  = lens _tdiarieiIndex+      (\ s a -> s{_tdiarieiIndex = a})+      . mapping _Coerce++instance FromJSON+         TableDataInsertAllResponseInsertErrorsItem where+        parseJSON+          = withObject+              "TableDataInsertAllResponseInsertErrorsItem"+              (\ o ->+                 TableDataInsertAllResponseInsertErrorsItem <$>+                   (o .:? "errors" .!= mempty) <*> (o .:? "index"))++instance ToJSON+         TableDataInsertAllResponseInsertErrorsItem where+        toJSON TableDataInsertAllResponseInsertErrorsItem{..}+          = object+              (catMaybes+                 [("errors" .=) <$> _tdiarieiErrors,+                  ("index" .=) <$> _tdiarieiIndex])++--+-- /See:/ 'jobConfigurationExtract' smart constructor.+data JobConfigurationExtract = JobConfigurationExtract+    { _jceDestinationFormat :: !(Maybe Text)+    , _jceSourceTable       :: !(Maybe TableReference)+    , _jcePrintHeader       :: !Bool+    , _jceCompression       :: !(Maybe Text)+    , _jceDestinationURIs   :: !(Maybe [Text])+    , _jceDestinationURI    :: !(Maybe Text)+    , _jceFieldDelimiter    :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'JobConfigurationExtract' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'jceDestinationFormat'+--+-- * 'jceSourceTable'+--+-- * 'jcePrintHeader'+--+-- * 'jceCompression'+--+-- * 'jceDestinationURIs'+--+-- * 'jceDestinationURI'+--+-- * 'jceFieldDelimiter'+jobConfigurationExtract+    :: JobConfigurationExtract+jobConfigurationExtract =+    JobConfigurationExtract+    { _jceDestinationFormat = Nothing+    , _jceSourceTable = Nothing+    , _jcePrintHeader = True+    , _jceCompression = Nothing+    , _jceDestinationURIs = Nothing+    , _jceDestinationURI = Nothing+    , _jceFieldDelimiter = Nothing+    }++-- | [Optional] The exported file format. Possible values include CSV,+-- NEWLINE_DELIMITED_JSON and AVRO. The default value is CSV. Tables with+-- nested or repeated fields cannot be exported as CSV.+jceDestinationFormat :: Lens' JobConfigurationExtract (Maybe Text)+jceDestinationFormat+  = lens _jceDestinationFormat+      (\ s a -> s{_jceDestinationFormat = a})++-- | [Required] A reference to the table being exported.+jceSourceTable :: Lens' JobConfigurationExtract (Maybe TableReference)+jceSourceTable+  = lens _jceSourceTable+      (\ s a -> s{_jceSourceTable = a})++-- | [Optional] Whether to print out a header row in the results. Default is+-- true.+jcePrintHeader :: Lens' JobConfigurationExtract Bool+jcePrintHeader+  = lens _jcePrintHeader+      (\ s a -> s{_jcePrintHeader = a})++-- | [Optional] The compression type to use for exported files. Possible+-- values include GZIP and NONE. The default value is NONE.+jceCompression :: Lens' JobConfigurationExtract (Maybe Text)+jceCompression+  = lens _jceCompression+      (\ s a -> s{_jceCompression = a})++-- | [Pick one] A list of fully-qualified Google Cloud Storage URIs where the+-- extracted table should be written.+jceDestinationURIs :: Lens' JobConfigurationExtract [Text]+jceDestinationURIs+  = lens _jceDestinationURIs+      (\ s a -> s{_jceDestinationURIs = a})+      . _Default+      . _Coerce++-- | [Pick one] DEPRECATED: Use destinationUris instead, passing only one URI+-- as necessary. The fully-qualified Google Cloud Storage URI where the+-- extracted table should be written.+jceDestinationURI :: Lens' JobConfigurationExtract (Maybe Text)+jceDestinationURI+  = lens _jceDestinationURI+      (\ s a -> s{_jceDestinationURI = a})++-- | [Optional] Delimiter to use between fields in the exported data. Default+-- is \',\'+jceFieldDelimiter :: Lens' JobConfigurationExtract (Maybe Text)+jceFieldDelimiter+  = lens _jceFieldDelimiter+      (\ s a -> s{_jceFieldDelimiter = a})++instance FromJSON JobConfigurationExtract where+        parseJSON+          = withObject "JobConfigurationExtract"+              (\ o ->+                 JobConfigurationExtract <$>+                   (o .:? "destinationFormat") <*> (o .:? "sourceTable")+                     <*> (o .:? "printHeader" .!= True)+                     <*> (o .:? "compression")+                     <*> (o .:? "destinationUris" .!= mempty)+                     <*> (o .:? "destinationUri")+                     <*> (o .:? "fieldDelimiter"))++instance ToJSON JobConfigurationExtract where+        toJSON JobConfigurationExtract{..}+          = object+              (catMaybes+                 [("destinationFormat" .=) <$> _jceDestinationFormat,+                  ("sourceTable" .=) <$> _jceSourceTable,+                  Just ("printHeader" .= _jcePrintHeader),+                  ("compression" .=) <$> _jceCompression,+                  ("destinationUris" .=) <$> _jceDestinationURIs,+                  ("destinationUri" .=) <$> _jceDestinationURI,+                  ("fieldDelimiter" .=) <$> _jceFieldDelimiter])++--+-- /See:/ 'jobCancelResponse' smart constructor.+data JobCancelResponse = JobCancelResponse+    { _jcrKind :: !Text+    , _jcrJob  :: !(Maybe Job)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'JobCancelResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'jcrKind'+--+-- * 'jcrJob'+jobCancelResponse+    :: JobCancelResponse+jobCancelResponse =+    JobCancelResponse+    { _jcrKind = "bigquery#jobCancelResponse"+    , _jcrJob = Nothing+    }++-- | The resource type of the response.+jcrKind :: Lens' JobCancelResponse Text+jcrKind = lens _jcrKind (\ s a -> s{_jcrKind = a})++-- | The final state of the job.+jcrJob :: Lens' JobCancelResponse (Maybe Job)+jcrJob = lens _jcrJob (\ s a -> s{_jcrJob = a})++instance FromJSON JobCancelResponse where+        parseJSON+          = withObject "JobCancelResponse"+              (\ o ->+                 JobCancelResponse <$>+                   (o .:? "kind" .!= "bigquery#jobCancelResponse") <*>+                     (o .:? "job"))++instance ToJSON JobCancelResponse where+        toJSON JobCancelResponse{..}+          = object+              (catMaybes+                 [Just ("kind" .= _jcrKind), ("job" .=) <$> _jcrJob])++-- | Represents a single JSON object.+--+-- /See:/ 'jsonObject' smart constructor.+newtype JSONObject = JSONObject+    { _joAddtional :: HashMap Text JSONValue+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'JSONObject' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'joAddtional'+jsonObject+    :: HashMap Text JSONValue -- ^ 'joAddtional'+    -> JSONObject+jsonObject pJoAddtional_ =+    JSONObject+    { _joAddtional = _Coerce # pJoAddtional_+    }++joAddtional :: Lens' JSONObject (HashMap Text JSONValue)+joAddtional+  = lens _joAddtional (\ s a -> s{_joAddtional = a}) .+      _Coerce++instance FromJSON JSONObject where+        parseJSON+          = withObject "JSONObject"+              (\ o -> JSONObject <$> (parseJSONObject o))++instance ToJSON JSONObject where+        toJSON = toJSON . _joAddtional++--+-- /See:/ 'jobConfigurationQuery' smart constructor.+data JobConfigurationQuery = JobConfigurationQuery+    { _jcqDestinationTable             :: !(Maybe TableReference)+    , _jcqWriteDisPosition             :: !(Maybe Text)+    , _jcqPriority                     :: !(Maybe Text)+    , _jcqUseQueryCache                :: !Bool+    , _jcqPreserveNulls                :: !(Maybe Bool)+    , _jcqTableDefinitions             :: !(Maybe JobConfigurationQueryTableDefinitions)+    , _jcqCreateDisPosition            :: !(Maybe Text)+    , _jcqUserDefinedFunctionResources :: !(Maybe [UserDefinedFunctionResource])+    , _jcqAllowLargeResults            :: !(Maybe Bool)+    , _jcqQuery                        :: !(Maybe Text)+    , _jcqFlattenResults               :: !Bool+    , _jcqDefaultDataSet               :: !(Maybe DataSetReference)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'JobConfigurationQuery' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'jcqDestinationTable'+--+-- * 'jcqWriteDisPosition'+--+-- * 'jcqPriority'+--+-- * 'jcqUseQueryCache'+--+-- * 'jcqPreserveNulls'+--+-- * 'jcqTableDefinitions'+--+-- * 'jcqCreateDisPosition'+--+-- * 'jcqUserDefinedFunctionResources'+--+-- * 'jcqAllowLargeResults'+--+-- * 'jcqQuery'+--+-- * 'jcqFlattenResults'+--+-- * 'jcqDefaultDataSet'+jobConfigurationQuery+    :: JobConfigurationQuery+jobConfigurationQuery =+    JobConfigurationQuery+    { _jcqDestinationTable = Nothing+    , _jcqWriteDisPosition = Nothing+    , _jcqPriority = Nothing+    , _jcqUseQueryCache = True+    , _jcqPreserveNulls = Nothing+    , _jcqTableDefinitions = Nothing+    , _jcqCreateDisPosition = Nothing+    , _jcqUserDefinedFunctionResources = Nothing+    , _jcqAllowLargeResults = Nothing+    , _jcqQuery = Nothing+    , _jcqFlattenResults = True+    , _jcqDefaultDataSet = Nothing+    }++-- | [Optional] Describes the table where the query results should be stored.+-- If not present, a new table will be created to store the results.+jcqDestinationTable :: Lens' JobConfigurationQuery (Maybe TableReference)+jcqDestinationTable+  = lens _jcqDestinationTable+      (\ s a -> s{_jcqDestinationTable = a})++-- | [Optional] Specifies the action that occurs if the destination table+-- already exists. The following values are supported: WRITE_TRUNCATE: If+-- the table already exists, BigQuery overwrites the table data.+-- WRITE_APPEND: If the table already exists, BigQuery appends the data to+-- the table. WRITE_EMPTY: If the table already exists and contains data, a+-- \'duplicate\' error is returned in the job result. The default value is+-- WRITE_EMPTY. Each action is atomic and only occurs if BigQuery is able+-- to complete the job successfully. Creation, truncation and append+-- actions occur as one atomic update upon job completion.+jcqWriteDisPosition :: Lens' JobConfigurationQuery (Maybe Text)+jcqWriteDisPosition+  = lens _jcqWriteDisPosition+      (\ s a -> s{_jcqWriteDisPosition = a})++-- | [Optional] Specifies a priority for the query. Possible values include+-- INTERACTIVE and BATCH. The default value is INTERACTIVE.+jcqPriority :: Lens' JobConfigurationQuery (Maybe Text)+jcqPriority+  = lens _jcqPriority (\ s a -> s{_jcqPriority = a})++-- | [Optional] Whether to look for the result in the query cache. The query+-- cache is a best-effort cache that will be flushed whenever tables in the+-- query are modified. Moreover, the query cache is only available when a+-- query does not have a destination table specified. The default value is+-- true.+jcqUseQueryCache :: Lens' JobConfigurationQuery Bool+jcqUseQueryCache+  = lens _jcqUseQueryCache+      (\ s a -> s{_jcqUseQueryCache = a})++-- | [Deprecated] This property is deprecated.+jcqPreserveNulls :: Lens' JobConfigurationQuery (Maybe Bool)+jcqPreserveNulls+  = lens _jcqPreserveNulls+      (\ s a -> s{_jcqPreserveNulls = a})++-- | [Experimental] If querying an external data source outside of BigQuery,+-- describes the data format, location and other properties of the data+-- source. By defining these properties, the data source can then be+-- queried as if it were a standard BigQuery table.+jcqTableDefinitions :: Lens' JobConfigurationQuery (Maybe JobConfigurationQueryTableDefinitions)+jcqTableDefinitions+  = lens _jcqTableDefinitions+      (\ s a -> s{_jcqTableDefinitions = a})++-- | [Optional] Specifies whether the job is allowed to create new tables.+-- The following values are supported: CREATE_IF_NEEDED: If the table does+-- not exist, BigQuery creates the table. CREATE_NEVER: The table must+-- already exist. If it does not, a \'notFound\' error is returned in the+-- job result. The default value is CREATE_IF_NEEDED. Creation, truncation+-- and append actions occur as one atomic update upon job completion.+jcqCreateDisPosition :: Lens' JobConfigurationQuery (Maybe Text)+jcqCreateDisPosition+  = lens _jcqCreateDisPosition+      (\ s a -> s{_jcqCreateDisPosition = a})++-- | [Experimental] Describes user-defined function resources used in the+-- query.+jcqUserDefinedFunctionResources :: Lens' JobConfigurationQuery [UserDefinedFunctionResource]+jcqUserDefinedFunctionResources+  = lens _jcqUserDefinedFunctionResources+      (\ s a -> s{_jcqUserDefinedFunctionResources = a})+      . _Default+      . _Coerce++-- | If true, allows the query to produce arbitrarily large result tables at+-- a slight cost in performance. Requires destinationTable to be set.+jcqAllowLargeResults :: Lens' JobConfigurationQuery (Maybe Bool)+jcqAllowLargeResults+  = lens _jcqAllowLargeResults+      (\ s a -> s{_jcqAllowLargeResults = a})++-- | [Required] BigQuery SQL query to execute.+jcqQuery :: Lens' JobConfigurationQuery (Maybe Text)+jcqQuery = lens _jcqQuery (\ s a -> s{_jcqQuery = a})++-- | [Optional] Flattens all nested and repeated fields in the query results.+-- The default value is true. allowLargeResults must be true if this is set+-- to false.+jcqFlattenResults :: Lens' JobConfigurationQuery Bool+jcqFlattenResults+  = lens _jcqFlattenResults+      (\ s a -> s{_jcqFlattenResults = a})++-- | [Optional] Specifies the default dataset to use for unqualified table+-- names in the query.+jcqDefaultDataSet :: Lens' JobConfigurationQuery (Maybe DataSetReference)+jcqDefaultDataSet+  = lens _jcqDefaultDataSet+      (\ s a -> s{_jcqDefaultDataSet = a})++instance FromJSON JobConfigurationQuery where+        parseJSON+          = withObject "JobConfigurationQuery"+              (\ o ->+                 JobConfigurationQuery <$>+                   (o .:? "destinationTable") <*>+                     (o .:? "writeDisposition")+                     <*> (o .:? "priority")+                     <*> (o .:? "useQueryCache" .!= True)+                     <*> (o .:? "preserveNulls")+                     <*> (o .:? "tableDefinitions")+                     <*> (o .:? "createDisposition")+                     <*> (o .:? "userDefinedFunctionResources" .!= mempty)+                     <*> (o .:? "allowLargeResults")+                     <*> (o .:? "query")+                     <*> (o .:? "flattenResults" .!= True)+                     <*> (o .:? "defaultDataset"))++instance ToJSON JobConfigurationQuery where+        toJSON JobConfigurationQuery{..}+          = object+              (catMaybes+                 [("destinationTable" .=) <$> _jcqDestinationTable,+                  ("writeDisposition" .=) <$> _jcqWriteDisPosition,+                  ("priority" .=) <$> _jcqPriority,+                  Just ("useQueryCache" .= _jcqUseQueryCache),+                  ("preserveNulls" .=) <$> _jcqPreserveNulls,+                  ("tableDefinitions" .=) <$> _jcqTableDefinitions,+                  ("createDisposition" .=) <$> _jcqCreateDisPosition,+                  ("userDefinedFunctionResources" .=) <$>+                    _jcqUserDefinedFunctionResources,+                  ("allowLargeResults" .=) <$> _jcqAllowLargeResults,+                  ("query" .=) <$> _jcqQuery,+                  Just ("flattenResults" .= _jcqFlattenResults),+                  ("defaultDataset" .=) <$> _jcqDefaultDataSet])++--+-- /See:/ 'tableDataInsertAllRequestRowsItem' smart constructor.+data TableDataInsertAllRequestRowsItem = TableDataInsertAllRequestRowsItem+    { _tdiarriJSON     :: !(Maybe JSONObject)+    , _tdiarriInsertId :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TableDataInsertAllRequestRowsItem' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tdiarriJSON'+--+-- * 'tdiarriInsertId'+tableDataInsertAllRequestRowsItem+    :: TableDataInsertAllRequestRowsItem+tableDataInsertAllRequestRowsItem =+    TableDataInsertAllRequestRowsItem+    { _tdiarriJSON = Nothing+    , _tdiarriInsertId = Nothing+    }++-- | [Required] A JSON object that contains a row of data. The object\'s+-- properties and values must match the destination table\'s schema.+tdiarriJSON :: Lens' TableDataInsertAllRequestRowsItem (Maybe JSONObject)+tdiarriJSON+  = lens _tdiarriJSON (\ s a -> s{_tdiarriJSON = a})++-- | [Optional] A unique ID for each row. BigQuery uses this property to+-- detect duplicate insertion requests on a best-effort basis.+tdiarriInsertId :: Lens' TableDataInsertAllRequestRowsItem (Maybe Text)+tdiarriInsertId+  = lens _tdiarriInsertId+      (\ s a -> s{_tdiarriInsertId = a})++instance FromJSON TableDataInsertAllRequestRowsItem+         where+        parseJSON+          = withObject "TableDataInsertAllRequestRowsItem"+              (\ o ->+                 TableDataInsertAllRequestRowsItem <$>+                   (o .:? "json") <*> (o .:? "insertId"))++instance ToJSON TableDataInsertAllRequestRowsItem+         where+        toJSON TableDataInsertAllRequestRowsItem{..}+          = object+              (catMaybes+                 [("json" .=) <$> _tdiarriJSON,+                  ("insertId" .=) <$> _tdiarriInsertId])++--+-- /See:/ 'jobList' smart constructor.+data JobList = JobList+    { _jlEtag          :: !(Maybe Text)+    , _jlNextPageToken :: !(Maybe Text)+    , _jlKind          :: !Text+    , _jlJobs          :: !(Maybe [JobListJobsItem])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'JobList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'jlEtag'+--+-- * 'jlNextPageToken'+--+-- * 'jlKind'+--+-- * 'jlJobs'+jobList+    :: JobList+jobList =+    JobList+    { _jlEtag = Nothing+    , _jlNextPageToken = Nothing+    , _jlKind = "bigquery#jobList"+    , _jlJobs = Nothing+    }++-- | A hash of this page of results.+jlEtag :: Lens' JobList (Maybe Text)+jlEtag = lens _jlEtag (\ s a -> s{_jlEtag = a})++-- | A token to request the next page of results.+jlNextPageToken :: Lens' JobList (Maybe Text)+jlNextPageToken+  = lens _jlNextPageToken+      (\ s a -> s{_jlNextPageToken = a})++-- | The resource type of the response.+jlKind :: Lens' JobList Text+jlKind = lens _jlKind (\ s a -> s{_jlKind = a})++-- | List of jobs that were requested.+jlJobs :: Lens' JobList [JobListJobsItem]+jlJobs+  = lens _jlJobs (\ s a -> s{_jlJobs = a}) . _Default .+      _Coerce++instance FromJSON JobList where+        parseJSON+          = withObject "JobList"+              (\ o ->+                 JobList <$>+                   (o .:? "etag") <*> (o .:? "nextPageToken") <*>+                     (o .:? "kind" .!= "bigquery#jobList")+                     <*> (o .:? "jobs" .!= mempty))++instance ToJSON JobList where+        toJSON JobList{..}+          = object+              (catMaybes+                 [("etag" .=) <$> _jlEtag,+                  ("nextPageToken" .=) <$> _jlNextPageToken,+                  Just ("kind" .= _jlKind), ("jobs" .=) <$> _jlJobs])++-- | [Experimental] If querying an external data source outside of BigQuery,+-- describes the data format, location and other properties of the data+-- source. By defining these properties, the data source can then be+-- queried as if it were a standard BigQuery table.+--+-- /See:/ 'jobConfigurationQueryTableDefinitions' smart constructor.+newtype JobConfigurationQueryTableDefinitions = JobConfigurationQueryTableDefinitions+    { _jcqtdAddtional :: HashMap Text ExternalDataConfiguration+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'JobConfigurationQueryTableDefinitions' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'jcqtdAddtional'+jobConfigurationQueryTableDefinitions+    :: HashMap Text ExternalDataConfiguration -- ^ 'jcqtdAddtional'+    -> JobConfigurationQueryTableDefinitions+jobConfigurationQueryTableDefinitions pJcqtdAddtional_ =+    JobConfigurationQueryTableDefinitions+    { _jcqtdAddtional = _Coerce # pJcqtdAddtional_+    }++jcqtdAddtional :: Lens' JobConfigurationQueryTableDefinitions (HashMap Text ExternalDataConfiguration)+jcqtdAddtional+  = lens _jcqtdAddtional+      (\ s a -> s{_jcqtdAddtional = a})+      . _Coerce++instance FromJSON+         JobConfigurationQueryTableDefinitions where+        parseJSON+          = withObject "JobConfigurationQueryTableDefinitions"+              (\ o ->+                 JobConfigurationQueryTableDefinitions <$>+                   (parseJSONObject o))++instance ToJSON JobConfigurationQueryTableDefinitions+         where+        toJSON = toJSON . _jcqtdAddtional++--+-- /See:/ 'tableCell' smart constructor.+newtype TableCell = TableCell+    { _tcV :: Maybe JSONValue+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TableCell' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tcV'+tableCell+    :: TableCell+tableCell =+    TableCell+    { _tcV = Nothing+    }++tcV :: Lens' TableCell (Maybe JSONValue)+tcV = lens _tcV (\ s a -> s{_tcV = a})++instance FromJSON TableCell where+        parseJSON+          = withObject "TableCell"+              (\ o -> TableCell <$> (o .:? "v"))++instance ToJSON TableCell where+        toJSON TableCell{..}+          = object (catMaybes [("v" .=) <$> _tcV])++--+-- /See:/ 'viewDefinition' smart constructor.+newtype ViewDefinition = ViewDefinition+    { _vdQuery :: Maybe Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ViewDefinition' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'vdQuery'+viewDefinition+    :: ViewDefinition+viewDefinition =+    ViewDefinition+    { _vdQuery = Nothing+    }++-- | [Required] A query that BigQuery executes when the view is referenced.+vdQuery :: Lens' ViewDefinition (Maybe Text)+vdQuery = lens _vdQuery (\ s a -> s{_vdQuery = a})++instance FromJSON ViewDefinition where+        parseJSON+          = withObject "ViewDefinition"+              (\ o -> ViewDefinition <$> (o .:? "query"))++instance ToJSON ViewDefinition where+        toJSON ViewDefinition{..}+          = object (catMaybes [("query" .=) <$> _vdQuery])++--+-- /See:/ 'userDefinedFunctionResource' smart constructor.+data UserDefinedFunctionResource = UserDefinedFunctionResource+    { _udfrResourceURI :: !(Maybe Text)+    , _udfrInlineCode  :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'UserDefinedFunctionResource' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'udfrResourceURI'+--+-- * 'udfrInlineCode'+userDefinedFunctionResource+    :: UserDefinedFunctionResource+userDefinedFunctionResource =+    UserDefinedFunctionResource+    { _udfrResourceURI = Nothing+    , _udfrInlineCode = Nothing+    }++-- | [Pick one] A code resource to load from a Google Cloud Storage URI+-- (gs:\/\/bucket\/path).+udfrResourceURI :: Lens' UserDefinedFunctionResource (Maybe Text)+udfrResourceURI+  = lens _udfrResourceURI+      (\ s a -> s{_udfrResourceURI = a})++-- | [Pick one] An inline resource that contains code for a user-defined+-- function (UDF). Providing a inline code resource is equivalent to+-- providing a URI for a file containing the same code.+udfrInlineCode :: Lens' UserDefinedFunctionResource (Maybe Text)+udfrInlineCode+  = lens _udfrInlineCode+      (\ s a -> s{_udfrInlineCode = a})++instance FromJSON UserDefinedFunctionResource where+        parseJSON+          = withObject "UserDefinedFunctionResource"+              (\ o ->+                 UserDefinedFunctionResource <$>+                   (o .:? "resourceUri") <*> (o .:? "inlineCode"))++instance ToJSON UserDefinedFunctionResource where+        toJSON UserDefinedFunctionResource{..}+          = object+              (catMaybes+                 [("resourceUri" .=) <$> _udfrResourceURI,+                  ("inlineCode" .=) <$> _udfrInlineCode])++--+-- /See:/ 'jobStatistics2' smart constructor.+data JobStatistics2 = JobStatistics2+    { _jTotalBytesProcessed :: !(Maybe (Textual Int64))+    , _jBillingTier         :: !(Maybe (Textual Int32))+    , _jCacheHit            :: !(Maybe Bool)+    , _jTotalBytesBilled    :: !(Maybe (Textual Int64))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'JobStatistics2' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'jTotalBytesProcessed'+--+-- * 'jBillingTier'+--+-- * 'jCacheHit'+--+-- * 'jTotalBytesBilled'+jobStatistics2+    :: JobStatistics2+jobStatistics2 =+    JobStatistics2+    { _jTotalBytesProcessed = Nothing+    , _jBillingTier = Nothing+    , _jCacheHit = Nothing+    , _jTotalBytesBilled = Nothing+    }++-- | [Output-only] Total bytes processed for the job.+jTotalBytesProcessed :: Lens' JobStatistics2 (Maybe Int64)+jTotalBytesProcessed+  = lens _jTotalBytesProcessed+      (\ s a -> s{_jTotalBytesProcessed = a})+      . mapping _Coerce++-- | [Output-only] Billing tier for the job.+jBillingTier :: Lens' JobStatistics2 (Maybe Int32)+jBillingTier+  = lens _jBillingTier (\ s a -> s{_jBillingTier = a})+      . mapping _Coerce++-- | [Output-only] Whether the query result was fetched from the query cache.+jCacheHit :: Lens' JobStatistics2 (Maybe Bool)+jCacheHit+  = lens _jCacheHit (\ s a -> s{_jCacheHit = a})++-- | [Output-only] Total bytes billed for the job.+jTotalBytesBilled :: Lens' JobStatistics2 (Maybe Int64)+jTotalBytesBilled+  = lens _jTotalBytesBilled+      (\ s a -> s{_jTotalBytesBilled = a})+      . mapping _Coerce++instance FromJSON JobStatistics2 where+        parseJSON+          = withObject "JobStatistics2"+              (\ o ->+                 JobStatistics2 <$>+                   (o .:? "totalBytesProcessed") <*>+                     (o .:? "billingTier")+                     <*> (o .:? "cacheHit")+                     <*> (o .:? "totalBytesBilled"))++instance ToJSON JobStatistics2 where+        toJSON JobStatistics2{..}+          = object+              (catMaybes+                 [("totalBytesProcessed" .=) <$>+                    _jTotalBytesProcessed,+                  ("billingTier" .=) <$> _jBillingTier,+                  ("cacheHit" .=) <$> _jCacheHit,+                  ("totalBytesBilled" .=) <$> _jTotalBytesBilled])++--+-- /See:/ 'jobStatus' smart constructor.+data JobStatus = JobStatus+    { _jsState       :: !(Maybe Text)+    , _jsErrorResult :: !(Maybe ErrorProto)+    , _jsErrors      :: !(Maybe [ErrorProto])+    } 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'+--+-- * 'jsErrorResult'+--+-- * 'jsErrors'+jobStatus+    :: JobStatus+jobStatus =+    JobStatus+    { _jsState = Nothing+    , _jsErrorResult = Nothing+    , _jsErrors = Nothing+    }++-- | [Output-only] Running state of the job.+jsState :: Lens' JobStatus (Maybe Text)+jsState = lens _jsState (\ s a -> s{_jsState = a})++-- | [Output-only] Final error result of the job. If present, indicates that+-- the job has completed and was unsuccessful.+jsErrorResult :: Lens' JobStatus (Maybe ErrorProto)+jsErrorResult+  = lens _jsErrorResult+      (\ s a -> s{_jsErrorResult = a})++-- | [Output-only] All errors encountered during the running of the job.+-- Errors here do not necessarily mean that the job has completed or was+-- unsuccessful.+jsErrors :: Lens' JobStatus [ErrorProto]+jsErrors+  = lens _jsErrors (\ s a -> s{_jsErrors = a}) .+      _Default+      . _Coerce++instance FromJSON JobStatus where+        parseJSON+          = withObject "JobStatus"+              (\ o ->+                 JobStatus <$>+                   (o .:? "state") <*> (o .:? "errorResult") <*>+                     (o .:? "errors" .!= mempty))++instance ToJSON JobStatus where+        toJSON JobStatus{..}+          = object+              (catMaybes+                 [("state" .=) <$> _jsState,+                  ("errorResult" .=) <$> _jsErrorResult,+                  ("errors" .=) <$> _jsErrors])++--+-- /See:/ 'dataSetAccessItem' smart constructor.+data DataSetAccessItem = DataSetAccessItem+    { _dsaiGroupByEmail :: !(Maybe Text)+    , _dsaiDomain       :: !(Maybe Text)+    , _dsaiSpecialGroup :: !(Maybe Text)+    , _dsaiRole         :: !(Maybe Text)+    , _dsaiView         :: !(Maybe TableReference)+    , _dsaiUserByEmail  :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DataSetAccessItem' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dsaiGroupByEmail'+--+-- * 'dsaiDomain'+--+-- * 'dsaiSpecialGroup'+--+-- * 'dsaiRole'+--+-- * 'dsaiView'+--+-- * 'dsaiUserByEmail'+dataSetAccessItem+    :: DataSetAccessItem+dataSetAccessItem =+    DataSetAccessItem+    { _dsaiGroupByEmail = Nothing+    , _dsaiDomain = Nothing+    , _dsaiSpecialGroup = Nothing+    , _dsaiRole = Nothing+    , _dsaiView = Nothing+    , _dsaiUserByEmail = Nothing+    }++-- | [Pick one] An email address of a Google Group to grant access to.+dsaiGroupByEmail :: Lens' DataSetAccessItem (Maybe Text)+dsaiGroupByEmail+  = lens _dsaiGroupByEmail+      (\ s a -> s{_dsaiGroupByEmail = a})++-- | [Pick one] A domain to grant access to. Any users signed in with the+-- domain specified will be granted the specified access. Example:+-- \"example.com\".+dsaiDomain :: Lens' DataSetAccessItem (Maybe Text)+dsaiDomain+  = lens _dsaiDomain (\ s a -> s{_dsaiDomain = a})++-- | [Pick one] A special group to grant access to. Possible values include:+-- projectOwners: Owners of the enclosing project. projectReaders: Readers+-- of the enclosing project. projectWriters: Writers of the enclosing+-- project. allAuthenticatedUsers: All authenticated BigQuery users.+dsaiSpecialGroup :: Lens' DataSetAccessItem (Maybe Text)+dsaiSpecialGroup+  = lens _dsaiSpecialGroup+      (\ s a -> s{_dsaiSpecialGroup = a})++-- | [Required] Describes the rights granted to the user specified by the+-- other member of the access object. The following string values are+-- supported: READER, WRITER, OWNER.+dsaiRole :: Lens' DataSetAccessItem (Maybe Text)+dsaiRole = lens _dsaiRole (\ s a -> s{_dsaiRole = a})++-- | [Pick one] A view from a different dataset to grant access to. Queries+-- executed against that view will have read access to tables in this+-- dataset. The role field is not required when this field is set. If that+-- view is updated by any user, access to the view needs to be granted+-- again via an update operation.+dsaiView :: Lens' DataSetAccessItem (Maybe TableReference)+dsaiView = lens _dsaiView (\ s a -> s{_dsaiView = a})++-- | [Pick one] An email address of a user to grant access to. For example:+-- fred\'example.com.+dsaiUserByEmail :: Lens' DataSetAccessItem (Maybe Text)+dsaiUserByEmail+  = lens _dsaiUserByEmail+      (\ s a -> s{_dsaiUserByEmail = a})++instance FromJSON DataSetAccessItem where+        parseJSON+          = withObject "DataSetAccessItem"+              (\ o ->+                 DataSetAccessItem <$>+                   (o .:? "groupByEmail") <*> (o .:? "domain") <*>+                     (o .:? "specialGroup")+                     <*> (o .:? "role")+                     <*> (o .:? "view")+                     <*> (o .:? "userByEmail"))++instance ToJSON DataSetAccessItem where+        toJSON DataSetAccessItem{..}+          = object+              (catMaybes+                 [("groupByEmail" .=) <$> _dsaiGroupByEmail,+                  ("domain" .=) <$> _dsaiDomain,+                  ("specialGroup" .=) <$> _dsaiSpecialGroup,+                  ("role" .=) <$> _dsaiRole, ("view" .=) <$> _dsaiView,+                  ("userByEmail" .=) <$> _dsaiUserByEmail])++--+-- /See:/ 'tableDataInsertAllResponse' smart constructor.+data TableDataInsertAllResponse = TableDataInsertAllResponse+    { _tKind         :: !Text+    , _tInsertErrors :: !(Maybe [TableDataInsertAllResponseInsertErrorsItem])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TableDataInsertAllResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tKind'+--+-- * 'tInsertErrors'+tableDataInsertAllResponse+    :: TableDataInsertAllResponse+tableDataInsertAllResponse =+    TableDataInsertAllResponse+    { _tKind = "bigquery#tableDataInsertAllResponse"+    , _tInsertErrors = Nothing+    }++-- | The resource type of the response.+tKind :: Lens' TableDataInsertAllResponse Text+tKind = lens _tKind (\ s a -> s{_tKind = a})++-- | An array of errors for rows that were not inserted.+tInsertErrors :: Lens' TableDataInsertAllResponse [TableDataInsertAllResponseInsertErrorsItem]+tInsertErrors+  = lens _tInsertErrors+      (\ s a -> s{_tInsertErrors = a})+      . _Default+      . _Coerce++instance FromJSON TableDataInsertAllResponse where+        parseJSON+          = withObject "TableDataInsertAllResponse"+              (\ o ->+                 TableDataInsertAllResponse <$>+                   (o .:? "kind" .!=+                      "bigquery#tableDataInsertAllResponse")+                     <*> (o .:? "insertErrors" .!= mempty))++instance ToJSON TableDataInsertAllResponse where+        toJSON TableDataInsertAllResponse{..}+          = object+              (catMaybes+                 [Just ("kind" .= _tKind),+                  ("insertErrors" .=) <$> _tInsertErrors])++--+-- /See:/ 'table' smart constructor.+data Table = Table+    { _tabCreationTime              :: !(Maybe (Textual Int64))+    , _tabEtag                      :: !(Maybe Text)+    , _tabNumBytes                  :: !(Maybe (Textual Int64))+    , _tabExternalDataConfiguration :: !(Maybe ExternalDataConfiguration)+    , _tabLocation                  :: !(Maybe Text)+    , _tabTableReference            :: !(Maybe TableReference)+    , _tabFriendlyName              :: !(Maybe Text)+    , _tabKind                      :: !Text+    , _tabLastModifiedTime          :: !(Maybe (Textual Word64))+    , _tabSchema                    :: !(Maybe TableSchema)+    , _tabStreamingBuffer           :: !(Maybe Streamingbuffer)+    , _tabSelfLink                  :: !(Maybe Text)+    , _tabNumRows                   :: !(Maybe (Textual Word64))+    , _tabView                      :: !(Maybe ViewDefinition)+    , _tabId                        :: !(Maybe Text)+    , _tabType                      :: !(Maybe Text)+    , _tabExpirationTime            :: !(Maybe (Textual Int64))+    , _tabDescription               :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Table' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tabCreationTime'+--+-- * 'tabEtag'+--+-- * 'tabNumBytes'+--+-- * 'tabExternalDataConfiguration'+--+-- * 'tabLocation'+--+-- * 'tabTableReference'+--+-- * 'tabFriendlyName'+--+-- * 'tabKind'+--+-- * 'tabLastModifiedTime'+--+-- * 'tabSchema'+--+-- * 'tabStreamingBuffer'+--+-- * 'tabSelfLink'+--+-- * 'tabNumRows'+--+-- * 'tabView'+--+-- * 'tabId'+--+-- * 'tabType'+--+-- * 'tabExpirationTime'+--+-- * 'tabDescription'+table+    :: Table+table =+    Table+    { _tabCreationTime = Nothing+    , _tabEtag = Nothing+    , _tabNumBytes = Nothing+    , _tabExternalDataConfiguration = Nothing+    , _tabLocation = Nothing+    , _tabTableReference = Nothing+    , _tabFriendlyName = Nothing+    , _tabKind = "bigquery#table"+    , _tabLastModifiedTime = Nothing+    , _tabSchema = Nothing+    , _tabStreamingBuffer = Nothing+    , _tabSelfLink = Nothing+    , _tabNumRows = Nothing+    , _tabView = Nothing+    , _tabId = Nothing+    , _tabType = Nothing+    , _tabExpirationTime = Nothing+    , _tabDescription = Nothing+    }++-- | [Output-only] The time when this table was created, in milliseconds+-- since the epoch.+tabCreationTime :: Lens' Table (Maybe Int64)+tabCreationTime+  = lens _tabCreationTime+      (\ s a -> s{_tabCreationTime = a})+      . mapping _Coerce++-- | [Output-only] A hash of this resource.+tabEtag :: Lens' Table (Maybe Text)+tabEtag = lens _tabEtag (\ s a -> s{_tabEtag = a})++-- | [Output-only] The size of this table in bytes, excluding any data in the+-- streaming buffer.+tabNumBytes :: Lens' Table (Maybe Int64)+tabNumBytes+  = lens _tabNumBytes (\ s a -> s{_tabNumBytes = a}) .+      mapping _Coerce++-- | [Experimental] Describes the data format, location, and other properties+-- of a table stored outside of BigQuery. By defining these properties, the+-- data source can then be queried as if it were a standard BigQuery table.+tabExternalDataConfiguration :: Lens' Table (Maybe ExternalDataConfiguration)+tabExternalDataConfiguration+  = lens _tabExternalDataConfiguration+      (\ s a -> s{_tabExternalDataConfiguration = a})++-- | [Output-only] The geographic location where the table resides. This+-- value is inherited from the dataset.+tabLocation :: Lens' Table (Maybe Text)+tabLocation+  = lens _tabLocation (\ s a -> s{_tabLocation = a})++-- | [Required] Reference describing the ID of this table.+tabTableReference :: Lens' Table (Maybe TableReference)+tabTableReference+  = lens _tabTableReference+      (\ s a -> s{_tabTableReference = a})++-- | [Optional] A descriptive name for this table.+tabFriendlyName :: Lens' Table (Maybe Text)+tabFriendlyName+  = lens _tabFriendlyName+      (\ s a -> s{_tabFriendlyName = a})++-- | [Output-only] The type of the resource.+tabKind :: Lens' Table Text+tabKind = lens _tabKind (\ s a -> s{_tabKind = a})++-- | [Output-only] The time when this table was last modified, in+-- milliseconds since the epoch.+tabLastModifiedTime :: Lens' Table (Maybe Word64)+tabLastModifiedTime+  = lens _tabLastModifiedTime+      (\ s a -> s{_tabLastModifiedTime = a})+      . mapping _Coerce++-- | [Optional] Describes the schema of this table.+tabSchema :: Lens' Table (Maybe TableSchema)+tabSchema+  = lens _tabSchema (\ s a -> s{_tabSchema = a})++-- | [Output-only] Contains information regarding this table\'s streaming+-- buffer, if one is present. This field will be absent if the table is not+-- being streamed to or if there is no data in the streaming buffer.+tabStreamingBuffer :: Lens' Table (Maybe Streamingbuffer)+tabStreamingBuffer+  = lens _tabStreamingBuffer+      (\ s a -> s{_tabStreamingBuffer = a})++-- | [Output-only] A URL that can be used to access this resource again.+tabSelfLink :: Lens' Table (Maybe Text)+tabSelfLink+  = lens _tabSelfLink (\ s a -> s{_tabSelfLink = a})++-- | [Output-only] The number of rows of data in this table, excluding any+-- data in the streaming buffer.+tabNumRows :: Lens' Table (Maybe Word64)+tabNumRows+  = lens _tabNumRows (\ s a -> s{_tabNumRows = a}) .+      mapping _Coerce++-- | [Optional] The view definition.+tabView :: Lens' Table (Maybe ViewDefinition)+tabView = lens _tabView (\ s a -> s{_tabView = a})++-- | [Output-only] An opaque ID uniquely identifying the table.+tabId :: Lens' Table (Maybe Text)+tabId = lens _tabId (\ s a -> s{_tabId = a})++-- | [Output-only] Describes the table type. The following values are+-- supported: TABLE: A normal BigQuery table. VIEW: A virtual table defined+-- by a SQL query. The default value is TABLE.+tabType :: Lens' Table (Maybe Text)+tabType = lens _tabType (\ s a -> s{_tabType = a})++-- | [Optional] The time when this table expires, in milliseconds since the+-- epoch. If not present, the table will persist indefinitely. Expired+-- tables will be deleted and their storage reclaimed.+tabExpirationTime :: Lens' Table (Maybe Int64)+tabExpirationTime+  = lens _tabExpirationTime+      (\ s a -> s{_tabExpirationTime = a})+      . mapping _Coerce++-- | [Optional] A user-friendly description of this table.+tabDescription :: Lens' Table (Maybe Text)+tabDescription+  = lens _tabDescription+      (\ s a -> s{_tabDescription = a})++instance FromJSON Table where+        parseJSON+          = withObject "Table"+              (\ o ->+                 Table <$>+                   (o .:? "creationTime") <*> (o .:? "etag") <*>+                     (o .:? "numBytes")+                     <*> (o .:? "externalDataConfiguration")+                     <*> (o .:? "location")+                     <*> (o .:? "tableReference")+                     <*> (o .:? "friendlyName")+                     <*> (o .:? "kind" .!= "bigquery#table")+                     <*> (o .:? "lastModifiedTime")+                     <*> (o .:? "schema")+                     <*> (o .:? "streamingBuffer")+                     <*> (o .:? "selfLink")+                     <*> (o .:? "numRows")+                     <*> (o .:? "view")+                     <*> (o .:? "id")+                     <*> (o .:? "type")+                     <*> (o .:? "expirationTime")+                     <*> (o .:? "description"))++instance ToJSON Table where+        toJSON Table{..}+          = object+              (catMaybes+                 [("creationTime" .=) <$> _tabCreationTime,+                  ("etag" .=) <$> _tabEtag,+                  ("numBytes" .=) <$> _tabNumBytes,+                  ("externalDataConfiguration" .=) <$>+                    _tabExternalDataConfiguration,+                  ("location" .=) <$> _tabLocation,+                  ("tableReference" .=) <$> _tabTableReference,+                  ("friendlyName" .=) <$> _tabFriendlyName,+                  Just ("kind" .= _tabKind),+                  ("lastModifiedTime" .=) <$> _tabLastModifiedTime,+                  ("schema" .=) <$> _tabSchema,+                  ("streamingBuffer" .=) <$> _tabStreamingBuffer,+                  ("selfLink" .=) <$> _tabSelfLink,+                  ("numRows" .=) <$> _tabNumRows,+                  ("view" .=) <$> _tabView, ("id" .=) <$> _tabId,+                  ("type" .=) <$> _tabType,+                  ("expirationTime" .=) <$> _tabExpirationTime,+                  ("description" .=) <$> _tabDescription])++--+-- /See:/ 'errorProto' smart constructor.+data ErrorProto = ErrorProto+    { _epDebugInfo :: !(Maybe Text)+    , _epLocation  :: !(Maybe Text)+    , _epReason    :: !(Maybe Text)+    , _epMessage   :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ErrorProto' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'epDebugInfo'+--+-- * 'epLocation'+--+-- * 'epReason'+--+-- * 'epMessage'+errorProto+    :: ErrorProto+errorProto =+    ErrorProto+    { _epDebugInfo = Nothing+    , _epLocation = Nothing+    , _epReason = Nothing+    , _epMessage = Nothing+    }++-- | Debugging information. This property is internal to Google and should+-- not be used.+epDebugInfo :: Lens' ErrorProto (Maybe Text)+epDebugInfo+  = lens _epDebugInfo (\ s a -> s{_epDebugInfo = a})++-- | Specifies where the error occurred, if present.+epLocation :: Lens' ErrorProto (Maybe Text)+epLocation+  = lens _epLocation (\ s a -> s{_epLocation = a})++-- | A short error code that summarizes the error.+epReason :: Lens' ErrorProto (Maybe Text)+epReason = lens _epReason (\ s a -> s{_epReason = a})++-- | A human-readable description of the error.+epMessage :: Lens' ErrorProto (Maybe Text)+epMessage+  = lens _epMessage (\ s a -> s{_epMessage = a})++instance FromJSON ErrorProto where+        parseJSON+          = withObject "ErrorProto"+              (\ o ->+                 ErrorProto <$>+                   (o .:? "debugInfo") <*> (o .:? "location") <*>+                     (o .:? "reason")+                     <*> (o .:? "message"))++instance ToJSON ErrorProto where+        toJSON ErrorProto{..}+          = object+              (catMaybes+                 [("debugInfo" .=) <$> _epDebugInfo,+                  ("location" .=) <$> _epLocation,+                  ("reason" .=) <$> _epReason,+                  ("message" .=) <$> _epMessage])++--+-- /See:/ 'csvOptions' smart constructor.+data CSVOptions = CSVOptions+    { _coSkipLeadingRows     :: !(Maybe (Textual Int32))+    , _coAllowJaggedRows     :: !(Maybe Bool)+    , _coAllowQuotedNewlines :: !(Maybe Bool)+    , _coQuote               :: !Text+    , _coEncoding            :: !(Maybe Text)+    , _coFieldDelimiter      :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CSVOptions' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'coSkipLeadingRows'+--+-- * 'coAllowJaggedRows'+--+-- * 'coAllowQuotedNewlines'+--+-- * 'coQuote'+--+-- * 'coEncoding'+--+-- * 'coFieldDelimiter'+csvOptions+    :: CSVOptions+csvOptions =+    CSVOptions+    { _coSkipLeadingRows = Nothing+    , _coAllowJaggedRows = Nothing+    , _coAllowQuotedNewlines = Nothing+    , _coQuote = "\""+    , _coEncoding = Nothing+    , _coFieldDelimiter = Nothing+    }++-- | [Optional] The number of rows at the top of a CSV file that BigQuery+-- will skip when reading the data. The default value is 0. This property+-- is useful if you have header rows in the file that should be skipped.+coSkipLeadingRows :: Lens' CSVOptions (Maybe Int32)+coSkipLeadingRows+  = lens _coSkipLeadingRows+      (\ s a -> s{_coSkipLeadingRows = a})+      . mapping _Coerce++-- | [Optional] Indicates if BigQuery should accept rows that are missing+-- trailing optional columns. If true, BigQuery treats missing trailing+-- columns as null values. If false, records with missing trailing columns+-- are treated as bad records, and if there are too many bad records, an+-- invalid error is returned in the job result. The default value is false.+coAllowJaggedRows :: Lens' CSVOptions (Maybe Bool)+coAllowJaggedRows+  = lens _coAllowJaggedRows+      (\ s a -> s{_coAllowJaggedRows = a})++-- | [Optional] Indicates if BigQuery should allow quoted data sections that+-- contain newline characters in a CSV file. The default value is false.+coAllowQuotedNewlines :: Lens' CSVOptions (Maybe Bool)+coAllowQuotedNewlines+  = lens _coAllowQuotedNewlines+      (\ s a -> s{_coAllowQuotedNewlines = a})++-- | [Optional] The value that is used to quote data sections in a CSV file.+-- BigQuery converts the string to ISO-8859-1 encoding, and then uses the+-- first byte of the encoded string to split the data in its raw, binary+-- state. The default value is a double-quote (\'\"\'). If your data does+-- not contain quoted sections, set the property value to an empty string.+-- If your data contains quoted newline characters, you must also set the+-- allowQuotedNewlines property to true.+coQuote :: Lens' CSVOptions Text+coQuote = lens _coQuote (\ s a -> s{_coQuote = a})++-- | [Optional] The character encoding of the data. The supported values are+-- UTF-8 or ISO-8859-1. The default value is UTF-8. BigQuery decodes the+-- data after the raw, binary data has been split using the values of the+-- quote and fieldDelimiter properties.+coEncoding :: Lens' CSVOptions (Maybe Text)+coEncoding+  = lens _coEncoding (\ s a -> s{_coEncoding = a})++-- | [Optional] The separator for fields in a CSV file. BigQuery converts the+-- string to ISO-8859-1 encoding, and then uses the first byte of the+-- encoded string to split the data in its raw, binary state. BigQuery also+-- supports the escape sequence \"\\t\" to specify a tab separator. The+-- default value is a comma (\',\').+coFieldDelimiter :: Lens' CSVOptions (Maybe Text)+coFieldDelimiter+  = lens _coFieldDelimiter+      (\ s a -> s{_coFieldDelimiter = a})++instance FromJSON CSVOptions where+        parseJSON+          = withObject "CSVOptions"+              (\ o ->+                 CSVOptions <$>+                   (o .:? "skipLeadingRows") <*>+                     (o .:? "allowJaggedRows")+                     <*> (o .:? "allowQuotedNewlines")+                     <*> (o .:? "quote" .!= "\"")+                     <*> (o .:? "encoding")+                     <*> (o .:? "fieldDelimiter"))++instance ToJSON CSVOptions where+        toJSON CSVOptions{..}+          = object+              (catMaybes+                 [("skipLeadingRows" .=) <$> _coSkipLeadingRows,+                  ("allowJaggedRows" .=) <$> _coAllowJaggedRows,+                  ("allowQuotedNewlines" .=) <$>+                    _coAllowQuotedNewlines,+                  Just ("quote" .= _coQuote),+                  ("encoding" .=) <$> _coEncoding,+                  ("fieldDelimiter" .=) <$> _coFieldDelimiter])++--+-- /See:/ 'jobStatistics3' smart constructor.+data JobStatistics3 = JobStatistics3+    { _jsInputFiles     :: !(Maybe (Textual Int64))+    , _jsOutputRows     :: !(Maybe (Textual Int64))+    , _jsOutputBytes    :: !(Maybe (Textual Int64))+    , _jsInputFileBytes :: !(Maybe (Textual Int64))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'JobStatistics3' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'jsInputFiles'+--+-- * 'jsOutputRows'+--+-- * 'jsOutputBytes'+--+-- * 'jsInputFileBytes'+jobStatistics3+    :: JobStatistics3+jobStatistics3 =+    JobStatistics3+    { _jsInputFiles = Nothing+    , _jsOutputRows = Nothing+    , _jsOutputBytes = Nothing+    , _jsInputFileBytes = Nothing+    }++-- | [Output-only] Number of source files in a load job.+jsInputFiles :: Lens' JobStatistics3 (Maybe Int64)+jsInputFiles+  = lens _jsInputFiles (\ s a -> s{_jsInputFiles = a})+      . mapping _Coerce++-- | [Output-only] Number of rows imported in a load job. Note that while an+-- import job is in the running state, this value may change.+jsOutputRows :: Lens' JobStatistics3 (Maybe Int64)+jsOutputRows+  = lens _jsOutputRows (\ s a -> s{_jsOutputRows = a})+      . mapping _Coerce++-- | [Output-only] Size of the loaded data in bytes. Note that while a load+-- job is in the running state, this value may change.+jsOutputBytes :: Lens' JobStatistics3 (Maybe Int64)+jsOutputBytes+  = lens _jsOutputBytes+      (\ s a -> s{_jsOutputBytes = a})+      . mapping _Coerce++-- | [Output-only] Number of bytes of source data in a load job.+jsInputFileBytes :: Lens' JobStatistics3 (Maybe Int64)+jsInputFileBytes+  = lens _jsInputFileBytes+      (\ s a -> s{_jsInputFileBytes = a})+      . mapping _Coerce++instance FromJSON JobStatistics3 where+        parseJSON+          = withObject "JobStatistics3"+              (\ o ->+                 JobStatistics3 <$>+                   (o .:? "inputFiles") <*> (o .:? "outputRows") <*>+                     (o .:? "outputBytes")+                     <*> (o .:? "inputFileBytes"))++instance ToJSON JobStatistics3 where+        toJSON JobStatistics3{..}+          = object+              (catMaybes+                 [("inputFiles" .=) <$> _jsInputFiles,+                  ("outputRows" .=) <$> _jsOutputRows,+                  ("outputBytes" .=) <$> _jsOutputBytes,+                  ("inputFileBytes" .=) <$> _jsInputFileBytes])++--+-- /See:/ 'queryResponse' smart constructor.+data QueryResponse = QueryResponse+    { _qJobReference        :: !(Maybe JobReference)+    , _qKind                :: !Text+    , _qSchema              :: !(Maybe TableSchema)+    , _qTotalBytesProcessed :: !(Maybe (Textual Int64))+    , _qRows                :: !(Maybe [TableRow])+    , _qPageToken           :: !(Maybe Text)+    , _qTotalRows           :: !(Maybe (Textual Word64))+    , _qErrors              :: !(Maybe [ErrorProto])+    , _qJobComplete         :: !(Maybe Bool)+    , _qCacheHit            :: !(Maybe Bool)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'QueryResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'qJobReference'+--+-- * 'qKind'+--+-- * 'qSchema'+--+-- * 'qTotalBytesProcessed'+--+-- * 'qRows'+--+-- * 'qPageToken'+--+-- * 'qTotalRows'+--+-- * 'qErrors'+--+-- * 'qJobComplete'+--+-- * 'qCacheHit'+queryResponse+    :: QueryResponse+queryResponse =+    QueryResponse+    { _qJobReference = Nothing+    , _qKind = "bigquery#queryResponse"+    , _qSchema = Nothing+    , _qTotalBytesProcessed = Nothing+    , _qRows = Nothing+    , _qPageToken = Nothing+    , _qTotalRows = Nothing+    , _qErrors = Nothing+    , _qJobComplete = Nothing+    , _qCacheHit = Nothing+    }++-- | Reference to the Job that was created to run the query. This field will+-- be present even if the original request timed out, in which case+-- GetQueryResults can be used to read the results once the query has+-- completed. Since this API only returns the first page of results,+-- subsequent pages can be fetched via the same mechanism+-- (GetQueryResults).+qJobReference :: Lens' QueryResponse (Maybe JobReference)+qJobReference+  = lens _qJobReference+      (\ s a -> s{_qJobReference = a})++-- | The resource type.+qKind :: Lens' QueryResponse Text+qKind = lens _qKind (\ s a -> s{_qKind = a})++-- | The schema of the results. Present only when the query completes+-- successfully.+qSchema :: Lens' QueryResponse (Maybe TableSchema)+qSchema = lens _qSchema (\ s a -> s{_qSchema = a})++-- | The total number of bytes processed for this query. If this query was a+-- dry run, this is the number of bytes that would be processed if the+-- query were run.+qTotalBytesProcessed :: Lens' QueryResponse (Maybe Int64)+qTotalBytesProcessed+  = lens _qTotalBytesProcessed+      (\ s a -> s{_qTotalBytesProcessed = a})+      . mapping _Coerce++-- | An object with as many results as can be contained within the maximum+-- permitted reply size. To get any additional rows, you can call+-- GetQueryResults and specify the jobReference returned above.+qRows :: Lens' QueryResponse [TableRow]+qRows+  = lens _qRows (\ s a -> s{_qRows = a}) . _Default .+      _Coerce++-- | A token used for paging results.+qPageToken :: Lens' QueryResponse (Maybe Text)+qPageToken+  = lens _qPageToken (\ s a -> s{_qPageToken = a})++-- | The total number of rows in the complete query result set, which can be+-- more than the number of rows in this single page of results.+qTotalRows :: Lens' QueryResponse (Maybe Word64)+qTotalRows+  = lens _qTotalRows (\ s a -> s{_qTotalRows = a}) .+      mapping _Coerce++-- | [Output-only] All errors and warnings encountered during the running of+-- the job. Errors here do not necessarily mean that the job has completed+-- or was unsuccessful.+qErrors :: Lens' QueryResponse [ErrorProto]+qErrors+  = lens _qErrors (\ s a -> s{_qErrors = a}) . _Default+      . _Coerce++-- | Whether the query has completed or not. If rows or totalRows are+-- present, this will always be true. If this is false, totalRows will not+-- be available.+qJobComplete :: Lens' QueryResponse (Maybe Bool)+qJobComplete+  = lens _qJobComplete (\ s a -> s{_qJobComplete = a})++-- | Whether the query result was fetched from the query cache.+qCacheHit :: Lens' QueryResponse (Maybe Bool)+qCacheHit+  = lens _qCacheHit (\ s a -> s{_qCacheHit = a})++instance FromJSON QueryResponse where+        parseJSON+          = withObject "QueryResponse"+              (\ o ->+                 QueryResponse <$>+                   (o .:? "jobReference") <*>+                     (o .:? "kind" .!= "bigquery#queryResponse")+                     <*> (o .:? "schema")+                     <*> (o .:? "totalBytesProcessed")+                     <*> (o .:? "rows" .!= mempty)+                     <*> (o .:? "pageToken")+                     <*> (o .:? "totalRows")+                     <*> (o .:? "errors" .!= mempty)+                     <*> (o .:? "jobComplete")+                     <*> (o .:? "cacheHit"))++instance ToJSON QueryResponse where+        toJSON QueryResponse{..}+          = object+              (catMaybes+                 [("jobReference" .=) <$> _qJobReference,+                  Just ("kind" .= _qKind), ("schema" .=) <$> _qSchema,+                  ("totalBytesProcessed" .=) <$> _qTotalBytesProcessed,+                  ("rows" .=) <$> _qRows,+                  ("pageToken" .=) <$> _qPageToken,+                  ("totalRows" .=) <$> _qTotalRows,+                  ("errors" .=) <$> _qErrors,+                  ("jobComplete" .=) <$> _qJobComplete,+                  ("cacheHit" .=) <$> _qCacheHit])
+ gen/Network/Google/BigQuery/Types/Sum.hs view
@@ -0,0 +1,82 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE LambdaCase         #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module      : Network.Google.BigQuery.Types.Sum+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+module Network.Google.BigQuery.Types.Sum where++import           Network.Google.Prelude++-- | Restrict information returned to a set of selected fields+data JobsListProjection+    = Full+      -- ^ @full@+      -- Includes all job data+    | Minimal+      -- ^ @minimal@+      -- Does not include the job configuration+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable JobsListProjection++instance FromText JobsListProjection where+    fromText = \case+        "full" -> Just Full+        "minimal" -> Just Minimal+        _ -> Nothing++instance ToText JobsListProjection where+    toText = \case+        Full -> "full"+        Minimal -> "minimal"++instance FromJSON JobsListProjection where+    parseJSON = parseJSONText "JobsListProjection"++instance ToJSON JobsListProjection where+    toJSON = toJSONText++-- | Filter for job state+data JobsListStateFilter+    = Done+      -- ^ @done@+      -- Finished jobs+    | Pending+      -- ^ @pending@+      -- Pending jobs+    | Running+      -- ^ @running@+      -- Running jobs+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable JobsListStateFilter++instance FromText JobsListStateFilter where+    fromText = \case+        "done" -> Just Done+        "pending" -> Just Pending+        "running" -> Just Running+        _ -> Nothing++instance ToText JobsListStateFilter where+    toText = \case+        Done -> "done"+        Pending -> "pending"+        Running -> "running"++instance FromJSON JobsListStateFilter where+    parseJSON = parseJSONText "JobsListStateFilter"++instance ToJSON JobsListStateFilter where+    toJSON = toJSONText
+ gen/Network/Google/Resource/BigQuery/DataSets/Delete.hs view
@@ -0,0 +1,116 @@+{-# 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.BigQuery.DataSets.Delete+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes the dataset specified by the datasetId value. Before you can+-- delete a dataset, you must delete all its tables, either manually or by+-- specifying deleteContents. Immediately after deletion, you can create+-- another dataset with the same name.+--+-- /See:/ <https://cloud.google.com/bigquery/ BigQuery API Reference> for @bigquery.datasets.delete@.+module Network.Google.Resource.BigQuery.DataSets.Delete+    (+    -- * REST Resource+      DataSetsDeleteResource++    -- * Creating a Request+    , dataSetsDelete+    , DataSetsDelete++    -- * Request Lenses+    , dsdDataSetId+    , dsdProjectId+    , dsdDeleteContents+    ) where++import           Network.Google.BigQuery.Types+import           Network.Google.Prelude++-- | A resource alias for @bigquery.datasets.delete@ method which the+-- 'DataSetsDelete' request conforms to.+type DataSetsDeleteResource =+     "bigquery" :>+       "v2" :>+         "projects" :>+           Capture "projectId" Text :>+             "datasets" :>+               Capture "datasetId" Text :>+                 QueryParam "deleteContents" Bool :>+                   QueryParam "alt" AltJSON :> Delete '[JSON] ()++-- | Deletes the dataset specified by the datasetId value. Before you can+-- delete a dataset, you must delete all its tables, either manually or by+-- specifying deleteContents. Immediately after deletion, you can create+-- another dataset with the same name.+--+-- /See:/ 'dataSetsDelete' smart constructor.+data DataSetsDelete = DataSetsDelete+    { _dsdDataSetId      :: !Text+    , _dsdProjectId      :: !Text+    , _dsdDeleteContents :: !(Maybe Bool)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DataSetsDelete' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dsdDataSetId'+--+-- * 'dsdProjectId'+--+-- * 'dsdDeleteContents'+dataSetsDelete+    :: Text -- ^ 'dsdDataSetId'+    -> Text -- ^ 'dsdProjectId'+    -> DataSetsDelete+dataSetsDelete pDsdDataSetId_ pDsdProjectId_ =+    DataSetsDelete+    { _dsdDataSetId = pDsdDataSetId_+    , _dsdProjectId = pDsdProjectId_+    , _dsdDeleteContents = Nothing+    }++-- | Dataset ID of dataset being deleted+dsdDataSetId :: Lens' DataSetsDelete Text+dsdDataSetId+  = lens _dsdDataSetId (\ s a -> s{_dsdDataSetId = a})++-- | Project ID of the dataset being deleted+dsdProjectId :: Lens' DataSetsDelete Text+dsdProjectId+  = lens _dsdProjectId (\ s a -> s{_dsdProjectId = a})++-- | If True, delete all the tables in the dataset. If False and the dataset+-- contains tables, the request will fail. Default is False+dsdDeleteContents :: Lens' DataSetsDelete (Maybe Bool)+dsdDeleteContents+  = lens _dsdDeleteContents+      (\ s a -> s{_dsdDeleteContents = a})++instance GoogleRequest DataSetsDelete where+        type Rs DataSetsDelete = ()+        requestClient DataSetsDelete{..}+          = go _dsdProjectId _dsdDataSetId _dsdDeleteContents+              (Just AltJSON)+              bigQueryService+          where go+                  = buildClient (Proxy :: Proxy DataSetsDeleteResource)+                      mempty
+ gen/Network/Google/Resource/BigQuery/DataSets/Get.hs view
@@ -0,0 +1,96 @@+{-# 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.BigQuery.DataSets.Get+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns the dataset specified by datasetID.+--+-- /See:/ <https://cloud.google.com/bigquery/ BigQuery API Reference> for @bigquery.datasets.get@.+module Network.Google.Resource.BigQuery.DataSets.Get+    (+    -- * REST Resource+      DataSetsGetResource++    -- * Creating a Request+    , dataSetsGet+    , DataSetsGet++    -- * Request Lenses+    , dsgDataSetId+    , dsgProjectId+    ) where++import           Network.Google.BigQuery.Types+import           Network.Google.Prelude++-- | A resource alias for @bigquery.datasets.get@ method which the+-- 'DataSetsGet' request conforms to.+type DataSetsGetResource =+     "bigquery" :>+       "v2" :>+         "projects" :>+           Capture "projectId" Text :>+             "datasets" :>+               Capture "datasetId" Text :>+                 QueryParam "alt" AltJSON :> Get '[JSON] DataSet++-- | Returns the dataset specified by datasetID.+--+-- /See:/ 'dataSetsGet' smart constructor.+data DataSetsGet = DataSetsGet+    { _dsgDataSetId :: !Text+    , _dsgProjectId :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DataSetsGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dsgDataSetId'+--+-- * 'dsgProjectId'+dataSetsGet+    :: Text -- ^ 'dsgDataSetId'+    -> Text -- ^ 'dsgProjectId'+    -> DataSetsGet+dataSetsGet pDsgDataSetId_ pDsgProjectId_ =+    DataSetsGet+    { _dsgDataSetId = pDsgDataSetId_+    , _dsgProjectId = pDsgProjectId_+    }++-- | Dataset ID of the requested dataset+dsgDataSetId :: Lens' DataSetsGet Text+dsgDataSetId+  = lens _dsgDataSetId (\ s a -> s{_dsgDataSetId = a})++-- | Project ID of the requested dataset+dsgProjectId :: Lens' DataSetsGet Text+dsgProjectId+  = lens _dsgProjectId (\ s a -> s{_dsgProjectId = a})++instance GoogleRequest DataSetsGet where+        type Rs DataSetsGet = DataSet+        requestClient DataSetsGet{..}+          = go _dsgProjectId _dsgDataSetId (Just AltJSON)+              bigQueryService+          where go+                  = buildClient (Proxy :: Proxy DataSetsGetResource)+                      mempty
+ gen/Network/Google/Resource/BigQuery/DataSets/Insert.hs view
@@ -0,0 +1,96 @@+{-# 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.BigQuery.DataSets.Insert+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates a new empty dataset.+--+-- /See:/ <https://cloud.google.com/bigquery/ BigQuery API Reference> for @bigquery.datasets.insert@.+module Network.Google.Resource.BigQuery.DataSets.Insert+    (+    -- * REST Resource+      DataSetsInsertResource++    -- * Creating a Request+    , dataSetsInsert+    , DataSetsInsert++    -- * Request Lenses+    , dsiPayload+    , dsiProjectId+    ) where++import           Network.Google.BigQuery.Types+import           Network.Google.Prelude++-- | A resource alias for @bigquery.datasets.insert@ method which the+-- 'DataSetsInsert' request conforms to.+type DataSetsInsertResource =+     "bigquery" :>+       "v2" :>+         "projects" :>+           Capture "projectId" Text :>+             "datasets" :>+               QueryParam "alt" AltJSON :>+                 ReqBody '[JSON] DataSet :> Post '[JSON] DataSet++-- | Creates a new empty dataset.+--+-- /See:/ 'dataSetsInsert' smart constructor.+data DataSetsInsert = DataSetsInsert+    { _dsiPayload   :: !DataSet+    , _dsiProjectId :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DataSetsInsert' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dsiPayload'+--+-- * 'dsiProjectId'+dataSetsInsert+    :: DataSet -- ^ 'dsiPayload'+    -> Text -- ^ 'dsiProjectId'+    -> DataSetsInsert+dataSetsInsert pDsiPayload_ pDsiProjectId_ =+    DataSetsInsert+    { _dsiPayload = pDsiPayload_+    , _dsiProjectId = pDsiProjectId_+    }++-- | Multipart request metadata.+dsiPayload :: Lens' DataSetsInsert DataSet+dsiPayload+  = lens _dsiPayload (\ s a -> s{_dsiPayload = a})++-- | Project ID of the new dataset+dsiProjectId :: Lens' DataSetsInsert Text+dsiProjectId+  = lens _dsiProjectId (\ s a -> s{_dsiProjectId = a})++instance GoogleRequest DataSetsInsert where+        type Rs DataSetsInsert = DataSet+        requestClient DataSetsInsert{..}+          = go _dsiProjectId (Just AltJSON) _dsiPayload+              bigQueryService+          where go+                  = buildClient (Proxy :: Proxy DataSetsInsertResource)+                      mempty
+ gen/Network/Google/Resource/BigQuery/DataSets/List.hs view
@@ -0,0 +1,123 @@+{-# 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.BigQuery.DataSets.List+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists all datasets in the specified project to which you have been+-- granted the READER dataset role.+--+-- /See:/ <https://cloud.google.com/bigquery/ BigQuery API Reference> for @bigquery.datasets.list@.+module Network.Google.Resource.BigQuery.DataSets.List+    (+    -- * REST Resource+      DataSetsListResource++    -- * Creating a Request+    , dataSetsList+    , DataSetsList++    -- * Request Lenses+    , dslAll+    , dslPageToken+    , dslProjectId+    , dslMaxResults+    ) where++import           Network.Google.BigQuery.Types+import           Network.Google.Prelude++-- | A resource alias for @bigquery.datasets.list@ method which the+-- 'DataSetsList' request conforms to.+type DataSetsListResource =+     "bigquery" :>+       "v2" :>+         "projects" :>+           Capture "projectId" Text :>+             "datasets" :>+               QueryParam "all" Bool :>+                 QueryParam "pageToken" Text :>+                   QueryParam "maxResults" (Textual Word32) :>+                     QueryParam "alt" AltJSON :> Get '[JSON] DataSetList++-- | Lists all datasets in the specified project to which you have been+-- granted the READER dataset role.+--+-- /See:/ 'dataSetsList' smart constructor.+data DataSetsList = DataSetsList+    { _dslAll        :: !(Maybe Bool)+    , _dslPageToken  :: !(Maybe Text)+    , _dslProjectId  :: !Text+    , _dslMaxResults :: !(Maybe (Textual Word32))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DataSetsList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dslAll'+--+-- * 'dslPageToken'+--+-- * 'dslProjectId'+--+-- * 'dslMaxResults'+dataSetsList+    :: Text -- ^ 'dslProjectId'+    -> DataSetsList+dataSetsList pDslProjectId_ =+    DataSetsList+    { _dslAll = Nothing+    , _dslPageToken = Nothing+    , _dslProjectId = pDslProjectId_+    , _dslMaxResults = Nothing+    }++-- | Whether to list all datasets, including hidden ones+dslAll :: Lens' DataSetsList (Maybe Bool)+dslAll = lens _dslAll (\ s a -> s{_dslAll = a})++-- | Page token, returned by a previous call, to request the next page of+-- results+dslPageToken :: Lens' DataSetsList (Maybe Text)+dslPageToken+  = lens _dslPageToken (\ s a -> s{_dslPageToken = a})++-- | Project ID of the datasets to be listed+dslProjectId :: Lens' DataSetsList Text+dslProjectId+  = lens _dslProjectId (\ s a -> s{_dslProjectId = a})++-- | The maximum number of results to return+dslMaxResults :: Lens' DataSetsList (Maybe Word32)+dslMaxResults+  = lens _dslMaxResults+      (\ s a -> s{_dslMaxResults = a})+      . mapping _Coerce++instance GoogleRequest DataSetsList where+        type Rs DataSetsList = DataSetList+        requestClient DataSetsList{..}+          = go _dslProjectId _dslAll _dslPageToken+              _dslMaxResults+              (Just AltJSON)+              bigQueryService+          where go+                  = buildClient (Proxy :: Proxy DataSetsListResource)+                      mempty
+ gen/Network/Google/Resource/BigQuery/DataSets/Patch.hs view
@@ -0,0 +1,115 @@+{-# 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.BigQuery.DataSets.Patch+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates information in an existing dataset. The update method replaces+-- the entire dataset resource, whereas the patch method only replaces+-- fields that are provided in the submitted dataset resource. This method+-- supports patch semantics.+--+-- /See:/ <https://cloud.google.com/bigquery/ BigQuery API Reference> for @bigquery.datasets.patch@.+module Network.Google.Resource.BigQuery.DataSets.Patch+    (+    -- * REST Resource+      DataSetsPatchResource++    -- * Creating a Request+    , dataSetsPatch+    , DataSetsPatch++    -- * Request Lenses+    , dspPayload+    , dspDataSetId+    , dspProjectId+    ) where++import           Network.Google.BigQuery.Types+import           Network.Google.Prelude++-- | A resource alias for @bigquery.datasets.patch@ method which the+-- 'DataSetsPatch' request conforms to.+type DataSetsPatchResource =+     "bigquery" :>+       "v2" :>+         "projects" :>+           Capture "projectId" Text :>+             "datasets" :>+               Capture "datasetId" Text :>+                 QueryParam "alt" AltJSON :>+                   ReqBody '[JSON] DataSet :> Patch '[JSON] DataSet++-- | Updates information in an existing dataset. The update method replaces+-- the entire dataset resource, whereas the patch method only replaces+-- fields that are provided in the submitted dataset resource. This method+-- supports patch semantics.+--+-- /See:/ 'dataSetsPatch' smart constructor.+data DataSetsPatch = DataSetsPatch+    { _dspPayload   :: !DataSet+    , _dspDataSetId :: !Text+    , _dspProjectId :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DataSetsPatch' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dspPayload'+--+-- * 'dspDataSetId'+--+-- * 'dspProjectId'+dataSetsPatch+    :: DataSet -- ^ 'dspPayload'+    -> Text -- ^ 'dspDataSetId'+    -> Text -- ^ 'dspProjectId'+    -> DataSetsPatch+dataSetsPatch pDspPayload_ pDspDataSetId_ pDspProjectId_ =+    DataSetsPatch+    { _dspPayload = pDspPayload_+    , _dspDataSetId = pDspDataSetId_+    , _dspProjectId = pDspProjectId_+    }++-- | Multipart request metadata.+dspPayload :: Lens' DataSetsPatch DataSet+dspPayload+  = lens _dspPayload (\ s a -> s{_dspPayload = a})++-- | Dataset ID of the dataset being updated+dspDataSetId :: Lens' DataSetsPatch Text+dspDataSetId+  = lens _dspDataSetId (\ s a -> s{_dspDataSetId = a})++-- | Project ID of the dataset being updated+dspProjectId :: Lens' DataSetsPatch Text+dspProjectId+  = lens _dspProjectId (\ s a -> s{_dspProjectId = a})++instance GoogleRequest DataSetsPatch where+        type Rs DataSetsPatch = DataSet+        requestClient DataSetsPatch{..}+          = go _dspProjectId _dspDataSetId (Just AltJSON)+              _dspPayload+              bigQueryService+          where go+                  = buildClient (Proxy :: Proxy DataSetsPatchResource)+                      mempty
+ gen/Network/Google/Resource/BigQuery/DataSets/Update.hs view
@@ -0,0 +1,113 @@+{-# 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.BigQuery.DataSets.Update+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates information in an existing dataset. The update method replaces+-- the entire dataset resource, whereas the patch method only replaces+-- fields that are provided in the submitted dataset resource.+--+-- /See:/ <https://cloud.google.com/bigquery/ BigQuery API Reference> for @bigquery.datasets.update@.+module Network.Google.Resource.BigQuery.DataSets.Update+    (+    -- * REST Resource+      DataSetsUpdateResource++    -- * Creating a Request+    , dataSetsUpdate+    , DataSetsUpdate++    -- * Request Lenses+    , dsuPayload+    , dsuDataSetId+    , dsuProjectId+    ) where++import           Network.Google.BigQuery.Types+import           Network.Google.Prelude++-- | A resource alias for @bigquery.datasets.update@ method which the+-- 'DataSetsUpdate' request conforms to.+type DataSetsUpdateResource =+     "bigquery" :>+       "v2" :>+         "projects" :>+           Capture "projectId" Text :>+             "datasets" :>+               Capture "datasetId" Text :>+                 QueryParam "alt" AltJSON :>+                   ReqBody '[JSON] DataSet :> Put '[JSON] DataSet++-- | Updates information in an existing dataset. The update method replaces+-- the entire dataset resource, whereas the patch method only replaces+-- fields that are provided in the submitted dataset resource.+--+-- /See:/ 'dataSetsUpdate' smart constructor.+data DataSetsUpdate = DataSetsUpdate+    { _dsuPayload   :: !DataSet+    , _dsuDataSetId :: !Text+    , _dsuProjectId :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DataSetsUpdate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dsuPayload'+--+-- * 'dsuDataSetId'+--+-- * 'dsuProjectId'+dataSetsUpdate+    :: DataSet -- ^ 'dsuPayload'+    -> Text -- ^ 'dsuDataSetId'+    -> Text -- ^ 'dsuProjectId'+    -> DataSetsUpdate+dataSetsUpdate pDsuPayload_ pDsuDataSetId_ pDsuProjectId_ =+    DataSetsUpdate+    { _dsuPayload = pDsuPayload_+    , _dsuDataSetId = pDsuDataSetId_+    , _dsuProjectId = pDsuProjectId_+    }++-- | Multipart request metadata.+dsuPayload :: Lens' DataSetsUpdate DataSet+dsuPayload+  = lens _dsuPayload (\ s a -> s{_dsuPayload = a})++-- | Dataset ID of the dataset being updated+dsuDataSetId :: Lens' DataSetsUpdate Text+dsuDataSetId+  = lens _dsuDataSetId (\ s a -> s{_dsuDataSetId = a})++-- | Project ID of the dataset being updated+dsuProjectId :: Lens' DataSetsUpdate Text+dsuProjectId+  = lens _dsuProjectId (\ s a -> s{_dsuProjectId = a})++instance GoogleRequest DataSetsUpdate where+        type Rs DataSetsUpdate = DataSet+        requestClient DataSetsUpdate{..}+          = go _dsuProjectId _dsuDataSetId (Just AltJSON)+              _dsuPayload+              bigQueryService+          where go+                  = buildClient (Proxy :: Proxy DataSetsUpdateResource)+                      mempty
+ gen/Network/Google/Resource/BigQuery/Jobs/Cancel.hs view
@@ -0,0 +1,101 @@+{-# 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.BigQuery.Jobs.Cancel+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Requests that a job be cancelled. This call will return immediately, and+-- the client will need to poll for the job status to see if the cancel+-- completed successfully. Cancelled jobs may still incur costs.+--+-- /See:/ <https://cloud.google.com/bigquery/ BigQuery API Reference> for @bigquery.jobs.cancel@.+module Network.Google.Resource.BigQuery.Jobs.Cancel+    (+    -- * REST Resource+      JobsCancelResource++    -- * Creating a Request+    , jobsCancel+    , JobsCancel++    -- * Request Lenses+    , jcJobId+    , jcProjectId+    ) where++import           Network.Google.BigQuery.Types+import           Network.Google.Prelude++-- | A resource alias for @bigquery.jobs.cancel@ method which the+-- 'JobsCancel' request conforms to.+type JobsCancelResource =+     "bigquery" :>+       "v2" :>+         "project" :>+           Capture "projectId" Text :>+             "jobs" :>+               Capture "jobId" Text :>+                 "cancel" :>+                   QueryParam "alt" AltJSON :>+                     Post '[JSON] JobCancelResponse++-- | Requests that a job be cancelled. This call will return immediately, and+-- the client will need to poll for the job status to see if the cancel+-- completed successfully. Cancelled jobs may still incur costs.+--+-- /See:/ 'jobsCancel' smart constructor.+data JobsCancel = JobsCancel+    { _jcJobId     :: !Text+    , _jcProjectId :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'JobsCancel' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'jcJobId'+--+-- * 'jcProjectId'+jobsCancel+    :: Text -- ^ 'jcJobId'+    -> Text -- ^ 'jcProjectId'+    -> JobsCancel+jobsCancel pJcJobId_ pJcProjectId_ =+    JobsCancel+    { _jcJobId = pJcJobId_+    , _jcProjectId = pJcProjectId_+    }++-- | Job ID of the job to cancel+jcJobId :: Lens' JobsCancel Text+jcJobId = lens _jcJobId (\ s a -> s{_jcJobId = a})++-- | Project ID of the job to cancel+jcProjectId :: Lens' JobsCancel Text+jcProjectId+  = lens _jcProjectId (\ s a -> s{_jcProjectId = a})++instance GoogleRequest JobsCancel where+        type Rs JobsCancel = JobCancelResponse+        requestClient JobsCancel{..}+          = go _jcProjectId _jcJobId (Just AltJSON)+              bigQueryService+          where go+                  = buildClient (Proxy :: Proxy JobsCancelResource)+                      mempty
+ gen/Network/Google/Resource/BigQuery/Jobs/Get.hs view
@@ -0,0 +1,98 @@+{-# 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.BigQuery.Jobs.Get+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns information about a specific job. Job information is available+-- for a six month period after creation. Requires that you\'re the person+-- who ran the job, or have the Is Owner project role.+--+-- /See:/ <https://cloud.google.com/bigquery/ BigQuery API Reference> for @bigquery.jobs.get@.+module Network.Google.Resource.BigQuery.Jobs.Get+    (+    -- * REST Resource+      JobsGetResource++    -- * Creating a Request+    , jobsGet+    , JobsGet++    -- * Request Lenses+    , jgJobId+    , jgProjectId+    ) where++import           Network.Google.BigQuery.Types+import           Network.Google.Prelude++-- | A resource alias for @bigquery.jobs.get@ method which the+-- 'JobsGet' request conforms to.+type JobsGetResource =+     "bigquery" :>+       "v2" :>+         "projects" :>+           Capture "projectId" Text :>+             "jobs" :>+               Capture "jobId" Text :>+                 QueryParam "alt" AltJSON :> Get '[JSON] Job++-- | Returns information about a specific job. Job information is available+-- for a six month period after creation. Requires that you\'re the person+-- who ran the job, or have the Is Owner project role.+--+-- /See:/ 'jobsGet' smart constructor.+data JobsGet = JobsGet+    { _jgJobId     :: !Text+    , _jgProjectId :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'JobsGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'jgJobId'+--+-- * 'jgProjectId'+jobsGet+    :: Text -- ^ 'jgJobId'+    -> Text -- ^ 'jgProjectId'+    -> JobsGet+jobsGet pJgJobId_ pJgProjectId_ =+    JobsGet+    { _jgJobId = pJgJobId_+    , _jgProjectId = pJgProjectId_+    }++-- | Job ID of the requested job+jgJobId :: Lens' JobsGet Text+jgJobId = lens _jgJobId (\ s a -> s{_jgJobId = a})++-- | Project ID of the requested job+jgProjectId :: Lens' JobsGet Text+jgProjectId+  = lens _jgProjectId (\ s a -> s{_jgProjectId = a})++instance GoogleRequest JobsGet where+        type Rs JobsGet = Job+        requestClient JobsGet{..}+          = go _jgProjectId _jgJobId (Just AltJSON)+              bigQueryService+          where go+                  = buildClient (Proxy :: Proxy JobsGetResource) mempty
+ gen/Network/Google/Resource/BigQuery/Jobs/GetQueryResults.hs view
@@ -0,0 +1,157 @@+{-# 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.BigQuery.Jobs.GetQueryResults+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves the results of a query job.+--+-- /See:/ <https://cloud.google.com/bigquery/ BigQuery API Reference> for @bigquery.jobs.getQueryResults@.+module Network.Google.Resource.BigQuery.Jobs.GetQueryResults+    (+    -- * REST Resource+      JobsGetQueryResultsResource++    -- * Creating a Request+    , jobsGetQueryResults+    , JobsGetQueryResults++    -- * Request Lenses+    , jgqrJobId+    , jgqrTimeoutMs+    , jgqrPageToken+    , jgqrProjectId+    , jgqrStartIndex+    , jgqrMaxResults+    ) where++import           Network.Google.BigQuery.Types+import           Network.Google.Prelude++-- | A resource alias for @bigquery.jobs.getQueryResults@ method which the+-- 'JobsGetQueryResults' request conforms to.+type JobsGetQueryResultsResource =+     "bigquery" :>+       "v2" :>+         "projects" :>+           Capture "projectId" Text :>+             "queries" :>+               Capture "jobId" Text :>+                 QueryParam "timeoutMs" (Textual Word32) :>+                   QueryParam "pageToken" Text :>+                     QueryParam "startIndex" (Textual Word64) :>+                       QueryParam "maxResults" (Textual Word32) :>+                         QueryParam "alt" AltJSON :>+                           Get '[JSON] GetQueryResultsResponse++-- | Retrieves the results of a query job.+--+-- /See:/ 'jobsGetQueryResults' smart constructor.+data JobsGetQueryResults = JobsGetQueryResults+    { _jgqrJobId      :: !Text+    , _jgqrTimeoutMs  :: !(Maybe (Textual Word32))+    , _jgqrPageToken  :: !(Maybe Text)+    , _jgqrProjectId  :: !Text+    , _jgqrStartIndex :: !(Maybe (Textual Word64))+    , _jgqrMaxResults :: !(Maybe (Textual Word32))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'JobsGetQueryResults' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'jgqrJobId'+--+-- * 'jgqrTimeoutMs'+--+-- * 'jgqrPageToken'+--+-- * 'jgqrProjectId'+--+-- * 'jgqrStartIndex'+--+-- * 'jgqrMaxResults'+jobsGetQueryResults+    :: Text -- ^ 'jgqrJobId'+    -> Text -- ^ 'jgqrProjectId'+    -> JobsGetQueryResults+jobsGetQueryResults pJgqrJobId_ pJgqrProjectId_ =+    JobsGetQueryResults+    { _jgqrJobId = pJgqrJobId_+    , _jgqrTimeoutMs = Nothing+    , _jgqrPageToken = Nothing+    , _jgqrProjectId = pJgqrProjectId_+    , _jgqrStartIndex = Nothing+    , _jgqrMaxResults = Nothing+    }++-- | Job ID of the query job+jgqrJobId :: Lens' JobsGetQueryResults Text+jgqrJobId+  = lens _jgqrJobId (\ s a -> s{_jgqrJobId = a})++-- | How long to wait for the query to complete, in milliseconds, before+-- returning. Default is 10 seconds. If the timeout passes before the job+-- completes, the \'jobComplete\' field in the response will be false+jgqrTimeoutMs :: Lens' JobsGetQueryResults (Maybe Word32)+jgqrTimeoutMs+  = lens _jgqrTimeoutMs+      (\ s a -> s{_jgqrTimeoutMs = a})+      . mapping _Coerce++-- | Page token, returned by a previous call, to request the next page of+-- results+jgqrPageToken :: Lens' JobsGetQueryResults (Maybe Text)+jgqrPageToken+  = lens _jgqrPageToken+      (\ s a -> s{_jgqrPageToken = a})++-- | Project ID of the query job+jgqrProjectId :: Lens' JobsGetQueryResults Text+jgqrProjectId+  = lens _jgqrProjectId+      (\ s a -> s{_jgqrProjectId = a})++-- | Zero-based index of the starting row+jgqrStartIndex :: Lens' JobsGetQueryResults (Maybe Word64)+jgqrStartIndex+  = lens _jgqrStartIndex+      (\ s a -> s{_jgqrStartIndex = a})+      . mapping _Coerce++-- | Maximum number of results to read+jgqrMaxResults :: Lens' JobsGetQueryResults (Maybe Word32)+jgqrMaxResults+  = lens _jgqrMaxResults+      (\ s a -> s{_jgqrMaxResults = a})+      . mapping _Coerce++instance GoogleRequest JobsGetQueryResults where+        type Rs JobsGetQueryResults = GetQueryResultsResponse+        requestClient JobsGetQueryResults{..}+          = go _jgqrProjectId _jgqrJobId _jgqrTimeoutMs+              _jgqrPageToken+              _jgqrStartIndex+              _jgqrMaxResults+              (Just AltJSON)+              bigQueryService+          where go+                  = buildClient+                      (Proxy :: Proxy JobsGetQueryResultsResource)+                      mempty
+ gen/Network/Google/Resource/BigQuery/Jobs/Insert.hs view
@@ -0,0 +1,118 @@+{-# 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.BigQuery.Jobs.Insert+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Starts a new asynchronous job. Requires the Can View project role.+--+-- /See:/ <https://cloud.google.com/bigquery/ BigQuery API Reference> for @bigquery.jobs.insert@.+module Network.Google.Resource.BigQuery.Jobs.Insert+    (+    -- * REST Resource+      JobsInsertResource++    -- * Creating a Request+    , jobsInsert+    , JobsInsert++    -- * Request Lenses+    , jiPayload+    , jiProjectId+    ) where++import           Network.Google.BigQuery.Types+import           Network.Google.Prelude++-- | A resource alias for @bigquery.jobs.insert@ method which the+-- 'JobsInsert' request conforms to.+type JobsInsertResource =+     "bigquery" :>+       "v2" :>+         "projects" :>+           Capture "projectId" Text :>+             "jobs" :>+               QueryParam "alt" AltJSON :>+                 ReqBody '[JSON] Job :> Post '[JSON] Job+       :<|>+       "upload" :>+         "bigquery" :>+           "v2" :>+             "projects" :>+               Capture "projectId" Text :>+                 "jobs" :>+                   QueryParam "alt" AltJSON :>+                     QueryParam "uploadType" AltMedia :>+                       MultipartRelated '[JSON] Job RequestBody :>+                         Post '[JSON] Job++-- | Starts a new asynchronous job. Requires the Can View project role.+--+-- /See:/ 'jobsInsert' smart constructor.+data JobsInsert = JobsInsert+    { _jiPayload   :: !Job+    , _jiProjectId :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'JobsInsert' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'jiPayload'+--+-- * 'jiProjectId'+jobsInsert+    :: Job -- ^ 'jiPayload'+    -> Text -- ^ 'jiProjectId'+    -> JobsInsert+jobsInsert pJiPayload_ pJiProjectId_ =+    JobsInsert+    { _jiPayload = pJiPayload_+    , _jiProjectId = pJiProjectId_+    }++-- | Multipart request metadata.+jiPayload :: Lens' JobsInsert Job+jiPayload+  = lens _jiPayload (\ s a -> s{_jiPayload = a})++-- | Project ID of the project that will be billed for the job+jiProjectId :: Lens' JobsInsert Text+jiProjectId+  = lens _jiProjectId (\ s a -> s{_jiProjectId = a})++instance GoogleRequest JobsInsert where+        type Rs JobsInsert = Job+        requestClient JobsInsert{..}+          = go _jiProjectId (Just AltJSON) _jiPayload+              bigQueryService+          where go :<|> _+                  = buildClient (Proxy :: Proxy JobsInsertResource)+                      mempty++instance GoogleRequest (MediaUpload JobsInsert) where+        type Rs (MediaUpload JobsInsert) = Job+        requestClient (MediaUpload JobsInsert{..} body)+          = go _jiProjectId (Just AltJSON) (Just AltMedia)+              _jiPayload+              body+              bigQueryService+          where _ :<|> go+                  = buildClient (Proxy :: Proxy JobsInsertResource)+                      mempty
+ gen/Network/Google/Resource/BigQuery/Jobs/List.hs view
@@ -0,0 +1,157 @@+{-# 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.BigQuery.Jobs.List+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists all jobs that you started in the specified project. Job+-- information is available for a six month period after creation. The job+-- list is sorted in reverse chronological order, by job creation time.+-- Requires the Can View project role, or the Is Owner project role if you+-- set the allUsers property.+--+-- /See:/ <https://cloud.google.com/bigquery/ BigQuery API Reference> for @bigquery.jobs.list@.+module Network.Google.Resource.BigQuery.Jobs.List+    (+    -- * REST Resource+      JobsListResource++    -- * Creating a Request+    , jobsList+    , JobsList++    -- * Request Lenses+    , jlStateFilter+    , jlProjection+    , jlPageToken+    , jlProjectId+    , jlAllUsers+    , jlMaxResults+    ) where++import           Network.Google.BigQuery.Types+import           Network.Google.Prelude++-- | A resource alias for @bigquery.jobs.list@ method which the+-- 'JobsList' request conforms to.+type JobsListResource =+     "bigquery" :>+       "v2" :>+         "projects" :>+           Capture "projectId" Text :>+             "jobs" :>+               QueryParams "stateFilter" JobsListStateFilter :>+                 QueryParam "projection" JobsListProjection :>+                   QueryParam "pageToken" Text :>+                     QueryParam "allUsers" Bool :>+                       QueryParam "maxResults" (Textual Word32) :>+                         QueryParam "alt" AltJSON :> Get '[JSON] JobList++-- | Lists all jobs that you started in the specified project. Job+-- information is available for a six month period after creation. The job+-- list is sorted in reverse chronological order, by job creation time.+-- Requires the Can View project role, or the Is Owner project role if you+-- set the allUsers property.+--+-- /See:/ 'jobsList' smart constructor.+data JobsList = JobsList+    { _jlStateFilter :: !(Maybe [JobsListStateFilter])+    , _jlProjection  :: !(Maybe JobsListProjection)+    , _jlPageToken   :: !(Maybe Text)+    , _jlProjectId   :: !Text+    , _jlAllUsers    :: !(Maybe Bool)+    , _jlMaxResults  :: !(Maybe (Textual Word32))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'JobsList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'jlStateFilter'+--+-- * 'jlProjection'+--+-- * 'jlPageToken'+--+-- * 'jlProjectId'+--+-- * 'jlAllUsers'+--+-- * 'jlMaxResults'+jobsList+    :: Text -- ^ 'jlProjectId'+    -> JobsList+jobsList pJlProjectId_ =+    JobsList+    { _jlStateFilter = Nothing+    , _jlProjection = Nothing+    , _jlPageToken = Nothing+    , _jlProjectId = pJlProjectId_+    , _jlAllUsers = Nothing+    , _jlMaxResults = Nothing+    }++-- | Filter for job state+jlStateFilter :: Lens' JobsList [JobsListStateFilter]+jlStateFilter+  = lens _jlStateFilter+      (\ s a -> s{_jlStateFilter = a})+      . _Default+      . _Coerce++-- | Restrict information returned to a set of selected fields+jlProjection :: Lens' JobsList (Maybe JobsListProjection)+jlProjection+  = lens _jlProjection (\ s a -> s{_jlProjection = a})++-- | Page token, returned by a previous call, to request the next page of+-- results+jlPageToken :: Lens' JobsList (Maybe Text)+jlPageToken+  = lens _jlPageToken (\ s a -> s{_jlPageToken = a})++-- | Project ID of the jobs to list+jlProjectId :: Lens' JobsList Text+jlProjectId+  = lens _jlProjectId (\ s a -> s{_jlProjectId = a})++-- | Whether to display jobs owned by all users in the project. Default false+jlAllUsers :: Lens' JobsList (Maybe Bool)+jlAllUsers+  = lens _jlAllUsers (\ s a -> s{_jlAllUsers = a})++-- | Maximum number of results to return+jlMaxResults :: Lens' JobsList (Maybe Word32)+jlMaxResults+  = lens _jlMaxResults (\ s a -> s{_jlMaxResults = a})+      . mapping _Coerce++instance GoogleRequest JobsList where+        type Rs JobsList = JobList+        requestClient JobsList{..}+          = go _jlProjectId (_jlStateFilter ^. _Default)+              _jlProjection+              _jlPageToken+              _jlAllUsers+              _jlMaxResults+              (Just AltJSON)+              bigQueryService+          where go+                  = buildClient (Proxy :: Proxy JobsListResource)+                      mempty
+ gen/Network/Google/Resource/BigQuery/Jobs/Query.hs view
@@ -0,0 +1,99 @@+{-# 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.BigQuery.Jobs.Query+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Runs a BigQuery SQL query synchronously and returns query results if the+-- query completes within a specified timeout.+--+-- /See:/ <https://cloud.google.com/bigquery/ BigQuery API Reference> for @bigquery.jobs.query@.+module Network.Google.Resource.BigQuery.Jobs.Query+    (+    -- * REST Resource+      JobsQueryResource++    -- * Creating a Request+    , jobsQuery+    , JobsQuery++    -- * Request Lenses+    , jqPayload+    , jqProjectId+    ) where++import           Network.Google.BigQuery.Types+import           Network.Google.Prelude++-- | A resource alias for @bigquery.jobs.query@ method which the+-- 'JobsQuery' request conforms to.+type JobsQueryResource =+     "bigquery" :>+       "v2" :>+         "projects" :>+           Capture "projectId" Text :>+             "queries" :>+               QueryParam "alt" AltJSON :>+                 ReqBody '[JSON] QueryRequest :>+                   Post '[JSON] QueryResponse++-- | Runs a BigQuery SQL query synchronously and returns query results if the+-- query completes within a specified timeout.+--+-- /See:/ 'jobsQuery' smart constructor.+data JobsQuery = JobsQuery+    { _jqPayload   :: !QueryRequest+    , _jqProjectId :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'JobsQuery' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'jqPayload'+--+-- * 'jqProjectId'+jobsQuery+    :: QueryRequest -- ^ 'jqPayload'+    -> Text -- ^ 'jqProjectId'+    -> JobsQuery+jobsQuery pJqPayload_ pJqProjectId_ =+    JobsQuery+    { _jqPayload = pJqPayload_+    , _jqProjectId = pJqProjectId_+    }++-- | Multipart request metadata.+jqPayload :: Lens' JobsQuery QueryRequest+jqPayload+  = lens _jqPayload (\ s a -> s{_jqPayload = a})++-- | Project ID of the project billed for the query+jqProjectId :: Lens' JobsQuery Text+jqProjectId+  = lens _jqProjectId (\ s a -> s{_jqProjectId = a})++instance GoogleRequest JobsQuery where+        type Rs JobsQuery = QueryResponse+        requestClient JobsQuery{..}+          = go _jqProjectId (Just AltJSON) _jqPayload+              bigQueryService+          where go+                  = buildClient (Proxy :: Proxy JobsQueryResource)+                      mempty
+ gen/Network/Google/Resource/BigQuery/Projects/List.hs view
@@ -0,0 +1,95 @@+{-# 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.BigQuery.Projects.List+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists all projects to which you have been granted any project role.+--+-- /See:/ <https://cloud.google.com/bigquery/ BigQuery API Reference> for @bigquery.projects.list@.+module Network.Google.Resource.BigQuery.Projects.List+    (+    -- * REST Resource+      ProjectsListResource++    -- * Creating a Request+    , projectsList+    , ProjectsList++    -- * Request Lenses+    , plPageToken+    , plMaxResults+    ) where++import           Network.Google.BigQuery.Types+import           Network.Google.Prelude++-- | A resource alias for @bigquery.projects.list@ method which the+-- 'ProjectsList' request conforms to.+type ProjectsListResource =+     "bigquery" :>+       "v2" :>+         "projects" :>+           QueryParam "pageToken" Text :>+             QueryParam "maxResults" (Textual Word32) :>+               QueryParam "alt" AltJSON :> Get '[JSON] ProjectList++-- | Lists all projects to which you have been granted any project role.+--+-- /See:/ 'projectsList' smart constructor.+data ProjectsList = ProjectsList+    { _plPageToken  :: !(Maybe Text)+    , _plMaxResults :: !(Maybe (Textual Word32))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProjectsList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'plPageToken'+--+-- * 'plMaxResults'+projectsList+    :: ProjectsList+projectsList =+    ProjectsList+    { _plPageToken = Nothing+    , _plMaxResults = Nothing+    }++-- | Page token, returned by a previous call, to request the next page of+-- results+plPageToken :: Lens' ProjectsList (Maybe Text)+plPageToken+  = lens _plPageToken (\ s a -> s{_plPageToken = a})++-- | Maximum number of results to return+plMaxResults :: Lens' ProjectsList (Maybe Word32)+plMaxResults+  = lens _plMaxResults (\ s a -> s{_plMaxResults = a})+      . mapping _Coerce++instance GoogleRequest ProjectsList where+        type Rs ProjectsList = ProjectList+        requestClient ProjectsList{..}+          = go _plPageToken _plMaxResults (Just AltJSON)+              bigQueryService+          where go+                  = buildClient (Proxy :: Proxy ProjectsListResource)+                      mempty
+ gen/Network/Google/Resource/BigQuery/TableData/InsertAll.hs view
@@ -0,0 +1,131 @@+{-# 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.BigQuery.TableData.InsertAll+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Streams data into BigQuery one record at a time without needing to run a+-- load job. Requires the WRITER dataset role.+--+-- /See:/ <https://cloud.google.com/bigquery/ BigQuery API Reference> for @bigquery.tabledata.insertAll@.+module Network.Google.Resource.BigQuery.TableData.InsertAll+    (+    -- * REST Resource+      TableDataInsertAllResource++    -- * Creating a Request+    , tableDataInsertAll+    , TableDataInsertAll++    -- * Request Lenses+    , tdiaPayload+    , tdiaDataSetId+    , tdiaProjectId+    , tdiaTableId+    ) where++import           Network.Google.BigQuery.Types+import           Network.Google.Prelude++-- | A resource alias for @bigquery.tabledata.insertAll@ method which the+-- 'TableDataInsertAll' request conforms to.+type TableDataInsertAllResource =+     "bigquery" :>+       "v2" :>+         "projects" :>+           Capture "projectId" Text :>+             "datasets" :>+               Capture "datasetId" Text :>+                 "tables" :>+                   Capture "tableId" Text :>+                     "insertAll" :>+                       QueryParam "alt" AltJSON :>+                         ReqBody '[JSON] TableDataInsertAllRequest :>+                           Post '[JSON] TableDataInsertAllResponse++-- | Streams data into BigQuery one record at a time without needing to run a+-- load job. Requires the WRITER dataset role.+--+-- /See:/ 'tableDataInsertAll' smart constructor.+data TableDataInsertAll = TableDataInsertAll+    { _tdiaPayload   :: !TableDataInsertAllRequest+    , _tdiaDataSetId :: !Text+    , _tdiaProjectId :: !Text+    , _tdiaTableId   :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TableDataInsertAll' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tdiaPayload'+--+-- * 'tdiaDataSetId'+--+-- * 'tdiaProjectId'+--+-- * 'tdiaTableId'+tableDataInsertAll+    :: TableDataInsertAllRequest -- ^ 'tdiaPayload'+    -> Text -- ^ 'tdiaDataSetId'+    -> Text -- ^ 'tdiaProjectId'+    -> Text -- ^ 'tdiaTableId'+    -> TableDataInsertAll+tableDataInsertAll pTdiaPayload_ pTdiaDataSetId_ pTdiaProjectId_ pTdiaTableId_ =+    TableDataInsertAll+    { _tdiaPayload = pTdiaPayload_+    , _tdiaDataSetId = pTdiaDataSetId_+    , _tdiaProjectId = pTdiaProjectId_+    , _tdiaTableId = pTdiaTableId_+    }++-- | Multipart request metadata.+tdiaPayload :: Lens' TableDataInsertAll TableDataInsertAllRequest+tdiaPayload+  = lens _tdiaPayload (\ s a -> s{_tdiaPayload = a})++-- | Dataset ID of the destination table.+tdiaDataSetId :: Lens' TableDataInsertAll Text+tdiaDataSetId+  = lens _tdiaDataSetId+      (\ s a -> s{_tdiaDataSetId = a})++-- | Project ID of the destination table.+tdiaProjectId :: Lens' TableDataInsertAll Text+tdiaProjectId+  = lens _tdiaProjectId+      (\ s a -> s{_tdiaProjectId = a})++-- | Table ID of the destination table.+tdiaTableId :: Lens' TableDataInsertAll Text+tdiaTableId+  = lens _tdiaTableId (\ s a -> s{_tdiaTableId = a})++instance GoogleRequest TableDataInsertAll where+        type Rs TableDataInsertAll =+             TableDataInsertAllResponse+        requestClient TableDataInsertAll{..}+          = go _tdiaProjectId _tdiaDataSetId _tdiaTableId+              (Just AltJSON)+              _tdiaPayload+              bigQueryService+          where go+                  = buildClient+                      (Proxy :: Proxy TableDataInsertAllResource)+                      mempty
+ gen/Network/Google/Resource/BigQuery/TableData/List.hs view
@@ -0,0 +1,152 @@+{-# 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.BigQuery.TableData.List+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves table data from a specified set of rows. Requires the READER+-- dataset role.+--+-- /See:/ <https://cloud.google.com/bigquery/ BigQuery API Reference> for @bigquery.tabledata.list@.+module Network.Google.Resource.BigQuery.TableData.List+    (+    -- * REST Resource+      TableDataListResource++    -- * Creating a Request+    , tableDataList'+    , TableDataList'++    -- * Request Lenses+    , tDataSetId+    , tPageToken+    , tProjectId+    , tTableId+    , tStartIndex+    , tMaxResults+    ) where++import           Network.Google.BigQuery.Types+import           Network.Google.Prelude++-- | A resource alias for @bigquery.tabledata.list@ method which the+-- 'TableDataList'' request conforms to.+type TableDataListResource =+     "bigquery" :>+       "v2" :>+         "projects" :>+           Capture "projectId" Text :>+             "datasets" :>+               Capture "datasetId" Text :>+                 "tables" :>+                   Capture "tableId" Text :>+                     "data" :>+                       QueryParam "pageToken" Text :>+                         QueryParam "startIndex" (Textual Word64) :>+                           QueryParam "maxResults" (Textual Word32) :>+                             QueryParam "alt" AltJSON :>+                               Get '[JSON] TableDataList++-- | Retrieves table data from a specified set of rows. Requires the READER+-- dataset role.+--+-- /See:/ 'tableDataList'' smart constructor.+data TableDataList' = TableDataList'+    { _tDataSetId  :: !Text+    , _tPageToken  :: !(Maybe Text)+    , _tProjectId  :: !Text+    , _tTableId    :: !Text+    , _tStartIndex :: !(Maybe (Textual Word64))+    , _tMaxResults :: !(Maybe (Textual Word32))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TableDataList'' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tDataSetId'+--+-- * 'tPageToken'+--+-- * 'tProjectId'+--+-- * 'tTableId'+--+-- * 'tStartIndex'+--+-- * 'tMaxResults'+tableDataList'+    :: Text -- ^ 'tDataSetId'+    -> Text -- ^ 'tProjectId'+    -> Text -- ^ 'tTableId'+    -> TableDataList'+tableDataList' pTDataSetId_ pTProjectId_ pTTableId_ =+    TableDataList'+    { _tDataSetId = pTDataSetId_+    , _tPageToken = Nothing+    , _tProjectId = pTProjectId_+    , _tTableId = pTTableId_+    , _tStartIndex = Nothing+    , _tMaxResults = Nothing+    }++-- | Dataset ID of the table to read+tDataSetId :: Lens' TableDataList' Text+tDataSetId+  = lens _tDataSetId (\ s a -> s{_tDataSetId = a})++-- | A token used for paging results. Providing this token instead of the+-- startIndex parameter can help you retrieve stable results when an+-- underlying table is changing.+tPageToken :: Lens' TableDataList' (Maybe Text)+tPageToken+  = lens _tPageToken (\ s a -> s{_tPageToken = a})++-- | Project ID of the table to read+tProjectId :: Lens' TableDataList' Text+tProjectId+  = lens _tProjectId (\ s a -> s{_tProjectId = a})++-- | Table ID of the table to read+tTableId :: Lens' TableDataList' Text+tTableId = lens _tTableId (\ s a -> s{_tTableId = a})++-- | Zero-based index of the starting row to read+tStartIndex :: Lens' TableDataList' (Maybe Word64)+tStartIndex+  = lens _tStartIndex (\ s a -> s{_tStartIndex = a}) .+      mapping _Coerce++-- | Maximum number of results to return+tMaxResults :: Lens' TableDataList' (Maybe Word32)+tMaxResults+  = lens _tMaxResults (\ s a -> s{_tMaxResults = a}) .+      mapping _Coerce++instance GoogleRequest TableDataList' where+        type Rs TableDataList' = TableDataList+        requestClient TableDataList'{..}+          = go _tProjectId _tDataSetId _tTableId _tPageToken+              _tStartIndex+              _tMaxResults+              (Just AltJSON)+              bigQueryService+          where go+                  = buildClient (Proxy :: Proxy TableDataListResource)+                      mempty
+ gen/Network/Google/Resource/BigQuery/Tables/Delete.hs view
@@ -0,0 +1,112 @@+{-# 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.BigQuery.Tables.Delete+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes the table specified by tableId from the dataset. If the table+-- contains data, all the data will be deleted.+--+-- /See:/ <https://cloud.google.com/bigquery/ BigQuery API Reference> for @bigquery.tables.delete@.+module Network.Google.Resource.BigQuery.Tables.Delete+    (+    -- * REST Resource+      TablesDeleteResource++    -- * Creating a Request+    , tablesDelete+    , TablesDelete++    -- * Request Lenses+    , tdDataSetId+    , tdProjectId+    , tdTableId+    ) where++import           Network.Google.BigQuery.Types+import           Network.Google.Prelude++-- | A resource alias for @bigquery.tables.delete@ method which the+-- 'TablesDelete' request conforms to.+type TablesDeleteResource =+     "bigquery" :>+       "v2" :>+         "projects" :>+           Capture "projectId" Text :>+             "datasets" :>+               Capture "datasetId" Text :>+                 "tables" :>+                   Capture "tableId" Text :>+                     QueryParam "alt" AltJSON :> Delete '[JSON] ()++-- | Deletes the table specified by tableId from the dataset. If the table+-- contains data, all the data will be deleted.+--+-- /See:/ 'tablesDelete' smart constructor.+data TablesDelete = TablesDelete+    { _tdDataSetId :: !Text+    , _tdProjectId :: !Text+    , _tdTableId   :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TablesDelete' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tdDataSetId'+--+-- * 'tdProjectId'+--+-- * 'tdTableId'+tablesDelete+    :: Text -- ^ 'tdDataSetId'+    -> Text -- ^ 'tdProjectId'+    -> Text -- ^ 'tdTableId'+    -> TablesDelete+tablesDelete pTdDataSetId_ pTdProjectId_ pTdTableId_ =+    TablesDelete+    { _tdDataSetId = pTdDataSetId_+    , _tdProjectId = pTdProjectId_+    , _tdTableId = pTdTableId_+    }++-- | Dataset ID of the table to delete+tdDataSetId :: Lens' TablesDelete Text+tdDataSetId+  = lens _tdDataSetId (\ s a -> s{_tdDataSetId = a})++-- | Project ID of the table to delete+tdProjectId :: Lens' TablesDelete Text+tdProjectId+  = lens _tdProjectId (\ s a -> s{_tdProjectId = a})++-- | Table ID of the table to delete+tdTableId :: Lens' TablesDelete Text+tdTableId+  = lens _tdTableId (\ s a -> s{_tdTableId = a})++instance GoogleRequest TablesDelete where+        type Rs TablesDelete = ()+        requestClient TablesDelete{..}+          = go _tdProjectId _tdDataSetId _tdTableId+              (Just AltJSON)+              bigQueryService+          where go+                  = buildClient (Proxy :: Proxy TablesDeleteResource)+                      mempty
+ gen/Network/Google/Resource/BigQuery/Tables/Get.hs view
@@ -0,0 +1,114 @@+{-# 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.BigQuery.Tables.Get+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Gets the specified table resource by table ID. This method does not+-- return the data in the table, it only returns the table resource, which+-- describes the structure of this table.+--+-- /See:/ <https://cloud.google.com/bigquery/ BigQuery API Reference> for @bigquery.tables.get@.+module Network.Google.Resource.BigQuery.Tables.Get+    (+    -- * REST Resource+      TablesGetResource++    -- * Creating a Request+    , tablesGet+    , TablesGet++    -- * Request Lenses+    , tgDataSetId+    , tgProjectId+    , tgTableId+    ) where++import           Network.Google.BigQuery.Types+import           Network.Google.Prelude++-- | A resource alias for @bigquery.tables.get@ method which the+-- 'TablesGet' request conforms to.+type TablesGetResource =+     "bigquery" :>+       "v2" :>+         "projects" :>+           Capture "projectId" Text :>+             "datasets" :>+               Capture "datasetId" Text :>+                 "tables" :>+                   Capture "tableId" Text :>+                     QueryParam "alt" AltJSON :> Get '[JSON] Table++-- | Gets the specified table resource by table ID. This method does not+-- return the data in the table, it only returns the table resource, which+-- describes the structure of this table.+--+-- /See:/ 'tablesGet' smart constructor.+data TablesGet = TablesGet+    { _tgDataSetId :: !Text+    , _tgProjectId :: !Text+    , _tgTableId   :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TablesGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tgDataSetId'+--+-- * 'tgProjectId'+--+-- * 'tgTableId'+tablesGet+    :: Text -- ^ 'tgDataSetId'+    -> Text -- ^ 'tgProjectId'+    -> Text -- ^ 'tgTableId'+    -> TablesGet+tablesGet pTgDataSetId_ pTgProjectId_ pTgTableId_ =+    TablesGet+    { _tgDataSetId = pTgDataSetId_+    , _tgProjectId = pTgProjectId_+    , _tgTableId = pTgTableId_+    }++-- | Dataset ID of the requested table+tgDataSetId :: Lens' TablesGet Text+tgDataSetId+  = lens _tgDataSetId (\ s a -> s{_tgDataSetId = a})++-- | Project ID of the requested table+tgProjectId :: Lens' TablesGet Text+tgProjectId+  = lens _tgProjectId (\ s a -> s{_tgProjectId = a})++-- | Table ID of the requested table+tgTableId :: Lens' TablesGet Text+tgTableId+  = lens _tgTableId (\ s a -> s{_tgTableId = a})++instance GoogleRequest TablesGet where+        type Rs TablesGet = Table+        requestClient TablesGet{..}+          = go _tgProjectId _tgDataSetId _tgTableId+              (Just AltJSON)+              bigQueryService+          where go+                  = buildClient (Proxy :: Proxy TablesGetResource)+                      mempty
+ gen/Network/Google/Resource/BigQuery/Tables/Insert.hs view
@@ -0,0 +1,110 @@+{-# 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.BigQuery.Tables.Insert+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates a new, empty table in the dataset.+--+-- /See:/ <https://cloud.google.com/bigquery/ BigQuery API Reference> for @bigquery.tables.insert@.+module Network.Google.Resource.BigQuery.Tables.Insert+    (+    -- * REST Resource+      TablesInsertResource++    -- * Creating a Request+    , tablesInsert+    , TablesInsert++    -- * Request Lenses+    , tiPayload+    , tiDataSetId+    , tiProjectId+    ) where++import           Network.Google.BigQuery.Types+import           Network.Google.Prelude++-- | A resource alias for @bigquery.tables.insert@ method which the+-- 'TablesInsert' request conforms to.+type TablesInsertResource =+     "bigquery" :>+       "v2" :>+         "projects" :>+           Capture "projectId" Text :>+             "datasets" :>+               Capture "datasetId" Text :>+                 "tables" :>+                   QueryParam "alt" AltJSON :>+                     ReqBody '[JSON] Table :> Post '[JSON] Table++-- | Creates a new, empty table in the dataset.+--+-- /See:/ 'tablesInsert' smart constructor.+data TablesInsert = TablesInsert+    { _tiPayload   :: !Table+    , _tiDataSetId :: !Text+    , _tiProjectId :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TablesInsert' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tiPayload'+--+-- * 'tiDataSetId'+--+-- * 'tiProjectId'+tablesInsert+    :: Table -- ^ 'tiPayload'+    -> Text -- ^ 'tiDataSetId'+    -> Text -- ^ 'tiProjectId'+    -> TablesInsert+tablesInsert pTiPayload_ pTiDataSetId_ pTiProjectId_ =+    TablesInsert+    { _tiPayload = pTiPayload_+    , _tiDataSetId = pTiDataSetId_+    , _tiProjectId = pTiProjectId_+    }++-- | Multipart request metadata.+tiPayload :: Lens' TablesInsert Table+tiPayload+  = lens _tiPayload (\ s a -> s{_tiPayload = a})++-- | Dataset ID of the new table+tiDataSetId :: Lens' TablesInsert Text+tiDataSetId+  = lens _tiDataSetId (\ s a -> s{_tiDataSetId = a})++-- | Project ID of the new table+tiProjectId :: Lens' TablesInsert Text+tiProjectId+  = lens _tiProjectId (\ s a -> s{_tiProjectId = a})++instance GoogleRequest TablesInsert where+        type Rs TablesInsert = Table+        requestClient TablesInsert{..}+          = go _tiProjectId _tiDataSetId (Just AltJSON)+              _tiPayload+              bigQueryService+          where go+                  = buildClient (Proxy :: Proxy TablesInsertResource)+                      mempty
+ gen/Network/Google/Resource/BigQuery/Tables/List.hs view
@@ -0,0 +1,125 @@+{-# 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.BigQuery.Tables.List+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists all tables in the specified dataset. Requires the READER dataset+-- role.+--+-- /See:/ <https://cloud.google.com/bigquery/ BigQuery API Reference> for @bigquery.tables.list@.+module Network.Google.Resource.BigQuery.Tables.List+    (+    -- * REST Resource+      TablesListResource++    -- * Creating a Request+    , tablesList+    , TablesList++    -- * Request Lenses+    , tlDataSetId+    , tlPageToken+    , tlProjectId+    , tlMaxResults+    ) where++import           Network.Google.BigQuery.Types+import           Network.Google.Prelude++-- | A resource alias for @bigquery.tables.list@ method which the+-- 'TablesList' request conforms to.+type TablesListResource =+     "bigquery" :>+       "v2" :>+         "projects" :>+           Capture "projectId" Text :>+             "datasets" :>+               Capture "datasetId" Text :>+                 "tables" :>+                   QueryParam "pageToken" Text :>+                     QueryParam "maxResults" (Textual Word32) :>+                       QueryParam "alt" AltJSON :> Get '[JSON] TableList++-- | Lists all tables in the specified dataset. Requires the READER dataset+-- role.+--+-- /See:/ 'tablesList' smart constructor.+data TablesList = TablesList+    { _tlDataSetId  :: !Text+    , _tlPageToken  :: !(Maybe Text)+    , _tlProjectId  :: !Text+    , _tlMaxResults :: !(Maybe (Textual Word32))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TablesList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tlDataSetId'+--+-- * 'tlPageToken'+--+-- * 'tlProjectId'+--+-- * 'tlMaxResults'+tablesList+    :: Text -- ^ 'tlDataSetId'+    -> Text -- ^ 'tlProjectId'+    -> TablesList+tablesList pTlDataSetId_ pTlProjectId_ =+    TablesList+    { _tlDataSetId = pTlDataSetId_+    , _tlPageToken = Nothing+    , _tlProjectId = pTlProjectId_+    , _tlMaxResults = Nothing+    }++-- | Dataset ID of the tables to list+tlDataSetId :: Lens' TablesList Text+tlDataSetId+  = lens _tlDataSetId (\ s a -> s{_tlDataSetId = a})++-- | Page token, returned by a previous call, to request the next page of+-- results+tlPageToken :: Lens' TablesList (Maybe Text)+tlPageToken+  = lens _tlPageToken (\ s a -> s{_tlPageToken = a})++-- | Project ID of the tables to list+tlProjectId :: Lens' TablesList Text+tlProjectId+  = lens _tlProjectId (\ s a -> s{_tlProjectId = a})++-- | Maximum number of results to return+tlMaxResults :: Lens' TablesList (Maybe Word32)+tlMaxResults+  = lens _tlMaxResults (\ s a -> s{_tlMaxResults = a})+      . mapping _Coerce++instance GoogleRequest TablesList where+        type Rs TablesList = TableList+        requestClient TablesList{..}+          = go _tlProjectId _tlDataSetId _tlPageToken+              _tlMaxResults+              (Just AltJSON)+              bigQueryService+          where go+                  = buildClient (Proxy :: Proxy TablesListResource)+                      mempty
+ gen/Network/Google/Resource/BigQuery/Tables/Patch.hs view
@@ -0,0 +1,129 @@+{-# 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.BigQuery.Tables.Patch+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates information in an existing table. The update method replaces the+-- entire table resource, whereas the patch method only replaces fields+-- that are provided in the submitted table resource. This method supports+-- patch semantics.+--+-- /See:/ <https://cloud.google.com/bigquery/ BigQuery API Reference> for @bigquery.tables.patch@.+module Network.Google.Resource.BigQuery.Tables.Patch+    (+    -- * REST Resource+      TablesPatchResource++    -- * Creating a Request+    , tablesPatch+    , TablesPatch++    -- * Request Lenses+    , tpPayload+    , tpDataSetId+    , tpProjectId+    , tpTableId+    ) where++import           Network.Google.BigQuery.Types+import           Network.Google.Prelude++-- | A resource alias for @bigquery.tables.patch@ method which the+-- 'TablesPatch' request conforms to.+type TablesPatchResource =+     "bigquery" :>+       "v2" :>+         "projects" :>+           Capture "projectId" Text :>+             "datasets" :>+               Capture "datasetId" Text :>+                 "tables" :>+                   Capture "tableId" Text :>+                     QueryParam "alt" AltJSON :>+                       ReqBody '[JSON] Table :> Patch '[JSON] Table++-- | Updates information in an existing table. The update method replaces the+-- entire table resource, whereas the patch method only replaces fields+-- that are provided in the submitted table resource. This method supports+-- patch semantics.+--+-- /See:/ 'tablesPatch' smart constructor.+data TablesPatch = TablesPatch+    { _tpPayload   :: !Table+    , _tpDataSetId :: !Text+    , _tpProjectId :: !Text+    , _tpTableId   :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TablesPatch' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tpPayload'+--+-- * 'tpDataSetId'+--+-- * 'tpProjectId'+--+-- * 'tpTableId'+tablesPatch+    :: Table -- ^ 'tpPayload'+    -> Text -- ^ 'tpDataSetId'+    -> Text -- ^ 'tpProjectId'+    -> Text -- ^ 'tpTableId'+    -> TablesPatch+tablesPatch pTpPayload_ pTpDataSetId_ pTpProjectId_ pTpTableId_ =+    TablesPatch+    { _tpPayload = pTpPayload_+    , _tpDataSetId = pTpDataSetId_+    , _tpProjectId = pTpProjectId_+    , _tpTableId = pTpTableId_+    }++-- | Multipart request metadata.+tpPayload :: Lens' TablesPatch Table+tpPayload+  = lens _tpPayload (\ s a -> s{_tpPayload = a})++-- | Dataset ID of the table to update+tpDataSetId :: Lens' TablesPatch Text+tpDataSetId+  = lens _tpDataSetId (\ s a -> s{_tpDataSetId = a})++-- | Project ID of the table to update+tpProjectId :: Lens' TablesPatch Text+tpProjectId+  = lens _tpProjectId (\ s a -> s{_tpProjectId = a})++-- | Table ID of the table to update+tpTableId :: Lens' TablesPatch Text+tpTableId+  = lens _tpTableId (\ s a -> s{_tpTableId = a})++instance GoogleRequest TablesPatch where+        type Rs TablesPatch = Table+        requestClient TablesPatch{..}+          = go _tpProjectId _tpDataSetId _tpTableId+              (Just AltJSON)+              _tpPayload+              bigQueryService+          where go+                  = buildClient (Proxy :: Proxy TablesPatchResource)+                      mempty
+ gen/Network/Google/Resource/BigQuery/Tables/Update.hs view
@@ -0,0 +1,127 @@+{-# 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.BigQuery.Tables.Update+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates information in an existing table. The update method replaces the+-- entire table resource, whereas the patch method only replaces fields+-- that are provided in the submitted table resource.+--+-- /See:/ <https://cloud.google.com/bigquery/ BigQuery API Reference> for @bigquery.tables.update@.+module Network.Google.Resource.BigQuery.Tables.Update+    (+    -- * REST Resource+      TablesUpdateResource++    -- * Creating a Request+    , tablesUpdate+    , TablesUpdate++    -- * Request Lenses+    , tuPayload+    , tuDataSetId+    , tuProjectId+    , tuTableId+    ) where++import           Network.Google.BigQuery.Types+import           Network.Google.Prelude++-- | A resource alias for @bigquery.tables.update@ method which the+-- 'TablesUpdate' request conforms to.+type TablesUpdateResource =+     "bigquery" :>+       "v2" :>+         "projects" :>+           Capture "projectId" Text :>+             "datasets" :>+               Capture "datasetId" Text :>+                 "tables" :>+                   Capture "tableId" Text :>+                     QueryParam "alt" AltJSON :>+                       ReqBody '[JSON] Table :> Put '[JSON] Table++-- | Updates information in an existing table. The update method replaces the+-- entire table resource, whereas the patch method only replaces fields+-- that are provided in the submitted table resource.+--+-- /See:/ 'tablesUpdate' smart constructor.+data TablesUpdate = TablesUpdate+    { _tuPayload   :: !Table+    , _tuDataSetId :: !Text+    , _tuProjectId :: !Text+    , _tuTableId   :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TablesUpdate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tuPayload'+--+-- * 'tuDataSetId'+--+-- * 'tuProjectId'+--+-- * 'tuTableId'+tablesUpdate+    :: Table -- ^ 'tuPayload'+    -> Text -- ^ 'tuDataSetId'+    -> Text -- ^ 'tuProjectId'+    -> Text -- ^ 'tuTableId'+    -> TablesUpdate+tablesUpdate pTuPayload_ pTuDataSetId_ pTuProjectId_ pTuTableId_ =+    TablesUpdate+    { _tuPayload = pTuPayload_+    , _tuDataSetId = pTuDataSetId_+    , _tuProjectId = pTuProjectId_+    , _tuTableId = pTuTableId_+    }++-- | Multipart request metadata.+tuPayload :: Lens' TablesUpdate Table+tuPayload+  = lens _tuPayload (\ s a -> s{_tuPayload = a})++-- | Dataset ID of the table to update+tuDataSetId :: Lens' TablesUpdate Text+tuDataSetId+  = lens _tuDataSetId (\ s a -> s{_tuDataSetId = a})++-- | Project ID of the table to update+tuProjectId :: Lens' TablesUpdate Text+tuProjectId+  = lens _tuProjectId (\ s a -> s{_tuProjectId = a})++-- | Table ID of the table to update+tuTableId :: Lens' TablesUpdate Text+tuTableId+  = lens _tuTableId (\ s a -> s{_tuTableId = a})++instance GoogleRequest TablesUpdate where+        type Rs TablesUpdate = Table+        requestClient TablesUpdate{..}+          = go _tuProjectId _tuDataSetId _tuTableId+              (Just AltJSON)+              _tuPayload+              bigQueryService+          where go+                  = buildClient (Proxy :: Proxy TablesUpdateResource)+                      mempty
+ gogol-bigquery.cabal view
@@ -0,0 +1,66 @@+name:                  gogol-bigquery+version:               0.0.1+synopsis:              Google BigQuery SDK.+homepage:              https://github.com/brendanhay/gogol+bug-reports:           https://github.com/brendanhay/gogol/issues+license:               OtherLicense+license-file:          LICENSE+author:                Brendan Hay+maintainer:            Brendan Hay <brendan.g.hay@gmail.com>+copyright:             Copyright (c) 2015 Brendan Hay+category:              Network, Google, Cloud+build-type:            Simple+cabal-version:         >= 1.10+extra-source-files:    README.md++description:+    A data platform for customers to create, manage, share and query data.+    .+    /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 @v2@+    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.BigQuery+        , Network.Google.BigQuery.Types+        , Network.Google.Resource.BigQuery.DataSets.Delete+        , Network.Google.Resource.BigQuery.DataSets.Get+        , Network.Google.Resource.BigQuery.DataSets.Insert+        , Network.Google.Resource.BigQuery.DataSets.List+        , Network.Google.Resource.BigQuery.DataSets.Patch+        , Network.Google.Resource.BigQuery.DataSets.Update+        , Network.Google.Resource.BigQuery.Jobs.Cancel+        , Network.Google.Resource.BigQuery.Jobs.Get+        , Network.Google.Resource.BigQuery.Jobs.GetQueryResults+        , Network.Google.Resource.BigQuery.Jobs.Insert+        , Network.Google.Resource.BigQuery.Jobs.List+        , Network.Google.Resource.BigQuery.Jobs.Query+        , Network.Google.Resource.BigQuery.Projects.List+        , Network.Google.Resource.BigQuery.TableData.InsertAll+        , Network.Google.Resource.BigQuery.TableData.List+        , Network.Google.Resource.BigQuery.Tables.Delete+        , Network.Google.Resource.BigQuery.Tables.Get+        , Network.Google.Resource.BigQuery.Tables.Insert+        , Network.Google.Resource.BigQuery.Tables.List+        , Network.Google.Resource.BigQuery.Tables.Patch+        , Network.Google.Resource.BigQuery.Tables.Update++    other-modules:+          Network.Google.BigQuery.Types.Product+        , Network.Google.BigQuery.Types.Sum++    build-depends:+          gogol-core == 0.0.1.*+        , base       >= 4.7 && < 5