packages feed

gogol-bigtableadmin (empty) → 0.4.0

raw patch · 40 files changed

+9958/−0 lines, 40 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-bigtableadmin++* [Version](#version)+* [Description](#description)+* [Contribute](#contribute)+* [Licence](#licence)+++## Version++`0.3.0`+++## Description++A client library for the Google Cloud Bigtable Admin.+++## Contribute++For any problems, comments, or feedback please create an issue [here on GitHub](https://github.com/brendanhay/gogol/issues).++> _Note:_ this library is an auto-generated Haskell package. Please see `gogol-gen` for more information.+++## Licence++`gogol-bigtableadmin` 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/BigtableAdmin.hs view
@@ -0,0 +1,551 @@+{-# LANGUAGE DataKinds         #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE TypeOperators     #-}++{-# OPTIONS_GHC -fno-warn-unused-imports    #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}++-- |+-- Module      : Network.Google.BigtableAdmin+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- -- |+--+-- /See:/ <https://cloud.google.com/bigtable/ Cloud Bigtable Admin API Reference>+module Network.Google.BigtableAdmin+    (+    -- * Service Configuration+      bigtableAdminService++    -- * OAuth Scopes+    , bigtableAdminClusterScope+    , cloudBigtableAdminTableScope+    , cloudPlatformReadOnlyScope+    , bigtableAdminScope+    , cloudPlatformScope+    , cloudBigtableAdminScope+    , cloudBigtableAdminClusterScope+    , bigtableAdminTableScope+    , bigtableAdminInstanceScope++    -- * API Declaration+    , BigtableAdminAPI++    -- * Resources++    -- ** bigtableadmin.operations.cancel+    , module Network.Google.Resource.BigtableAdmin.Operations.Cancel++    -- ** bigtableadmin.operations.delete+    , module Network.Google.Resource.BigtableAdmin.Operations.Delete++    -- ** bigtableadmin.operations.get+    , module Network.Google.Resource.BigtableAdmin.Operations.Get++    -- ** bigtableadmin.operations.projects.operations.list+    , module Network.Google.Resource.BigtableAdmin.Operations.Projects.Operations.List++    -- ** bigtableadmin.projects.instances.appProfiles.create+    , module Network.Google.Resource.BigtableAdmin.Projects.Instances.AppProFiles.Create++    -- ** bigtableadmin.projects.instances.appProfiles.delete+    , module Network.Google.Resource.BigtableAdmin.Projects.Instances.AppProFiles.Delete++    -- ** bigtableadmin.projects.instances.appProfiles.get+    , module Network.Google.Resource.BigtableAdmin.Projects.Instances.AppProFiles.Get++    -- ** bigtableadmin.projects.instances.appProfiles.list+    , module Network.Google.Resource.BigtableAdmin.Projects.Instances.AppProFiles.List++    -- ** bigtableadmin.projects.instances.appProfiles.patch+    , module Network.Google.Resource.BigtableAdmin.Projects.Instances.AppProFiles.Patch++    -- ** bigtableadmin.projects.instances.clusters.create+    , module Network.Google.Resource.BigtableAdmin.Projects.Instances.Clusters.Create++    -- ** bigtableadmin.projects.instances.clusters.delete+    , module Network.Google.Resource.BigtableAdmin.Projects.Instances.Clusters.Delete++    -- ** bigtableadmin.projects.instances.clusters.get+    , module Network.Google.Resource.BigtableAdmin.Projects.Instances.Clusters.Get++    -- ** bigtableadmin.projects.instances.clusters.list+    , module Network.Google.Resource.BigtableAdmin.Projects.Instances.Clusters.List++    -- ** bigtableadmin.projects.instances.clusters.update+    , module Network.Google.Resource.BigtableAdmin.Projects.Instances.Clusters.Update++    -- ** bigtableadmin.projects.instances.create+    , module Network.Google.Resource.BigtableAdmin.Projects.Instances.Create++    -- ** bigtableadmin.projects.instances.delete+    , module Network.Google.Resource.BigtableAdmin.Projects.Instances.Delete++    -- ** bigtableadmin.projects.instances.get+    , module Network.Google.Resource.BigtableAdmin.Projects.Instances.Get++    -- ** bigtableadmin.projects.instances.getIamPolicy+    , module Network.Google.Resource.BigtableAdmin.Projects.Instances.GetIAMPolicy++    -- ** bigtableadmin.projects.instances.list+    , module Network.Google.Resource.BigtableAdmin.Projects.Instances.List++    -- ** bigtableadmin.projects.instances.partialUpdateInstance+    , module Network.Google.Resource.BigtableAdmin.Projects.Instances.PartialUpdateInstance++    -- ** bigtableadmin.projects.instances.setIamPolicy+    , module Network.Google.Resource.BigtableAdmin.Projects.Instances.SetIAMPolicy++    -- ** bigtableadmin.projects.instances.tables.checkConsistency+    , module Network.Google.Resource.BigtableAdmin.Projects.Instances.Tables.CheckConsistency++    -- ** bigtableadmin.projects.instances.tables.create+    , module Network.Google.Resource.BigtableAdmin.Projects.Instances.Tables.Create++    -- ** bigtableadmin.projects.instances.tables.delete+    , module Network.Google.Resource.BigtableAdmin.Projects.Instances.Tables.Delete++    -- ** bigtableadmin.projects.instances.tables.dropRowRange+    , module Network.Google.Resource.BigtableAdmin.Projects.Instances.Tables.DropRowRange++    -- ** bigtableadmin.projects.instances.tables.generateConsistencyToken+    , module Network.Google.Resource.BigtableAdmin.Projects.Instances.Tables.GenerateConsistencyToken++    -- ** bigtableadmin.projects.instances.tables.get+    , module Network.Google.Resource.BigtableAdmin.Projects.Instances.Tables.Get++    -- ** bigtableadmin.projects.instances.tables.list+    , module Network.Google.Resource.BigtableAdmin.Projects.Instances.Tables.List++    -- ** bigtableadmin.projects.instances.tables.modifyColumnFamilies+    , module Network.Google.Resource.BigtableAdmin.Projects.Instances.Tables.ModifyColumnFamilies++    -- ** bigtableadmin.projects.instances.testIamPermissions+    , module Network.Google.Resource.BigtableAdmin.Projects.Instances.TestIAMPermissions++    -- ** bigtableadmin.projects.instances.update+    , module Network.Google.Resource.BigtableAdmin.Projects.Instances.Update++    -- * Types++    -- ** SingleClusterRouting+    , SingleClusterRouting+    , singleClusterRouting+    , scrAllowTransactionalWrites+    , scrClusterId++    -- ** InstanceLabels+    , InstanceLabels+    , instanceLabels+    , ilAddtional++    -- ** Status+    , Status+    , status+    , sDetails+    , sCode+    , sMessage++    -- ** CreateInstanceRequest+    , CreateInstanceRequest+    , createInstanceRequest+    , cirParent+    , cirInstanceId+    , cirClusters+    , cirInstance++    -- ** AuditConfig+    , AuditConfig+    , auditConfig+    , acService+    , acAuditLogConfigs++    -- ** GenerateConsistencyTokenRequest+    , GenerateConsistencyTokenRequest+    , generateConsistencyTokenRequest++    -- ** ModifyColumnFamiliesRequest+    , ModifyColumnFamiliesRequest+    , modifyColumnFamiliesRequest+    , mcfrModifications++    -- ** Expr+    , Expr+    , expr+    , eLocation+    , eExpression+    , eTitle+    , eDescription++    -- ** ListOperationsResponse+    , ListOperationsResponse+    , listOperationsResponse+    , lorNextPageToken+    , lorOperations++    -- ** CreateClusterRequest+    , CreateClusterRequest+    , createClusterRequest+    , ccrParent+    , ccrCluster+    , ccrClusterId++    -- ** GetIAMPolicyRequest+    , GetIAMPolicyRequest+    , getIAMPolicyRequest++    -- ** Cluster+    , Cluster+    , cluster+    , cState+    , cDefaultStorageType+    , cLocation+    , cServeNodes+    , cName++    -- ** Split+    , Split+    , split+    , sKey++    -- ** MultiClusterRoutingUseAny+    , MultiClusterRoutingUseAny+    , multiClusterRoutingUseAny++    -- ** ClusterState+    , ClusterState+    , clusterState+    , csReplicationState++    -- ** Operation+    , Operation+    , operation+    , oDone+    , oError+    , oResponse+    , oName+    , oMetadata++    -- ** Empty+    , Empty+    , empty++    -- ** ClusterDefaultStorageType+    , ClusterDefaultStorageType (..)++    -- ** ListAppProFilesResponse+    , ListAppProFilesResponse+    , listAppProFilesResponse+    , lapfrNextPageToken+    , lapfrFailedLocations+    , lapfrAppProFiles++    -- ** TableClusterStates+    , TableClusterStates+    , tableClusterStates+    , tcsAddtional++    -- ** TableColumnFamilies+    , TableColumnFamilies+    , tableColumnFamilies+    , tcfAddtional++    -- ** CreateTableRequest+    , CreateTableRequest+    , createTableRequest+    , ctrInitialSplits+    , ctrTableId+    , ctrTable++    -- ** CreateClusterMetadata+    , CreateClusterMetadata+    , createClusterMetadata+    , ccmRequestTime+    , ccmOriginalRequest+    , ccmFinishTime++    -- ** Union+    , Union+    , union+    , uRules++    -- ** StatusDetailsItem+    , StatusDetailsItem+    , statusDetailsItem+    , sdiAddtional++    -- ** UpdateAppProFileMetadata+    , UpdateAppProFileMetadata+    , updateAppProFileMetadata++    -- ** UpdateClusterMetadata+    , UpdateClusterMetadata+    , updateClusterMetadata+    , ucmRequestTime+    , ucmOriginalRequest+    , ucmFinishTime++    -- ** ClusterStateReplicationState+    , ClusterStateReplicationState (..)++    -- ** SetIAMPolicyRequest+    , SetIAMPolicyRequest+    , setIAMPolicyRequest+    , siprUpdateMask+    , siprPolicy++    -- ** InstanceType+    , InstanceType (..)++    -- ** CheckConsistencyRequest+    , CheckConsistencyRequest+    , checkConsistencyRequest+    , ccrConsistencyToken++    -- ** ListTablesResponse+    , ListTablesResponse+    , listTablesResponse+    , ltrNextPageToken+    , ltrTables++    -- ** AuditLogConfigLogType+    , AuditLogConfigLogType (..)++    -- ** PartialUpdateInstanceRequest+    , PartialUpdateInstanceRequest+    , partialUpdateInstanceRequest+    , puirUpdateMask+    , puirInstance++    -- ** Xgafv+    , Xgafv (..)++    -- ** TableGranularity+    , TableGranularity (..)++    -- ** GcRule+    , GcRule+    , gcRule+    , grMaxAge+    , grUnion+    , grIntersection+    , grMaxNumVersions++    -- ** TestIAMPermissionsRequest+    , TestIAMPermissionsRequest+    , testIAMPermissionsRequest+    , tiprPermissions++    -- ** ClusterType+    , ClusterType (..)++    -- ** AppProFile+    , AppProFile+    , appProFile+    , apfSingleClusterRouting+    , apfEtag+    , apfMultiClusterRoutingUseAny+    , apfName+    , apfDescription++    -- ** CreateInstanceRequestClusters+    , CreateInstanceRequestClusters+    , createInstanceRequestClusters+    , circAddtional++    -- ** GenerateConsistencyTokenResponse+    , GenerateConsistencyTokenResponse+    , generateConsistencyTokenResponse+    , gctrConsistencyToken++    -- ** DropRowRangeRequest+    , DropRowRangeRequest+    , dropRowRangeRequest+    , drrrRowKeyPrefix+    , drrrDeleteAllDataFromTable++    -- ** UpdateInstanceMetadata+    , UpdateInstanceMetadata+    , updateInstanceMetadata+    , uimRequestTime+    , uimOriginalRequest+    , uimFinishTime++    -- ** Intersection+    , Intersection+    , intersection+    , iRules++    -- ** ColumnFamily+    , ColumnFamily+    , columnFamily+    , cfGcRule++    -- ** TestIAMPermissionsResponse+    , TestIAMPermissionsResponse+    , testIAMPermissionsResponse+    , tiamprPermissions++    -- ** ListClustersResponse+    , ListClustersResponse+    , listClustersResponse+    , lcrNextPageToken+    , lcrFailedLocations+    , lcrClusters++    -- ** Policy+    , Policy+    , policy+    , pAuditConfigs+    , pEtag+    , pVersion+    , pBindings++    -- ** CreateInstanceMetadata+    , CreateInstanceMetadata+    , createInstanceMetadata+    , cimRequestTime+    , cimOriginalRequest+    , cimFinishTime++    -- ** OperationMetadata+    , OperationMetadata+    , operationMetadata+    , omAddtional++    -- ** AuditLogConfig+    , AuditLogConfig+    , auditLogConfig+    , alcLogType+    , alcExemptedMembers++    -- ** ListInstancesResponse+    , ListInstancesResponse+    , listInstancesResponse+    , lirNextPageToken+    , lirFailedLocations+    , lirInstances++    -- ** CheckConsistencyResponse+    , CheckConsistencyResponse+    , checkConsistencyResponse+    , ccrConsistent++    -- ** InstanceState+    , InstanceState (..)++    -- ** Modification+    , Modification+    , modification+    , mDrop+    , mCreate+    , mId+    , mUpdate++    -- ** Table+    , Table+    , table+    , tGranularity+    , tName+    , tClusterStates+    , tColumnFamilies++    -- ** OperationResponse+    , OperationResponse+    , operationResponse+    , orAddtional++    -- ** Binding+    , Binding+    , binding+    , bMembers+    , bRole+    , bCondition++    -- ** Instance+    , Instance+    , instance'+    , iState+    , iName+    , iDisplayName+    , iLabels+    , iType+    ) where++import           Network.Google.BigtableAdmin.Types+import           Network.Google.Prelude+import           Network.Google.Resource.BigtableAdmin.Operations.Cancel+import           Network.Google.Resource.BigtableAdmin.Operations.Delete+import           Network.Google.Resource.BigtableAdmin.Operations.Get+import           Network.Google.Resource.BigtableAdmin.Operations.Projects.Operations.List+import           Network.Google.Resource.BigtableAdmin.Projects.Instances.AppProFiles.Create+import           Network.Google.Resource.BigtableAdmin.Projects.Instances.AppProFiles.Delete+import           Network.Google.Resource.BigtableAdmin.Projects.Instances.AppProFiles.Get+import           Network.Google.Resource.BigtableAdmin.Projects.Instances.AppProFiles.List+import           Network.Google.Resource.BigtableAdmin.Projects.Instances.AppProFiles.Patch+import           Network.Google.Resource.BigtableAdmin.Projects.Instances.Clusters.Create+import           Network.Google.Resource.BigtableAdmin.Projects.Instances.Clusters.Delete+import           Network.Google.Resource.BigtableAdmin.Projects.Instances.Clusters.Get+import           Network.Google.Resource.BigtableAdmin.Projects.Instances.Clusters.List+import           Network.Google.Resource.BigtableAdmin.Projects.Instances.Clusters.Update+import           Network.Google.Resource.BigtableAdmin.Projects.Instances.Create+import           Network.Google.Resource.BigtableAdmin.Projects.Instances.Delete+import           Network.Google.Resource.BigtableAdmin.Projects.Instances.Get+import           Network.Google.Resource.BigtableAdmin.Projects.Instances.GetIAMPolicy+import           Network.Google.Resource.BigtableAdmin.Projects.Instances.List+import           Network.Google.Resource.BigtableAdmin.Projects.Instances.PartialUpdateInstance+import           Network.Google.Resource.BigtableAdmin.Projects.Instances.SetIAMPolicy+import           Network.Google.Resource.BigtableAdmin.Projects.Instances.Tables.CheckConsistency+import           Network.Google.Resource.BigtableAdmin.Projects.Instances.Tables.Create+import           Network.Google.Resource.BigtableAdmin.Projects.Instances.Tables.Delete+import           Network.Google.Resource.BigtableAdmin.Projects.Instances.Tables.DropRowRange+import           Network.Google.Resource.BigtableAdmin.Projects.Instances.Tables.GenerateConsistencyToken+import           Network.Google.Resource.BigtableAdmin.Projects.Instances.Tables.Get+import           Network.Google.Resource.BigtableAdmin.Projects.Instances.Tables.List+import           Network.Google.Resource.BigtableAdmin.Projects.Instances.Tables.ModifyColumnFamilies+import           Network.Google.Resource.BigtableAdmin.Projects.Instances.TestIAMPermissions+import           Network.Google.Resource.BigtableAdmin.Projects.Instances.Update++{- $resources+TODO+-}++-- | Represents the entirety of the methods and resources available for the Cloud Bigtable Admin API service.+type BigtableAdminAPI =+     OperationsProjectsOperationsListResource :<|>+       OperationsGetResource+       :<|> OperationsCancelResource+       :<|> OperationsDeleteResource+       :<|> ProjectsInstancesAppProFilesListResource+       :<|> ProjectsInstancesAppProFilesPatchResource+       :<|> ProjectsInstancesAppProFilesGetResource+       :<|> ProjectsInstancesAppProFilesCreateResource+       :<|> ProjectsInstancesAppProFilesDeleteResource+       :<|> ProjectsInstancesTablesDropRowRangeResource+       :<|> ProjectsInstancesTablesListResource+       :<|>+       ProjectsInstancesTablesGenerateConsistencyTokenResource+       :<|> ProjectsInstancesTablesGetResource+       :<|>+       ProjectsInstancesTablesModifyColumnFamiliesResource+       :<|> ProjectsInstancesTablesCreateResource+       :<|> ProjectsInstancesTablesCheckConsistencyResource+       :<|> ProjectsInstancesTablesDeleteResource+       :<|> ProjectsInstancesClustersListResource+       :<|> ProjectsInstancesClustersGetResource+       :<|> ProjectsInstancesClustersCreateResource+       :<|> ProjectsInstancesClustersDeleteResource+       :<|> ProjectsInstancesClustersUpdateResource+       :<|> ProjectsInstancesListResource+       :<|> ProjectsInstancesGetIAMPolicyResource+       :<|> ProjectsInstancesGetResource+       :<|> ProjectsInstancesCreateResource+       :<|> ProjectsInstancesSetIAMPolicyResource+       :<|> ProjectsInstancesPartialUpdateInstanceResource+       :<|> ProjectsInstancesTestIAMPermissionsResource+       :<|> ProjectsInstancesDeleteResource+       :<|> ProjectsInstancesUpdateResource
+ gen/Network/Google/BigtableAdmin/Types.hs view
@@ -0,0 +1,421 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module      : Network.Google.BigtableAdmin.Types+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+module Network.Google.BigtableAdmin.Types+    (+    -- * Service Configuration+      bigtableAdminService++    -- * OAuth Scopes+    , bigtableAdminClusterScope+    , cloudBigtableAdminTableScope+    , cloudPlatformReadOnlyScope+    , bigtableAdminScope+    , cloudPlatformScope+    , cloudBigtableAdminScope+    , cloudBigtableAdminClusterScope+    , bigtableAdminTableScope+    , bigtableAdminInstanceScope++    -- * SingleClusterRouting+    , SingleClusterRouting+    , singleClusterRouting+    , scrAllowTransactionalWrites+    , scrClusterId++    -- * InstanceLabels+    , InstanceLabels+    , instanceLabels+    , ilAddtional++    -- * Status+    , Status+    , status+    , sDetails+    , sCode+    , sMessage++    -- * CreateInstanceRequest+    , CreateInstanceRequest+    , createInstanceRequest+    , cirParent+    , cirInstanceId+    , cirClusters+    , cirInstance++    -- * AuditConfig+    , AuditConfig+    , auditConfig+    , acService+    , acAuditLogConfigs++    -- * GenerateConsistencyTokenRequest+    , GenerateConsistencyTokenRequest+    , generateConsistencyTokenRequest++    -- * ModifyColumnFamiliesRequest+    , ModifyColumnFamiliesRequest+    , modifyColumnFamiliesRequest+    , mcfrModifications++    -- * Expr+    , Expr+    , expr+    , eLocation+    , eExpression+    , eTitle+    , eDescription++    -- * ListOperationsResponse+    , ListOperationsResponse+    , listOperationsResponse+    , lorNextPageToken+    , lorOperations++    -- * CreateClusterRequest+    , CreateClusterRequest+    , createClusterRequest+    , ccrParent+    , ccrCluster+    , ccrClusterId++    -- * GetIAMPolicyRequest+    , GetIAMPolicyRequest+    , getIAMPolicyRequest++    -- * Cluster+    , Cluster+    , cluster+    , cState+    , cDefaultStorageType+    , cLocation+    , cServeNodes+    , cName++    -- * Split+    , Split+    , split+    , sKey++    -- * MultiClusterRoutingUseAny+    , MultiClusterRoutingUseAny+    , multiClusterRoutingUseAny++    -- * ClusterState+    , ClusterState+    , clusterState+    , csReplicationState++    -- * Operation+    , Operation+    , operation+    , oDone+    , oError+    , oResponse+    , oName+    , oMetadata++    -- * Empty+    , Empty+    , empty++    -- * ClusterDefaultStorageType+    , ClusterDefaultStorageType (..)++    -- * ListAppProFilesResponse+    , ListAppProFilesResponse+    , listAppProFilesResponse+    , lapfrNextPageToken+    , lapfrFailedLocations+    , lapfrAppProFiles++    -- * TableClusterStates+    , TableClusterStates+    , tableClusterStates+    , tcsAddtional++    -- * TableColumnFamilies+    , TableColumnFamilies+    , tableColumnFamilies+    , tcfAddtional++    -- * CreateTableRequest+    , CreateTableRequest+    , createTableRequest+    , ctrInitialSplits+    , ctrTableId+    , ctrTable++    -- * CreateClusterMetadata+    , CreateClusterMetadata+    , createClusterMetadata+    , ccmRequestTime+    , ccmOriginalRequest+    , ccmFinishTime++    -- * Union+    , Union+    , union+    , uRules++    -- * StatusDetailsItem+    , StatusDetailsItem+    , statusDetailsItem+    , sdiAddtional++    -- * UpdateAppProFileMetadata+    , UpdateAppProFileMetadata+    , updateAppProFileMetadata++    -- * UpdateClusterMetadata+    , UpdateClusterMetadata+    , updateClusterMetadata+    , ucmRequestTime+    , ucmOriginalRequest+    , ucmFinishTime++    -- * ClusterStateReplicationState+    , ClusterStateReplicationState (..)++    -- * SetIAMPolicyRequest+    , SetIAMPolicyRequest+    , setIAMPolicyRequest+    , siprUpdateMask+    , siprPolicy++    -- * InstanceType+    , InstanceType (..)++    -- * CheckConsistencyRequest+    , CheckConsistencyRequest+    , checkConsistencyRequest+    , ccrConsistencyToken++    -- * ListTablesResponse+    , ListTablesResponse+    , listTablesResponse+    , ltrNextPageToken+    , ltrTables++    -- * AuditLogConfigLogType+    , AuditLogConfigLogType (..)++    -- * PartialUpdateInstanceRequest+    , PartialUpdateInstanceRequest+    , partialUpdateInstanceRequest+    , puirUpdateMask+    , puirInstance++    -- * Xgafv+    , Xgafv (..)++    -- * TableGranularity+    , TableGranularity (..)++    -- * GcRule+    , GcRule+    , gcRule+    , grMaxAge+    , grUnion+    , grIntersection+    , grMaxNumVersions++    -- * TestIAMPermissionsRequest+    , TestIAMPermissionsRequest+    , testIAMPermissionsRequest+    , tiprPermissions++    -- * ClusterType+    , ClusterType (..)++    -- * AppProFile+    , AppProFile+    , appProFile+    , apfSingleClusterRouting+    , apfEtag+    , apfMultiClusterRoutingUseAny+    , apfName+    , apfDescription++    -- * CreateInstanceRequestClusters+    , CreateInstanceRequestClusters+    , createInstanceRequestClusters+    , circAddtional++    -- * GenerateConsistencyTokenResponse+    , GenerateConsistencyTokenResponse+    , generateConsistencyTokenResponse+    , gctrConsistencyToken++    -- * DropRowRangeRequest+    , DropRowRangeRequest+    , dropRowRangeRequest+    , drrrRowKeyPrefix+    , drrrDeleteAllDataFromTable++    -- * UpdateInstanceMetadata+    , UpdateInstanceMetadata+    , updateInstanceMetadata+    , uimRequestTime+    , uimOriginalRequest+    , uimFinishTime++    -- * Intersection+    , Intersection+    , intersection+    , iRules++    -- * ColumnFamily+    , ColumnFamily+    , columnFamily+    , cfGcRule++    -- * TestIAMPermissionsResponse+    , TestIAMPermissionsResponse+    , testIAMPermissionsResponse+    , tiamprPermissions++    -- * ListClustersResponse+    , ListClustersResponse+    , listClustersResponse+    , lcrNextPageToken+    , lcrFailedLocations+    , lcrClusters++    -- * Policy+    , Policy+    , policy+    , pAuditConfigs+    , pEtag+    , pVersion+    , pBindings++    -- * CreateInstanceMetadata+    , CreateInstanceMetadata+    , createInstanceMetadata+    , cimRequestTime+    , cimOriginalRequest+    , cimFinishTime++    -- * OperationMetadata+    , OperationMetadata+    , operationMetadata+    , omAddtional++    -- * AuditLogConfig+    , AuditLogConfig+    , auditLogConfig+    , alcLogType+    , alcExemptedMembers++    -- * ListInstancesResponse+    , ListInstancesResponse+    , listInstancesResponse+    , lirNextPageToken+    , lirFailedLocations+    , lirInstances++    -- * CheckConsistencyResponse+    , CheckConsistencyResponse+    , checkConsistencyResponse+    , ccrConsistent++    -- * InstanceState+    , InstanceState (..)++    -- * Modification+    , Modification+    , modification+    , mDrop+    , mCreate+    , mId+    , mUpdate++    -- * Table+    , Table+    , table+    , tGranularity+    , tName+    , tClusterStates+    , tColumnFamilies++    -- * OperationResponse+    , OperationResponse+    , operationResponse+    , orAddtional++    -- * Binding+    , Binding+    , binding+    , bMembers+    , bRole+    , bCondition++    -- * Instance+    , Instance+    , instance'+    , iState+    , iName+    , iDisplayName+    , iLabels+    , iType+    ) where++import           Network.Google.BigtableAdmin.Types.Product+import           Network.Google.BigtableAdmin.Types.Sum+import           Network.Google.Prelude++-- | Default request referring to version 'v2' of the Cloud Bigtable Admin API. This contains the host and root path used as a starting point for constructing service requests.+bigtableAdminService :: ServiceConfig+bigtableAdminService+  = defaultService (ServiceId "bigtableadmin:v2")+      "bigtableadmin.googleapis.com"++-- | Administer your Cloud Bigtable clusters+bigtableAdminClusterScope :: Proxy '["https://www.googleapis.com/auth/bigtable.admin.cluster"]+bigtableAdminClusterScope = Proxy;++-- | Administer your Cloud Bigtable tables+cloudBigtableAdminTableScope :: Proxy '["https://www.googleapis.com/auth/cloud-bigtable.admin.table"]+cloudBigtableAdminTableScope = Proxy;++-- | View your data across Google Cloud Platform services+cloudPlatformReadOnlyScope :: Proxy '["https://www.googleapis.com/auth/cloud-platform.read-only"]+cloudPlatformReadOnlyScope = Proxy;++-- | Administer your Cloud Bigtable tables and clusters+bigtableAdminScope :: Proxy '["https://www.googleapis.com/auth/bigtable.admin"]+bigtableAdminScope = Proxy;++-- | View and manage your data across Google Cloud Platform services+cloudPlatformScope :: Proxy '["https://www.googleapis.com/auth/cloud-platform"]+cloudPlatformScope = Proxy;++-- | Administer your Cloud Bigtable tables and clusters+cloudBigtableAdminScope :: Proxy '["https://www.googleapis.com/auth/cloud-bigtable.admin"]+cloudBigtableAdminScope = Proxy;++-- | Administer your Cloud Bigtable clusters+cloudBigtableAdminClusterScope :: Proxy '["https://www.googleapis.com/auth/cloud-bigtable.admin.cluster"]+cloudBigtableAdminClusterScope = Proxy;++-- | Administer your Cloud Bigtable tables+bigtableAdminTableScope :: Proxy '["https://www.googleapis.com/auth/bigtable.admin.table"]+bigtableAdminTableScope = Proxy;++-- | Administer your Cloud Bigtable clusters+bigtableAdminInstanceScope :: Proxy '["https://www.googleapis.com/auth/bigtable.admin.instance"]+bigtableAdminInstanceScope = Proxy;
+ gen/Network/Google/BigtableAdmin/Types/Product.hs view
@@ -0,0 +1,2857 @@+{-# 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.BigtableAdmin.Types.Product+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+module Network.Google.BigtableAdmin.Types.Product where++import           Network.Google.BigtableAdmin.Types.Sum+import           Network.Google.Prelude++-- | Unconditionally routes all read\/write requests to a specific cluster.+-- This option preserves read-your-writes consistency, but does not improve+-- availability.+--+-- /See:/ 'singleClusterRouting' smart constructor.+data SingleClusterRouting = SingleClusterRouting'+    { _scrAllowTransactionalWrites :: !(Maybe Bool)+    , _scrClusterId                :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SingleClusterRouting' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'scrAllowTransactionalWrites'+--+-- * 'scrClusterId'+singleClusterRouting+    :: SingleClusterRouting+singleClusterRouting =+    SingleClusterRouting'+    { _scrAllowTransactionalWrites = Nothing+    , _scrClusterId = Nothing+    }++-- | Whether or not \`CheckAndMutateRow\` and \`ReadModifyWriteRow\` requests+-- are allowed by this app profile. It is unsafe to send these requests to+-- the same table\/row\/column in multiple clusters.+scrAllowTransactionalWrites :: Lens' SingleClusterRouting (Maybe Bool)+scrAllowTransactionalWrites+  = lens _scrAllowTransactionalWrites+      (\ s a -> s{_scrAllowTransactionalWrites = a})++-- | The cluster to which read\/write requests should be routed.+scrClusterId :: Lens' SingleClusterRouting (Maybe Text)+scrClusterId+  = lens _scrClusterId (\ s a -> s{_scrClusterId = a})++instance FromJSON SingleClusterRouting where+        parseJSON+          = withObject "SingleClusterRouting"+              (\ o ->+                 SingleClusterRouting' <$>+                   (o .:? "allowTransactionalWrites") <*>+                     (o .:? "clusterId"))++instance ToJSON SingleClusterRouting where+        toJSON SingleClusterRouting'{..}+          = object+              (catMaybes+                 [("allowTransactionalWrites" .=) <$>+                    _scrAllowTransactionalWrites,+                  ("clusterId" .=) <$> _scrClusterId])++-- | Labels are a flexible and lightweight mechanism for organizing cloud+-- resources into groups that reflect a customer\'s organizational needs+-- and deployment strategies. They can be used to filter resources and+-- aggregate metrics. * Label keys must be between 1 and 63 characters long+-- and must conform to the regular expression: \`\\p{Ll}\\p{Lo}{0,62}\`. *+-- Label values must be between 0 and 63 characters long and must conform+-- to the regular expression: \`[\\p{Ll}\\p{Lo}\\p{N}_-]{0,63}\`. * No more+-- than 64 labels can be associated with a given resource. * Keys and+-- values must both be under 128 bytes.+--+-- /See:/ 'instanceLabels' smart constructor.+newtype InstanceLabels = InstanceLabels'+    { _ilAddtional :: HashMap Text Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'InstanceLabels' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ilAddtional'+instanceLabels+    :: HashMap Text Text -- ^ 'ilAddtional'+    -> InstanceLabels+instanceLabels pIlAddtional_ =+    InstanceLabels'+    { _ilAddtional = _Coerce # pIlAddtional_+    }++ilAddtional :: Lens' InstanceLabels (HashMap Text Text)+ilAddtional+  = lens _ilAddtional (\ s a -> s{_ilAddtional = a}) .+      _Coerce++instance FromJSON InstanceLabels where+        parseJSON+          = withObject "InstanceLabels"+              (\ o -> InstanceLabels' <$> (parseJSONObject o))++instance ToJSON InstanceLabels where+        toJSON = toJSON . _ilAddtional++-- | The \`Status\` type defines a logical error model that is suitable for+-- different programming environments, including REST APIs and RPC APIs. It+-- is used by [gRPC](https:\/\/github.com\/grpc). The error model is+-- designed to be: - Simple to use and understand for most users - Flexible+-- enough to meet unexpected needs # Overview The \`Status\` message+-- contains three pieces of data: error code, error message, and error+-- details. The error code should be an enum value of google.rpc.Code, but+-- it may accept additional error codes if needed. The error message should+-- be a developer-facing English message that helps developers *understand*+-- and *resolve* the error. If a localized user-facing error message is+-- needed, put the localized message in the error details or localize it in+-- the client. The optional error details may contain arbitrary information+-- about the error. There is a predefined set of error detail types in the+-- package \`google.rpc\` that can be used for common error conditions. #+-- Language mapping The \`Status\` message is the logical representation of+-- the error model, but it is not necessarily the actual wire format. When+-- the \`Status\` message is exposed in different client libraries and+-- different wire protocols, it can be mapped differently. For example, it+-- will likely be mapped to some exceptions in Java, but more likely mapped+-- to some error codes in C. # Other uses The error model and the+-- \`Status\` message can be used in a variety of environments, either with+-- or without APIs, to provide a consistent developer experience across+-- different environments. Example uses of this error model include: -+-- Partial errors. If a service needs to return partial errors to the+-- client, it may embed the \`Status\` in the normal response to indicate+-- the partial errors. - Workflow errors. A typical workflow has multiple+-- steps. Each step may have a \`Status\` message for error reporting. -+-- Batch operations. If a client uses batch request and batch response, the+-- \`Status\` message should be used directly inside batch response, one+-- for each error sub-response. - Asynchronous operations. If an API call+-- embeds asynchronous operation results in its response, the status of+-- those operations should be represented directly using the \`Status\`+-- message. - Logging. If some API errors are stored in logs, the message+-- \`Status\` could be used directly after any stripping needed for+-- security\/privacy reasons.+--+-- /See:/ 'status' smart constructor.+data Status = Status'+    { _sDetails :: !(Maybe [StatusDetailsItem])+    , _sCode    :: !(Maybe (Textual Int32))+    , _sMessage :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Status' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sDetails'+--+-- * 'sCode'+--+-- * 'sMessage'+status+    :: Status+status =+    Status'+    { _sDetails = Nothing+    , _sCode = Nothing+    , _sMessage = Nothing+    }++-- | A list of messages that carry the error details. There is a common set+-- of message types for APIs to use.+sDetails :: Lens' Status [StatusDetailsItem]+sDetails+  = lens _sDetails (\ s a -> s{_sDetails = a}) .+      _Default+      . _Coerce++-- | The status code, which should be an enum value of google.rpc.Code.+sCode :: Lens' Status (Maybe Int32)+sCode+  = lens _sCode (\ s a -> s{_sCode = a}) .+      mapping _Coerce++-- | A developer-facing error message, which should be in English. Any+-- user-facing error message should be localized and sent in the+-- google.rpc.Status.details field, or localized by the client.+sMessage :: Lens' Status (Maybe Text)+sMessage = lens _sMessage (\ s a -> s{_sMessage = a})++instance FromJSON Status where+        parseJSON+          = withObject "Status"+              (\ o ->+                 Status' <$>+                   (o .:? "details" .!= mempty) <*> (o .:? "code") <*>+                     (o .:? "message"))++instance ToJSON Status where+        toJSON Status'{..}+          = object+              (catMaybes+                 [("details" .=) <$> _sDetails,+                  ("code" .=) <$> _sCode,+                  ("message" .=) <$> _sMessage])++-- | Request message for BigtableInstanceAdmin.CreateInstance.+--+-- /See:/ 'createInstanceRequest' smart constructor.+data CreateInstanceRequest = CreateInstanceRequest'+    { _cirParent     :: !(Maybe Text)+    , _cirInstanceId :: !(Maybe Text)+    , _cirClusters   :: !(Maybe CreateInstanceRequestClusters)+    , _cirInstance   :: !(Maybe Instance)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CreateInstanceRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cirParent'+--+-- * 'cirInstanceId'+--+-- * 'cirClusters'+--+-- * 'cirInstance'+createInstanceRequest+    :: CreateInstanceRequest+createInstanceRequest =+    CreateInstanceRequest'+    { _cirParent = Nothing+    , _cirInstanceId = Nothing+    , _cirClusters = Nothing+    , _cirInstance = Nothing+    }++-- | The unique name of the project in which to create the new instance.+-- Values are of the form \`projects\/\`.+cirParent :: Lens' CreateInstanceRequest (Maybe Text)+cirParent+  = lens _cirParent (\ s a -> s{_cirParent = a})++-- | The ID to be used when referring to the new instance within its project,+-- e.g., just \`myinstance\` rather than+-- \`projects\/myproject\/instances\/myinstance\`.+cirInstanceId :: Lens' CreateInstanceRequest (Maybe Text)+cirInstanceId+  = lens _cirInstanceId+      (\ s a -> s{_cirInstanceId = a})++-- | The clusters to be created within the instance, mapped by desired+-- cluster ID, e.g., just \`mycluster\` rather than+-- \`projects\/myproject\/instances\/myinstance\/clusters\/mycluster\`.+-- Fields marked \`OutputOnly\` must be left blank. Currently, at most two+-- clusters can be specified.+cirClusters :: Lens' CreateInstanceRequest (Maybe CreateInstanceRequestClusters)+cirClusters+  = lens _cirClusters (\ s a -> s{_cirClusters = a})++-- | The instance to create. Fields marked \`OutputOnly\` must be left blank.+cirInstance :: Lens' CreateInstanceRequest (Maybe Instance)+cirInstance+  = lens _cirInstance (\ s a -> s{_cirInstance = a})++instance FromJSON CreateInstanceRequest where+        parseJSON+          = withObject "CreateInstanceRequest"+              (\ o ->+                 CreateInstanceRequest' <$>+                   (o .:? "parent") <*> (o .:? "instanceId") <*>+                     (o .:? "clusters")+                     <*> (o .:? "instance"))++instance ToJSON CreateInstanceRequest where+        toJSON CreateInstanceRequest'{..}+          = object+              (catMaybes+                 [("parent" .=) <$> _cirParent,+                  ("instanceId" .=) <$> _cirInstanceId,+                  ("clusters" .=) <$> _cirClusters,+                  ("instance" .=) <$> _cirInstance])++-- | Specifies the audit configuration for a service. The configuration+-- determines which permission types are logged, and what identities, if+-- any, are exempted from logging. An AuditConfig must have one or more+-- AuditLogConfigs. If there are AuditConfigs for both \`allServices\` and+-- a specific service, the union of the two AuditConfigs is used for that+-- service: the log_types specified in each AuditConfig are enabled, and+-- the exempted_members in each AuditLogConfig are exempted. Example Policy+-- with multiple AuditConfigs: { \"audit_configs\": [ { \"service\":+-- \"allServices\" \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\",+-- \"exempted_members\": [ \"user:foo\'gmail.com\" ] }, { \"log_type\":+-- \"DATA_WRITE\", }, { \"log_type\": \"ADMIN_READ\", } ] }, { \"service\":+-- \"fooservice.googleapis.com\" \"audit_log_configs\": [ { \"log_type\":+-- \"DATA_READ\", }, { \"log_type\": \"DATA_WRITE\", \"exempted_members\":+-- [ \"user:bar\'gmail.com\" ] } ] } ] } For fooservice, this policy+-- enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts+-- foo\'gmail.com from DATA_READ logging, and bar\'gmail.com from+-- DATA_WRITE logging.+--+-- /See:/ 'auditConfig' smart constructor.+data AuditConfig = AuditConfig'+    { _acService         :: !(Maybe Text)+    , _acAuditLogConfigs :: !(Maybe [AuditLogConfig])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AuditConfig' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'acService'+--+-- * 'acAuditLogConfigs'+auditConfig+    :: AuditConfig+auditConfig =+    AuditConfig'+    { _acService = Nothing+    , _acAuditLogConfigs = Nothing+    }++-- | Specifies a service that will be enabled for audit logging. For example,+-- \`storage.googleapis.com\`, \`cloudsql.googleapis.com\`. \`allServices\`+-- is a special value that covers all services.+acService :: Lens' AuditConfig (Maybe Text)+acService+  = lens _acService (\ s a -> s{_acService = a})++-- | The configuration for logging of each type of permission.+acAuditLogConfigs :: Lens' AuditConfig [AuditLogConfig]+acAuditLogConfigs+  = lens _acAuditLogConfigs+      (\ s a -> s{_acAuditLogConfigs = a})+      . _Default+      . _Coerce++instance FromJSON AuditConfig where+        parseJSON+          = withObject "AuditConfig"+              (\ o ->+                 AuditConfig' <$>+                   (o .:? "service") <*>+                     (o .:? "auditLogConfigs" .!= mempty))++instance ToJSON AuditConfig where+        toJSON AuditConfig'{..}+          = object+              (catMaybes+                 [("service" .=) <$> _acService,+                  ("auditLogConfigs" .=) <$> _acAuditLogConfigs])++-- | Request message for+-- google.bigtable.admin.v2.BigtableTableAdmin.GenerateConsistencyToken+--+-- /See:/ 'generateConsistencyTokenRequest' smart constructor.+data GenerateConsistencyTokenRequest =+    GenerateConsistencyTokenRequest'+    deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'GenerateConsistencyTokenRequest' with the minimum fields required to make a request.+--+generateConsistencyTokenRequest+    :: GenerateConsistencyTokenRequest+generateConsistencyTokenRequest = GenerateConsistencyTokenRequest'++instance FromJSON GenerateConsistencyTokenRequest+         where+        parseJSON+          = withObject "GenerateConsistencyTokenRequest"+              (\ o -> pure GenerateConsistencyTokenRequest')++instance ToJSON GenerateConsistencyTokenRequest where+        toJSON = const emptyObject++-- | Request message for+-- google.bigtable.admin.v2.BigtableTableAdmin.ModifyColumnFamilies+--+-- /See:/ 'modifyColumnFamiliesRequest' smart constructor.+newtype ModifyColumnFamiliesRequest = ModifyColumnFamiliesRequest'+    { _mcfrModifications :: Maybe [Modification]+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ModifyColumnFamiliesRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mcfrModifications'+modifyColumnFamiliesRequest+    :: ModifyColumnFamiliesRequest+modifyColumnFamiliesRequest =+    ModifyColumnFamiliesRequest'+    { _mcfrModifications = Nothing+    }++-- | Modifications to be atomically applied to the specified table\'s+-- families. Entries are applied in order, meaning that earlier+-- modifications can be masked by later ones (in the case of repeated+-- updates to the same family, for example).+mcfrModifications :: Lens' ModifyColumnFamiliesRequest [Modification]+mcfrModifications+  = lens _mcfrModifications+      (\ s a -> s{_mcfrModifications = a})+      . _Default+      . _Coerce++instance FromJSON ModifyColumnFamiliesRequest where+        parseJSON+          = withObject "ModifyColumnFamiliesRequest"+              (\ o ->+                 ModifyColumnFamiliesRequest' <$>+                   (o .:? "modifications" .!= mempty))++instance ToJSON ModifyColumnFamiliesRequest where+        toJSON ModifyColumnFamiliesRequest'{..}+          = object+              (catMaybes+                 [("modifications" .=) <$> _mcfrModifications])++-- | Represents an expression text. Example: title: \"User account presence\"+-- description: \"Determines whether the request has a user account\"+-- expression: \"size(request.user) > 0\"+--+-- /See:/ 'expr' smart constructor.+data Expr = Expr'+    { _eLocation    :: !(Maybe Text)+    , _eExpression  :: !(Maybe Text)+    , _eTitle       :: !(Maybe Text)+    , _eDescription :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Expr' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'eLocation'+--+-- * 'eExpression'+--+-- * 'eTitle'+--+-- * 'eDescription'+expr+    :: Expr+expr =+    Expr'+    { _eLocation = Nothing+    , _eExpression = Nothing+    , _eTitle = Nothing+    , _eDescription = Nothing+    }++-- | An optional string indicating the location of the expression for error+-- reporting, e.g. a file name and a position in the file.+eLocation :: Lens' Expr (Maybe Text)+eLocation+  = lens _eLocation (\ s a -> s{_eLocation = a})++-- | Textual representation of an expression in Common Expression Language+-- syntax. The application context of the containing message determines+-- which well-known feature set of CEL is supported.+eExpression :: Lens' Expr (Maybe Text)+eExpression+  = lens _eExpression (\ s a -> s{_eExpression = a})++-- | An optional title for the expression, i.e. a short string describing its+-- purpose. This can be used e.g. in UIs which allow to enter the+-- expression.+eTitle :: Lens' Expr (Maybe Text)+eTitle = lens _eTitle (\ s a -> s{_eTitle = a})++-- | An optional description of the expression. This is a longer text which+-- describes the expression, e.g. when hovered over it in a UI.+eDescription :: Lens' Expr (Maybe Text)+eDescription+  = lens _eDescription (\ s a -> s{_eDescription = a})++instance FromJSON Expr where+        parseJSON+          = withObject "Expr"+              (\ o ->+                 Expr' <$>+                   (o .:? "location") <*> (o .:? "expression") <*>+                     (o .:? "title")+                     <*> (o .:? "description"))++instance ToJSON Expr where+        toJSON Expr'{..}+          = object+              (catMaybes+                 [("location" .=) <$> _eLocation,+                  ("expression" .=) <$> _eExpression,+                  ("title" .=) <$> _eTitle,+                  ("description" .=) <$> _eDescription])++-- | The response message for Operations.ListOperations.+--+-- /See:/ 'listOperationsResponse' smart constructor.+data ListOperationsResponse = ListOperationsResponse'+    { _lorNextPageToken :: !(Maybe Text)+    , _lorOperations    :: !(Maybe [Operation])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ListOperationsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lorNextPageToken'+--+-- * 'lorOperations'+listOperationsResponse+    :: ListOperationsResponse+listOperationsResponse =+    ListOperationsResponse'+    { _lorNextPageToken = Nothing+    , _lorOperations = Nothing+    }++-- | The standard List next-page token.+lorNextPageToken :: Lens' ListOperationsResponse (Maybe Text)+lorNextPageToken+  = lens _lorNextPageToken+      (\ s a -> s{_lorNextPageToken = a})++-- | A list of operations that matches the specified filter in the request.+lorOperations :: Lens' ListOperationsResponse [Operation]+lorOperations+  = lens _lorOperations+      (\ s a -> s{_lorOperations = a})+      . _Default+      . _Coerce++instance FromJSON ListOperationsResponse where+        parseJSON+          = withObject "ListOperationsResponse"+              (\ o ->+                 ListOperationsResponse' <$>+                   (o .:? "nextPageToken") <*>+                     (o .:? "operations" .!= mempty))++instance ToJSON ListOperationsResponse where+        toJSON ListOperationsResponse'{..}+          = object+              (catMaybes+                 [("nextPageToken" .=) <$> _lorNextPageToken,+                  ("operations" .=) <$> _lorOperations])++-- | Request message for BigtableInstanceAdmin.CreateCluster.+--+-- /See:/ 'createClusterRequest' smart constructor.+data CreateClusterRequest = CreateClusterRequest'+    { _ccrParent    :: !(Maybe Text)+    , _ccrCluster   :: !(Maybe Cluster)+    , _ccrClusterId :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CreateClusterRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ccrParent'+--+-- * 'ccrCluster'+--+-- * 'ccrClusterId'+createClusterRequest+    :: CreateClusterRequest+createClusterRequest =+    CreateClusterRequest'+    { _ccrParent = Nothing+    , _ccrCluster = Nothing+    , _ccrClusterId = Nothing+    }++-- | The unique name of the instance in which to create the new cluster.+-- Values are of the form \`projects\/\/instances\/\`.+ccrParent :: Lens' CreateClusterRequest (Maybe Text)+ccrParent+  = lens _ccrParent (\ s a -> s{_ccrParent = a})++-- | The cluster to be created. Fields marked \`OutputOnly\` must be left+-- blank.+ccrCluster :: Lens' CreateClusterRequest (Maybe Cluster)+ccrCluster+  = lens _ccrCluster (\ s a -> s{_ccrCluster = a})++-- | The ID to be used when referring to the new cluster within its instance,+-- e.g., just \`mycluster\` rather than+-- \`projects\/myproject\/instances\/myinstance\/clusters\/mycluster\`.+ccrClusterId :: Lens' CreateClusterRequest (Maybe Text)+ccrClusterId+  = lens _ccrClusterId (\ s a -> s{_ccrClusterId = a})++instance FromJSON CreateClusterRequest where+        parseJSON+          = withObject "CreateClusterRequest"+              (\ o ->+                 CreateClusterRequest' <$>+                   (o .:? "parent") <*> (o .:? "cluster") <*>+                     (o .:? "clusterId"))++instance ToJSON CreateClusterRequest where+        toJSON CreateClusterRequest'{..}+          = object+              (catMaybes+                 [("parent" .=) <$> _ccrParent,+                  ("cluster" .=) <$> _ccrCluster,+                  ("clusterId" .=) <$> _ccrClusterId])++-- | Request message for \`GetIamPolicy\` method.+--+-- /See:/ 'getIAMPolicyRequest' smart constructor.+data GetIAMPolicyRequest =+    GetIAMPolicyRequest'+    deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'GetIAMPolicyRequest' with the minimum fields required to make a request.+--+getIAMPolicyRequest+    :: GetIAMPolicyRequest+getIAMPolicyRequest = GetIAMPolicyRequest'++instance FromJSON GetIAMPolicyRequest where+        parseJSON+          = withObject "GetIAMPolicyRequest"+              (\ o -> pure GetIAMPolicyRequest')++instance ToJSON GetIAMPolicyRequest where+        toJSON = const emptyObject++-- | A resizable group of nodes in a particular cloud location, capable of+-- serving all Tables in the parent Instance.+--+-- /See:/ 'cluster' smart constructor.+data Cluster = Cluster'+    { _cState              :: !(Maybe ClusterType)+    , _cDefaultStorageType :: !(Maybe ClusterDefaultStorageType)+    , _cLocation           :: !(Maybe Text)+    , _cServeNodes         :: !(Maybe (Textual Int32))+    , _cName               :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Cluster' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cState'+--+-- * 'cDefaultStorageType'+--+-- * 'cLocation'+--+-- * 'cServeNodes'+--+-- * 'cName'+cluster+    :: Cluster+cluster =+    Cluster'+    { _cState = Nothing+    , _cDefaultStorageType = Nothing+    , _cLocation = Nothing+    , _cServeNodes = Nothing+    , _cName = Nothing+    }++-- | (\`OutputOnly\`) The current state of the cluster.+cState :: Lens' Cluster (Maybe ClusterType)+cState = lens _cState (\ s a -> s{_cState = a})++-- | (\`CreationOnly\`) The type of storage used by this cluster to serve its+-- parent instance\'s tables, unless explicitly overridden.+cDefaultStorageType :: Lens' Cluster (Maybe ClusterDefaultStorageType)+cDefaultStorageType+  = lens _cDefaultStorageType+      (\ s a -> s{_cDefaultStorageType = a})++-- | (\`CreationOnly\`) The location where this cluster\'s nodes and storage+-- reside. For best performance, clients should be located as close as+-- possible to this cluster. Currently only zones are supported, so values+-- should be of the form \`projects\/\/locations\/\`.+cLocation :: Lens' Cluster (Maybe Text)+cLocation+  = lens _cLocation (\ s a -> s{_cLocation = a})++-- | The number of nodes allocated to this cluster. More nodes enable higher+-- throughput and more consistent performance.+cServeNodes :: Lens' Cluster (Maybe Int32)+cServeNodes+  = lens _cServeNodes (\ s a -> s{_cServeNodes = a}) .+      mapping _Coerce++-- | (\`OutputOnly\`) The unique name of the cluster. Values are of the form+-- \`projects\/\/instances\/\/clusters\/a-z*\`.+cName :: Lens' Cluster (Maybe Text)+cName = lens _cName (\ s a -> s{_cName = a})++instance FromJSON Cluster where+        parseJSON+          = withObject "Cluster"+              (\ o ->+                 Cluster' <$>+                   (o .:? "state") <*> (o .:? "defaultStorageType") <*>+                     (o .:? "location")+                     <*> (o .:? "serveNodes")+                     <*> (o .:? "name"))++instance ToJSON Cluster where+        toJSON Cluster'{..}+          = object+              (catMaybes+                 [("state" .=) <$> _cState,+                  ("defaultStorageType" .=) <$> _cDefaultStorageType,+                  ("location" .=) <$> _cLocation,+                  ("serveNodes" .=) <$> _cServeNodes,+                  ("name" .=) <$> _cName])++-- | An initial split point for a newly created table.+--+-- /See:/ 'split' smart constructor.+newtype Split = Split'+    { _sKey :: Maybe Bytes+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Split' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sKey'+split+    :: Split+split =+    Split'+    { _sKey = Nothing+    }++-- | Row key to use as an initial tablet boundary.+sKey :: Lens' Split (Maybe ByteString)+sKey+  = lens _sKey (\ s a -> s{_sKey = a}) . mapping _Bytes++instance FromJSON Split where+        parseJSON+          = withObject "Split"+              (\ o -> Split' <$> (o .:? "key"))++instance ToJSON Split where+        toJSON Split'{..}+          = object (catMaybes [("key" .=) <$> _sKey])++-- | Read\/write requests may be routed to any cluster in the instance, and+-- will fail over to another cluster in the event of transient errors or+-- delays. Choosing this option sacrifices read-your-writes consistency to+-- improve availability.+--+-- /See:/ 'multiClusterRoutingUseAny' smart constructor.+data MultiClusterRoutingUseAny =+    MultiClusterRoutingUseAny'+    deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'MultiClusterRoutingUseAny' with the minimum fields required to make a request.+--+multiClusterRoutingUseAny+    :: MultiClusterRoutingUseAny+multiClusterRoutingUseAny = MultiClusterRoutingUseAny'++instance FromJSON MultiClusterRoutingUseAny where+        parseJSON+          = withObject "MultiClusterRoutingUseAny"+              (\ o -> pure MultiClusterRoutingUseAny')++instance ToJSON MultiClusterRoutingUseAny where+        toJSON = const emptyObject++-- | The state of a table\'s data in a particular cluster.+--+-- /See:/ 'clusterState' smart constructor.+newtype ClusterState = ClusterState'+    { _csReplicationState :: Maybe ClusterStateReplicationState+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ClusterState' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'csReplicationState'+clusterState+    :: ClusterState+clusterState =+    ClusterState'+    { _csReplicationState = Nothing+    }++-- | (\`OutputOnly\`) The state of replication for the table in this cluster.+csReplicationState :: Lens' ClusterState (Maybe ClusterStateReplicationState)+csReplicationState+  = lens _csReplicationState+      (\ s a -> s{_csReplicationState = a})++instance FromJSON ClusterState where+        parseJSON+          = withObject "ClusterState"+              (\ o -> ClusterState' <$> (o .:? "replicationState"))++instance ToJSON ClusterState where+        toJSON ClusterState'{..}+          = object+              (catMaybes+                 [("replicationState" .=) <$> _csReplicationState])++-- | This resource represents a long-running operation that is the result of+-- a network API call.+--+-- /See:/ 'operation' smart constructor.+data Operation = Operation'+    { _oDone     :: !(Maybe Bool)+    , _oError    :: !(Maybe Status)+    , _oResponse :: !(Maybe OperationResponse)+    , _oName     :: !(Maybe Text)+    , _oMetadata :: !(Maybe OperationMetadata)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Operation' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'oDone'+--+-- * 'oError'+--+-- * 'oResponse'+--+-- * 'oName'+--+-- * 'oMetadata'+operation+    :: Operation+operation =+    Operation'+    { _oDone = Nothing+    , _oError = Nothing+    , _oResponse = Nothing+    , _oName = Nothing+    , _oMetadata = Nothing+    }++-- | If the value is \`false\`, it means the operation is still in progress.+-- If \`true\`, the operation is completed, and either \`error\` or+-- \`response\` is available.+oDone :: Lens' Operation (Maybe Bool)+oDone = lens _oDone (\ s a -> s{_oDone = a})++-- | The error result of the operation in case of failure or cancellation.+oError :: Lens' Operation (Maybe Status)+oError = lens _oError (\ s a -> s{_oError = a})++-- | The normal response of the operation in case of success. If the original+-- method returns no data on success, such as \`Delete\`, the response is+-- \`google.protobuf.Empty\`. If the original method is standard+-- \`Get\`\/\`Create\`\/\`Update\`, the response should be the resource.+-- For other methods, the response should have the type \`XxxResponse\`,+-- where \`Xxx\` is the original method name. For example, if the original+-- method name is \`TakeSnapshot()\`, the inferred response type is+-- \`TakeSnapshotResponse\`.+oResponse :: Lens' Operation (Maybe OperationResponse)+oResponse+  = lens _oResponse (\ s a -> s{_oResponse = a})++-- | The server-assigned name, which is only unique within the same service+-- that originally returns it. If you use the default HTTP mapping, the+-- \`name\` should have the format of \`operations\/some\/unique\/name\`.+oName :: Lens' Operation (Maybe Text)+oName = lens _oName (\ s a -> s{_oName = a})++-- | Service-specific metadata associated with the operation. It typically+-- contains progress information and common metadata such as create time.+-- Some services might not provide such metadata. Any method that returns a+-- long-running operation should document the metadata type, if any.+oMetadata :: Lens' Operation (Maybe OperationMetadata)+oMetadata+  = lens _oMetadata (\ s a -> s{_oMetadata = a})++instance FromJSON Operation where+        parseJSON+          = withObject "Operation"+              (\ o ->+                 Operation' <$>+                   (o .:? "done") <*> (o .:? "error") <*>+                     (o .:? "response")+                     <*> (o .:? "name")+                     <*> (o .:? "metadata"))++instance ToJSON Operation where+        toJSON Operation'{..}+          = object+              (catMaybes+                 [("done" .=) <$> _oDone, ("error" .=) <$> _oError,+                  ("response" .=) <$> _oResponse,+                  ("name" .=) <$> _oName,+                  ("metadata" .=) <$> _oMetadata])++-- | A generic empty message that you can re-use to avoid defining duplicated+-- empty messages in your APIs. A typical example is to use it as the+-- request or the response type of an API method. For instance: service Foo+-- { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } The+-- JSON representation for \`Empty\` is empty JSON object \`{}\`.+--+-- /See:/ 'empty' smart constructor.+data Empty =+    Empty'+    deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Empty' with the minimum fields required to make a request.+--+empty+    :: Empty+empty = Empty'++instance FromJSON Empty where+        parseJSON = withObject "Empty" (\ o -> pure Empty')++instance ToJSON Empty where+        toJSON = const emptyObject++-- | Response message for BigtableInstanceAdmin.ListAppProfiles.+--+-- /See:/ 'listAppProFilesResponse' smart constructor.+data ListAppProFilesResponse = ListAppProFilesResponse'+    { _lapfrNextPageToken   :: !(Maybe Text)+    , _lapfrFailedLocations :: !(Maybe [Text])+    , _lapfrAppProFiles     :: !(Maybe [AppProFile])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ListAppProFilesResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lapfrNextPageToken'+--+-- * 'lapfrFailedLocations'+--+-- * 'lapfrAppProFiles'+listAppProFilesResponse+    :: ListAppProFilesResponse+listAppProFilesResponse =+    ListAppProFilesResponse'+    { _lapfrNextPageToken = Nothing+    , _lapfrFailedLocations = Nothing+    , _lapfrAppProFiles = Nothing+    }++-- | Set if not all app profiles could be returned in a single response. Pass+-- this value to \`page_token\` in another request to get the next page of+-- results.+lapfrNextPageToken :: Lens' ListAppProFilesResponse (Maybe Text)+lapfrNextPageToken+  = lens _lapfrNextPageToken+      (\ s a -> s{_lapfrNextPageToken = a})++-- | Locations from which AppProfile information could not be retrieved, due+-- to an outage or some other transient condition. AppProfiles from these+-- locations may be missing from \`app_profiles\`. Values are of the form+-- \`projects\/\/locations\/\`+lapfrFailedLocations :: Lens' ListAppProFilesResponse [Text]+lapfrFailedLocations+  = lens _lapfrFailedLocations+      (\ s a -> s{_lapfrFailedLocations = a})+      . _Default+      . _Coerce++-- | The list of requested app profiles.+lapfrAppProFiles :: Lens' ListAppProFilesResponse [AppProFile]+lapfrAppProFiles+  = lens _lapfrAppProFiles+      (\ s a -> s{_lapfrAppProFiles = a})+      . _Default+      . _Coerce++instance FromJSON ListAppProFilesResponse where+        parseJSON+          = withObject "ListAppProFilesResponse"+              (\ o ->+                 ListAppProFilesResponse' <$>+                   (o .:? "nextPageToken") <*>+                     (o .:? "failedLocations" .!= mempty)+                     <*> (o .:? "appProfiles" .!= mempty))++instance ToJSON ListAppProFilesResponse where+        toJSON ListAppProFilesResponse'{..}+          = object+              (catMaybes+                 [("nextPageToken" .=) <$> _lapfrNextPageToken,+                  ("failedLocations" .=) <$> _lapfrFailedLocations,+                  ("appProfiles" .=) <$> _lapfrAppProFiles])++-- | (\`OutputOnly\`) Map from cluster ID to per-cluster table state. If it+-- could not be determined whether or not the table has data in a+-- particular cluster (for example, if its zone is unavailable), then there+-- will be an entry for the cluster with UNKNOWN \`replication_status\`.+-- Views: \`REPLICATION_VIEW\`, \`FULL\`+--+-- /See:/ 'tableClusterStates' smart constructor.+newtype TableClusterStates = TableClusterStates'+    { _tcsAddtional :: HashMap Text ClusterState+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TableClusterStates' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tcsAddtional'+tableClusterStates+    :: HashMap Text ClusterState -- ^ 'tcsAddtional'+    -> TableClusterStates+tableClusterStates pTcsAddtional_ =+    TableClusterStates'+    { _tcsAddtional = _Coerce # pTcsAddtional_+    }++tcsAddtional :: Lens' TableClusterStates (HashMap Text ClusterState)+tcsAddtional+  = lens _tcsAddtional (\ s a -> s{_tcsAddtional = a})+      . _Coerce++instance FromJSON TableClusterStates where+        parseJSON+          = withObject "TableClusterStates"+              (\ o -> TableClusterStates' <$> (parseJSONObject o))++instance ToJSON TableClusterStates where+        toJSON = toJSON . _tcsAddtional++-- | (\`CreationOnly\`) The column families configured for this table, mapped+-- by column family ID. Views: \`SCHEMA_VIEW\`, \`FULL\`+--+-- /See:/ 'tableColumnFamilies' smart constructor.+newtype TableColumnFamilies = TableColumnFamilies'+    { _tcfAddtional :: HashMap Text ColumnFamily+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TableColumnFamilies' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tcfAddtional'+tableColumnFamilies+    :: HashMap Text ColumnFamily -- ^ 'tcfAddtional'+    -> TableColumnFamilies+tableColumnFamilies pTcfAddtional_ =+    TableColumnFamilies'+    { _tcfAddtional = _Coerce # pTcfAddtional_+    }++tcfAddtional :: Lens' TableColumnFamilies (HashMap Text ColumnFamily)+tcfAddtional+  = lens _tcfAddtional (\ s a -> s{_tcfAddtional = a})+      . _Coerce++instance FromJSON TableColumnFamilies where+        parseJSON+          = withObject "TableColumnFamilies"+              (\ o -> TableColumnFamilies' <$> (parseJSONObject o))++instance ToJSON TableColumnFamilies where+        toJSON = toJSON . _tcfAddtional++-- | Request message for+-- google.bigtable.admin.v2.BigtableTableAdmin.CreateTable+--+-- /See:/ 'createTableRequest' smart constructor.+data CreateTableRequest = CreateTableRequest'+    { _ctrInitialSplits :: !(Maybe [Split])+    , _ctrTableId       :: !(Maybe Text)+    , _ctrTable         :: !(Maybe Table)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CreateTableRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ctrInitialSplits'+--+-- * 'ctrTableId'+--+-- * 'ctrTable'+createTableRequest+    :: CreateTableRequest+createTableRequest =+    CreateTableRequest'+    { _ctrInitialSplits = Nothing+    , _ctrTableId = Nothing+    , _ctrTable = Nothing+    }++-- | The optional list of row keys that will be used to initially split the+-- table into several tablets (tablets are similar to HBase regions). Given+-- two split keys, \`s1\` and \`s2\`, three tablets will be created,+-- spanning the key ranges: \`[, s1), [s1, s2), [s2, )\`. Example: * Row+-- keys := \`[\"a\", \"apple\", \"custom\", \"customer_1\",+-- \"customer_2\",\` \`\"other\", \"zz\"]\` * initial_split_keys :=+-- \`[\"apple\", \"customer_1\", \"customer_2\", \"other\"]\` * Key+-- assignment: - Tablet 1 \`[, apple) => {\"a\"}.\` - Tablet 2 \`[apple,+-- customer_1) => {\"apple\", \"custom\"}.\` - Tablet 3 \`[customer_1,+-- customer_2) => {\"customer_1\"}.\` - Tablet 4 \`[customer_2, other) =>+-- {\"customer_2\"}.\` - Tablet 5 \`[other, ) => {\"other\", \"zz\"}.\`+ctrInitialSplits :: Lens' CreateTableRequest [Split]+ctrInitialSplits+  = lens _ctrInitialSplits+      (\ s a -> s{_ctrInitialSplits = a})+      . _Default+      . _Coerce++-- | The name by which the new table should be referred to within the parent+-- instance, e.g., \`foobar\` rather than \`\/tables\/foobar\`.+ctrTableId :: Lens' CreateTableRequest (Maybe Text)+ctrTableId+  = lens _ctrTableId (\ s a -> s{_ctrTableId = a})++-- | The Table to create.+ctrTable :: Lens' CreateTableRequest (Maybe Table)+ctrTable = lens _ctrTable (\ s a -> s{_ctrTable = a})++instance FromJSON CreateTableRequest where+        parseJSON+          = withObject "CreateTableRequest"+              (\ o ->+                 CreateTableRequest' <$>+                   (o .:? "initialSplits" .!= mempty) <*>+                     (o .:? "tableId")+                     <*> (o .:? "table"))++instance ToJSON CreateTableRequest where+        toJSON CreateTableRequest'{..}+          = object+              (catMaybes+                 [("initialSplits" .=) <$> _ctrInitialSplits,+                  ("tableId" .=) <$> _ctrTableId,+                  ("table" .=) <$> _ctrTable])++-- | The metadata for the Operation returned by CreateCluster.+--+-- /See:/ 'createClusterMetadata' smart constructor.+data CreateClusterMetadata = CreateClusterMetadata'+    { _ccmRequestTime     :: !(Maybe DateTime')+    , _ccmOriginalRequest :: !(Maybe CreateClusterRequest)+    , _ccmFinishTime      :: !(Maybe DateTime')+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CreateClusterMetadata' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ccmRequestTime'+--+-- * 'ccmOriginalRequest'+--+-- * 'ccmFinishTime'+createClusterMetadata+    :: CreateClusterMetadata+createClusterMetadata =+    CreateClusterMetadata'+    { _ccmRequestTime = Nothing+    , _ccmOriginalRequest = Nothing+    , _ccmFinishTime = Nothing+    }++-- | The time at which the original request was received.+ccmRequestTime :: Lens' CreateClusterMetadata (Maybe UTCTime)+ccmRequestTime+  = lens _ccmRequestTime+      (\ s a -> s{_ccmRequestTime = a})+      . mapping _DateTime++-- | The request that prompted the initiation of this CreateCluster+-- operation.+ccmOriginalRequest :: Lens' CreateClusterMetadata (Maybe CreateClusterRequest)+ccmOriginalRequest+  = lens _ccmOriginalRequest+      (\ s a -> s{_ccmOriginalRequest = a})++-- | The time at which the operation failed or was completed successfully.+ccmFinishTime :: Lens' CreateClusterMetadata (Maybe UTCTime)+ccmFinishTime+  = lens _ccmFinishTime+      (\ s a -> s{_ccmFinishTime = a})+      . mapping _DateTime++instance FromJSON CreateClusterMetadata where+        parseJSON+          = withObject "CreateClusterMetadata"+              (\ o ->+                 CreateClusterMetadata' <$>+                   (o .:? "requestTime") <*> (o .:? "originalRequest")+                     <*> (o .:? "finishTime"))++instance ToJSON CreateClusterMetadata where+        toJSON CreateClusterMetadata'{..}+          = object+              (catMaybes+                 [("requestTime" .=) <$> _ccmRequestTime,+                  ("originalRequest" .=) <$> _ccmOriginalRequest,+                  ("finishTime" .=) <$> _ccmFinishTime])++-- | A GcRule which deletes cells matching any of the given rules.+--+-- /See:/ 'union' smart constructor.+newtype Union = Union'+    { _uRules :: Maybe [GcRule]+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Union' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'uRules'+union+    :: Union+union =+    Union'+    { _uRules = Nothing+    }++-- | Delete cells which would be deleted by any element of \`rules\`.+uRules :: Lens' Union [GcRule]+uRules+  = lens _uRules (\ s a -> s{_uRules = a}) . _Default .+      _Coerce++instance FromJSON Union where+        parseJSON+          = withObject "Union"+              (\ o -> Union' <$> (o .:? "rules" .!= mempty))++instance ToJSON Union where+        toJSON Union'{..}+          = object (catMaybes [("rules" .=) <$> _uRules])++--+-- /See:/ 'statusDetailsItem' smart constructor.+newtype StatusDetailsItem = StatusDetailsItem'+    { _sdiAddtional :: HashMap Text JSONValue+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'StatusDetailsItem' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sdiAddtional'+statusDetailsItem+    :: HashMap Text JSONValue -- ^ 'sdiAddtional'+    -> StatusDetailsItem+statusDetailsItem pSdiAddtional_ =+    StatusDetailsItem'+    { _sdiAddtional = _Coerce # pSdiAddtional_+    }++-- | Properties of the object. Contains field \'type with type URL.+sdiAddtional :: Lens' StatusDetailsItem (HashMap Text JSONValue)+sdiAddtional+  = lens _sdiAddtional (\ s a -> s{_sdiAddtional = a})+      . _Coerce++instance FromJSON StatusDetailsItem where+        parseJSON+          = withObject "StatusDetailsItem"+              (\ o -> StatusDetailsItem' <$> (parseJSONObject o))++instance ToJSON StatusDetailsItem where+        toJSON = toJSON . _sdiAddtional++-- | The metadata for the Operation returned by UpdateAppProfile.+--+-- /See:/ 'updateAppProFileMetadata' smart constructor.+data UpdateAppProFileMetadata =+    UpdateAppProFileMetadata'+    deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'UpdateAppProFileMetadata' with the minimum fields required to make a request.+--+updateAppProFileMetadata+    :: UpdateAppProFileMetadata+updateAppProFileMetadata = UpdateAppProFileMetadata'++instance FromJSON UpdateAppProFileMetadata where+        parseJSON+          = withObject "UpdateAppProFileMetadata"+              (\ o -> pure UpdateAppProFileMetadata')++instance ToJSON UpdateAppProFileMetadata where+        toJSON = const emptyObject++-- | The metadata for the Operation returned by UpdateCluster.+--+-- /See:/ 'updateClusterMetadata' smart constructor.+data UpdateClusterMetadata = UpdateClusterMetadata'+    { _ucmRequestTime     :: !(Maybe DateTime')+    , _ucmOriginalRequest :: !(Maybe Cluster)+    , _ucmFinishTime      :: !(Maybe DateTime')+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'UpdateClusterMetadata' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ucmRequestTime'+--+-- * 'ucmOriginalRequest'+--+-- * 'ucmFinishTime'+updateClusterMetadata+    :: UpdateClusterMetadata+updateClusterMetadata =+    UpdateClusterMetadata'+    { _ucmRequestTime = Nothing+    , _ucmOriginalRequest = Nothing+    , _ucmFinishTime = Nothing+    }++-- | The time at which the original request was received.+ucmRequestTime :: Lens' UpdateClusterMetadata (Maybe UTCTime)+ucmRequestTime+  = lens _ucmRequestTime+      (\ s a -> s{_ucmRequestTime = a})+      . mapping _DateTime++-- | The request that prompted the initiation of this UpdateCluster+-- operation.+ucmOriginalRequest :: Lens' UpdateClusterMetadata (Maybe Cluster)+ucmOriginalRequest+  = lens _ucmOriginalRequest+      (\ s a -> s{_ucmOriginalRequest = a})++-- | The time at which the operation failed or was completed successfully.+ucmFinishTime :: Lens' UpdateClusterMetadata (Maybe UTCTime)+ucmFinishTime+  = lens _ucmFinishTime+      (\ s a -> s{_ucmFinishTime = a})+      . mapping _DateTime++instance FromJSON UpdateClusterMetadata where+        parseJSON+          = withObject "UpdateClusterMetadata"+              (\ o ->+                 UpdateClusterMetadata' <$>+                   (o .:? "requestTime") <*> (o .:? "originalRequest")+                     <*> (o .:? "finishTime"))++instance ToJSON UpdateClusterMetadata where+        toJSON UpdateClusterMetadata'{..}+          = object+              (catMaybes+                 [("requestTime" .=) <$> _ucmRequestTime,+                  ("originalRequest" .=) <$> _ucmOriginalRequest,+                  ("finishTime" .=) <$> _ucmFinishTime])++-- | Request message for \`SetIamPolicy\` method.+--+-- /See:/ 'setIAMPolicyRequest' smart constructor.+data SetIAMPolicyRequest = SetIAMPolicyRequest'+    { _siprUpdateMask :: !(Maybe GFieldMask)+    , _siprPolicy     :: !(Maybe Policy)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SetIAMPolicyRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'siprUpdateMask'+--+-- * 'siprPolicy'+setIAMPolicyRequest+    :: SetIAMPolicyRequest+setIAMPolicyRequest =+    SetIAMPolicyRequest'+    { _siprUpdateMask = Nothing+    , _siprPolicy = Nothing+    }++-- | OPTIONAL: A FieldMask specifying which fields of the policy to modify.+-- Only the fields in the mask will be modified. If no mask is provided,+-- the following default mask is used: paths: \"bindings, etag\" This field+-- is only used by Cloud IAM.+siprUpdateMask :: Lens' SetIAMPolicyRequest (Maybe GFieldMask)+siprUpdateMask+  = lens _siprUpdateMask+      (\ s a -> s{_siprUpdateMask = a})++-- | REQUIRED: The complete policy to be applied to the \`resource\`. The+-- size of the policy is limited to a few 10s of KB. An empty policy is a+-- valid policy but certain Cloud Platform services (such as Projects)+-- might reject them.+siprPolicy :: Lens' SetIAMPolicyRequest (Maybe Policy)+siprPolicy+  = lens _siprPolicy (\ s a -> s{_siprPolicy = a})++instance FromJSON SetIAMPolicyRequest where+        parseJSON+          = withObject "SetIAMPolicyRequest"+              (\ o ->+                 SetIAMPolicyRequest' <$>+                   (o .:? "updateMask") <*> (o .:? "policy"))++instance ToJSON SetIAMPolicyRequest where+        toJSON SetIAMPolicyRequest'{..}+          = object+              (catMaybes+                 [("updateMask" .=) <$> _siprUpdateMask,+                  ("policy" .=) <$> _siprPolicy])++-- | Request message for+-- google.bigtable.admin.v2.BigtableTableAdmin.CheckConsistency+--+-- /See:/ 'checkConsistencyRequest' smart constructor.+newtype CheckConsistencyRequest = CheckConsistencyRequest'+    { _ccrConsistencyToken :: Maybe Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CheckConsistencyRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ccrConsistencyToken'+checkConsistencyRequest+    :: CheckConsistencyRequest+checkConsistencyRequest =+    CheckConsistencyRequest'+    { _ccrConsistencyToken = Nothing+    }++-- | The token created using GenerateConsistencyToken for the Table.+ccrConsistencyToken :: Lens' CheckConsistencyRequest (Maybe Text)+ccrConsistencyToken+  = lens _ccrConsistencyToken+      (\ s a -> s{_ccrConsistencyToken = a})++instance FromJSON CheckConsistencyRequest where+        parseJSON+          = withObject "CheckConsistencyRequest"+              (\ o ->+                 CheckConsistencyRequest' <$>+                   (o .:? "consistencyToken"))++instance ToJSON CheckConsistencyRequest where+        toJSON CheckConsistencyRequest'{..}+          = object+              (catMaybes+                 [("consistencyToken" .=) <$> _ccrConsistencyToken])++-- | Response message for+-- google.bigtable.admin.v2.BigtableTableAdmin.ListTables+--+-- /See:/ 'listTablesResponse' smart constructor.+data ListTablesResponse = ListTablesResponse'+    { _ltrNextPageToken :: !(Maybe Text)+    , _ltrTables        :: !(Maybe [Table])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ListTablesResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ltrNextPageToken'+--+-- * 'ltrTables'+listTablesResponse+    :: ListTablesResponse+listTablesResponse =+    ListTablesResponse'+    { _ltrNextPageToken = Nothing+    , _ltrTables = Nothing+    }++-- | Set if not all tables could be returned in a single response. Pass this+-- value to \`page_token\` in another request to get the next page of+-- results.+ltrNextPageToken :: Lens' ListTablesResponse (Maybe Text)+ltrNextPageToken+  = lens _ltrNextPageToken+      (\ s a -> s{_ltrNextPageToken = a})++-- | The tables present in the requested instance.+ltrTables :: Lens' ListTablesResponse [Table]+ltrTables+  = lens _ltrTables (\ s a -> s{_ltrTables = a}) .+      _Default+      . _Coerce++instance FromJSON ListTablesResponse where+        parseJSON+          = withObject "ListTablesResponse"+              (\ o ->+                 ListTablesResponse' <$>+                   (o .:? "nextPageToken") <*>+                     (o .:? "tables" .!= mempty))++instance ToJSON ListTablesResponse where+        toJSON ListTablesResponse'{..}+          = object+              (catMaybes+                 [("nextPageToken" .=) <$> _ltrNextPageToken,+                  ("tables" .=) <$> _ltrTables])++-- | Request message for BigtableInstanceAdmin.PartialUpdateInstance.+--+-- /See:/ 'partialUpdateInstanceRequest' smart constructor.+data PartialUpdateInstanceRequest = PartialUpdateInstanceRequest'+    { _puirUpdateMask :: !(Maybe GFieldMask)+    , _puirInstance   :: !(Maybe Instance)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PartialUpdateInstanceRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'puirUpdateMask'+--+-- * 'puirInstance'+partialUpdateInstanceRequest+    :: PartialUpdateInstanceRequest+partialUpdateInstanceRequest =+    PartialUpdateInstanceRequest'+    { _puirUpdateMask = Nothing+    , _puirInstance = Nothing+    }++-- | The subset of Instance fields which should be replaced. Must be+-- explicitly set.+puirUpdateMask :: Lens' PartialUpdateInstanceRequest (Maybe GFieldMask)+puirUpdateMask+  = lens _puirUpdateMask+      (\ s a -> s{_puirUpdateMask = a})++-- | The Instance which will (partially) replace the current value.+puirInstance :: Lens' PartialUpdateInstanceRequest (Maybe Instance)+puirInstance+  = lens _puirInstance (\ s a -> s{_puirInstance = a})++instance FromJSON PartialUpdateInstanceRequest where+        parseJSON+          = withObject "PartialUpdateInstanceRequest"+              (\ o ->+                 PartialUpdateInstanceRequest' <$>+                   (o .:? "updateMask") <*> (o .:? "instance"))++instance ToJSON PartialUpdateInstanceRequest where+        toJSON PartialUpdateInstanceRequest'{..}+          = object+              (catMaybes+                 [("updateMask" .=) <$> _puirUpdateMask,+                  ("instance" .=) <$> _puirInstance])++-- | Rule for determining which cells to delete during garbage collection.+--+-- /See:/ 'gcRule' smart constructor.+data GcRule = GcRule'+    { _grMaxAge         :: !(Maybe GDuration)+    , _grUnion          :: !(Maybe Union)+    , _grIntersection   :: !(Maybe Intersection)+    , _grMaxNumVersions :: !(Maybe (Textual Int32))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'GcRule' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'grMaxAge'+--+-- * 'grUnion'+--+-- * 'grIntersection'+--+-- * 'grMaxNumVersions'+gcRule+    :: GcRule+gcRule =+    GcRule'+    { _grMaxAge = Nothing+    , _grUnion = Nothing+    , _grIntersection = Nothing+    , _grMaxNumVersions = Nothing+    }++-- | Delete cells in a column older than the given age. Values must be at+-- least one millisecond, and will be truncated to microsecond granularity.+grMaxAge :: Lens' GcRule (Maybe Scientific)+grMaxAge+  = lens _grMaxAge (\ s a -> s{_grMaxAge = a}) .+      mapping _GDuration++-- | Delete cells that would be deleted by any nested rule.+grUnion :: Lens' GcRule (Maybe Union)+grUnion = lens _grUnion (\ s a -> s{_grUnion = a})++-- | Delete cells that would be deleted by every nested rule.+grIntersection :: Lens' GcRule (Maybe Intersection)+grIntersection+  = lens _grIntersection+      (\ s a -> s{_grIntersection = a})++-- | Delete all cells in a column except the most recent N.+grMaxNumVersions :: Lens' GcRule (Maybe Int32)+grMaxNumVersions+  = lens _grMaxNumVersions+      (\ s a -> s{_grMaxNumVersions = a})+      . mapping _Coerce++instance FromJSON GcRule where+        parseJSON+          = withObject "GcRule"+              (\ o ->+                 GcRule' <$>+                   (o .:? "maxAge") <*> (o .:? "union") <*>+                     (o .:? "intersection")+                     <*> (o .:? "maxNumVersions"))++instance ToJSON GcRule where+        toJSON GcRule'{..}+          = object+              (catMaybes+                 [("maxAge" .=) <$> _grMaxAge,+                  ("union" .=) <$> _grUnion,+                  ("intersection" .=) <$> _grIntersection,+                  ("maxNumVersions" .=) <$> _grMaxNumVersions])++-- | Request message for \`TestIamPermissions\` method.+--+-- /See:/ 'testIAMPermissionsRequest' smart constructor.+newtype TestIAMPermissionsRequest = TestIAMPermissionsRequest'+    { _tiprPermissions :: Maybe [Text]+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TestIAMPermissionsRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tiprPermissions'+testIAMPermissionsRequest+    :: TestIAMPermissionsRequest+testIAMPermissionsRequest =+    TestIAMPermissionsRequest'+    { _tiprPermissions = Nothing+    }++-- | The set of permissions to check for the \`resource\`. Permissions with+-- wildcards (such as \'*\' or \'storage.*\') are not allowed. For more+-- information see [IAM+-- Overview](https:\/\/cloud.google.com\/iam\/docs\/overview#permissions).+tiprPermissions :: Lens' TestIAMPermissionsRequest [Text]+tiprPermissions+  = lens _tiprPermissions+      (\ s a -> s{_tiprPermissions = a})+      . _Default+      . _Coerce++instance FromJSON TestIAMPermissionsRequest where+        parseJSON+          = withObject "TestIAMPermissionsRequest"+              (\ o ->+                 TestIAMPermissionsRequest' <$>+                   (o .:? "permissions" .!= mempty))++instance ToJSON TestIAMPermissionsRequest where+        toJSON TestIAMPermissionsRequest'{..}+          = object+              (catMaybes [("permissions" .=) <$> _tiprPermissions])++-- | A configuration object describing how Cloud Bigtable should treat+-- traffic from a particular end user application.+--+-- /See:/ 'appProFile' smart constructor.+data AppProFile = AppProFile'+    { _apfSingleClusterRouting      :: !(Maybe SingleClusterRouting)+    , _apfEtag                      :: !(Maybe Text)+    , _apfMultiClusterRoutingUseAny :: !(Maybe MultiClusterRoutingUseAny)+    , _apfName                      :: !(Maybe Text)+    , _apfDescription               :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AppProFile' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'apfSingleClusterRouting'+--+-- * 'apfEtag'+--+-- * 'apfMultiClusterRoutingUseAny'+--+-- * 'apfName'+--+-- * 'apfDescription'+appProFile+    :: AppProFile+appProFile =+    AppProFile'+    { _apfSingleClusterRouting = Nothing+    , _apfEtag = Nothing+    , _apfMultiClusterRoutingUseAny = Nothing+    , _apfName = Nothing+    , _apfDescription = Nothing+    }++-- | Use a single-cluster routing policy.+apfSingleClusterRouting :: Lens' AppProFile (Maybe SingleClusterRouting)+apfSingleClusterRouting+  = lens _apfSingleClusterRouting+      (\ s a -> s{_apfSingleClusterRouting = a})++-- | Strongly validated etag for optimistic concurrency control. Preserve the+-- value returned from \`GetAppProfile\` when calling \`UpdateAppProfile\`+-- to fail the request if there has been a modification in the mean time.+-- The \`update_mask\` of the request need not include \`etag\` for this+-- protection to apply. See+-- [Wikipedia](https:\/\/en.wikipedia.org\/wiki\/HTTP_ETag) and [RFC+-- 7232](https:\/\/tools.ietf.org\/html\/rfc7232#section-2.3) for more+-- details.+apfEtag :: Lens' AppProFile (Maybe Text)+apfEtag = lens _apfEtag (\ s a -> s{_apfEtag = a})++-- | Use a multi-cluster routing policy that may pick any cluster.+apfMultiClusterRoutingUseAny :: Lens' AppProFile (Maybe MultiClusterRoutingUseAny)+apfMultiClusterRoutingUseAny+  = lens _apfMultiClusterRoutingUseAny+      (\ s a -> s{_apfMultiClusterRoutingUseAny = a})++-- | (\`OutputOnly\`) The unique name of the app profile. Values are of the+-- form \`projects\/\/instances\/\/appProfiles\/_a-zA-Z0-9*\`.+apfName :: Lens' AppProFile (Maybe Text)+apfName = lens _apfName (\ s a -> s{_apfName = a})++-- | Optional long form description of the use case for this AppProfile.+apfDescription :: Lens' AppProFile (Maybe Text)+apfDescription+  = lens _apfDescription+      (\ s a -> s{_apfDescription = a})++instance FromJSON AppProFile where+        parseJSON+          = withObject "AppProFile"+              (\ o ->+                 AppProFile' <$>+                   (o .:? "singleClusterRouting") <*> (o .:? "etag") <*>+                     (o .:? "multiClusterRoutingUseAny")+                     <*> (o .:? "name")+                     <*> (o .:? "description"))++instance ToJSON AppProFile where+        toJSON AppProFile'{..}+          = object+              (catMaybes+                 [("singleClusterRouting" .=) <$>+                    _apfSingleClusterRouting,+                  ("etag" .=) <$> _apfEtag,+                  ("multiClusterRoutingUseAny" .=) <$>+                    _apfMultiClusterRoutingUseAny,+                  ("name" .=) <$> _apfName,+                  ("description" .=) <$> _apfDescription])++-- | The clusters to be created within the instance, mapped by desired+-- cluster ID, e.g., just \`mycluster\` rather than+-- \`projects\/myproject\/instances\/myinstance\/clusters\/mycluster\`.+-- Fields marked \`OutputOnly\` must be left blank. Currently, at most two+-- clusters can be specified.+--+-- /See:/ 'createInstanceRequestClusters' smart constructor.+newtype CreateInstanceRequestClusters = CreateInstanceRequestClusters'+    { _circAddtional :: HashMap Text Cluster+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CreateInstanceRequestClusters' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'circAddtional'+createInstanceRequestClusters+    :: HashMap Text Cluster -- ^ 'circAddtional'+    -> CreateInstanceRequestClusters+createInstanceRequestClusters pCircAddtional_ =+    CreateInstanceRequestClusters'+    { _circAddtional = _Coerce # pCircAddtional_+    }++circAddtional :: Lens' CreateInstanceRequestClusters (HashMap Text Cluster)+circAddtional+  = lens _circAddtional+      (\ s a -> s{_circAddtional = a})+      . _Coerce++instance FromJSON CreateInstanceRequestClusters where+        parseJSON+          = withObject "CreateInstanceRequestClusters"+              (\ o ->+                 CreateInstanceRequestClusters' <$>+                   (parseJSONObject o))++instance ToJSON CreateInstanceRequestClusters where+        toJSON = toJSON . _circAddtional++-- | Response message for+-- google.bigtable.admin.v2.BigtableTableAdmin.GenerateConsistencyToken+--+-- /See:/ 'generateConsistencyTokenResponse' smart constructor.+newtype GenerateConsistencyTokenResponse = GenerateConsistencyTokenResponse'+    { _gctrConsistencyToken :: Maybe Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'GenerateConsistencyTokenResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gctrConsistencyToken'+generateConsistencyTokenResponse+    :: GenerateConsistencyTokenResponse+generateConsistencyTokenResponse =+    GenerateConsistencyTokenResponse'+    { _gctrConsistencyToken = Nothing+    }++-- | The generated consistency token.+gctrConsistencyToken :: Lens' GenerateConsistencyTokenResponse (Maybe Text)+gctrConsistencyToken+  = lens _gctrConsistencyToken+      (\ s a -> s{_gctrConsistencyToken = a})++instance FromJSON GenerateConsistencyTokenResponse+         where+        parseJSON+          = withObject "GenerateConsistencyTokenResponse"+              (\ o ->+                 GenerateConsistencyTokenResponse' <$>+                   (o .:? "consistencyToken"))++instance ToJSON GenerateConsistencyTokenResponse+         where+        toJSON GenerateConsistencyTokenResponse'{..}+          = object+              (catMaybes+                 [("consistencyToken" .=) <$> _gctrConsistencyToken])++-- | Request message for+-- google.bigtable.admin.v2.BigtableTableAdmin.DropRowRange+--+-- /See:/ 'dropRowRangeRequest' smart constructor.+data DropRowRangeRequest = DropRowRangeRequest'+    { _drrrRowKeyPrefix           :: !(Maybe Bytes)+    , _drrrDeleteAllDataFromTable :: !(Maybe Bool)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DropRowRangeRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'drrrRowKeyPrefix'+--+-- * 'drrrDeleteAllDataFromTable'+dropRowRangeRequest+    :: DropRowRangeRequest+dropRowRangeRequest =+    DropRowRangeRequest'+    { _drrrRowKeyPrefix = Nothing+    , _drrrDeleteAllDataFromTable = Nothing+    }++-- | Delete all rows that start with this row key prefix. Prefix cannot be+-- zero length.+drrrRowKeyPrefix :: Lens' DropRowRangeRequest (Maybe ByteString)+drrrRowKeyPrefix+  = lens _drrrRowKeyPrefix+      (\ s a -> s{_drrrRowKeyPrefix = a})+      . mapping _Bytes++-- | Delete all rows in the table. Setting this to false is a no-op.+drrrDeleteAllDataFromTable :: Lens' DropRowRangeRequest (Maybe Bool)+drrrDeleteAllDataFromTable+  = lens _drrrDeleteAllDataFromTable+      (\ s a -> s{_drrrDeleteAllDataFromTable = a})++instance FromJSON DropRowRangeRequest where+        parseJSON+          = withObject "DropRowRangeRequest"+              (\ o ->+                 DropRowRangeRequest' <$>+                   (o .:? "rowKeyPrefix") <*>+                     (o .:? "deleteAllDataFromTable"))++instance ToJSON DropRowRangeRequest where+        toJSON DropRowRangeRequest'{..}+          = object+              (catMaybes+                 [("rowKeyPrefix" .=) <$> _drrrRowKeyPrefix,+                  ("deleteAllDataFromTable" .=) <$>+                    _drrrDeleteAllDataFromTable])++-- | The metadata for the Operation returned by UpdateInstance.+--+-- /See:/ 'updateInstanceMetadata' smart constructor.+data UpdateInstanceMetadata = UpdateInstanceMetadata'+    { _uimRequestTime     :: !(Maybe DateTime')+    , _uimOriginalRequest :: !(Maybe PartialUpdateInstanceRequest)+    , _uimFinishTime      :: !(Maybe DateTime')+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'UpdateInstanceMetadata' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'uimRequestTime'+--+-- * 'uimOriginalRequest'+--+-- * 'uimFinishTime'+updateInstanceMetadata+    :: UpdateInstanceMetadata+updateInstanceMetadata =+    UpdateInstanceMetadata'+    { _uimRequestTime = Nothing+    , _uimOriginalRequest = Nothing+    , _uimFinishTime = Nothing+    }++-- | The time at which the original request was received.+uimRequestTime :: Lens' UpdateInstanceMetadata (Maybe UTCTime)+uimRequestTime+  = lens _uimRequestTime+      (\ s a -> s{_uimRequestTime = a})+      . mapping _DateTime++-- | The request that prompted the initiation of this UpdateInstance+-- operation.+uimOriginalRequest :: Lens' UpdateInstanceMetadata (Maybe PartialUpdateInstanceRequest)+uimOriginalRequest+  = lens _uimOriginalRequest+      (\ s a -> s{_uimOriginalRequest = a})++-- | The time at which the operation failed or was completed successfully.+uimFinishTime :: Lens' UpdateInstanceMetadata (Maybe UTCTime)+uimFinishTime+  = lens _uimFinishTime+      (\ s a -> s{_uimFinishTime = a})+      . mapping _DateTime++instance FromJSON UpdateInstanceMetadata where+        parseJSON+          = withObject "UpdateInstanceMetadata"+              (\ o ->+                 UpdateInstanceMetadata' <$>+                   (o .:? "requestTime") <*> (o .:? "originalRequest")+                     <*> (o .:? "finishTime"))++instance ToJSON UpdateInstanceMetadata where+        toJSON UpdateInstanceMetadata'{..}+          = object+              (catMaybes+                 [("requestTime" .=) <$> _uimRequestTime,+                  ("originalRequest" .=) <$> _uimOriginalRequest,+                  ("finishTime" .=) <$> _uimFinishTime])++-- | A GcRule which deletes cells matching all of the given rules.+--+-- /See:/ 'intersection' smart constructor.+newtype Intersection = Intersection'+    { _iRules :: Maybe [GcRule]+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Intersection' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'iRules'+intersection+    :: Intersection+intersection =+    Intersection'+    { _iRules = Nothing+    }++-- | Only delete cells which would be deleted by every element of \`rules\`.+iRules :: Lens' Intersection [GcRule]+iRules+  = lens _iRules (\ s a -> s{_iRules = a}) . _Default .+      _Coerce++instance FromJSON Intersection where+        parseJSON+          = withObject "Intersection"+              (\ o -> Intersection' <$> (o .:? "rules" .!= mempty))++instance ToJSON Intersection where+        toJSON Intersection'{..}+          = object (catMaybes [("rules" .=) <$> _iRules])++-- | A set of columns within a table which share a common configuration.+--+-- /See:/ 'columnFamily' smart constructor.+newtype ColumnFamily = ColumnFamily'+    { _cfGcRule :: Maybe GcRule+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ColumnFamily' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cfGcRule'+columnFamily+    :: ColumnFamily+columnFamily =+    ColumnFamily'+    { _cfGcRule = Nothing+    }++-- | Garbage collection rule specified as a protobuf. Must serialize to at+-- most 500 bytes. NOTE: Garbage collection executes opportunistically in+-- the background, and so it\'s possible for reads to return a cell even if+-- it matches the active GC expression for its family.+cfGcRule :: Lens' ColumnFamily (Maybe GcRule)+cfGcRule = lens _cfGcRule (\ s a -> s{_cfGcRule = a})++instance FromJSON ColumnFamily where+        parseJSON+          = withObject "ColumnFamily"+              (\ o -> ColumnFamily' <$> (o .:? "gcRule"))++instance ToJSON ColumnFamily where+        toJSON ColumnFamily'{..}+          = object (catMaybes [("gcRule" .=) <$> _cfGcRule])++-- | Response message for \`TestIamPermissions\` method.+--+-- /See:/ 'testIAMPermissionsResponse' smart constructor.+newtype TestIAMPermissionsResponse = TestIAMPermissionsResponse'+    { _tiamprPermissions :: Maybe [Text]+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TestIAMPermissionsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tiamprPermissions'+testIAMPermissionsResponse+    :: TestIAMPermissionsResponse+testIAMPermissionsResponse =+    TestIAMPermissionsResponse'+    { _tiamprPermissions = Nothing+    }++-- | A subset of \`TestPermissionsRequest.permissions\` that the caller is+-- allowed.+tiamprPermissions :: Lens' TestIAMPermissionsResponse [Text]+tiamprPermissions+  = lens _tiamprPermissions+      (\ s a -> s{_tiamprPermissions = a})+      . _Default+      . _Coerce++instance FromJSON TestIAMPermissionsResponse where+        parseJSON+          = withObject "TestIAMPermissionsResponse"+              (\ o ->+                 TestIAMPermissionsResponse' <$>+                   (o .:? "permissions" .!= mempty))++instance ToJSON TestIAMPermissionsResponse where+        toJSON TestIAMPermissionsResponse'{..}+          = object+              (catMaybes+                 [("permissions" .=) <$> _tiamprPermissions])++-- | Response message for BigtableInstanceAdmin.ListClusters.+--+-- /See:/ 'listClustersResponse' smart constructor.+data ListClustersResponse = ListClustersResponse'+    { _lcrNextPageToken   :: !(Maybe Text)+    , _lcrFailedLocations :: !(Maybe [Text])+    , _lcrClusters        :: !(Maybe [Cluster])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ListClustersResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lcrNextPageToken'+--+-- * 'lcrFailedLocations'+--+-- * 'lcrClusters'+listClustersResponse+    :: ListClustersResponse+listClustersResponse =+    ListClustersResponse'+    { _lcrNextPageToken = Nothing+    , _lcrFailedLocations = Nothing+    , _lcrClusters = Nothing+    }++-- | DEPRECATED: This field is unused and ignored.+lcrNextPageToken :: Lens' ListClustersResponse (Maybe Text)+lcrNextPageToken+  = lens _lcrNextPageToken+      (\ s a -> s{_lcrNextPageToken = a})++-- | Locations from which Cluster information could not be retrieved, due to+-- an outage or some other transient condition. Clusters from these+-- locations may be missing from \`clusters\`, or may only have partial+-- information returned. Values are of the form \`projects\/\/locations\/\`+lcrFailedLocations :: Lens' ListClustersResponse [Text]+lcrFailedLocations+  = lens _lcrFailedLocations+      (\ s a -> s{_lcrFailedLocations = a})+      . _Default+      . _Coerce++-- | The list of requested clusters.+lcrClusters :: Lens' ListClustersResponse [Cluster]+lcrClusters+  = lens _lcrClusters (\ s a -> s{_lcrClusters = a}) .+      _Default+      . _Coerce++instance FromJSON ListClustersResponse where+        parseJSON+          = withObject "ListClustersResponse"+              (\ o ->+                 ListClustersResponse' <$>+                   (o .:? "nextPageToken") <*>+                     (o .:? "failedLocations" .!= mempty)+                     <*> (o .:? "clusters" .!= mempty))++instance ToJSON ListClustersResponse where+        toJSON ListClustersResponse'{..}+          = object+              (catMaybes+                 [("nextPageToken" .=) <$> _lcrNextPageToken,+                  ("failedLocations" .=) <$> _lcrFailedLocations,+                  ("clusters" .=) <$> _lcrClusters])++-- | Defines an Identity and Access Management (IAM) policy. It is used to+-- specify access control policies for Cloud Platform resources. A+-- \`Policy\` consists of a list of \`bindings\`. A \`binding\` binds a+-- list of \`members\` to a \`role\`, where the members can be user+-- accounts, Google groups, Google domains, and service accounts. A+-- \`role\` is a named list of permissions defined by IAM. **JSON Example**+-- { \"bindings\": [ { \"role\": \"roles\/owner\", \"members\": [+-- \"user:mike\'example.com\", \"group:admins\'example.com\",+-- \"domain:google.com\",+-- \"serviceAccount:my-other-app\'appspot.gserviceaccount.com\" ] }, {+-- \"role\": \"roles\/viewer\", \"members\": [\"user:sean\'example.com\"] }+-- ] } **YAML Example** bindings: - members: - user:mike\'example.com -+-- group:admins\'example.com - domain:google.com -+-- serviceAccount:my-other-app\'appspot.gserviceaccount.com role:+-- roles\/owner - members: - user:sean\'example.com role: roles\/viewer For+-- a description of IAM and its features, see the [IAM developer\'s+-- guide](https:\/\/cloud.google.com\/iam\/docs).+--+-- /See:/ 'policy' smart constructor.+data Policy = Policy'+    { _pAuditConfigs :: !(Maybe [AuditConfig])+    , _pEtag         :: !(Maybe Bytes)+    , _pVersion      :: !(Maybe (Textual Int32))+    , _pBindings     :: !(Maybe [Binding])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Policy' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pAuditConfigs'+--+-- * 'pEtag'+--+-- * 'pVersion'+--+-- * 'pBindings'+policy+    :: Policy+policy =+    Policy'+    { _pAuditConfigs = Nothing+    , _pEtag = Nothing+    , _pVersion = Nothing+    , _pBindings = Nothing+    }++-- | Specifies cloud audit logging configuration for this policy.+pAuditConfigs :: Lens' Policy [AuditConfig]+pAuditConfigs+  = lens _pAuditConfigs+      (\ s a -> s{_pAuditConfigs = a})+      . _Default+      . _Coerce++-- | \`etag\` is used for optimistic concurrency control as a way to help+-- prevent simultaneous updates of a policy from overwriting each other. It+-- is strongly suggested that systems make use of the \`etag\` in the+-- read-modify-write cycle to perform policy updates in order to avoid race+-- conditions: An \`etag\` is returned in the response to \`getIamPolicy\`,+-- and systems are expected to put that etag in the request to+-- \`setIamPolicy\` to ensure that their change will be applied to the same+-- version of the policy. If no \`etag\` is provided in the call to+-- \`setIamPolicy\`, then the existing policy is overwritten blindly.+pEtag :: Lens' Policy (Maybe ByteString)+pEtag+  = lens _pEtag (\ s a -> s{_pEtag = a}) .+      mapping _Bytes++-- | Deprecated.+pVersion :: Lens' Policy (Maybe Int32)+pVersion+  = lens _pVersion (\ s a -> s{_pVersion = a}) .+      mapping _Coerce++-- | Associates a list of \`members\` to a \`role\`. \`bindings\` with no+-- members will result in an error.+pBindings :: Lens' Policy [Binding]+pBindings+  = lens _pBindings (\ s a -> s{_pBindings = a}) .+      _Default+      . _Coerce++instance FromJSON Policy where+        parseJSON+          = withObject "Policy"+              (\ o ->+                 Policy' <$>+                   (o .:? "auditConfigs" .!= mempty) <*> (o .:? "etag")+                     <*> (o .:? "version")+                     <*> (o .:? "bindings" .!= mempty))++instance ToJSON Policy where+        toJSON Policy'{..}+          = object+              (catMaybes+                 [("auditConfigs" .=) <$> _pAuditConfigs,+                  ("etag" .=) <$> _pEtag, ("version" .=) <$> _pVersion,+                  ("bindings" .=) <$> _pBindings])++-- | The metadata for the Operation returned by CreateInstance.+--+-- /See:/ 'createInstanceMetadata' smart constructor.+data CreateInstanceMetadata = CreateInstanceMetadata'+    { _cimRequestTime     :: !(Maybe DateTime')+    , _cimOriginalRequest :: !(Maybe CreateInstanceRequest)+    , _cimFinishTime      :: !(Maybe DateTime')+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CreateInstanceMetadata' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cimRequestTime'+--+-- * 'cimOriginalRequest'+--+-- * 'cimFinishTime'+createInstanceMetadata+    :: CreateInstanceMetadata+createInstanceMetadata =+    CreateInstanceMetadata'+    { _cimRequestTime = Nothing+    , _cimOriginalRequest = Nothing+    , _cimFinishTime = Nothing+    }++-- | The time at which the original request was received.+cimRequestTime :: Lens' CreateInstanceMetadata (Maybe UTCTime)+cimRequestTime+  = lens _cimRequestTime+      (\ s a -> s{_cimRequestTime = a})+      . mapping _DateTime++-- | The request that prompted the initiation of this CreateInstance+-- operation.+cimOriginalRequest :: Lens' CreateInstanceMetadata (Maybe CreateInstanceRequest)+cimOriginalRequest+  = lens _cimOriginalRequest+      (\ s a -> s{_cimOriginalRequest = a})++-- | The time at which the operation failed or was completed successfully.+cimFinishTime :: Lens' CreateInstanceMetadata (Maybe UTCTime)+cimFinishTime+  = lens _cimFinishTime+      (\ s a -> s{_cimFinishTime = a})+      . mapping _DateTime++instance FromJSON CreateInstanceMetadata where+        parseJSON+          = withObject "CreateInstanceMetadata"+              (\ o ->+                 CreateInstanceMetadata' <$>+                   (o .:? "requestTime") <*> (o .:? "originalRequest")+                     <*> (o .:? "finishTime"))++instance ToJSON CreateInstanceMetadata where+        toJSON CreateInstanceMetadata'{..}+          = object+              (catMaybes+                 [("requestTime" .=) <$> _cimRequestTime,+                  ("originalRequest" .=) <$> _cimOriginalRequest,+                  ("finishTime" .=) <$> _cimFinishTime])++-- | Service-specific metadata associated with the operation. It typically+-- contains progress information and common metadata such as create time.+-- Some services might not provide such metadata. Any method that returns a+-- long-running operation should document the metadata type, if any.+--+-- /See:/ 'operationMetadata' smart constructor.+newtype OperationMetadata = OperationMetadata'+    { _omAddtional :: HashMap Text JSONValue+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'OperationMetadata' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'omAddtional'+operationMetadata+    :: HashMap Text JSONValue -- ^ 'omAddtional'+    -> OperationMetadata+operationMetadata pOmAddtional_ =+    OperationMetadata'+    { _omAddtional = _Coerce # pOmAddtional_+    }++-- | Properties of the object. Contains field \'type with type URL.+omAddtional :: Lens' OperationMetadata (HashMap Text JSONValue)+omAddtional+  = lens _omAddtional (\ s a -> s{_omAddtional = a}) .+      _Coerce++instance FromJSON OperationMetadata where+        parseJSON+          = withObject "OperationMetadata"+              (\ o -> OperationMetadata' <$> (parseJSONObject o))++instance ToJSON OperationMetadata where+        toJSON = toJSON . _omAddtional++-- | Provides the configuration for logging a type of permissions. Example: {+-- \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\",+-- \"exempted_members\": [ \"user:foo\'gmail.com\" ] }, { \"log_type\":+-- \"DATA_WRITE\", } ] } This enables \'DATA_READ\' and \'DATA_WRITE\'+-- logging, while exempting foo\'gmail.com from DATA_READ logging.+--+-- /See:/ 'auditLogConfig' smart constructor.+data AuditLogConfig = AuditLogConfig'+    { _alcLogType         :: !(Maybe AuditLogConfigLogType)+    , _alcExemptedMembers :: !(Maybe [Text])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AuditLogConfig' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'alcLogType'+--+-- * 'alcExemptedMembers'+auditLogConfig+    :: AuditLogConfig+auditLogConfig =+    AuditLogConfig'+    { _alcLogType = Nothing+    , _alcExemptedMembers = Nothing+    }++-- | The log type that this config enables.+alcLogType :: Lens' AuditLogConfig (Maybe AuditLogConfigLogType)+alcLogType+  = lens _alcLogType (\ s a -> s{_alcLogType = a})++-- | Specifies the identities that do not cause logging for this type of+-- permission. Follows the same format of Binding.members.+alcExemptedMembers :: Lens' AuditLogConfig [Text]+alcExemptedMembers+  = lens _alcExemptedMembers+      (\ s a -> s{_alcExemptedMembers = a})+      . _Default+      . _Coerce++instance FromJSON AuditLogConfig where+        parseJSON+          = withObject "AuditLogConfig"+              (\ o ->+                 AuditLogConfig' <$>+                   (o .:? "logType") <*>+                     (o .:? "exemptedMembers" .!= mempty))++instance ToJSON AuditLogConfig where+        toJSON AuditLogConfig'{..}+          = object+              (catMaybes+                 [("logType" .=) <$> _alcLogType,+                  ("exemptedMembers" .=) <$> _alcExemptedMembers])++-- | Response message for BigtableInstanceAdmin.ListInstances.+--+-- /See:/ 'listInstancesResponse' smart constructor.+data ListInstancesResponse = ListInstancesResponse'+    { _lirNextPageToken   :: !(Maybe Text)+    , _lirFailedLocations :: !(Maybe [Text])+    , _lirInstances       :: !(Maybe [Instance])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ListInstancesResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lirNextPageToken'+--+-- * 'lirFailedLocations'+--+-- * 'lirInstances'+listInstancesResponse+    :: ListInstancesResponse+listInstancesResponse =+    ListInstancesResponse'+    { _lirNextPageToken = Nothing+    , _lirFailedLocations = Nothing+    , _lirInstances = Nothing+    }++-- | DEPRECATED: This field is unused and ignored.+lirNextPageToken :: Lens' ListInstancesResponse (Maybe Text)+lirNextPageToken+  = lens _lirNextPageToken+      (\ s a -> s{_lirNextPageToken = a})++-- | Locations from which Instance information could not be retrieved, due to+-- an outage or some other transient condition. Instances whose Clusters+-- are all in one of the failed locations may be missing from+-- \`instances\`, and Instances with at least one Cluster in a failed+-- location may only have partial information returned. Values are of the+-- form \`projects\/\/locations\/\`+lirFailedLocations :: Lens' ListInstancesResponse [Text]+lirFailedLocations+  = lens _lirFailedLocations+      (\ s a -> s{_lirFailedLocations = a})+      . _Default+      . _Coerce++-- | The list of requested instances.+lirInstances :: Lens' ListInstancesResponse [Instance]+lirInstances+  = lens _lirInstances (\ s a -> s{_lirInstances = a})+      . _Default+      . _Coerce++instance FromJSON ListInstancesResponse where+        parseJSON+          = withObject "ListInstancesResponse"+              (\ o ->+                 ListInstancesResponse' <$>+                   (o .:? "nextPageToken") <*>+                     (o .:? "failedLocations" .!= mempty)+                     <*> (o .:? "instances" .!= mempty))++instance ToJSON ListInstancesResponse where+        toJSON ListInstancesResponse'{..}+          = object+              (catMaybes+                 [("nextPageToken" .=) <$> _lirNextPageToken,+                  ("failedLocations" .=) <$> _lirFailedLocations,+                  ("instances" .=) <$> _lirInstances])++-- | Response message for+-- google.bigtable.admin.v2.BigtableTableAdmin.CheckConsistency+--+-- /See:/ 'checkConsistencyResponse' smart constructor.+newtype CheckConsistencyResponse = CheckConsistencyResponse'+    { _ccrConsistent :: Maybe Bool+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CheckConsistencyResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ccrConsistent'+checkConsistencyResponse+    :: CheckConsistencyResponse+checkConsistencyResponse =+    CheckConsistencyResponse'+    { _ccrConsistent = Nothing+    }++-- | True only if the token is consistent. A token is consistent if+-- replication has caught up with the restrictions specified in the+-- request.+ccrConsistent :: Lens' CheckConsistencyResponse (Maybe Bool)+ccrConsistent+  = lens _ccrConsistent+      (\ s a -> s{_ccrConsistent = a})++instance FromJSON CheckConsistencyResponse where+        parseJSON+          = withObject "CheckConsistencyResponse"+              (\ o ->+                 CheckConsistencyResponse' <$> (o .:? "consistent"))++instance ToJSON CheckConsistencyResponse where+        toJSON CheckConsistencyResponse'{..}+          = object+              (catMaybes [("consistent" .=) <$> _ccrConsistent])++-- | A create, update, or delete of a particular column family.+--+-- /See:/ 'modification' smart constructor.+data Modification = Modification'+    { _mDrop   :: !(Maybe Bool)+    , _mCreate :: !(Maybe ColumnFamily)+    , _mId     :: !(Maybe Text)+    , _mUpdate :: !(Maybe ColumnFamily)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Modification' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mDrop'+--+-- * 'mCreate'+--+-- * 'mId'+--+-- * 'mUpdate'+modification+    :: Modification+modification =+    Modification'+    { _mDrop = Nothing+    , _mCreate = Nothing+    , _mId = Nothing+    , _mUpdate = Nothing+    }++-- | Drop (delete) the column family with the given ID, or fail if no such+-- family exists.+mDrop :: Lens' Modification (Maybe Bool)+mDrop = lens _mDrop (\ s a -> s{_mDrop = a})++-- | Create a new column family with the specified schema, or fail if one+-- already exists with the given ID.+mCreate :: Lens' Modification (Maybe ColumnFamily)+mCreate = lens _mCreate (\ s a -> s{_mCreate = a})++-- | The ID of the column family to be modified.+mId :: Lens' Modification (Maybe Text)+mId = lens _mId (\ s a -> s{_mId = a})++-- | Update an existing column family to the specified schema, or fail if no+-- column family exists with the given ID.+mUpdate :: Lens' Modification (Maybe ColumnFamily)+mUpdate = lens _mUpdate (\ s a -> s{_mUpdate = a})++instance FromJSON Modification where+        parseJSON+          = withObject "Modification"+              (\ o ->+                 Modification' <$>+                   (o .:? "drop") <*> (o .:? "create") <*> (o .:? "id")+                     <*> (o .:? "update"))++instance ToJSON Modification where+        toJSON Modification'{..}+          = object+              (catMaybes+                 [("drop" .=) <$> _mDrop, ("create" .=) <$> _mCreate,+                  ("id" .=) <$> _mId, ("update" .=) <$> _mUpdate])++-- | A collection of user data indexed by row, column, and timestamp. Each+-- table is served using the resources of its parent cluster.+--+-- /See:/ 'table' smart constructor.+data Table = Table'+    { _tGranularity    :: !(Maybe TableGranularity)+    , _tName           :: !(Maybe Text)+    , _tClusterStates  :: !(Maybe TableClusterStates)+    , _tColumnFamilies :: !(Maybe TableColumnFamilies)+    } 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:+--+-- * 'tGranularity'+--+-- * 'tName'+--+-- * 'tClusterStates'+--+-- * 'tColumnFamilies'+table+    :: Table+table =+    Table'+    { _tGranularity = Nothing+    , _tName = Nothing+    , _tClusterStates = Nothing+    , _tColumnFamilies = Nothing+    }++-- | (\`CreationOnly\`) The granularity (i.e. \`MILLIS\`) at which timestamps+-- are stored in this table. Timestamps not matching the granularity will+-- be rejected. If unspecified at creation time, the value will be set to+-- \`MILLIS\`. Views: \`SCHEMA_VIEW\`, \`FULL\`+tGranularity :: Lens' Table (Maybe TableGranularity)+tGranularity+  = lens _tGranularity (\ s a -> s{_tGranularity = a})++-- | (\`OutputOnly\`) The unique name of the table. Values are of the form+-- \`projects\/\/instances\/\/tables\/_a-zA-Z0-9*\`. Views: \`NAME_ONLY\`,+-- \`SCHEMA_VIEW\`, \`REPLICATION_VIEW\`, \`FULL\`+tName :: Lens' Table (Maybe Text)+tName = lens _tName (\ s a -> s{_tName = a})++-- | (\`OutputOnly\`) Map from cluster ID to per-cluster table state. If it+-- could not be determined whether or not the table has data in a+-- particular cluster (for example, if its zone is unavailable), then there+-- will be an entry for the cluster with UNKNOWN \`replication_status\`.+-- Views: \`REPLICATION_VIEW\`, \`FULL\`+tClusterStates :: Lens' Table (Maybe TableClusterStates)+tClusterStates+  = lens _tClusterStates+      (\ s a -> s{_tClusterStates = a})++-- | (\`CreationOnly\`) The column families configured for this table, mapped+-- by column family ID. Views: \`SCHEMA_VIEW\`, \`FULL\`+tColumnFamilies :: Lens' Table (Maybe TableColumnFamilies)+tColumnFamilies+  = lens _tColumnFamilies+      (\ s a -> s{_tColumnFamilies = a})++instance FromJSON Table where+        parseJSON+          = withObject "Table"+              (\ o ->+                 Table' <$>+                   (o .:? "granularity") <*> (o .:? "name") <*>+                     (o .:? "clusterStates")+                     <*> (o .:? "columnFamilies"))++instance ToJSON Table where+        toJSON Table'{..}+          = object+              (catMaybes+                 [("granularity" .=) <$> _tGranularity,+                  ("name" .=) <$> _tName,+                  ("clusterStates" .=) <$> _tClusterStates,+                  ("columnFamilies" .=) <$> _tColumnFamilies])++-- | The normal response of the operation in case of success. If the original+-- method returns no data on success, such as \`Delete\`, the response is+-- \`google.protobuf.Empty\`. If the original method is standard+-- \`Get\`\/\`Create\`\/\`Update\`, the response should be the resource.+-- For other methods, the response should have the type \`XxxResponse\`,+-- where \`Xxx\` is the original method name. For example, if the original+-- method name is \`TakeSnapshot()\`, the inferred response type is+-- \`TakeSnapshotResponse\`.+--+-- /See:/ 'operationResponse' smart constructor.+newtype OperationResponse = OperationResponse'+    { _orAddtional :: HashMap Text JSONValue+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'OperationResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'orAddtional'+operationResponse+    :: HashMap Text JSONValue -- ^ 'orAddtional'+    -> OperationResponse+operationResponse pOrAddtional_ =+    OperationResponse'+    { _orAddtional = _Coerce # pOrAddtional_+    }++-- | Properties of the object. Contains field \'type with type URL.+orAddtional :: Lens' OperationResponse (HashMap Text JSONValue)+orAddtional+  = lens _orAddtional (\ s a -> s{_orAddtional = a}) .+      _Coerce++instance FromJSON OperationResponse where+        parseJSON+          = withObject "OperationResponse"+              (\ o -> OperationResponse' <$> (parseJSONObject o))++instance ToJSON OperationResponse where+        toJSON = toJSON . _orAddtional++-- | Associates \`members\` with a \`role\`.+--+-- /See:/ 'binding' smart constructor.+data Binding = Binding'+    { _bMembers   :: !(Maybe [Text])+    , _bRole      :: !(Maybe Text)+    , _bCondition :: !(Maybe Expr)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Binding' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'bMembers'+--+-- * 'bRole'+--+-- * 'bCondition'+binding+    :: Binding+binding =+    Binding'+    { _bMembers = Nothing+    , _bRole = Nothing+    , _bCondition = Nothing+    }++-- | Specifies the identities requesting access for a Cloud Platform+-- resource. \`members\` can have the following values: * \`allUsers\`: A+-- special identifier that represents anyone who is on the internet; with+-- or without a Google account. * \`allAuthenticatedUsers\`: A special+-- identifier that represents anyone who is authenticated with a Google+-- account or a service account. * \`user:{emailid}\`: An email address+-- that represents a specific Google account. For example,+-- \`alice\'gmail.com\` . * \`serviceAccount:{emailid}\`: An email address+-- that represents a service account. For example,+-- \`my-other-app\'appspot.gserviceaccount.com\`. * \`group:{emailid}\`: An+-- email address that represents a Google group. For example,+-- \`admins\'example.com\`. * \`domain:{domain}\`: A Google Apps domain+-- name that represents all the users of that domain. For example,+-- \`google.com\` or \`example.com\`.+bMembers :: Lens' Binding [Text]+bMembers+  = lens _bMembers (\ s a -> s{_bMembers = a}) .+      _Default+      . _Coerce++-- | Role that is assigned to \`members\`. For example, \`roles\/viewer\`,+-- \`roles\/editor\`, or \`roles\/owner\`.+bRole :: Lens' Binding (Maybe Text)+bRole = lens _bRole (\ s a -> s{_bRole = a})++-- | Unimplemented. The condition that is associated with this binding. NOTE:+-- an unsatisfied condition will not allow user access via current binding.+-- Different bindings, including their conditions, are examined+-- independently.+bCondition :: Lens' Binding (Maybe Expr)+bCondition+  = lens _bCondition (\ s a -> s{_bCondition = a})++instance FromJSON Binding where+        parseJSON+          = withObject "Binding"+              (\ o ->+                 Binding' <$>+                   (o .:? "members" .!= mempty) <*> (o .:? "role") <*>+                     (o .:? "condition"))++instance ToJSON Binding where+        toJSON Binding'{..}+          = object+              (catMaybes+                 [("members" .=) <$> _bMembers,+                  ("role" .=) <$> _bRole,+                  ("condition" .=) <$> _bCondition])++-- | A collection of Bigtable Tables and the resources that serve them. All+-- tables in an instance are served from all Clusters in the instance.+--+-- /See:/ 'instance'' smart constructor.+data Instance = Instance'+    { _iState       :: !(Maybe InstanceState)+    , _iName        :: !(Maybe Text)+    , _iDisplayName :: !(Maybe Text)+    , _iLabels      :: !(Maybe InstanceLabels)+    , _iType        :: !(Maybe InstanceType)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Instance' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'iState'+--+-- * 'iName'+--+-- * 'iDisplayName'+--+-- * 'iLabels'+--+-- * 'iType'+instance'+    :: Instance+instance' =+    Instance'+    { _iState = Nothing+    , _iName = Nothing+    , _iDisplayName = Nothing+    , _iLabels = Nothing+    , _iType = Nothing+    }++-- | (\`OutputOnly\`) The current state of the instance.+iState :: Lens' Instance (Maybe InstanceState)+iState = lens _iState (\ s a -> s{_iState = a})++-- | (\`OutputOnly\`) The unique name of the instance. Values are of the form+-- \`projects\/\/instances\/a-z+[a-z0-9]\`.+iName :: Lens' Instance (Maybe Text)+iName = lens _iName (\ s a -> s{_iName = a})++-- | The descriptive name for this instance as it appears in UIs. Can be+-- changed at any time, but should be kept globally unique to avoid+-- confusion.+iDisplayName :: Lens' Instance (Maybe Text)+iDisplayName+  = lens _iDisplayName (\ s a -> s{_iDisplayName = a})++-- | Labels are a flexible and lightweight mechanism for organizing cloud+-- resources into groups that reflect a customer\'s organizational needs+-- and deployment strategies. They can be used to filter resources and+-- aggregate metrics. * Label keys must be between 1 and 63 characters long+-- and must conform to the regular expression: \`\\p{Ll}\\p{Lo}{0,62}\`. *+-- Label values must be between 0 and 63 characters long and must conform+-- to the regular expression: \`[\\p{Ll}\\p{Lo}\\p{N}_-]{0,63}\`. * No more+-- than 64 labels can be associated with a given resource. * Keys and+-- values must both be under 128 bytes.+iLabels :: Lens' Instance (Maybe InstanceLabels)+iLabels = lens _iLabels (\ s a -> s{_iLabels = a})++-- | The type of the instance. Defaults to \`PRODUCTION\`.+iType :: Lens' Instance (Maybe InstanceType)+iType = lens _iType (\ s a -> s{_iType = a})++instance FromJSON Instance where+        parseJSON+          = withObject "Instance"+              (\ o ->+                 Instance' <$>+                   (o .:? "state") <*> (o .:? "name") <*>+                     (o .:? "displayName")+                     <*> (o .:? "labels")+                     <*> (o .:? "type"))++instance ToJSON Instance where+        toJSON Instance'{..}+          = object+              (catMaybes+                 [("state" .=) <$> _iState, ("name" .=) <$> _iName,+                  ("displayName" .=) <$> _iDisplayName,+                  ("labels" .=) <$> _iLabels, ("type" .=) <$> _iType])
+ gen/Network/Google/BigtableAdmin/Types/Sum.hs view
@@ -0,0 +1,335 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE LambdaCase         #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module      : Network.Google.BigtableAdmin.Types.Sum+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+module Network.Google.BigtableAdmin.Types.Sum where++import           Network.Google.Prelude hiding (Bytes)++-- | (\`CreationOnly\`) The type of storage used by this cluster to serve its+-- parent instance\'s tables, unless explicitly overridden.+data ClusterDefaultStorageType+    = StorageTypeUnspecified+      -- ^ @STORAGE_TYPE_UNSPECIFIED@+      -- The user did not specify a storage type.+    | Ssd+      -- ^ @SSD@+      -- Flash (SSD) storage should be used.+    | Hdd+      -- ^ @HDD@+      -- Magnetic drive (HDD) storage should be used.+      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable ClusterDefaultStorageType++instance FromHttpApiData ClusterDefaultStorageType where+    parseQueryParam = \case+        "STORAGE_TYPE_UNSPECIFIED" -> Right StorageTypeUnspecified+        "SSD" -> Right Ssd+        "HDD" -> Right Hdd+        x -> Left ("Unable to parse ClusterDefaultStorageType from: " <> x)++instance ToHttpApiData ClusterDefaultStorageType where+    toQueryParam = \case+        StorageTypeUnspecified -> "STORAGE_TYPE_UNSPECIFIED"+        Ssd -> "SSD"+        Hdd -> "HDD"++instance FromJSON ClusterDefaultStorageType where+    parseJSON = parseJSONText "ClusterDefaultStorageType"++instance ToJSON ClusterDefaultStorageType where+    toJSON = toJSONText++-- | (\`OutputOnly\`) The state of replication for the table in this cluster.+data ClusterStateReplicationState+    = StateNotKnown+      -- ^ @STATE_NOT_KNOWN@+      -- The replication state of the table is unknown in this cluster.+    | Initializing+      -- ^ @INITIALIZING@+      -- The cluster was recently created, and the table must finish copying over+      -- pre-existing data from other clusters before it can begin receiving live+      -- replication updates and serving Data API requests.+    | PlannedMaintenance+      -- ^ @PLANNED_MAINTENANCE@+      -- The table is temporarily unable to serve Data API requests from this+      -- cluster due to planned internal maintenance.+    | UnplannedMaintenance+      -- ^ @UNPLANNED_MAINTENANCE@+      -- The table is temporarily unable to serve Data API requests from this+      -- cluster due to unplanned or emergency maintenance.+    | Ready+      -- ^ @READY@+      -- The table can serve Data API requests from this cluster. Depending on+      -- replication delay, reads may not immediately reflect the state of the+      -- table in other clusters.+      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable ClusterStateReplicationState++instance FromHttpApiData ClusterStateReplicationState where+    parseQueryParam = \case+        "STATE_NOT_KNOWN" -> Right StateNotKnown+        "INITIALIZING" -> Right Initializing+        "PLANNED_MAINTENANCE" -> Right PlannedMaintenance+        "UNPLANNED_MAINTENANCE" -> Right UnplannedMaintenance+        "READY" -> Right Ready+        x -> Left ("Unable to parse ClusterStateReplicationState from: " <> x)++instance ToHttpApiData ClusterStateReplicationState where+    toQueryParam = \case+        StateNotKnown -> "STATE_NOT_KNOWN"+        Initializing -> "INITIALIZING"+        PlannedMaintenance -> "PLANNED_MAINTENANCE"+        UnplannedMaintenance -> "UNPLANNED_MAINTENANCE"+        Ready -> "READY"++instance FromJSON ClusterStateReplicationState where+    parseJSON = parseJSONText "ClusterStateReplicationState"++instance ToJSON ClusterStateReplicationState where+    toJSON = toJSONText++-- | The type of the instance. Defaults to \`PRODUCTION\`.+data InstanceType+    = TypeUnspecified+      -- ^ @TYPE_UNSPECIFIED@+      -- The type of the instance is unspecified. If set when creating an+      -- instance, a \`PRODUCTION\` instance will be created. If set when+      -- updating an instance, the type will be left unchanged.+    | Production+      -- ^ @PRODUCTION@+      -- An instance meant for production use. \`serve_nodes\` must be set on the+      -- cluster.+    | Development+      -- ^ @DEVELOPMENT@+      -- The instance is meant for development and testing purposes only; it has+      -- no performance or uptime guarantees and is not covered by SLA. After a+      -- development instance is created, it can be upgraded by updating the+      -- instance to type \`PRODUCTION\`. An instance created as a production+      -- instance cannot be changed to a development instance. When creating a+      -- development instance, \`serve_nodes\` on the cluster must not be set.+      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable InstanceType++instance FromHttpApiData InstanceType where+    parseQueryParam = \case+        "TYPE_UNSPECIFIED" -> Right TypeUnspecified+        "PRODUCTION" -> Right Production+        "DEVELOPMENT" -> Right Development+        x -> Left ("Unable to parse InstanceType from: " <> x)++instance ToHttpApiData InstanceType where+    toQueryParam = \case+        TypeUnspecified -> "TYPE_UNSPECIFIED"+        Production -> "PRODUCTION"+        Development -> "DEVELOPMENT"++instance FromJSON InstanceType where+    parseJSON = parseJSONText "InstanceType"++instance ToJSON InstanceType where+    toJSON = toJSONText++-- | The log type that this config enables.+data AuditLogConfigLogType+    = LogTypeUnspecified+      -- ^ @LOG_TYPE_UNSPECIFIED@+      -- Default case. Should never be this.+    | AdminRead+      -- ^ @ADMIN_READ@+      -- Admin reads. Example: CloudIAM getIamPolicy+    | DataWrite+      -- ^ @DATA_WRITE@+      -- Data writes. Example: CloudSQL Users create+    | DataRead+      -- ^ @DATA_READ@+      -- Data reads. Example: CloudSQL Users list+      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable AuditLogConfigLogType++instance FromHttpApiData AuditLogConfigLogType where+    parseQueryParam = \case+        "LOG_TYPE_UNSPECIFIED" -> Right LogTypeUnspecified+        "ADMIN_READ" -> Right AdminRead+        "DATA_WRITE" -> Right DataWrite+        "DATA_READ" -> Right DataRead+        x -> Left ("Unable to parse AuditLogConfigLogType from: " <> x)++instance ToHttpApiData AuditLogConfigLogType where+    toQueryParam = \case+        LogTypeUnspecified -> "LOG_TYPE_UNSPECIFIED"+        AdminRead -> "ADMIN_READ"+        DataWrite -> "DATA_WRITE"+        DataRead -> "DATA_READ"++instance FromJSON AuditLogConfigLogType where+    parseJSON = parseJSONText "AuditLogConfigLogType"++instance ToJSON AuditLogConfigLogType where+    toJSON = toJSONText++-- | V1 error format.+data Xgafv+    = X1+      -- ^ @1@+      -- v1 error format+    | X2+      -- ^ @2@+      -- v2 error format+      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable Xgafv++instance FromHttpApiData Xgafv where+    parseQueryParam = \case+        "1" -> Right X1+        "2" -> Right X2+        x -> Left ("Unable to parse Xgafv from: " <> x)++instance ToHttpApiData Xgafv where+    toQueryParam = \case+        X1 -> "1"+        X2 -> "2"++instance FromJSON Xgafv where+    parseJSON = parseJSONText "Xgafv"++instance ToJSON Xgafv where+    toJSON = toJSONText++-- | (\`CreationOnly\`) The granularity (i.e. \`MILLIS\`) at which timestamps+-- are stored in this table. Timestamps not matching the granularity will+-- be rejected. If unspecified at creation time, the value will be set to+-- \`MILLIS\`. Views: \`SCHEMA_VIEW\`, \`FULL\`+data TableGranularity+    = TimestampGranularityUnspecified+      -- ^ @TIMESTAMP_GRANULARITY_UNSPECIFIED@+      -- The user did not specify a granularity. Should not be returned. When+      -- specified during table creation, MILLIS will be used.+    | Millis+      -- ^ @MILLIS@+      -- The table keeps data versioned at a granularity of 1ms.+      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable TableGranularity++instance FromHttpApiData TableGranularity where+    parseQueryParam = \case+        "TIMESTAMP_GRANULARITY_UNSPECIFIED" -> Right TimestampGranularityUnspecified+        "MILLIS" -> Right Millis+        x -> Left ("Unable to parse TableGranularity from: " <> x)++instance ToHttpApiData TableGranularity where+    toQueryParam = \case+        TimestampGranularityUnspecified -> "TIMESTAMP_GRANULARITY_UNSPECIFIED"+        Millis -> "MILLIS"++instance FromJSON TableGranularity where+    parseJSON = parseJSONText "TableGranularity"++instance ToJSON TableGranularity where+    toJSON = toJSONText++-- | (\`OutputOnly\`) The current state of the cluster.+data ClusterType+    = CTStateNotKnown+      -- ^ @STATE_NOT_KNOWN@+      -- The state of the cluster could not be determined.+    | CTReady+      -- ^ @READY@+      -- The cluster has been successfully created and is ready to serve+      -- requests.+    | CTCreating+      -- ^ @CREATING@+      -- The cluster is currently being created, and may be destroyed if the+      -- creation process encounters an error. A cluster may not be able to serve+      -- requests while being created.+    | CTResizing+      -- ^ @RESIZING@+      -- The cluster is currently being resized, and may revert to its previous+      -- node count if the process encounters an error. A cluster is still+      -- capable of serving requests while being resized, but may exhibit+      -- performance as if its number of allocated nodes is between the starting+      -- and requested states.+    | CTDisabled+      -- ^ @DISABLED@+      -- The cluster has no backing nodes. The data (tables) still exist, but no+      -- operations can be performed on the cluster.+      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable ClusterType++instance FromHttpApiData ClusterType where+    parseQueryParam = \case+        "STATE_NOT_KNOWN" -> Right CTStateNotKnown+        "READY" -> Right CTReady+        "CREATING" -> Right CTCreating+        "RESIZING" -> Right CTResizing+        "DISABLED" -> Right CTDisabled+        x -> Left ("Unable to parse ClusterType from: " <> x)++instance ToHttpApiData ClusterType where+    toQueryParam = \case+        CTStateNotKnown -> "STATE_NOT_KNOWN"+        CTReady -> "READY"+        CTCreating -> "CREATING"+        CTResizing -> "RESIZING"+        CTDisabled -> "DISABLED"++instance FromJSON ClusterType where+    parseJSON = parseJSONText "ClusterType"++instance ToJSON ClusterType where+    toJSON = toJSONText++-- | (\`OutputOnly\`) The current state of the instance.+data InstanceState+    = ISStateNotKnown+      -- ^ @STATE_NOT_KNOWN@+      -- The state of the instance could not be determined.+    | ISReady+      -- ^ @READY@+      -- The instance has been successfully created and can serve requests to its+      -- tables.+    | ISCreating+      -- ^ @CREATING@+      -- The instance is currently being created, and may be destroyed if the+      -- creation process encounters an error.+      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable InstanceState++instance FromHttpApiData InstanceState where+    parseQueryParam = \case+        "STATE_NOT_KNOWN" -> Right ISStateNotKnown+        "READY" -> Right ISReady+        "CREATING" -> Right ISCreating+        x -> Left ("Unable to parse InstanceState from: " <> x)++instance ToHttpApiData InstanceState where+    toQueryParam = \case+        ISStateNotKnown -> "STATE_NOT_KNOWN"+        ISReady -> "READY"+        ISCreating -> "CREATING"++instance FromJSON InstanceState where+    parseJSON = parseJSONText "InstanceState"++instance ToJSON InstanceState where+    toJSON = toJSONText
+ gen/Network/Google/Resource/BigtableAdmin/Operations/Cancel.hs view
@@ -0,0 +1,164 @@+{-# 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.BigtableAdmin.Operations.Cancel+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Starts asynchronous cancellation on a long-running operation. The server+-- makes a best effort to cancel the operation, but success is not+-- guaranteed. If the server doesn\'t support this method, it returns+-- \`google.rpc.Code.UNIMPLEMENTED\`. Clients can use+-- Operations.GetOperation or other methods to check whether the+-- cancellation succeeded or whether the operation completed despite+-- cancellation. On successful cancellation, the operation is not deleted;+-- instead, it becomes an operation with an Operation.error value with a+-- google.rpc.Status.code of 1, corresponding to \`Code.CANCELLED\`.+--+-- /See:/ <https://cloud.google.com/bigtable/ Cloud Bigtable Admin API Reference> for @bigtableadmin.operations.cancel@.+module Network.Google.Resource.BigtableAdmin.Operations.Cancel+    (+    -- * REST Resource+      OperationsCancelResource++    -- * Creating a Request+    , operationsCancel+    , OperationsCancel++    -- * Request Lenses+    , ocXgafv+    , ocUploadProtocol+    , ocAccessToken+    , ocUploadType+    , ocName+    , ocCallback+    ) where++import           Network.Google.BigtableAdmin.Types+import           Network.Google.Prelude++-- | A resource alias for @bigtableadmin.operations.cancel@ method which the+-- 'OperationsCancel' request conforms to.+type OperationsCancelResource =+     "v2" :>+       CaptureMode "name" "cancel" Text :>+         QueryParam "$.xgafv" Xgafv :>+           QueryParam "upload_protocol" Text :>+             QueryParam "access_token" Text :>+               QueryParam "uploadType" Text :>+                 QueryParam "callback" Text :>+                   QueryParam "alt" AltJSON :> Post '[JSON] Empty++-- | Starts asynchronous cancellation on a long-running operation. The server+-- makes a best effort to cancel the operation, but success is not+-- guaranteed. If the server doesn\'t support this method, it returns+-- \`google.rpc.Code.UNIMPLEMENTED\`. Clients can use+-- Operations.GetOperation or other methods to check whether the+-- cancellation succeeded or whether the operation completed despite+-- cancellation. On successful cancellation, the operation is not deleted;+-- instead, it becomes an operation with an Operation.error value with a+-- google.rpc.Status.code of 1, corresponding to \`Code.CANCELLED\`.+--+-- /See:/ 'operationsCancel' smart constructor.+data OperationsCancel = OperationsCancel'+    { _ocXgafv          :: !(Maybe Xgafv)+    , _ocUploadProtocol :: !(Maybe Text)+    , _ocAccessToken    :: !(Maybe Text)+    , _ocUploadType     :: !(Maybe Text)+    , _ocName           :: !Text+    , _ocCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'OperationsCancel' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ocXgafv'+--+-- * 'ocUploadProtocol'+--+-- * 'ocAccessToken'+--+-- * 'ocUploadType'+--+-- * 'ocName'+--+-- * 'ocCallback'+operationsCancel+    :: Text -- ^ 'ocName'+    -> OperationsCancel+operationsCancel pOcName_ =+    OperationsCancel'+    { _ocXgafv = Nothing+    , _ocUploadProtocol = Nothing+    , _ocAccessToken = Nothing+    , _ocUploadType = Nothing+    , _ocName = pOcName_+    , _ocCallback = Nothing+    }++-- | V1 error format.+ocXgafv :: Lens' OperationsCancel (Maybe Xgafv)+ocXgafv = lens _ocXgafv (\ s a -> s{_ocXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+ocUploadProtocol :: Lens' OperationsCancel (Maybe Text)+ocUploadProtocol+  = lens _ocUploadProtocol+      (\ s a -> s{_ocUploadProtocol = a})++-- | OAuth access token.+ocAccessToken :: Lens' OperationsCancel (Maybe Text)+ocAccessToken+  = lens _ocAccessToken+      (\ s a -> s{_ocAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+ocUploadType :: Lens' OperationsCancel (Maybe Text)+ocUploadType+  = lens _ocUploadType (\ s a -> s{_ocUploadType = a})++-- | The name of the operation resource to be cancelled.+ocName :: Lens' OperationsCancel Text+ocName = lens _ocName (\ s a -> s{_ocName = a})++-- | JSONP+ocCallback :: Lens' OperationsCancel (Maybe Text)+ocCallback+  = lens _ocCallback (\ s a -> s{_ocCallback = a})++instance GoogleRequest OperationsCancel where+        type Rs OperationsCancel = Empty+        type Scopes OperationsCancel =+             '["https://www.googleapis.com/auth/bigtable.admin",+               "https://www.googleapis.com/auth/bigtable.admin.cluster",+               "https://www.googleapis.com/auth/bigtable.admin.instance",+               "https://www.googleapis.com/auth/cloud-bigtable.admin",+               "https://www.googleapis.com/auth/cloud-bigtable.admin.cluster",+               "https://www.googleapis.com/auth/cloud-platform"]+        requestClient OperationsCancel'{..}+          = go _ocName _ocXgafv _ocUploadProtocol+              _ocAccessToken+              _ocUploadType+              _ocCallback+              (Just AltJSON)+              bigtableAdminService+          where go+                  = buildClient+                      (Proxy :: Proxy OperationsCancelResource)+                      mempty
+ gen/Network/Google/Resource/BigtableAdmin/Operations/Delete.hs view
@@ -0,0 +1,154 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.BigtableAdmin.Operations.Delete+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes a long-running operation. This method indicates that the client+-- is no longer interested in the operation result. It does not cancel the+-- operation. If the server doesn\'t support this method, it returns+-- \`google.rpc.Code.UNIMPLEMENTED\`.+--+-- /See:/ <https://cloud.google.com/bigtable/ Cloud Bigtable Admin API Reference> for @bigtableadmin.operations.delete@.+module Network.Google.Resource.BigtableAdmin.Operations.Delete+    (+    -- * REST Resource+      OperationsDeleteResource++    -- * Creating a Request+    , operationsDelete+    , OperationsDelete++    -- * Request Lenses+    , odXgafv+    , odUploadProtocol+    , odAccessToken+    , odUploadType+    , odName+    , odCallback+    ) where++import           Network.Google.BigtableAdmin.Types+import           Network.Google.Prelude++-- | A resource alias for @bigtableadmin.operations.delete@ method which the+-- 'OperationsDelete' request conforms to.+type OperationsDeleteResource =+     "v2" :>+       Capture "name" Text :>+         QueryParam "$.xgafv" Xgafv :>+           QueryParam "upload_protocol" Text :>+             QueryParam "access_token" Text :>+               QueryParam "uploadType" Text :>+                 QueryParam "callback" Text :>+                   QueryParam "alt" AltJSON :> Delete '[JSON] Empty++-- | Deletes a long-running operation. This method indicates that the client+-- is no longer interested in the operation result. It does not cancel the+-- operation. If the server doesn\'t support this method, it returns+-- \`google.rpc.Code.UNIMPLEMENTED\`.+--+-- /See:/ 'operationsDelete' smart constructor.+data OperationsDelete = OperationsDelete'+    { _odXgafv          :: !(Maybe Xgafv)+    , _odUploadProtocol :: !(Maybe Text)+    , _odAccessToken    :: !(Maybe Text)+    , _odUploadType     :: !(Maybe Text)+    , _odName           :: !Text+    , _odCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'OperationsDelete' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'odXgafv'+--+-- * 'odUploadProtocol'+--+-- * 'odAccessToken'+--+-- * 'odUploadType'+--+-- * 'odName'+--+-- * 'odCallback'+operationsDelete+    :: Text -- ^ 'odName'+    -> OperationsDelete+operationsDelete pOdName_ =+    OperationsDelete'+    { _odXgafv = Nothing+    , _odUploadProtocol = Nothing+    , _odAccessToken = Nothing+    , _odUploadType = Nothing+    , _odName = pOdName_+    , _odCallback = Nothing+    }++-- | V1 error format.+odXgafv :: Lens' OperationsDelete (Maybe Xgafv)+odXgafv = lens _odXgafv (\ s a -> s{_odXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+odUploadProtocol :: Lens' OperationsDelete (Maybe Text)+odUploadProtocol+  = lens _odUploadProtocol+      (\ s a -> s{_odUploadProtocol = a})++-- | OAuth access token.+odAccessToken :: Lens' OperationsDelete (Maybe Text)+odAccessToken+  = lens _odAccessToken+      (\ s a -> s{_odAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+odUploadType :: Lens' OperationsDelete (Maybe Text)+odUploadType+  = lens _odUploadType (\ s a -> s{_odUploadType = a})++-- | The name of the operation resource to be deleted.+odName :: Lens' OperationsDelete Text+odName = lens _odName (\ s a -> s{_odName = a})++-- | JSONP+odCallback :: Lens' OperationsDelete (Maybe Text)+odCallback+  = lens _odCallback (\ s a -> s{_odCallback = a})++instance GoogleRequest OperationsDelete where+        type Rs OperationsDelete = Empty+        type Scopes OperationsDelete =+             '["https://www.googleapis.com/auth/bigtable.admin",+               "https://www.googleapis.com/auth/bigtable.admin.cluster",+               "https://www.googleapis.com/auth/bigtable.admin.instance",+               "https://www.googleapis.com/auth/cloud-bigtable.admin",+               "https://www.googleapis.com/auth/cloud-bigtable.admin.cluster",+               "https://www.googleapis.com/auth/cloud-platform"]+        requestClient OperationsDelete'{..}+          = go _odName _odXgafv _odUploadProtocol+              _odAccessToken+              _odUploadType+              _odCallback+              (Just AltJSON)+              bigtableAdminService+          where go+                  = buildClient+                      (Proxy :: Proxy OperationsDeleteResource)+                      mempty
+ gen/Network/Google/Resource/BigtableAdmin/Operations/Get.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.BigtableAdmin.Operations.Get+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Gets the latest state of a long-running operation. Clients can use this+-- method to poll the operation result at intervals as recommended by the+-- API service.+--+-- /See:/ <https://cloud.google.com/bigtable/ Cloud Bigtable Admin API Reference> for @bigtableadmin.operations.get@.+module Network.Google.Resource.BigtableAdmin.Operations.Get+    (+    -- * REST Resource+      OperationsGetResource++    -- * Creating a Request+    , operationsGet+    , OperationsGet++    -- * Request Lenses+    , ogXgafv+    , ogUploadProtocol+    , ogAccessToken+    , ogUploadType+    , ogName+    , ogCallback+    ) where++import           Network.Google.BigtableAdmin.Types+import           Network.Google.Prelude++-- | A resource alias for @bigtableadmin.operations.get@ method which the+-- 'OperationsGet' request conforms to.+type OperationsGetResource =+     "v2" :>+       Capture "name" Text :>+         QueryParam "$.xgafv" Xgafv :>+           QueryParam "upload_protocol" Text :>+             QueryParam "access_token" Text :>+               QueryParam "uploadType" Text :>+                 QueryParam "callback" Text :>+                   QueryParam "alt" AltJSON :> Get '[JSON] Operation++-- | Gets the latest state of a long-running operation. Clients can use this+-- method to poll the operation result at intervals as recommended by the+-- API service.+--+-- /See:/ 'operationsGet' smart constructor.+data OperationsGet = OperationsGet'+    { _ogXgafv          :: !(Maybe Xgafv)+    , _ogUploadProtocol :: !(Maybe Text)+    , _ogAccessToken    :: !(Maybe Text)+    , _ogUploadType     :: !(Maybe Text)+    , _ogName           :: !Text+    , _ogCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'OperationsGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ogXgafv'+--+-- * 'ogUploadProtocol'+--+-- * 'ogAccessToken'+--+-- * 'ogUploadType'+--+-- * 'ogName'+--+-- * 'ogCallback'+operationsGet+    :: Text -- ^ 'ogName'+    -> OperationsGet+operationsGet pOgName_ =+    OperationsGet'+    { _ogXgafv = Nothing+    , _ogUploadProtocol = Nothing+    , _ogAccessToken = Nothing+    , _ogUploadType = Nothing+    , _ogName = pOgName_+    , _ogCallback = Nothing+    }++-- | V1 error format.+ogXgafv :: Lens' OperationsGet (Maybe Xgafv)+ogXgafv = lens _ogXgafv (\ s a -> s{_ogXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+ogUploadProtocol :: Lens' OperationsGet (Maybe Text)+ogUploadProtocol+  = lens _ogUploadProtocol+      (\ s a -> s{_ogUploadProtocol = a})++-- | OAuth access token.+ogAccessToken :: Lens' OperationsGet (Maybe Text)+ogAccessToken+  = lens _ogAccessToken+      (\ s a -> s{_ogAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+ogUploadType :: Lens' OperationsGet (Maybe Text)+ogUploadType+  = lens _ogUploadType (\ s a -> s{_ogUploadType = a})++-- | The name of the operation resource.+ogName :: Lens' OperationsGet Text+ogName = lens _ogName (\ s a -> s{_ogName = a})++-- | JSONP+ogCallback :: Lens' OperationsGet (Maybe Text)+ogCallback+  = lens _ogCallback (\ s a -> s{_ogCallback = a})++instance GoogleRequest OperationsGet where+        type Rs OperationsGet = Operation+        type Scopes OperationsGet =+             '["https://www.googleapis.com/auth/bigtable.admin",+               "https://www.googleapis.com/auth/bigtable.admin.cluster",+               "https://www.googleapis.com/auth/bigtable.admin.instance",+               "https://www.googleapis.com/auth/cloud-bigtable.admin",+               "https://www.googleapis.com/auth/cloud-bigtable.admin.cluster",+               "https://www.googleapis.com/auth/cloud-platform",+               "https://www.googleapis.com/auth/cloud-platform.read-only"]+        requestClient OperationsGet'{..}+          = go _ogName _ogXgafv _ogUploadProtocol+              _ogAccessToken+              _ogUploadType+              _ogCallback+              (Just AltJSON)+              bigtableAdminService+          where go+                  = buildClient (Proxy :: Proxy OperationsGetResource)+                      mempty
+ gen/Network/Google/Resource/BigtableAdmin/Operations/Projects/Operations/List.hs view
@@ -0,0 +1,212 @@+{-# 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.BigtableAdmin.Operations.Projects.Operations.List+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists operations that match the specified filter in the request. If the+-- server doesn\'t support this method, it returns \`UNIMPLEMENTED\`. NOTE:+-- the \`name\` binding allows API services to override the binding to use+-- different resource name schemes, such as \`users\/*\/operations\`. To+-- override the binding, API services can add a binding such as+-- \`\"\/v1\/{name=users\/*}\/operations\"\` to their service+-- configuration. For backwards compatibility, the default name includes+-- the operations collection id, however overriding users must ensure the+-- name binding is the parent resource, without the operations collection+-- id.+--+-- /See:/ <https://cloud.google.com/bigtable/ Cloud Bigtable Admin API Reference> for @bigtableadmin.operations.projects.operations.list@.+module Network.Google.Resource.BigtableAdmin.Operations.Projects.Operations.List+    (+    -- * REST Resource+      OperationsProjectsOperationsListResource++    -- * Creating a Request+    , operationsProjectsOperationsList+    , OperationsProjectsOperationsList++    -- * Request Lenses+    , opolXgafv+    , opolUploadProtocol+    , opolAccessToken+    , opolUploadType+    , opolName+    , opolFilter+    , opolPageToken+    , opolPageSize+    , opolCallback+    ) where++import           Network.Google.BigtableAdmin.Types+import           Network.Google.Prelude++-- | A resource alias for @bigtableadmin.operations.projects.operations.list@ method which the+-- 'OperationsProjectsOperationsList' request conforms to.+type OperationsProjectsOperationsListResource =+     "v2" :>+       Capture "name" Text :>+         "operations" :>+           QueryParam "$.xgafv" Xgafv :>+             QueryParam "upload_protocol" Text :>+               QueryParam "access_token" Text :>+                 QueryParam "uploadType" Text :>+                   QueryParam "filter" Text :>+                     QueryParam "pageToken" Text :>+                       QueryParam "pageSize" (Textual Int32) :>+                         QueryParam "callback" Text :>+                           QueryParam "alt" AltJSON :>+                             Get '[JSON] ListOperationsResponse++-- | Lists operations that match the specified filter in the request. If the+-- server doesn\'t support this method, it returns \`UNIMPLEMENTED\`. NOTE:+-- the \`name\` binding allows API services to override the binding to use+-- different resource name schemes, such as \`users\/*\/operations\`. To+-- override the binding, API services can add a binding such as+-- \`\"\/v1\/{name=users\/*}\/operations\"\` to their service+-- configuration. For backwards compatibility, the default name includes+-- the operations collection id, however overriding users must ensure the+-- name binding is the parent resource, without the operations collection+-- id.+--+-- /See:/ 'operationsProjectsOperationsList' smart constructor.+data OperationsProjectsOperationsList = OperationsProjectsOperationsList'+    { _opolXgafv          :: !(Maybe Xgafv)+    , _opolUploadProtocol :: !(Maybe Text)+    , _opolAccessToken    :: !(Maybe Text)+    , _opolUploadType     :: !(Maybe Text)+    , _opolName           :: !Text+    , _opolFilter         :: !(Maybe Text)+    , _opolPageToken      :: !(Maybe Text)+    , _opolPageSize       :: !(Maybe (Textual Int32))+    , _opolCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'OperationsProjectsOperationsList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'opolXgafv'+--+-- * 'opolUploadProtocol'+--+-- * 'opolAccessToken'+--+-- * 'opolUploadType'+--+-- * 'opolName'+--+-- * 'opolFilter'+--+-- * 'opolPageToken'+--+-- * 'opolPageSize'+--+-- * 'opolCallback'+operationsProjectsOperationsList+    :: Text -- ^ 'opolName'+    -> OperationsProjectsOperationsList+operationsProjectsOperationsList pOpolName_ =+    OperationsProjectsOperationsList'+    { _opolXgafv = Nothing+    , _opolUploadProtocol = Nothing+    , _opolAccessToken = Nothing+    , _opolUploadType = Nothing+    , _opolName = pOpolName_+    , _opolFilter = Nothing+    , _opolPageToken = Nothing+    , _opolPageSize = Nothing+    , _opolCallback = Nothing+    }++-- | V1 error format.+opolXgafv :: Lens' OperationsProjectsOperationsList (Maybe Xgafv)+opolXgafv+  = lens _opolXgafv (\ s a -> s{_opolXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+opolUploadProtocol :: Lens' OperationsProjectsOperationsList (Maybe Text)+opolUploadProtocol+  = lens _opolUploadProtocol+      (\ s a -> s{_opolUploadProtocol = a})++-- | OAuth access token.+opolAccessToken :: Lens' OperationsProjectsOperationsList (Maybe Text)+opolAccessToken+  = lens _opolAccessToken+      (\ s a -> s{_opolAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+opolUploadType :: Lens' OperationsProjectsOperationsList (Maybe Text)+opolUploadType+  = lens _opolUploadType+      (\ s a -> s{_opolUploadType = a})++-- | The name of the operation\'s parent resource.+opolName :: Lens' OperationsProjectsOperationsList Text+opolName = lens _opolName (\ s a -> s{_opolName = a})++-- | The standard list filter.+opolFilter :: Lens' OperationsProjectsOperationsList (Maybe Text)+opolFilter+  = lens _opolFilter (\ s a -> s{_opolFilter = a})++-- | The standard list page token.+opolPageToken :: Lens' OperationsProjectsOperationsList (Maybe Text)+opolPageToken+  = lens _opolPageToken+      (\ s a -> s{_opolPageToken = a})++-- | The standard list page size.+opolPageSize :: Lens' OperationsProjectsOperationsList (Maybe Int32)+opolPageSize+  = lens _opolPageSize (\ s a -> s{_opolPageSize = a})+      . mapping _Coerce++-- | JSONP+opolCallback :: Lens' OperationsProjectsOperationsList (Maybe Text)+opolCallback+  = lens _opolCallback (\ s a -> s{_opolCallback = a})++instance GoogleRequest+         OperationsProjectsOperationsList where+        type Rs OperationsProjectsOperationsList =+             ListOperationsResponse+        type Scopes OperationsProjectsOperationsList =+             '["https://www.googleapis.com/auth/bigtable.admin",+               "https://www.googleapis.com/auth/bigtable.admin.cluster",+               "https://www.googleapis.com/auth/bigtable.admin.instance",+               "https://www.googleapis.com/auth/cloud-bigtable.admin",+               "https://www.googleapis.com/auth/cloud-bigtable.admin.cluster",+               "https://www.googleapis.com/auth/cloud-platform",+               "https://www.googleapis.com/auth/cloud-platform.read-only"]+        requestClient OperationsProjectsOperationsList'{..}+          = go _opolName _opolXgafv _opolUploadProtocol+              _opolAccessToken+              _opolUploadType+              _opolFilter+              _opolPageToken+              _opolPageSize+              _opolCallback+              (Just AltJSON)+              bigtableAdminService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy OperationsProjectsOperationsListResource)+                      mempty
+ gen/Network/Google/Resource/BigtableAdmin/Projects/Instances/AppProFiles/Create.hs view
@@ -0,0 +1,199 @@+{-# 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.BigtableAdmin.Projects.Instances.AppProFiles.Create+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates an app profile within an instance.+--+-- /See:/ <https://cloud.google.com/bigtable/ Cloud Bigtable Admin API Reference> for @bigtableadmin.projects.instances.appProfiles.create@.+module Network.Google.Resource.BigtableAdmin.Projects.Instances.AppProFiles.Create+    (+    -- * REST Resource+      ProjectsInstancesAppProFilesCreateResource++    -- * Creating a Request+    , projectsInstancesAppProFilesCreate+    , ProjectsInstancesAppProFilesCreate++    -- * Request Lenses+    , piapfcParent+    , piapfcXgafv+    , piapfcAppProFileId+    , piapfcUploadProtocol+    , piapfcAccessToken+    , piapfcUploadType+    , piapfcPayload+    , piapfcIgnoreWarnings+    , piapfcCallback+    ) where++import           Network.Google.BigtableAdmin.Types+import           Network.Google.Prelude++-- | A resource alias for @bigtableadmin.projects.instances.appProfiles.create@ method which the+-- 'ProjectsInstancesAppProFilesCreate' request conforms to.+type ProjectsInstancesAppProFilesCreateResource =+     "v2" :>+       Capture "parent" Text :>+         "appProfiles" :>+           QueryParam "$.xgafv" Xgafv :>+             QueryParam "appProfileId" Text :>+               QueryParam "upload_protocol" Text :>+                 QueryParam "access_token" Text :>+                   QueryParam "uploadType" Text :>+                     QueryParam "ignoreWarnings" Bool :>+                       QueryParam "callback" Text :>+                         QueryParam "alt" AltJSON :>+                           ReqBody '[JSON] AppProFile :> Post '[JSON] AppProFile++-- | Creates an app profile within an instance.+--+-- /See:/ 'projectsInstancesAppProFilesCreate' smart constructor.+data ProjectsInstancesAppProFilesCreate = ProjectsInstancesAppProFilesCreate'+    { _piapfcParent         :: !Text+    , _piapfcXgafv          :: !(Maybe Xgafv)+    , _piapfcAppProFileId   :: !(Maybe Text)+    , _piapfcUploadProtocol :: !(Maybe Text)+    , _piapfcAccessToken    :: !(Maybe Text)+    , _piapfcUploadType     :: !(Maybe Text)+    , _piapfcPayload        :: !AppProFile+    , _piapfcIgnoreWarnings :: !(Maybe Bool)+    , _piapfcCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProjectsInstancesAppProFilesCreate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'piapfcParent'+--+-- * 'piapfcXgafv'+--+-- * 'piapfcAppProFileId'+--+-- * 'piapfcUploadProtocol'+--+-- * 'piapfcAccessToken'+--+-- * 'piapfcUploadType'+--+-- * 'piapfcPayload'+--+-- * 'piapfcIgnoreWarnings'+--+-- * 'piapfcCallback'+projectsInstancesAppProFilesCreate+    :: Text -- ^ 'piapfcParent'+    -> AppProFile -- ^ 'piapfcPayload'+    -> ProjectsInstancesAppProFilesCreate+projectsInstancesAppProFilesCreate pPiapfcParent_ pPiapfcPayload_ =+    ProjectsInstancesAppProFilesCreate'+    { _piapfcParent = pPiapfcParent_+    , _piapfcXgafv = Nothing+    , _piapfcAppProFileId = Nothing+    , _piapfcUploadProtocol = Nothing+    , _piapfcAccessToken = Nothing+    , _piapfcUploadType = Nothing+    , _piapfcPayload = pPiapfcPayload_+    , _piapfcIgnoreWarnings = Nothing+    , _piapfcCallback = Nothing+    }++-- | The unique name of the instance in which to create the new app profile.+-- Values are of the form \`projects\/\/instances\/\`.+piapfcParent :: Lens' ProjectsInstancesAppProFilesCreate Text+piapfcParent+  = lens _piapfcParent (\ s a -> s{_piapfcParent = a})++-- | V1 error format.+piapfcXgafv :: Lens' ProjectsInstancesAppProFilesCreate (Maybe Xgafv)+piapfcXgafv+  = lens _piapfcXgafv (\ s a -> s{_piapfcXgafv = a})++-- | The ID to be used when referring to the new app profile within its+-- instance, e.g., just \`myprofile\` rather than+-- \`projects\/myproject\/instances\/myinstance\/appProfiles\/myprofile\`.+piapfcAppProFileId :: Lens' ProjectsInstancesAppProFilesCreate (Maybe Text)+piapfcAppProFileId+  = lens _piapfcAppProFileId+      (\ s a -> s{_piapfcAppProFileId = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+piapfcUploadProtocol :: Lens' ProjectsInstancesAppProFilesCreate (Maybe Text)+piapfcUploadProtocol+  = lens _piapfcUploadProtocol+      (\ s a -> s{_piapfcUploadProtocol = a})++-- | OAuth access token.+piapfcAccessToken :: Lens' ProjectsInstancesAppProFilesCreate (Maybe Text)+piapfcAccessToken+  = lens _piapfcAccessToken+      (\ s a -> s{_piapfcAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+piapfcUploadType :: Lens' ProjectsInstancesAppProFilesCreate (Maybe Text)+piapfcUploadType+  = lens _piapfcUploadType+      (\ s a -> s{_piapfcUploadType = a})++-- | Multipart request metadata.+piapfcPayload :: Lens' ProjectsInstancesAppProFilesCreate AppProFile+piapfcPayload+  = lens _piapfcPayload+      (\ s a -> s{_piapfcPayload = a})++-- | If true, ignore safety checks when creating the app profile.+piapfcIgnoreWarnings :: Lens' ProjectsInstancesAppProFilesCreate (Maybe Bool)+piapfcIgnoreWarnings+  = lens _piapfcIgnoreWarnings+      (\ s a -> s{_piapfcIgnoreWarnings = a})++-- | JSONP+piapfcCallback :: Lens' ProjectsInstancesAppProFilesCreate (Maybe Text)+piapfcCallback+  = lens _piapfcCallback+      (\ s a -> s{_piapfcCallback = a})++instance GoogleRequest+         ProjectsInstancesAppProFilesCreate where+        type Rs ProjectsInstancesAppProFilesCreate =+             AppProFile+        type Scopes ProjectsInstancesAppProFilesCreate =+             '["https://www.googleapis.com/auth/bigtable.admin",+               "https://www.googleapis.com/auth/bigtable.admin.cluster",+               "https://www.googleapis.com/auth/bigtable.admin.instance",+               "https://www.googleapis.com/auth/cloud-bigtable.admin",+               "https://www.googleapis.com/auth/cloud-bigtable.admin.cluster",+               "https://www.googleapis.com/auth/cloud-platform"]+        requestClient ProjectsInstancesAppProFilesCreate'{..}+          = go _piapfcParent _piapfcXgafv _piapfcAppProFileId+              _piapfcUploadProtocol+              _piapfcAccessToken+              _piapfcUploadType+              _piapfcIgnoreWarnings+              _piapfcCallback+              (Just AltJSON)+              _piapfcPayload+              bigtableAdminService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy ProjectsInstancesAppProFilesCreateResource)+                      mempty
+ gen/Network/Google/Resource/BigtableAdmin/Projects/Instances/AppProFiles/Delete.hs view
@@ -0,0 +1,168 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.BigtableAdmin.Projects.Instances.AppProFiles.Delete+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes an app profile from an instance.+--+-- /See:/ <https://cloud.google.com/bigtable/ Cloud Bigtable Admin API Reference> for @bigtableadmin.projects.instances.appProfiles.delete@.+module Network.Google.Resource.BigtableAdmin.Projects.Instances.AppProFiles.Delete+    (+    -- * REST Resource+      ProjectsInstancesAppProFilesDeleteResource++    -- * Creating a Request+    , projectsInstancesAppProFilesDelete+    , ProjectsInstancesAppProFilesDelete++    -- * Request Lenses+    , piapfdXgafv+    , piapfdUploadProtocol+    , piapfdAccessToken+    , piapfdUploadType+    , piapfdIgnoreWarnings+    , piapfdName+    , piapfdCallback+    ) where++import           Network.Google.BigtableAdmin.Types+import           Network.Google.Prelude++-- | A resource alias for @bigtableadmin.projects.instances.appProfiles.delete@ method which the+-- 'ProjectsInstancesAppProFilesDelete' request conforms to.+type ProjectsInstancesAppProFilesDeleteResource =+     "v2" :>+       Capture "name" Text :>+         QueryParam "$.xgafv" Xgafv :>+           QueryParam "upload_protocol" Text :>+             QueryParam "access_token" Text :>+               QueryParam "uploadType" Text :>+                 QueryParam "ignoreWarnings" Bool :>+                   QueryParam "callback" Text :>+                     QueryParam "alt" AltJSON :> Delete '[JSON] Empty++-- | Deletes an app profile from an instance.+--+-- /See:/ 'projectsInstancesAppProFilesDelete' smart constructor.+data ProjectsInstancesAppProFilesDelete = ProjectsInstancesAppProFilesDelete'+    { _piapfdXgafv          :: !(Maybe Xgafv)+    , _piapfdUploadProtocol :: !(Maybe Text)+    , _piapfdAccessToken    :: !(Maybe Text)+    , _piapfdUploadType     :: !(Maybe Text)+    , _piapfdIgnoreWarnings :: !(Maybe Bool)+    , _piapfdName           :: !Text+    , _piapfdCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProjectsInstancesAppProFilesDelete' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'piapfdXgafv'+--+-- * 'piapfdUploadProtocol'+--+-- * 'piapfdAccessToken'+--+-- * 'piapfdUploadType'+--+-- * 'piapfdIgnoreWarnings'+--+-- * 'piapfdName'+--+-- * 'piapfdCallback'+projectsInstancesAppProFilesDelete+    :: Text -- ^ 'piapfdName'+    -> ProjectsInstancesAppProFilesDelete+projectsInstancesAppProFilesDelete pPiapfdName_ =+    ProjectsInstancesAppProFilesDelete'+    { _piapfdXgafv = Nothing+    , _piapfdUploadProtocol = Nothing+    , _piapfdAccessToken = Nothing+    , _piapfdUploadType = Nothing+    , _piapfdIgnoreWarnings = Nothing+    , _piapfdName = pPiapfdName_+    , _piapfdCallback = Nothing+    }++-- | V1 error format.+piapfdXgafv :: Lens' ProjectsInstancesAppProFilesDelete (Maybe Xgafv)+piapfdXgafv+  = lens _piapfdXgafv (\ s a -> s{_piapfdXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+piapfdUploadProtocol :: Lens' ProjectsInstancesAppProFilesDelete (Maybe Text)+piapfdUploadProtocol+  = lens _piapfdUploadProtocol+      (\ s a -> s{_piapfdUploadProtocol = a})++-- | OAuth access token.+piapfdAccessToken :: Lens' ProjectsInstancesAppProFilesDelete (Maybe Text)+piapfdAccessToken+  = lens _piapfdAccessToken+      (\ s a -> s{_piapfdAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+piapfdUploadType :: Lens' ProjectsInstancesAppProFilesDelete (Maybe Text)+piapfdUploadType+  = lens _piapfdUploadType+      (\ s a -> s{_piapfdUploadType = a})++-- | If true, ignore safety checks when deleting the app profile.+piapfdIgnoreWarnings :: Lens' ProjectsInstancesAppProFilesDelete (Maybe Bool)+piapfdIgnoreWarnings+  = lens _piapfdIgnoreWarnings+      (\ s a -> s{_piapfdIgnoreWarnings = a})++-- | The unique name of the app profile to be deleted. Values are of the form+-- \`projects\/\/instances\/\/appProfiles\/\`.+piapfdName :: Lens' ProjectsInstancesAppProFilesDelete Text+piapfdName+  = lens _piapfdName (\ s a -> s{_piapfdName = a})++-- | JSONP+piapfdCallback :: Lens' ProjectsInstancesAppProFilesDelete (Maybe Text)+piapfdCallback+  = lens _piapfdCallback+      (\ s a -> s{_piapfdCallback = a})++instance GoogleRequest+         ProjectsInstancesAppProFilesDelete where+        type Rs ProjectsInstancesAppProFilesDelete = Empty+        type Scopes ProjectsInstancesAppProFilesDelete =+             '["https://www.googleapis.com/auth/bigtable.admin",+               "https://www.googleapis.com/auth/bigtable.admin.cluster",+               "https://www.googleapis.com/auth/bigtable.admin.instance",+               "https://www.googleapis.com/auth/cloud-bigtable.admin",+               "https://www.googleapis.com/auth/cloud-bigtable.admin.cluster",+               "https://www.googleapis.com/auth/cloud-platform"]+        requestClient ProjectsInstancesAppProFilesDelete'{..}+          = go _piapfdName _piapfdXgafv _piapfdUploadProtocol+              _piapfdAccessToken+              _piapfdUploadType+              _piapfdIgnoreWarnings+              _piapfdCallback+              (Just AltJSON)+              bigtableAdminService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy ProjectsInstancesAppProFilesDeleteResource)+                      mempty
+ gen/Network/Google/Resource/BigtableAdmin/Projects/Instances/AppProFiles/Get.hs view
@@ -0,0 +1,155 @@+{-# 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.BigtableAdmin.Projects.Instances.AppProFiles.Get+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Gets information about an app profile.+--+-- /See:/ <https://cloud.google.com/bigtable/ Cloud Bigtable Admin API Reference> for @bigtableadmin.projects.instances.appProfiles.get@.+module Network.Google.Resource.BigtableAdmin.Projects.Instances.AppProFiles.Get+    (+    -- * REST Resource+      ProjectsInstancesAppProFilesGetResource++    -- * Creating a Request+    , projectsInstancesAppProFilesGet+    , ProjectsInstancesAppProFilesGet++    -- * Request Lenses+    , piapfgXgafv+    , piapfgUploadProtocol+    , piapfgAccessToken+    , piapfgUploadType+    , piapfgName+    , piapfgCallback+    ) where++import           Network.Google.BigtableAdmin.Types+import           Network.Google.Prelude++-- | A resource alias for @bigtableadmin.projects.instances.appProfiles.get@ method which the+-- 'ProjectsInstancesAppProFilesGet' request conforms to.+type ProjectsInstancesAppProFilesGetResource =+     "v2" :>+       Capture "name" Text :>+         QueryParam "$.xgafv" Xgafv :>+           QueryParam "upload_protocol" Text :>+             QueryParam "access_token" Text :>+               QueryParam "uploadType" Text :>+                 QueryParam "callback" Text :>+                   QueryParam "alt" AltJSON :> Get '[JSON] AppProFile++-- | Gets information about an app profile.+--+-- /See:/ 'projectsInstancesAppProFilesGet' smart constructor.+data ProjectsInstancesAppProFilesGet = ProjectsInstancesAppProFilesGet'+    { _piapfgXgafv          :: !(Maybe Xgafv)+    , _piapfgUploadProtocol :: !(Maybe Text)+    , _piapfgAccessToken    :: !(Maybe Text)+    , _piapfgUploadType     :: !(Maybe Text)+    , _piapfgName           :: !Text+    , _piapfgCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProjectsInstancesAppProFilesGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'piapfgXgafv'+--+-- * 'piapfgUploadProtocol'+--+-- * 'piapfgAccessToken'+--+-- * 'piapfgUploadType'+--+-- * 'piapfgName'+--+-- * 'piapfgCallback'+projectsInstancesAppProFilesGet+    :: Text -- ^ 'piapfgName'+    -> ProjectsInstancesAppProFilesGet+projectsInstancesAppProFilesGet pPiapfgName_ =+    ProjectsInstancesAppProFilesGet'+    { _piapfgXgafv = Nothing+    , _piapfgUploadProtocol = Nothing+    , _piapfgAccessToken = Nothing+    , _piapfgUploadType = Nothing+    , _piapfgName = pPiapfgName_+    , _piapfgCallback = Nothing+    }++-- | V1 error format.+piapfgXgafv :: Lens' ProjectsInstancesAppProFilesGet (Maybe Xgafv)+piapfgXgafv+  = lens _piapfgXgafv (\ s a -> s{_piapfgXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+piapfgUploadProtocol :: Lens' ProjectsInstancesAppProFilesGet (Maybe Text)+piapfgUploadProtocol+  = lens _piapfgUploadProtocol+      (\ s a -> s{_piapfgUploadProtocol = a})++-- | OAuth access token.+piapfgAccessToken :: Lens' ProjectsInstancesAppProFilesGet (Maybe Text)+piapfgAccessToken+  = lens _piapfgAccessToken+      (\ s a -> s{_piapfgAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+piapfgUploadType :: Lens' ProjectsInstancesAppProFilesGet (Maybe Text)+piapfgUploadType+  = lens _piapfgUploadType+      (\ s a -> s{_piapfgUploadType = a})++-- | The unique name of the requested app profile. Values are of the form+-- \`projects\/\/instances\/\/appProfiles\/\`.+piapfgName :: Lens' ProjectsInstancesAppProFilesGet Text+piapfgName+  = lens _piapfgName (\ s a -> s{_piapfgName = a})++-- | JSONP+piapfgCallback :: Lens' ProjectsInstancesAppProFilesGet (Maybe Text)+piapfgCallback+  = lens _piapfgCallback+      (\ s a -> s{_piapfgCallback = a})++instance GoogleRequest+         ProjectsInstancesAppProFilesGet where+        type Rs ProjectsInstancesAppProFilesGet = AppProFile+        type Scopes ProjectsInstancesAppProFilesGet =+             '["https://www.googleapis.com/auth/bigtable.admin",+               "https://www.googleapis.com/auth/bigtable.admin.cluster",+               "https://www.googleapis.com/auth/bigtable.admin.instance",+               "https://www.googleapis.com/auth/cloud-bigtable.admin",+               "https://www.googleapis.com/auth/cloud-bigtable.admin.cluster",+               "https://www.googleapis.com/auth/cloud-platform"]+        requestClient ProjectsInstancesAppProFilesGet'{..}+          = go _piapfgName _piapfgXgafv _piapfgUploadProtocol+              _piapfgAccessToken+              _piapfgUploadType+              _piapfgCallback+              (Just AltJSON)+              bigtableAdminService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy ProjectsInstancesAppProFilesGetResource)+                      mempty
+ gen/Network/Google/Resource/BigtableAdmin/Projects/Instances/AppProFiles/List.hs view
@@ -0,0 +1,187 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.BigtableAdmin.Projects.Instances.AppProFiles.List+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists information about app profiles in an instance.+--+-- /See:/ <https://cloud.google.com/bigtable/ Cloud Bigtable Admin API Reference> for @bigtableadmin.projects.instances.appProfiles.list@.+module Network.Google.Resource.BigtableAdmin.Projects.Instances.AppProFiles.List+    (+    -- * REST Resource+      ProjectsInstancesAppProFilesListResource++    -- * Creating a Request+    , projectsInstancesAppProFilesList+    , ProjectsInstancesAppProFilesList++    -- * Request Lenses+    , piapflParent+    , piapflXgafv+    , piapflUploadProtocol+    , piapflAccessToken+    , piapflUploadType+    , piapflPageToken+    , piapflPageSize+    , piapflCallback+    ) where++import           Network.Google.BigtableAdmin.Types+import           Network.Google.Prelude++-- | A resource alias for @bigtableadmin.projects.instances.appProfiles.list@ method which the+-- 'ProjectsInstancesAppProFilesList' request conforms to.+type ProjectsInstancesAppProFilesListResource =+     "v2" :>+       Capture "parent" Text :>+         "appProfiles" :>+           QueryParam "$.xgafv" Xgafv :>+             QueryParam "upload_protocol" Text :>+               QueryParam "access_token" Text :>+                 QueryParam "uploadType" Text :>+                   QueryParam "pageToken" Text :>+                     QueryParam "pageSize" (Textual Int32) :>+                       QueryParam "callback" Text :>+                         QueryParam "alt" AltJSON :>+                           Get '[JSON] ListAppProFilesResponse++-- | Lists information about app profiles in an instance.+--+-- /See:/ 'projectsInstancesAppProFilesList' smart constructor.+data ProjectsInstancesAppProFilesList = ProjectsInstancesAppProFilesList'+    { _piapflParent         :: !Text+    , _piapflXgafv          :: !(Maybe Xgafv)+    , _piapflUploadProtocol :: !(Maybe Text)+    , _piapflAccessToken    :: !(Maybe Text)+    , _piapflUploadType     :: !(Maybe Text)+    , _piapflPageToken      :: !(Maybe Text)+    , _piapflPageSize       :: !(Maybe (Textual Int32))+    , _piapflCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProjectsInstancesAppProFilesList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'piapflParent'+--+-- * 'piapflXgafv'+--+-- * 'piapflUploadProtocol'+--+-- * 'piapflAccessToken'+--+-- * 'piapflUploadType'+--+-- * 'piapflPageToken'+--+-- * 'piapflPageSize'+--+-- * 'piapflCallback'+projectsInstancesAppProFilesList+    :: Text -- ^ 'piapflParent'+    -> ProjectsInstancesAppProFilesList+projectsInstancesAppProFilesList pPiapflParent_ =+    ProjectsInstancesAppProFilesList'+    { _piapflParent = pPiapflParent_+    , _piapflXgafv = Nothing+    , _piapflUploadProtocol = Nothing+    , _piapflAccessToken = Nothing+    , _piapflUploadType = Nothing+    , _piapflPageToken = Nothing+    , _piapflPageSize = Nothing+    , _piapflCallback = Nothing+    }++-- | The unique name of the instance for which a list of app profiles is+-- requested. Values are of the form \`projects\/\/instances\/\`. Use \` =+-- \'-\'\` to list AppProfiles for all Instances in a project, e.g.,+-- \`projects\/myproject\/instances\/-\`.+piapflParent :: Lens' ProjectsInstancesAppProFilesList Text+piapflParent+  = lens _piapflParent (\ s a -> s{_piapflParent = a})++-- | V1 error format.+piapflXgafv :: Lens' ProjectsInstancesAppProFilesList (Maybe Xgafv)+piapflXgafv+  = lens _piapflXgafv (\ s a -> s{_piapflXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+piapflUploadProtocol :: Lens' ProjectsInstancesAppProFilesList (Maybe Text)+piapflUploadProtocol+  = lens _piapflUploadProtocol+      (\ s a -> s{_piapflUploadProtocol = a})++-- | OAuth access token.+piapflAccessToken :: Lens' ProjectsInstancesAppProFilesList (Maybe Text)+piapflAccessToken+  = lens _piapflAccessToken+      (\ s a -> s{_piapflAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+piapflUploadType :: Lens' ProjectsInstancesAppProFilesList (Maybe Text)+piapflUploadType+  = lens _piapflUploadType+      (\ s a -> s{_piapflUploadType = a})++-- | The value of \`next_page_token\` returned by a previous call.+piapflPageToken :: Lens' ProjectsInstancesAppProFilesList (Maybe Text)+piapflPageToken+  = lens _piapflPageToken+      (\ s a -> s{_piapflPageToken = a})++-- | Maximum number of results per page. CURRENTLY UNIMPLEMENTED AND IGNORED.+piapflPageSize :: Lens' ProjectsInstancesAppProFilesList (Maybe Int32)+piapflPageSize+  = lens _piapflPageSize+      (\ s a -> s{_piapflPageSize = a})+      . mapping _Coerce++-- | JSONP+piapflCallback :: Lens' ProjectsInstancesAppProFilesList (Maybe Text)+piapflCallback+  = lens _piapflCallback+      (\ s a -> s{_piapflCallback = a})++instance GoogleRequest+         ProjectsInstancesAppProFilesList where+        type Rs ProjectsInstancesAppProFilesList =+             ListAppProFilesResponse+        type Scopes ProjectsInstancesAppProFilesList =+             '["https://www.googleapis.com/auth/bigtable.admin",+               "https://www.googleapis.com/auth/bigtable.admin.cluster",+               "https://www.googleapis.com/auth/bigtable.admin.instance",+               "https://www.googleapis.com/auth/cloud-bigtable.admin",+               "https://www.googleapis.com/auth/cloud-bigtable.admin.cluster",+               "https://www.googleapis.com/auth/cloud-platform"]+        requestClient ProjectsInstancesAppProFilesList'{..}+          = go _piapflParent _piapflXgafv _piapflUploadProtocol+              _piapflAccessToken+              _piapflUploadType+              _piapflPageToken+              _piapflPageSize+              _piapflCallback+              (Just AltJSON)+              bigtableAdminService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy ProjectsInstancesAppProFilesListResource)+                      mempty
+ gen/Network/Google/Resource/BigtableAdmin/Projects/Instances/AppProFiles/Patch.hs view
@@ -0,0 +1,196 @@+{-# 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.BigtableAdmin.Projects.Instances.AppProFiles.Patch+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates an app profile within an instance.+--+-- /See:/ <https://cloud.google.com/bigtable/ Cloud Bigtable Admin API Reference> for @bigtableadmin.projects.instances.appProfiles.patch@.+module Network.Google.Resource.BigtableAdmin.Projects.Instances.AppProFiles.Patch+    (+    -- * REST Resource+      ProjectsInstancesAppProFilesPatchResource++    -- * Creating a Request+    , projectsInstancesAppProFilesPatch+    , ProjectsInstancesAppProFilesPatch++    -- * Request Lenses+    , piapfpXgafv+    , piapfpUploadProtocol+    , piapfpUpdateMask+    , piapfpAccessToken+    , piapfpUploadType+    , piapfpPayload+    , piapfpIgnoreWarnings+    , piapfpName+    , piapfpCallback+    ) where++import           Network.Google.BigtableAdmin.Types+import           Network.Google.Prelude++-- | A resource alias for @bigtableadmin.projects.instances.appProfiles.patch@ method which the+-- 'ProjectsInstancesAppProFilesPatch' request conforms to.+type ProjectsInstancesAppProFilesPatchResource =+     "v2" :>+       Capture "name" Text :>+         QueryParam "$.xgafv" Xgafv :>+           QueryParam "upload_protocol" Text :>+             QueryParam "updateMask" GFieldMask :>+               QueryParam "access_token" Text :>+                 QueryParam "uploadType" Text :>+                   QueryParam "ignoreWarnings" Bool :>+                     QueryParam "callback" Text :>+                       QueryParam "alt" AltJSON :>+                         ReqBody '[JSON] AppProFile :> Patch '[JSON] Operation++-- | Updates an app profile within an instance.+--+-- /See:/ 'projectsInstancesAppProFilesPatch' smart constructor.+data ProjectsInstancesAppProFilesPatch = ProjectsInstancesAppProFilesPatch'+    { _piapfpXgafv          :: !(Maybe Xgafv)+    , _piapfpUploadProtocol :: !(Maybe Text)+    , _piapfpUpdateMask     :: !(Maybe GFieldMask)+    , _piapfpAccessToken    :: !(Maybe Text)+    , _piapfpUploadType     :: !(Maybe Text)+    , _piapfpPayload        :: !AppProFile+    , _piapfpIgnoreWarnings :: !(Maybe Bool)+    , _piapfpName           :: !Text+    , _piapfpCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProjectsInstancesAppProFilesPatch' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'piapfpXgafv'+--+-- * 'piapfpUploadProtocol'+--+-- * 'piapfpUpdateMask'+--+-- * 'piapfpAccessToken'+--+-- * 'piapfpUploadType'+--+-- * 'piapfpPayload'+--+-- * 'piapfpIgnoreWarnings'+--+-- * 'piapfpName'+--+-- * 'piapfpCallback'+projectsInstancesAppProFilesPatch+    :: AppProFile -- ^ 'piapfpPayload'+    -> Text -- ^ 'piapfpName'+    -> ProjectsInstancesAppProFilesPatch+projectsInstancesAppProFilesPatch pPiapfpPayload_ pPiapfpName_ =+    ProjectsInstancesAppProFilesPatch'+    { _piapfpXgafv = Nothing+    , _piapfpUploadProtocol = Nothing+    , _piapfpUpdateMask = Nothing+    , _piapfpAccessToken = Nothing+    , _piapfpUploadType = Nothing+    , _piapfpPayload = pPiapfpPayload_+    , _piapfpIgnoreWarnings = Nothing+    , _piapfpName = pPiapfpName_+    , _piapfpCallback = Nothing+    }++-- | V1 error format.+piapfpXgafv :: Lens' ProjectsInstancesAppProFilesPatch (Maybe Xgafv)+piapfpXgafv+  = lens _piapfpXgafv (\ s a -> s{_piapfpXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+piapfpUploadProtocol :: Lens' ProjectsInstancesAppProFilesPatch (Maybe Text)+piapfpUploadProtocol+  = lens _piapfpUploadProtocol+      (\ s a -> s{_piapfpUploadProtocol = a})++-- | The subset of app profile fields which should be replaced. If unset, all+-- fields will be replaced.+piapfpUpdateMask :: Lens' ProjectsInstancesAppProFilesPatch (Maybe GFieldMask)+piapfpUpdateMask+  = lens _piapfpUpdateMask+      (\ s a -> s{_piapfpUpdateMask = a})++-- | OAuth access token.+piapfpAccessToken :: Lens' ProjectsInstancesAppProFilesPatch (Maybe Text)+piapfpAccessToken+  = lens _piapfpAccessToken+      (\ s a -> s{_piapfpAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+piapfpUploadType :: Lens' ProjectsInstancesAppProFilesPatch (Maybe Text)+piapfpUploadType+  = lens _piapfpUploadType+      (\ s a -> s{_piapfpUploadType = a})++-- | Multipart request metadata.+piapfpPayload :: Lens' ProjectsInstancesAppProFilesPatch AppProFile+piapfpPayload+  = lens _piapfpPayload+      (\ s a -> s{_piapfpPayload = a})++-- | If true, ignore safety checks when updating the app profile.+piapfpIgnoreWarnings :: Lens' ProjectsInstancesAppProFilesPatch (Maybe Bool)+piapfpIgnoreWarnings+  = lens _piapfpIgnoreWarnings+      (\ s a -> s{_piapfpIgnoreWarnings = a})++-- | (\`OutputOnly\`) The unique name of the app profile. Values are of the+-- form \`projects\/\/instances\/\/appProfiles\/_a-zA-Z0-9*\`.+piapfpName :: Lens' ProjectsInstancesAppProFilesPatch Text+piapfpName+  = lens _piapfpName (\ s a -> s{_piapfpName = a})++-- | JSONP+piapfpCallback :: Lens' ProjectsInstancesAppProFilesPatch (Maybe Text)+piapfpCallback+  = lens _piapfpCallback+      (\ s a -> s{_piapfpCallback = a})++instance GoogleRequest+         ProjectsInstancesAppProFilesPatch where+        type Rs ProjectsInstancesAppProFilesPatch = Operation+        type Scopes ProjectsInstancesAppProFilesPatch =+             '["https://www.googleapis.com/auth/bigtable.admin",+               "https://www.googleapis.com/auth/bigtable.admin.cluster",+               "https://www.googleapis.com/auth/bigtable.admin.instance",+               "https://www.googleapis.com/auth/cloud-bigtable.admin",+               "https://www.googleapis.com/auth/cloud-bigtable.admin.cluster",+               "https://www.googleapis.com/auth/cloud-platform"]+        requestClient ProjectsInstancesAppProFilesPatch'{..}+          = go _piapfpName _piapfpXgafv _piapfpUploadProtocol+              _piapfpUpdateMask+              _piapfpAccessToken+              _piapfpUploadType+              _piapfpIgnoreWarnings+              _piapfpCallback+              (Just AltJSON)+              _piapfpPayload+              bigtableAdminService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy ProjectsInstancesAppProFilesPatchResource)+                      mempty
+ gen/Network/Google/Resource/BigtableAdmin/Projects/Instances/Clusters/Create.hs view
@@ -0,0 +1,183 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.BigtableAdmin.Projects.Instances.Clusters.Create+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates a cluster within an instance.+--+-- /See:/ <https://cloud.google.com/bigtable/ Cloud Bigtable Admin API Reference> for @bigtableadmin.projects.instances.clusters.create@.+module Network.Google.Resource.BigtableAdmin.Projects.Instances.Clusters.Create+    (+    -- * REST Resource+      ProjectsInstancesClustersCreateResource++    -- * Creating a Request+    , projectsInstancesClustersCreate+    , ProjectsInstancesClustersCreate++    -- * Request Lenses+    , piccParent+    , piccXgafv+    , piccUploadProtocol+    , piccAccessToken+    , piccUploadType+    , piccPayload+    , piccClusterId+    , piccCallback+    ) where++import           Network.Google.BigtableAdmin.Types+import           Network.Google.Prelude++-- | A resource alias for @bigtableadmin.projects.instances.clusters.create@ method which the+-- 'ProjectsInstancesClustersCreate' request conforms to.+type ProjectsInstancesClustersCreateResource =+     "v2" :>+       Capture "parent" Text :>+         "clusters" :>+           QueryParam "$.xgafv" Xgafv :>+             QueryParam "upload_protocol" Text :>+               QueryParam "access_token" Text :>+                 QueryParam "uploadType" Text :>+                   QueryParam "clusterId" Text :>+                     QueryParam "callback" Text :>+                       QueryParam "alt" AltJSON :>+                         ReqBody '[JSON] Cluster :> Post '[JSON] Operation++-- | Creates a cluster within an instance.+--+-- /See:/ 'projectsInstancesClustersCreate' smart constructor.+data ProjectsInstancesClustersCreate = ProjectsInstancesClustersCreate'+    { _piccParent         :: !Text+    , _piccXgafv          :: !(Maybe Xgafv)+    , _piccUploadProtocol :: !(Maybe Text)+    , _piccAccessToken    :: !(Maybe Text)+    , _piccUploadType     :: !(Maybe Text)+    , _piccPayload        :: !Cluster+    , _piccClusterId      :: !(Maybe Text)+    , _piccCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProjectsInstancesClustersCreate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'piccParent'+--+-- * 'piccXgafv'+--+-- * 'piccUploadProtocol'+--+-- * 'piccAccessToken'+--+-- * 'piccUploadType'+--+-- * 'piccPayload'+--+-- * 'piccClusterId'+--+-- * 'piccCallback'+projectsInstancesClustersCreate+    :: Text -- ^ 'piccParent'+    -> Cluster -- ^ 'piccPayload'+    -> ProjectsInstancesClustersCreate+projectsInstancesClustersCreate pPiccParent_ pPiccPayload_ =+    ProjectsInstancesClustersCreate'+    { _piccParent = pPiccParent_+    , _piccXgafv = Nothing+    , _piccUploadProtocol = Nothing+    , _piccAccessToken = Nothing+    , _piccUploadType = Nothing+    , _piccPayload = pPiccPayload_+    , _piccClusterId = Nothing+    , _piccCallback = Nothing+    }++-- | The unique name of the instance in which to create the new cluster.+-- Values are of the form \`projects\/\/instances\/\`.+piccParent :: Lens' ProjectsInstancesClustersCreate Text+piccParent+  = lens _piccParent (\ s a -> s{_piccParent = a})++-- | V1 error format.+piccXgafv :: Lens' ProjectsInstancesClustersCreate (Maybe Xgafv)+piccXgafv+  = lens _piccXgafv (\ s a -> s{_piccXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+piccUploadProtocol :: Lens' ProjectsInstancesClustersCreate (Maybe Text)+piccUploadProtocol+  = lens _piccUploadProtocol+      (\ s a -> s{_piccUploadProtocol = a})++-- | OAuth access token.+piccAccessToken :: Lens' ProjectsInstancesClustersCreate (Maybe Text)+piccAccessToken+  = lens _piccAccessToken+      (\ s a -> s{_piccAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+piccUploadType :: Lens' ProjectsInstancesClustersCreate (Maybe Text)+piccUploadType+  = lens _piccUploadType+      (\ s a -> s{_piccUploadType = a})++-- | Multipart request metadata.+piccPayload :: Lens' ProjectsInstancesClustersCreate Cluster+piccPayload+  = lens _piccPayload (\ s a -> s{_piccPayload = a})++-- | The ID to be used when referring to the new cluster within its instance,+-- e.g., just \`mycluster\` rather than+-- \`projects\/myproject\/instances\/myinstance\/clusters\/mycluster\`.+piccClusterId :: Lens' ProjectsInstancesClustersCreate (Maybe Text)+piccClusterId+  = lens _piccClusterId+      (\ s a -> s{_piccClusterId = a})++-- | JSONP+piccCallback :: Lens' ProjectsInstancesClustersCreate (Maybe Text)+piccCallback+  = lens _piccCallback (\ s a -> s{_piccCallback = a})++instance GoogleRequest+         ProjectsInstancesClustersCreate where+        type Rs ProjectsInstancesClustersCreate = Operation+        type Scopes ProjectsInstancesClustersCreate =+             '["https://www.googleapis.com/auth/bigtable.admin",+               "https://www.googleapis.com/auth/bigtable.admin.cluster",+               "https://www.googleapis.com/auth/bigtable.admin.instance",+               "https://www.googleapis.com/auth/cloud-bigtable.admin",+               "https://www.googleapis.com/auth/cloud-bigtable.admin.cluster",+               "https://www.googleapis.com/auth/cloud-platform"]+        requestClient ProjectsInstancesClustersCreate'{..}+          = go _piccParent _piccXgafv _piccUploadProtocol+              _piccAccessToken+              _piccUploadType+              _piccClusterId+              _piccCallback+              (Just AltJSON)+              _piccPayload+              bigtableAdminService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy ProjectsInstancesClustersCreateResource)+                      mempty
+ gen/Network/Google/Resource/BigtableAdmin/Projects/Instances/Clusters/Delete.hs view
@@ -0,0 +1,153 @@+{-# 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.BigtableAdmin.Projects.Instances.Clusters.Delete+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes a cluster from an instance.+--+-- /See:/ <https://cloud.google.com/bigtable/ Cloud Bigtable Admin API Reference> for @bigtableadmin.projects.instances.clusters.delete@.+module Network.Google.Resource.BigtableAdmin.Projects.Instances.Clusters.Delete+    (+    -- * REST Resource+      ProjectsInstancesClustersDeleteResource++    -- * Creating a Request+    , projectsInstancesClustersDelete+    , ProjectsInstancesClustersDelete++    -- * Request Lenses+    , picdXgafv+    , picdUploadProtocol+    , picdAccessToken+    , picdUploadType+    , picdName+    , picdCallback+    ) where++import           Network.Google.BigtableAdmin.Types+import           Network.Google.Prelude++-- | A resource alias for @bigtableadmin.projects.instances.clusters.delete@ method which the+-- 'ProjectsInstancesClustersDelete' request conforms to.+type ProjectsInstancesClustersDeleteResource =+     "v2" :>+       Capture "name" Text :>+         QueryParam "$.xgafv" Xgafv :>+           QueryParam "upload_protocol" Text :>+             QueryParam "access_token" Text :>+               QueryParam "uploadType" Text :>+                 QueryParam "callback" Text :>+                   QueryParam "alt" AltJSON :> Delete '[JSON] Empty++-- | Deletes a cluster from an instance.+--+-- /See:/ 'projectsInstancesClustersDelete' smart constructor.+data ProjectsInstancesClustersDelete = ProjectsInstancesClustersDelete'+    { _picdXgafv          :: !(Maybe Xgafv)+    , _picdUploadProtocol :: !(Maybe Text)+    , _picdAccessToken    :: !(Maybe Text)+    , _picdUploadType     :: !(Maybe Text)+    , _picdName           :: !Text+    , _picdCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProjectsInstancesClustersDelete' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'picdXgafv'+--+-- * 'picdUploadProtocol'+--+-- * 'picdAccessToken'+--+-- * 'picdUploadType'+--+-- * 'picdName'+--+-- * 'picdCallback'+projectsInstancesClustersDelete+    :: Text -- ^ 'picdName'+    -> ProjectsInstancesClustersDelete+projectsInstancesClustersDelete pPicdName_ =+    ProjectsInstancesClustersDelete'+    { _picdXgafv = Nothing+    , _picdUploadProtocol = Nothing+    , _picdAccessToken = Nothing+    , _picdUploadType = Nothing+    , _picdName = pPicdName_+    , _picdCallback = Nothing+    }++-- | V1 error format.+picdXgafv :: Lens' ProjectsInstancesClustersDelete (Maybe Xgafv)+picdXgafv+  = lens _picdXgafv (\ s a -> s{_picdXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+picdUploadProtocol :: Lens' ProjectsInstancesClustersDelete (Maybe Text)+picdUploadProtocol+  = lens _picdUploadProtocol+      (\ s a -> s{_picdUploadProtocol = a})++-- | OAuth access token.+picdAccessToken :: Lens' ProjectsInstancesClustersDelete (Maybe Text)+picdAccessToken+  = lens _picdAccessToken+      (\ s a -> s{_picdAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+picdUploadType :: Lens' ProjectsInstancesClustersDelete (Maybe Text)+picdUploadType+  = lens _picdUploadType+      (\ s a -> s{_picdUploadType = a})++-- | The unique name of the cluster to be deleted. Values are of the form+-- \`projects\/\/instances\/\/clusters\/\`.+picdName :: Lens' ProjectsInstancesClustersDelete Text+picdName = lens _picdName (\ s a -> s{_picdName = a})++-- | JSONP+picdCallback :: Lens' ProjectsInstancesClustersDelete (Maybe Text)+picdCallback+  = lens _picdCallback (\ s a -> s{_picdCallback = a})++instance GoogleRequest+         ProjectsInstancesClustersDelete where+        type Rs ProjectsInstancesClustersDelete = Empty+        type Scopes ProjectsInstancesClustersDelete =+             '["https://www.googleapis.com/auth/bigtable.admin",+               "https://www.googleapis.com/auth/bigtable.admin.cluster",+               "https://www.googleapis.com/auth/bigtable.admin.instance",+               "https://www.googleapis.com/auth/cloud-bigtable.admin",+               "https://www.googleapis.com/auth/cloud-bigtable.admin.cluster",+               "https://www.googleapis.com/auth/cloud-platform"]+        requestClient ProjectsInstancesClustersDelete'{..}+          = go _picdName _picdXgafv _picdUploadProtocol+              _picdAccessToken+              _picdUploadType+              _picdCallback+              (Just AltJSON)+              bigtableAdminService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy ProjectsInstancesClustersDeleteResource)+                      mempty
+ gen/Network/Google/Resource/BigtableAdmin/Projects/Instances/Clusters/Get.hs view
@@ -0,0 +1,153 @@+{-# 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.BigtableAdmin.Projects.Instances.Clusters.Get+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Gets information about a cluster.+--+-- /See:/ <https://cloud.google.com/bigtable/ Cloud Bigtable Admin API Reference> for @bigtableadmin.projects.instances.clusters.get@.+module Network.Google.Resource.BigtableAdmin.Projects.Instances.Clusters.Get+    (+    -- * REST Resource+      ProjectsInstancesClustersGetResource++    -- * Creating a Request+    , projectsInstancesClustersGet+    , ProjectsInstancesClustersGet++    -- * Request Lenses+    , picgXgafv+    , picgUploadProtocol+    , picgAccessToken+    , picgUploadType+    , picgName+    , picgCallback+    ) where++import           Network.Google.BigtableAdmin.Types+import           Network.Google.Prelude++-- | A resource alias for @bigtableadmin.projects.instances.clusters.get@ method which the+-- 'ProjectsInstancesClustersGet' request conforms to.+type ProjectsInstancesClustersGetResource =+     "v2" :>+       Capture "name" Text :>+         QueryParam "$.xgafv" Xgafv :>+           QueryParam "upload_protocol" Text :>+             QueryParam "access_token" Text :>+               QueryParam "uploadType" Text :>+                 QueryParam "callback" Text :>+                   QueryParam "alt" AltJSON :> Get '[JSON] Cluster++-- | Gets information about a cluster.+--+-- /See:/ 'projectsInstancesClustersGet' smart constructor.+data ProjectsInstancesClustersGet = ProjectsInstancesClustersGet'+    { _picgXgafv          :: !(Maybe Xgafv)+    , _picgUploadProtocol :: !(Maybe Text)+    , _picgAccessToken    :: !(Maybe Text)+    , _picgUploadType     :: !(Maybe Text)+    , _picgName           :: !Text+    , _picgCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProjectsInstancesClustersGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'picgXgafv'+--+-- * 'picgUploadProtocol'+--+-- * 'picgAccessToken'+--+-- * 'picgUploadType'+--+-- * 'picgName'+--+-- * 'picgCallback'+projectsInstancesClustersGet+    :: Text -- ^ 'picgName'+    -> ProjectsInstancesClustersGet+projectsInstancesClustersGet pPicgName_ =+    ProjectsInstancesClustersGet'+    { _picgXgafv = Nothing+    , _picgUploadProtocol = Nothing+    , _picgAccessToken = Nothing+    , _picgUploadType = Nothing+    , _picgName = pPicgName_+    , _picgCallback = Nothing+    }++-- | V1 error format.+picgXgafv :: Lens' ProjectsInstancesClustersGet (Maybe Xgafv)+picgXgafv+  = lens _picgXgafv (\ s a -> s{_picgXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+picgUploadProtocol :: Lens' ProjectsInstancesClustersGet (Maybe Text)+picgUploadProtocol+  = lens _picgUploadProtocol+      (\ s a -> s{_picgUploadProtocol = a})++-- | OAuth access token.+picgAccessToken :: Lens' ProjectsInstancesClustersGet (Maybe Text)+picgAccessToken+  = lens _picgAccessToken+      (\ s a -> s{_picgAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+picgUploadType :: Lens' ProjectsInstancesClustersGet (Maybe Text)+picgUploadType+  = lens _picgUploadType+      (\ s a -> s{_picgUploadType = a})++-- | The unique name of the requested cluster. Values are of the form+-- \`projects\/\/instances\/\/clusters\/\`.+picgName :: Lens' ProjectsInstancesClustersGet Text+picgName = lens _picgName (\ s a -> s{_picgName = a})++-- | JSONP+picgCallback :: Lens' ProjectsInstancesClustersGet (Maybe Text)+picgCallback+  = lens _picgCallback (\ s a -> s{_picgCallback = a})++instance GoogleRequest ProjectsInstancesClustersGet+         where+        type Rs ProjectsInstancesClustersGet = Cluster+        type Scopes ProjectsInstancesClustersGet =+             '["https://www.googleapis.com/auth/bigtable.admin",+               "https://www.googleapis.com/auth/bigtable.admin.cluster",+               "https://www.googleapis.com/auth/bigtable.admin.instance",+               "https://www.googleapis.com/auth/cloud-bigtable.admin",+               "https://www.googleapis.com/auth/cloud-bigtable.admin.cluster",+               "https://www.googleapis.com/auth/cloud-platform",+               "https://www.googleapis.com/auth/cloud-platform.read-only"]+        requestClient ProjectsInstancesClustersGet'{..}+          = go _picgName _picgXgafv _picgUploadProtocol+              _picgAccessToken+              _picgUploadType+              _picgCallback+              (Just AltJSON)+              bigtableAdminService+          where go+                  = buildClient+                      (Proxy :: Proxy ProjectsInstancesClustersGetResource)+                      mempty
+ gen/Network/Google/Resource/BigtableAdmin/Projects/Instances/Clusters/List.hs view
@@ -0,0 +1,173 @@+{-# 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.BigtableAdmin.Projects.Instances.Clusters.List+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists information about clusters in an instance.+--+-- /See:/ <https://cloud.google.com/bigtable/ Cloud Bigtable Admin API Reference> for @bigtableadmin.projects.instances.clusters.list@.+module Network.Google.Resource.BigtableAdmin.Projects.Instances.Clusters.List+    (+    -- * REST Resource+      ProjectsInstancesClustersListResource++    -- * Creating a Request+    , projectsInstancesClustersList+    , ProjectsInstancesClustersList++    -- * Request Lenses+    , piclParent+    , piclXgafv+    , piclUploadProtocol+    , piclAccessToken+    , piclUploadType+    , piclPageToken+    , piclCallback+    ) where++import           Network.Google.BigtableAdmin.Types+import           Network.Google.Prelude++-- | A resource alias for @bigtableadmin.projects.instances.clusters.list@ method which the+-- 'ProjectsInstancesClustersList' request conforms to.+type ProjectsInstancesClustersListResource =+     "v2" :>+       Capture "parent" Text :>+         "clusters" :>+           QueryParam "$.xgafv" Xgafv :>+             QueryParam "upload_protocol" Text :>+               QueryParam "access_token" Text :>+                 QueryParam "uploadType" Text :>+                   QueryParam "pageToken" Text :>+                     QueryParam "callback" Text :>+                       QueryParam "alt" AltJSON :>+                         Get '[JSON] ListClustersResponse++-- | Lists information about clusters in an instance.+--+-- /See:/ 'projectsInstancesClustersList' smart constructor.+data ProjectsInstancesClustersList = ProjectsInstancesClustersList'+    { _piclParent         :: !Text+    , _piclXgafv          :: !(Maybe Xgafv)+    , _piclUploadProtocol :: !(Maybe Text)+    , _piclAccessToken    :: !(Maybe Text)+    , _piclUploadType     :: !(Maybe Text)+    , _piclPageToken      :: !(Maybe Text)+    , _piclCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProjectsInstancesClustersList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'piclParent'+--+-- * 'piclXgafv'+--+-- * 'piclUploadProtocol'+--+-- * 'piclAccessToken'+--+-- * 'piclUploadType'+--+-- * 'piclPageToken'+--+-- * 'piclCallback'+projectsInstancesClustersList+    :: Text -- ^ 'piclParent'+    -> ProjectsInstancesClustersList+projectsInstancesClustersList pPiclParent_ =+    ProjectsInstancesClustersList'+    { _piclParent = pPiclParent_+    , _piclXgafv = Nothing+    , _piclUploadProtocol = Nothing+    , _piclAccessToken = Nothing+    , _piclUploadType = Nothing+    , _piclPageToken = Nothing+    , _piclCallback = Nothing+    }++-- | The unique name of the instance for which a list of clusters is+-- requested. Values are of the form \`projects\/\/instances\/\`. Use \` =+-- \'-\'\` to list Clusters for all Instances in a project, e.g.,+-- \`projects\/myproject\/instances\/-\`.+piclParent :: Lens' ProjectsInstancesClustersList Text+piclParent+  = lens _piclParent (\ s a -> s{_piclParent = a})++-- | V1 error format.+piclXgafv :: Lens' ProjectsInstancesClustersList (Maybe Xgafv)+piclXgafv+  = lens _piclXgafv (\ s a -> s{_piclXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+piclUploadProtocol :: Lens' ProjectsInstancesClustersList (Maybe Text)+piclUploadProtocol+  = lens _piclUploadProtocol+      (\ s a -> s{_piclUploadProtocol = a})++-- | OAuth access token.+piclAccessToken :: Lens' ProjectsInstancesClustersList (Maybe Text)+piclAccessToken+  = lens _piclAccessToken+      (\ s a -> s{_piclAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+piclUploadType :: Lens' ProjectsInstancesClustersList (Maybe Text)+piclUploadType+  = lens _piclUploadType+      (\ s a -> s{_piclUploadType = a})++-- | DEPRECATED: This field is unused and ignored.+piclPageToken :: Lens' ProjectsInstancesClustersList (Maybe Text)+piclPageToken+  = lens _piclPageToken+      (\ s a -> s{_piclPageToken = a})++-- | JSONP+piclCallback :: Lens' ProjectsInstancesClustersList (Maybe Text)+piclCallback+  = lens _piclCallback (\ s a -> s{_piclCallback = a})++instance GoogleRequest ProjectsInstancesClustersList+         where+        type Rs ProjectsInstancesClustersList =+             ListClustersResponse+        type Scopes ProjectsInstancesClustersList =+             '["https://www.googleapis.com/auth/bigtable.admin",+               "https://www.googleapis.com/auth/bigtable.admin.cluster",+               "https://www.googleapis.com/auth/bigtable.admin.instance",+               "https://www.googleapis.com/auth/cloud-bigtable.admin",+               "https://www.googleapis.com/auth/cloud-bigtable.admin.cluster",+               "https://www.googleapis.com/auth/cloud-platform",+               "https://www.googleapis.com/auth/cloud-platform.read-only"]+        requestClient ProjectsInstancesClustersList'{..}+          = go _piclParent _piclXgafv _piclUploadProtocol+              _piclAccessToken+              _piclUploadType+              _piclPageToken+              _piclCallback+              (Just AltJSON)+              bigtableAdminService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy ProjectsInstancesClustersListResource)+                      mempty
+ gen/Network/Google/Resource/BigtableAdmin/Projects/Instances/Clusters/Update.hs view
@@ -0,0 +1,166 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.BigtableAdmin.Projects.Instances.Clusters.Update+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates a cluster within an instance.+--+-- /See:/ <https://cloud.google.com/bigtable/ Cloud Bigtable Admin API Reference> for @bigtableadmin.projects.instances.clusters.update@.+module Network.Google.Resource.BigtableAdmin.Projects.Instances.Clusters.Update+    (+    -- * REST Resource+      ProjectsInstancesClustersUpdateResource++    -- * Creating a Request+    , projectsInstancesClustersUpdate+    , ProjectsInstancesClustersUpdate++    -- * Request Lenses+    , picuXgafv+    , picuUploadProtocol+    , picuAccessToken+    , picuUploadType+    , picuPayload+    , picuName+    , picuCallback+    ) where++import           Network.Google.BigtableAdmin.Types+import           Network.Google.Prelude++-- | A resource alias for @bigtableadmin.projects.instances.clusters.update@ method which the+-- 'ProjectsInstancesClustersUpdate' request conforms to.+type ProjectsInstancesClustersUpdateResource =+     "v2" :>+       Capture "name" Text :>+         QueryParam "$.xgafv" Xgafv :>+           QueryParam "upload_protocol" Text :>+             QueryParam "access_token" Text :>+               QueryParam "uploadType" Text :>+                 QueryParam "callback" Text :>+                   QueryParam "alt" AltJSON :>+                     ReqBody '[JSON] Cluster :> Put '[JSON] Operation++-- | Updates a cluster within an instance.+--+-- /See:/ 'projectsInstancesClustersUpdate' smart constructor.+data ProjectsInstancesClustersUpdate = ProjectsInstancesClustersUpdate'+    { _picuXgafv          :: !(Maybe Xgafv)+    , _picuUploadProtocol :: !(Maybe Text)+    , _picuAccessToken    :: !(Maybe Text)+    , _picuUploadType     :: !(Maybe Text)+    , _picuPayload        :: !Cluster+    , _picuName           :: !Text+    , _picuCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProjectsInstancesClustersUpdate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'picuXgafv'+--+-- * 'picuUploadProtocol'+--+-- * 'picuAccessToken'+--+-- * 'picuUploadType'+--+-- * 'picuPayload'+--+-- * 'picuName'+--+-- * 'picuCallback'+projectsInstancesClustersUpdate+    :: Cluster -- ^ 'picuPayload'+    -> Text -- ^ 'picuName'+    -> ProjectsInstancesClustersUpdate+projectsInstancesClustersUpdate pPicuPayload_ pPicuName_ =+    ProjectsInstancesClustersUpdate'+    { _picuXgafv = Nothing+    , _picuUploadProtocol = Nothing+    , _picuAccessToken = Nothing+    , _picuUploadType = Nothing+    , _picuPayload = pPicuPayload_+    , _picuName = pPicuName_+    , _picuCallback = Nothing+    }++-- | V1 error format.+picuXgafv :: Lens' ProjectsInstancesClustersUpdate (Maybe Xgafv)+picuXgafv+  = lens _picuXgafv (\ s a -> s{_picuXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+picuUploadProtocol :: Lens' ProjectsInstancesClustersUpdate (Maybe Text)+picuUploadProtocol+  = lens _picuUploadProtocol+      (\ s a -> s{_picuUploadProtocol = a})++-- | OAuth access token.+picuAccessToken :: Lens' ProjectsInstancesClustersUpdate (Maybe Text)+picuAccessToken+  = lens _picuAccessToken+      (\ s a -> s{_picuAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+picuUploadType :: Lens' ProjectsInstancesClustersUpdate (Maybe Text)+picuUploadType+  = lens _picuUploadType+      (\ s a -> s{_picuUploadType = a})++-- | Multipart request metadata.+picuPayload :: Lens' ProjectsInstancesClustersUpdate Cluster+picuPayload+  = lens _picuPayload (\ s a -> s{_picuPayload = a})++-- | (\`OutputOnly\`) The unique name of the cluster. Values are of the form+-- \`projects\/\/instances\/\/clusters\/a-z*\`.+picuName :: Lens' ProjectsInstancesClustersUpdate Text+picuName = lens _picuName (\ s a -> s{_picuName = a})++-- | JSONP+picuCallback :: Lens' ProjectsInstancesClustersUpdate (Maybe Text)+picuCallback+  = lens _picuCallback (\ s a -> s{_picuCallback = a})++instance GoogleRequest+         ProjectsInstancesClustersUpdate where+        type Rs ProjectsInstancesClustersUpdate = Operation+        type Scopes ProjectsInstancesClustersUpdate =+             '["https://www.googleapis.com/auth/bigtable.admin",+               "https://www.googleapis.com/auth/bigtable.admin.cluster",+               "https://www.googleapis.com/auth/bigtable.admin.instance",+               "https://www.googleapis.com/auth/cloud-bigtable.admin",+               "https://www.googleapis.com/auth/cloud-bigtable.admin.cluster",+               "https://www.googleapis.com/auth/cloud-platform"]+        requestClient ProjectsInstancesClustersUpdate'{..}+          = go _picuName _picuXgafv _picuUploadProtocol+              _picuAccessToken+              _picuUploadType+              _picuCallback+              (Just AltJSON)+              _picuPayload+              bigtableAdminService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy ProjectsInstancesClustersUpdateResource)+                      mempty
+ gen/Network/Google/Resource/BigtableAdmin/Projects/Instances/Create.hs view
@@ -0,0 +1,166 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.BigtableAdmin.Projects.Instances.Create+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Create an instance within a project.+--+-- /See:/ <https://cloud.google.com/bigtable/ Cloud Bigtable Admin API Reference> for @bigtableadmin.projects.instances.create@.+module Network.Google.Resource.BigtableAdmin.Projects.Instances.Create+    (+    -- * REST Resource+      ProjectsInstancesCreateResource++    -- * Creating a Request+    , projectsInstancesCreate+    , ProjectsInstancesCreate++    -- * Request Lenses+    , picParent+    , picXgafv+    , picUploadProtocol+    , picAccessToken+    , picUploadType+    , picPayload+    , picCallback+    ) where++import           Network.Google.BigtableAdmin.Types+import           Network.Google.Prelude++-- | A resource alias for @bigtableadmin.projects.instances.create@ method which the+-- 'ProjectsInstancesCreate' request conforms to.+type ProjectsInstancesCreateResource =+     "v2" :>+       Capture "parent" Text :>+         "instances" :>+           QueryParam "$.xgafv" Xgafv :>+             QueryParam "upload_protocol" Text :>+               QueryParam "access_token" Text :>+                 QueryParam "uploadType" Text :>+                   QueryParam "callback" Text :>+                     QueryParam "alt" AltJSON :>+                       ReqBody '[JSON] CreateInstanceRequest :>+                         Post '[JSON] Operation++-- | Create an instance within a project.+--+-- /See:/ 'projectsInstancesCreate' smart constructor.+data ProjectsInstancesCreate = ProjectsInstancesCreate'+    { _picParent         :: !Text+    , _picXgafv          :: !(Maybe Xgafv)+    , _picUploadProtocol :: !(Maybe Text)+    , _picAccessToken    :: !(Maybe Text)+    , _picUploadType     :: !(Maybe Text)+    , _picPayload        :: !CreateInstanceRequest+    , _picCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProjectsInstancesCreate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'picParent'+--+-- * 'picXgafv'+--+-- * 'picUploadProtocol'+--+-- * 'picAccessToken'+--+-- * 'picUploadType'+--+-- * 'picPayload'+--+-- * 'picCallback'+projectsInstancesCreate+    :: Text -- ^ 'picParent'+    -> CreateInstanceRequest -- ^ 'picPayload'+    -> ProjectsInstancesCreate+projectsInstancesCreate pPicParent_ pPicPayload_ =+    ProjectsInstancesCreate'+    { _picParent = pPicParent_+    , _picXgafv = Nothing+    , _picUploadProtocol = Nothing+    , _picAccessToken = Nothing+    , _picUploadType = Nothing+    , _picPayload = pPicPayload_+    , _picCallback = Nothing+    }++-- | The unique name of the project in which to create the new instance.+-- Values are of the form \`projects\/\`.+picParent :: Lens' ProjectsInstancesCreate Text+picParent+  = lens _picParent (\ s a -> s{_picParent = a})++-- | V1 error format.+picXgafv :: Lens' ProjectsInstancesCreate (Maybe Xgafv)+picXgafv = lens _picXgafv (\ s a -> s{_picXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+picUploadProtocol :: Lens' ProjectsInstancesCreate (Maybe Text)+picUploadProtocol+  = lens _picUploadProtocol+      (\ s a -> s{_picUploadProtocol = a})++-- | OAuth access token.+picAccessToken :: Lens' ProjectsInstancesCreate (Maybe Text)+picAccessToken+  = lens _picAccessToken+      (\ s a -> s{_picAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+picUploadType :: Lens' ProjectsInstancesCreate (Maybe Text)+picUploadType+  = lens _picUploadType+      (\ s a -> s{_picUploadType = a})++-- | Multipart request metadata.+picPayload :: Lens' ProjectsInstancesCreate CreateInstanceRequest+picPayload+  = lens _picPayload (\ s a -> s{_picPayload = a})++-- | JSONP+picCallback :: Lens' ProjectsInstancesCreate (Maybe Text)+picCallback+  = lens _picCallback (\ s a -> s{_picCallback = a})++instance GoogleRequest ProjectsInstancesCreate where+        type Rs ProjectsInstancesCreate = Operation+        type Scopes ProjectsInstancesCreate =+             '["https://www.googleapis.com/auth/bigtable.admin",+               "https://www.googleapis.com/auth/bigtable.admin.cluster",+               "https://www.googleapis.com/auth/bigtable.admin.instance",+               "https://www.googleapis.com/auth/cloud-bigtable.admin",+               "https://www.googleapis.com/auth/cloud-bigtable.admin.cluster",+               "https://www.googleapis.com/auth/cloud-platform"]+        requestClient ProjectsInstancesCreate'{..}+          = go _picParent _picXgafv _picUploadProtocol+              _picAccessToken+              _picUploadType+              _picCallback+              (Just AltJSON)+              _picPayload+              bigtableAdminService+          where go+                  = buildClient+                      (Proxy :: Proxy ProjectsInstancesCreateResource)+                      mempty
+ gen/Network/Google/Resource/BigtableAdmin/Projects/Instances/Delete.hs view
@@ -0,0 +1,150 @@+{-# 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.BigtableAdmin.Projects.Instances.Delete+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Delete an instance from a project.+--+-- /See:/ <https://cloud.google.com/bigtable/ Cloud Bigtable Admin API Reference> for @bigtableadmin.projects.instances.delete@.+module Network.Google.Resource.BigtableAdmin.Projects.Instances.Delete+    (+    -- * REST Resource+      ProjectsInstancesDeleteResource++    -- * Creating a Request+    , projectsInstancesDelete+    , ProjectsInstancesDelete++    -- * Request Lenses+    , pidXgafv+    , pidUploadProtocol+    , pidAccessToken+    , pidUploadType+    , pidName+    , pidCallback+    ) where++import           Network.Google.BigtableAdmin.Types+import           Network.Google.Prelude++-- | A resource alias for @bigtableadmin.projects.instances.delete@ method which the+-- 'ProjectsInstancesDelete' request conforms to.+type ProjectsInstancesDeleteResource =+     "v2" :>+       Capture "name" Text :>+         QueryParam "$.xgafv" Xgafv :>+           QueryParam "upload_protocol" Text :>+             QueryParam "access_token" Text :>+               QueryParam "uploadType" Text :>+                 QueryParam "callback" Text :>+                   QueryParam "alt" AltJSON :> Delete '[JSON] Empty++-- | Delete an instance from a project.+--+-- /See:/ 'projectsInstancesDelete' smart constructor.+data ProjectsInstancesDelete = ProjectsInstancesDelete'+    { _pidXgafv          :: !(Maybe Xgafv)+    , _pidUploadProtocol :: !(Maybe Text)+    , _pidAccessToken    :: !(Maybe Text)+    , _pidUploadType     :: !(Maybe Text)+    , _pidName           :: !Text+    , _pidCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProjectsInstancesDelete' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pidXgafv'+--+-- * 'pidUploadProtocol'+--+-- * 'pidAccessToken'+--+-- * 'pidUploadType'+--+-- * 'pidName'+--+-- * 'pidCallback'+projectsInstancesDelete+    :: Text -- ^ 'pidName'+    -> ProjectsInstancesDelete+projectsInstancesDelete pPidName_ =+    ProjectsInstancesDelete'+    { _pidXgafv = Nothing+    , _pidUploadProtocol = Nothing+    , _pidAccessToken = Nothing+    , _pidUploadType = Nothing+    , _pidName = pPidName_+    , _pidCallback = Nothing+    }++-- | V1 error format.+pidXgafv :: Lens' ProjectsInstancesDelete (Maybe Xgafv)+pidXgafv = lens _pidXgafv (\ s a -> s{_pidXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+pidUploadProtocol :: Lens' ProjectsInstancesDelete (Maybe Text)+pidUploadProtocol+  = lens _pidUploadProtocol+      (\ s a -> s{_pidUploadProtocol = a})++-- | OAuth access token.+pidAccessToken :: Lens' ProjectsInstancesDelete (Maybe Text)+pidAccessToken+  = lens _pidAccessToken+      (\ s a -> s{_pidAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+pidUploadType :: Lens' ProjectsInstancesDelete (Maybe Text)+pidUploadType+  = lens _pidUploadType+      (\ s a -> s{_pidUploadType = a})++-- | The unique name of the instance to be deleted. Values are of the form+-- \`projects\/\/instances\/\`.+pidName :: Lens' ProjectsInstancesDelete Text+pidName = lens _pidName (\ s a -> s{_pidName = a})++-- | JSONP+pidCallback :: Lens' ProjectsInstancesDelete (Maybe Text)+pidCallback+  = lens _pidCallback (\ s a -> s{_pidCallback = a})++instance GoogleRequest ProjectsInstancesDelete where+        type Rs ProjectsInstancesDelete = Empty+        type Scopes ProjectsInstancesDelete =+             '["https://www.googleapis.com/auth/bigtable.admin",+               "https://www.googleapis.com/auth/bigtable.admin.cluster",+               "https://www.googleapis.com/auth/bigtable.admin.instance",+               "https://www.googleapis.com/auth/cloud-bigtable.admin",+               "https://www.googleapis.com/auth/cloud-bigtable.admin.cluster",+               "https://www.googleapis.com/auth/cloud-platform"]+        requestClient ProjectsInstancesDelete'{..}+          = go _pidName _pidXgafv _pidUploadProtocol+              _pidAccessToken+              _pidUploadType+              _pidCallback+              (Just AltJSON)+              bigtableAdminService+          where go+                  = buildClient+                      (Proxy :: Proxy ProjectsInstancesDeleteResource)+                      mempty
+ gen/Network/Google/Resource/BigtableAdmin/Projects/Instances/Get.hs view
@@ -0,0 +1,151 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.BigtableAdmin.Projects.Instances.Get+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Gets information about an instance.+--+-- /See:/ <https://cloud.google.com/bigtable/ Cloud Bigtable Admin API Reference> for @bigtableadmin.projects.instances.get@.+module Network.Google.Resource.BigtableAdmin.Projects.Instances.Get+    (+    -- * REST Resource+      ProjectsInstancesGetResource++    -- * Creating a Request+    , projectsInstancesGet+    , ProjectsInstancesGet++    -- * Request Lenses+    , pigXgafv+    , pigUploadProtocol+    , pigAccessToken+    , pigUploadType+    , pigName+    , pigCallback+    ) where++import           Network.Google.BigtableAdmin.Types+import           Network.Google.Prelude++-- | A resource alias for @bigtableadmin.projects.instances.get@ method which the+-- 'ProjectsInstancesGet' request conforms to.+type ProjectsInstancesGetResource =+     "v2" :>+       Capture "name" Text :>+         QueryParam "$.xgafv" Xgafv :>+           QueryParam "upload_protocol" Text :>+             QueryParam "access_token" Text :>+               QueryParam "uploadType" Text :>+                 QueryParam "callback" Text :>+                   QueryParam "alt" AltJSON :> Get '[JSON] Instance++-- | Gets information about an instance.+--+-- /See:/ 'projectsInstancesGet' smart constructor.+data ProjectsInstancesGet = ProjectsInstancesGet'+    { _pigXgafv          :: !(Maybe Xgafv)+    , _pigUploadProtocol :: !(Maybe Text)+    , _pigAccessToken    :: !(Maybe Text)+    , _pigUploadType     :: !(Maybe Text)+    , _pigName           :: !Text+    , _pigCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProjectsInstancesGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pigXgafv'+--+-- * 'pigUploadProtocol'+--+-- * 'pigAccessToken'+--+-- * 'pigUploadType'+--+-- * 'pigName'+--+-- * 'pigCallback'+projectsInstancesGet+    :: Text -- ^ 'pigName'+    -> ProjectsInstancesGet+projectsInstancesGet pPigName_ =+    ProjectsInstancesGet'+    { _pigXgafv = Nothing+    , _pigUploadProtocol = Nothing+    , _pigAccessToken = Nothing+    , _pigUploadType = Nothing+    , _pigName = pPigName_+    , _pigCallback = Nothing+    }++-- | V1 error format.+pigXgafv :: Lens' ProjectsInstancesGet (Maybe Xgafv)+pigXgafv = lens _pigXgafv (\ s a -> s{_pigXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+pigUploadProtocol :: Lens' ProjectsInstancesGet (Maybe Text)+pigUploadProtocol+  = lens _pigUploadProtocol+      (\ s a -> s{_pigUploadProtocol = a})++-- | OAuth access token.+pigAccessToken :: Lens' ProjectsInstancesGet (Maybe Text)+pigAccessToken+  = lens _pigAccessToken+      (\ s a -> s{_pigAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+pigUploadType :: Lens' ProjectsInstancesGet (Maybe Text)+pigUploadType+  = lens _pigUploadType+      (\ s a -> s{_pigUploadType = a})++-- | The unique name of the requested instance. Values are of the form+-- \`projects\/\/instances\/\`.+pigName :: Lens' ProjectsInstancesGet Text+pigName = lens _pigName (\ s a -> s{_pigName = a})++-- | JSONP+pigCallback :: Lens' ProjectsInstancesGet (Maybe Text)+pigCallback+  = lens _pigCallback (\ s a -> s{_pigCallback = a})++instance GoogleRequest ProjectsInstancesGet where+        type Rs ProjectsInstancesGet = Instance+        type Scopes ProjectsInstancesGet =+             '["https://www.googleapis.com/auth/bigtable.admin",+               "https://www.googleapis.com/auth/bigtable.admin.cluster",+               "https://www.googleapis.com/auth/bigtable.admin.instance",+               "https://www.googleapis.com/auth/cloud-bigtable.admin",+               "https://www.googleapis.com/auth/cloud-bigtable.admin.cluster",+               "https://www.googleapis.com/auth/cloud-platform",+               "https://www.googleapis.com/auth/cloud-platform.read-only"]+        requestClient ProjectsInstancesGet'{..}+          = go _pigName _pigXgafv _pigUploadProtocol+              _pigAccessToken+              _pigUploadType+              _pigCallback+              (Just AltJSON)+              bigtableAdminService+          where go+                  = buildClient+                      (Proxy :: Proxy ProjectsInstancesGetResource)+                      mempty
+ gen/Network/Google/Resource/BigtableAdmin/Projects/Instances/GetIAMPolicy.hs view
@@ -0,0 +1,172 @@+{-# 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.BigtableAdmin.Projects.Instances.GetIAMPolicy+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Gets the access control policy for an instance resource. Returns an+-- empty policy if an instance exists but does not have a policy set.+--+-- /See:/ <https://cloud.google.com/bigtable/ Cloud Bigtable Admin API Reference> for @bigtableadmin.projects.instances.getIamPolicy@.+module Network.Google.Resource.BigtableAdmin.Projects.Instances.GetIAMPolicy+    (+    -- * REST Resource+      ProjectsInstancesGetIAMPolicyResource++    -- * Creating a Request+    , projectsInstancesGetIAMPolicy+    , ProjectsInstancesGetIAMPolicy++    -- * Request Lenses+    , pigipXgafv+    , pigipUploadProtocol+    , pigipAccessToken+    , pigipUploadType+    , pigipPayload+    , pigipResource+    , pigipCallback+    ) where++import           Network.Google.BigtableAdmin.Types+import           Network.Google.Prelude++-- | A resource alias for @bigtableadmin.projects.instances.getIamPolicy@ method which the+-- 'ProjectsInstancesGetIAMPolicy' request conforms to.+type ProjectsInstancesGetIAMPolicyResource =+     "v2" :>+       CaptureMode "resource" "getIamPolicy" Text :>+         QueryParam "$.xgafv" Xgafv :>+           QueryParam "upload_protocol" Text :>+             QueryParam "access_token" Text :>+               QueryParam "uploadType" Text :>+                 QueryParam "callback" Text :>+                   QueryParam "alt" AltJSON :>+                     ReqBody '[JSON] GetIAMPolicyRequest :>+                       Post '[JSON] Policy++-- | Gets the access control policy for an instance resource. Returns an+-- empty policy if an instance exists but does not have a policy set.+--+-- /See:/ 'projectsInstancesGetIAMPolicy' smart constructor.+data ProjectsInstancesGetIAMPolicy = ProjectsInstancesGetIAMPolicy'+    { _pigipXgafv          :: !(Maybe Xgafv)+    , _pigipUploadProtocol :: !(Maybe Text)+    , _pigipAccessToken    :: !(Maybe Text)+    , _pigipUploadType     :: !(Maybe Text)+    , _pigipPayload        :: !GetIAMPolicyRequest+    , _pigipResource       :: !Text+    , _pigipCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProjectsInstancesGetIAMPolicy' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pigipXgafv'+--+-- * 'pigipUploadProtocol'+--+-- * 'pigipAccessToken'+--+-- * 'pigipUploadType'+--+-- * 'pigipPayload'+--+-- * 'pigipResource'+--+-- * 'pigipCallback'+projectsInstancesGetIAMPolicy+    :: GetIAMPolicyRequest -- ^ 'pigipPayload'+    -> Text -- ^ 'pigipResource'+    -> ProjectsInstancesGetIAMPolicy+projectsInstancesGetIAMPolicy pPigipPayload_ pPigipResource_ =+    ProjectsInstancesGetIAMPolicy'+    { _pigipXgafv = Nothing+    , _pigipUploadProtocol = Nothing+    , _pigipAccessToken = Nothing+    , _pigipUploadType = Nothing+    , _pigipPayload = pPigipPayload_+    , _pigipResource = pPigipResource_+    , _pigipCallback = Nothing+    }++-- | V1 error format.+pigipXgafv :: Lens' ProjectsInstancesGetIAMPolicy (Maybe Xgafv)+pigipXgafv+  = lens _pigipXgafv (\ s a -> s{_pigipXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+pigipUploadProtocol :: Lens' ProjectsInstancesGetIAMPolicy (Maybe Text)+pigipUploadProtocol+  = lens _pigipUploadProtocol+      (\ s a -> s{_pigipUploadProtocol = a})++-- | OAuth access token.+pigipAccessToken :: Lens' ProjectsInstancesGetIAMPolicy (Maybe Text)+pigipAccessToken+  = lens _pigipAccessToken+      (\ s a -> s{_pigipAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+pigipUploadType :: Lens' ProjectsInstancesGetIAMPolicy (Maybe Text)+pigipUploadType+  = lens _pigipUploadType+      (\ s a -> s{_pigipUploadType = a})++-- | Multipart request metadata.+pigipPayload :: Lens' ProjectsInstancesGetIAMPolicy GetIAMPolicyRequest+pigipPayload+  = lens _pigipPayload (\ s a -> s{_pigipPayload = a})++-- | REQUIRED: The resource for which the policy is being requested. See the+-- operation documentation for the appropriate value for this field.+pigipResource :: Lens' ProjectsInstancesGetIAMPolicy Text+pigipResource+  = lens _pigipResource+      (\ s a -> s{_pigipResource = a})++-- | JSONP+pigipCallback :: Lens' ProjectsInstancesGetIAMPolicy (Maybe Text)+pigipCallback+  = lens _pigipCallback+      (\ s a -> s{_pigipCallback = a})++instance GoogleRequest ProjectsInstancesGetIAMPolicy+         where+        type Rs ProjectsInstancesGetIAMPolicy = Policy+        type Scopes ProjectsInstancesGetIAMPolicy =+             '["https://www.googleapis.com/auth/bigtable.admin",+               "https://www.googleapis.com/auth/bigtable.admin.cluster",+               "https://www.googleapis.com/auth/bigtable.admin.instance",+               "https://www.googleapis.com/auth/cloud-bigtable.admin",+               "https://www.googleapis.com/auth/cloud-bigtable.admin.cluster",+               "https://www.googleapis.com/auth/cloud-platform"]+        requestClient ProjectsInstancesGetIAMPolicy'{..}+          = go _pigipResource _pigipXgafv _pigipUploadProtocol+              _pigipAccessToken+              _pigipUploadType+              _pigipCallback+              (Just AltJSON)+              _pigipPayload+              bigtableAdminService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy ProjectsInstancesGetIAMPolicyResource)+                      mempty
+ gen/Network/Google/Resource/BigtableAdmin/Projects/Instances/List.hs view
@@ -0,0 +1,166 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.BigtableAdmin.Projects.Instances.List+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists information about instances in a project.+--+-- /See:/ <https://cloud.google.com/bigtable/ Cloud Bigtable Admin API Reference> for @bigtableadmin.projects.instances.list@.+module Network.Google.Resource.BigtableAdmin.Projects.Instances.List+    (+    -- * REST Resource+      ProjectsInstancesListResource++    -- * Creating a Request+    , projectsInstancesList+    , ProjectsInstancesList++    -- * Request Lenses+    , pilParent+    , pilXgafv+    , pilUploadProtocol+    , pilAccessToken+    , pilUploadType+    , pilPageToken+    , pilCallback+    ) where++import           Network.Google.BigtableAdmin.Types+import           Network.Google.Prelude++-- | A resource alias for @bigtableadmin.projects.instances.list@ method which the+-- 'ProjectsInstancesList' request conforms to.+type ProjectsInstancesListResource =+     "v2" :>+       Capture "parent" Text :>+         "instances" :>+           QueryParam "$.xgafv" Xgafv :>+             QueryParam "upload_protocol" Text :>+               QueryParam "access_token" Text :>+                 QueryParam "uploadType" Text :>+                   QueryParam "pageToken" Text :>+                     QueryParam "callback" Text :>+                       QueryParam "alt" AltJSON :>+                         Get '[JSON] ListInstancesResponse++-- | Lists information about instances in a project.+--+-- /See:/ 'projectsInstancesList' smart constructor.+data ProjectsInstancesList = ProjectsInstancesList'+    { _pilParent         :: !Text+    , _pilXgafv          :: !(Maybe Xgafv)+    , _pilUploadProtocol :: !(Maybe Text)+    , _pilAccessToken    :: !(Maybe Text)+    , _pilUploadType     :: !(Maybe Text)+    , _pilPageToken      :: !(Maybe Text)+    , _pilCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProjectsInstancesList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pilParent'+--+-- * 'pilXgafv'+--+-- * 'pilUploadProtocol'+--+-- * 'pilAccessToken'+--+-- * 'pilUploadType'+--+-- * 'pilPageToken'+--+-- * 'pilCallback'+projectsInstancesList+    :: Text -- ^ 'pilParent'+    -> ProjectsInstancesList+projectsInstancesList pPilParent_ =+    ProjectsInstancesList'+    { _pilParent = pPilParent_+    , _pilXgafv = Nothing+    , _pilUploadProtocol = Nothing+    , _pilAccessToken = Nothing+    , _pilUploadType = Nothing+    , _pilPageToken = Nothing+    , _pilCallback = Nothing+    }++-- | The unique name of the project for which a list of instances is+-- requested. Values are of the form \`projects\/\`.+pilParent :: Lens' ProjectsInstancesList Text+pilParent+  = lens _pilParent (\ s a -> s{_pilParent = a})++-- | V1 error format.+pilXgafv :: Lens' ProjectsInstancesList (Maybe Xgafv)+pilXgafv = lens _pilXgafv (\ s a -> s{_pilXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+pilUploadProtocol :: Lens' ProjectsInstancesList (Maybe Text)+pilUploadProtocol+  = lens _pilUploadProtocol+      (\ s a -> s{_pilUploadProtocol = a})++-- | OAuth access token.+pilAccessToken :: Lens' ProjectsInstancesList (Maybe Text)+pilAccessToken+  = lens _pilAccessToken+      (\ s a -> s{_pilAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+pilUploadType :: Lens' ProjectsInstancesList (Maybe Text)+pilUploadType+  = lens _pilUploadType+      (\ s a -> s{_pilUploadType = a})++-- | DEPRECATED: This field is unused and ignored.+pilPageToken :: Lens' ProjectsInstancesList (Maybe Text)+pilPageToken+  = lens _pilPageToken (\ s a -> s{_pilPageToken = a})++-- | JSONP+pilCallback :: Lens' ProjectsInstancesList (Maybe Text)+pilCallback+  = lens _pilCallback (\ s a -> s{_pilCallback = a})++instance GoogleRequest ProjectsInstancesList where+        type Rs ProjectsInstancesList = ListInstancesResponse+        type Scopes ProjectsInstancesList =+             '["https://www.googleapis.com/auth/bigtable.admin",+               "https://www.googleapis.com/auth/bigtable.admin.cluster",+               "https://www.googleapis.com/auth/bigtable.admin.instance",+               "https://www.googleapis.com/auth/cloud-bigtable.admin",+               "https://www.googleapis.com/auth/cloud-bigtable.admin.cluster",+               "https://www.googleapis.com/auth/cloud-platform",+               "https://www.googleapis.com/auth/cloud-platform.read-only"]+        requestClient ProjectsInstancesList'{..}+          = go _pilParent _pilXgafv _pilUploadProtocol+              _pilAccessToken+              _pilUploadType+              _pilPageToken+              _pilCallback+              (Just AltJSON)+              bigtableAdminService+          where go+                  = buildClient+                      (Proxy :: Proxy ProjectsInstancesListResource)+                      mempty
+ gen/Network/Google/Resource/BigtableAdmin/Projects/Instances/PartialUpdateInstance.hs view
@@ -0,0 +1,188 @@+{-# 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.BigtableAdmin.Projects.Instances.PartialUpdateInstance+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Partially updates an instance within a project. This method can modify+-- all fields of an Instance and is the preferred way to update an+-- Instance.+--+-- /See:/ <https://cloud.google.com/bigtable/ Cloud Bigtable Admin API Reference> for @bigtableadmin.projects.instances.partialUpdateInstance@.+module Network.Google.Resource.BigtableAdmin.Projects.Instances.PartialUpdateInstance+    (+    -- * REST Resource+      ProjectsInstancesPartialUpdateInstanceResource++    -- * Creating a Request+    , projectsInstancesPartialUpdateInstance+    , ProjectsInstancesPartialUpdateInstance++    -- * Request Lenses+    , pipuiXgafv+    , pipuiUploadProtocol+    , pipuiUpdateMask+    , pipuiAccessToken+    , pipuiUploadType+    , pipuiPayload+    , pipuiName+    , pipuiCallback+    ) where++import           Network.Google.BigtableAdmin.Types+import           Network.Google.Prelude++-- | A resource alias for @bigtableadmin.projects.instances.partialUpdateInstance@ method which the+-- 'ProjectsInstancesPartialUpdateInstance' request conforms to.+type ProjectsInstancesPartialUpdateInstanceResource =+     "v2" :>+       Capture "name" Text :>+         QueryParam "$.xgafv" Xgafv :>+           QueryParam "upload_protocol" Text :>+             QueryParam "updateMask" GFieldMask :>+               QueryParam "access_token" Text :>+                 QueryParam "uploadType" Text :>+                   QueryParam "callback" Text :>+                     QueryParam "alt" AltJSON :>+                       ReqBody '[JSON] Instance :> Patch '[JSON] Operation++-- | Partially updates an instance within a project. This method can modify+-- all fields of an Instance and is the preferred way to update an+-- Instance.+--+-- /See:/ 'projectsInstancesPartialUpdateInstance' smart constructor.+data ProjectsInstancesPartialUpdateInstance = ProjectsInstancesPartialUpdateInstance'+    { _pipuiXgafv          :: !(Maybe Xgafv)+    , _pipuiUploadProtocol :: !(Maybe Text)+    , _pipuiUpdateMask     :: !(Maybe GFieldMask)+    , _pipuiAccessToken    :: !(Maybe Text)+    , _pipuiUploadType     :: !(Maybe Text)+    , _pipuiPayload        :: !Instance+    , _pipuiName           :: !Text+    , _pipuiCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProjectsInstancesPartialUpdateInstance' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pipuiXgafv'+--+-- * 'pipuiUploadProtocol'+--+-- * 'pipuiUpdateMask'+--+-- * 'pipuiAccessToken'+--+-- * 'pipuiUploadType'+--+-- * 'pipuiPayload'+--+-- * 'pipuiName'+--+-- * 'pipuiCallback'+projectsInstancesPartialUpdateInstance+    :: Instance -- ^ 'pipuiPayload'+    -> Text -- ^ 'pipuiName'+    -> ProjectsInstancesPartialUpdateInstance+projectsInstancesPartialUpdateInstance pPipuiPayload_ pPipuiName_ =+    ProjectsInstancesPartialUpdateInstance'+    { _pipuiXgafv = Nothing+    , _pipuiUploadProtocol = Nothing+    , _pipuiUpdateMask = Nothing+    , _pipuiAccessToken = Nothing+    , _pipuiUploadType = Nothing+    , _pipuiPayload = pPipuiPayload_+    , _pipuiName = pPipuiName_+    , _pipuiCallback = Nothing+    }++-- | V1 error format.+pipuiXgafv :: Lens' ProjectsInstancesPartialUpdateInstance (Maybe Xgafv)+pipuiXgafv+  = lens _pipuiXgafv (\ s a -> s{_pipuiXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+pipuiUploadProtocol :: Lens' ProjectsInstancesPartialUpdateInstance (Maybe Text)+pipuiUploadProtocol+  = lens _pipuiUploadProtocol+      (\ s a -> s{_pipuiUploadProtocol = a})++-- | The subset of Instance fields which should be replaced. Must be+-- explicitly set.+pipuiUpdateMask :: Lens' ProjectsInstancesPartialUpdateInstance (Maybe GFieldMask)+pipuiUpdateMask+  = lens _pipuiUpdateMask+      (\ s a -> s{_pipuiUpdateMask = a})++-- | OAuth access token.+pipuiAccessToken :: Lens' ProjectsInstancesPartialUpdateInstance (Maybe Text)+pipuiAccessToken+  = lens _pipuiAccessToken+      (\ s a -> s{_pipuiAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+pipuiUploadType :: Lens' ProjectsInstancesPartialUpdateInstance (Maybe Text)+pipuiUploadType+  = lens _pipuiUploadType+      (\ s a -> s{_pipuiUploadType = a})++-- | Multipart request metadata.+pipuiPayload :: Lens' ProjectsInstancesPartialUpdateInstance Instance+pipuiPayload+  = lens _pipuiPayload (\ s a -> s{_pipuiPayload = a})++-- | (\`OutputOnly\`) The unique name of the instance. Values are of the form+-- \`projects\/\/instances\/a-z+[a-z0-9]\`.+pipuiName :: Lens' ProjectsInstancesPartialUpdateInstance Text+pipuiName+  = lens _pipuiName (\ s a -> s{_pipuiName = a})++-- | JSONP+pipuiCallback :: Lens' ProjectsInstancesPartialUpdateInstance (Maybe Text)+pipuiCallback+  = lens _pipuiCallback+      (\ s a -> s{_pipuiCallback = a})++instance GoogleRequest+         ProjectsInstancesPartialUpdateInstance where+        type Rs ProjectsInstancesPartialUpdateInstance =+             Operation+        type Scopes ProjectsInstancesPartialUpdateInstance =+             '["https://www.googleapis.com/auth/bigtable.admin",+               "https://www.googleapis.com/auth/bigtable.admin.cluster",+               "https://www.googleapis.com/auth/bigtable.admin.instance",+               "https://www.googleapis.com/auth/cloud-bigtable.admin",+               "https://www.googleapis.com/auth/cloud-bigtable.admin.cluster",+               "https://www.googleapis.com/auth/cloud-platform"]+        requestClient+          ProjectsInstancesPartialUpdateInstance'{..}+          = go _pipuiName _pipuiXgafv _pipuiUploadProtocol+              _pipuiUpdateMask+              _pipuiAccessToken+              _pipuiUploadType+              _pipuiCallback+              (Just AltJSON)+              _pipuiPayload+              bigtableAdminService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy ProjectsInstancesPartialUpdateInstanceResource)+                      mempty
+ gen/Network/Google/Resource/BigtableAdmin/Projects/Instances/SetIAMPolicy.hs view
@@ -0,0 +1,172 @@+{-# 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.BigtableAdmin.Projects.Instances.SetIAMPolicy+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Sets the access control policy on an instance resource. Replaces any+-- existing policy.+--+-- /See:/ <https://cloud.google.com/bigtable/ Cloud Bigtable Admin API Reference> for @bigtableadmin.projects.instances.setIamPolicy@.+module Network.Google.Resource.BigtableAdmin.Projects.Instances.SetIAMPolicy+    (+    -- * REST Resource+      ProjectsInstancesSetIAMPolicyResource++    -- * Creating a Request+    , projectsInstancesSetIAMPolicy+    , ProjectsInstancesSetIAMPolicy++    -- * Request Lenses+    , pisipXgafv+    , pisipUploadProtocol+    , pisipAccessToken+    , pisipUploadType+    , pisipPayload+    , pisipResource+    , pisipCallback+    ) where++import           Network.Google.BigtableAdmin.Types+import           Network.Google.Prelude++-- | A resource alias for @bigtableadmin.projects.instances.setIamPolicy@ method which the+-- 'ProjectsInstancesSetIAMPolicy' request conforms to.+type ProjectsInstancesSetIAMPolicyResource =+     "v2" :>+       CaptureMode "resource" "setIamPolicy" Text :>+         QueryParam "$.xgafv" Xgafv :>+           QueryParam "upload_protocol" Text :>+             QueryParam "access_token" Text :>+               QueryParam "uploadType" Text :>+                 QueryParam "callback" Text :>+                   QueryParam "alt" AltJSON :>+                     ReqBody '[JSON] SetIAMPolicyRequest :>+                       Post '[JSON] Policy++-- | Sets the access control policy on an instance resource. Replaces any+-- existing policy.+--+-- /See:/ 'projectsInstancesSetIAMPolicy' smart constructor.+data ProjectsInstancesSetIAMPolicy = ProjectsInstancesSetIAMPolicy'+    { _pisipXgafv          :: !(Maybe Xgafv)+    , _pisipUploadProtocol :: !(Maybe Text)+    , _pisipAccessToken    :: !(Maybe Text)+    , _pisipUploadType     :: !(Maybe Text)+    , _pisipPayload        :: !SetIAMPolicyRequest+    , _pisipResource       :: !Text+    , _pisipCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProjectsInstancesSetIAMPolicy' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pisipXgafv'+--+-- * 'pisipUploadProtocol'+--+-- * 'pisipAccessToken'+--+-- * 'pisipUploadType'+--+-- * 'pisipPayload'+--+-- * 'pisipResource'+--+-- * 'pisipCallback'+projectsInstancesSetIAMPolicy+    :: SetIAMPolicyRequest -- ^ 'pisipPayload'+    -> Text -- ^ 'pisipResource'+    -> ProjectsInstancesSetIAMPolicy+projectsInstancesSetIAMPolicy pPisipPayload_ pPisipResource_ =+    ProjectsInstancesSetIAMPolicy'+    { _pisipXgafv = Nothing+    , _pisipUploadProtocol = Nothing+    , _pisipAccessToken = Nothing+    , _pisipUploadType = Nothing+    , _pisipPayload = pPisipPayload_+    , _pisipResource = pPisipResource_+    , _pisipCallback = Nothing+    }++-- | V1 error format.+pisipXgafv :: Lens' ProjectsInstancesSetIAMPolicy (Maybe Xgafv)+pisipXgafv+  = lens _pisipXgafv (\ s a -> s{_pisipXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+pisipUploadProtocol :: Lens' ProjectsInstancesSetIAMPolicy (Maybe Text)+pisipUploadProtocol+  = lens _pisipUploadProtocol+      (\ s a -> s{_pisipUploadProtocol = a})++-- | OAuth access token.+pisipAccessToken :: Lens' ProjectsInstancesSetIAMPolicy (Maybe Text)+pisipAccessToken+  = lens _pisipAccessToken+      (\ s a -> s{_pisipAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+pisipUploadType :: Lens' ProjectsInstancesSetIAMPolicy (Maybe Text)+pisipUploadType+  = lens _pisipUploadType+      (\ s a -> s{_pisipUploadType = a})++-- | Multipart request metadata.+pisipPayload :: Lens' ProjectsInstancesSetIAMPolicy SetIAMPolicyRequest+pisipPayload+  = lens _pisipPayload (\ s a -> s{_pisipPayload = a})++-- | REQUIRED: The resource for which the policy is being specified. See the+-- operation documentation for the appropriate value for this field.+pisipResource :: Lens' ProjectsInstancesSetIAMPolicy Text+pisipResource+  = lens _pisipResource+      (\ s a -> s{_pisipResource = a})++-- | JSONP+pisipCallback :: Lens' ProjectsInstancesSetIAMPolicy (Maybe Text)+pisipCallback+  = lens _pisipCallback+      (\ s a -> s{_pisipCallback = a})++instance GoogleRequest ProjectsInstancesSetIAMPolicy+         where+        type Rs ProjectsInstancesSetIAMPolicy = Policy+        type Scopes ProjectsInstancesSetIAMPolicy =+             '["https://www.googleapis.com/auth/bigtable.admin",+               "https://www.googleapis.com/auth/bigtable.admin.cluster",+               "https://www.googleapis.com/auth/bigtable.admin.instance",+               "https://www.googleapis.com/auth/cloud-bigtable.admin",+               "https://www.googleapis.com/auth/cloud-bigtable.admin.cluster",+               "https://www.googleapis.com/auth/cloud-platform"]+        requestClient ProjectsInstancesSetIAMPolicy'{..}+          = go _pisipResource _pisipXgafv _pisipUploadProtocol+              _pisipAccessToken+              _pisipUploadType+              _pisipCallback+              (Just AltJSON)+              _pisipPayload+              bigtableAdminService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy ProjectsInstancesSetIAMPolicyResource)+                      mempty
+ gen/Network/Google/Resource/BigtableAdmin/Projects/Instances/Tables/CheckConsistency.hs view
@@ -0,0 +1,177 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.BigtableAdmin.Projects.Instances.Tables.CheckConsistency+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Checks replication consistency based on a consistency token, that is, if+-- replication has caught up based on the conditions specified in the token+-- and the check request.+--+-- /See:/ <https://cloud.google.com/bigtable/ Cloud Bigtable Admin API Reference> for @bigtableadmin.projects.instances.tables.checkConsistency@.+module Network.Google.Resource.BigtableAdmin.Projects.Instances.Tables.CheckConsistency+    (+    -- * REST Resource+      ProjectsInstancesTablesCheckConsistencyResource++    -- * Creating a Request+    , projectsInstancesTablesCheckConsistency+    , ProjectsInstancesTablesCheckConsistency++    -- * Request Lenses+    , pitccXgafv+    , pitccUploadProtocol+    , pitccAccessToken+    , pitccUploadType+    , pitccPayload+    , pitccName+    , pitccCallback+    ) where++import           Network.Google.BigtableAdmin.Types+import           Network.Google.Prelude++-- | A resource alias for @bigtableadmin.projects.instances.tables.checkConsistency@ method which the+-- 'ProjectsInstancesTablesCheckConsistency' request conforms to.+type ProjectsInstancesTablesCheckConsistencyResource+     =+     "v2" :>+       CaptureMode "name" "checkConsistency" Text :>+         QueryParam "$.xgafv" Xgafv :>+           QueryParam "upload_protocol" Text :>+             QueryParam "access_token" Text :>+               QueryParam "uploadType" Text :>+                 QueryParam "callback" Text :>+                   QueryParam "alt" AltJSON :>+                     ReqBody '[JSON] CheckConsistencyRequest :>+                       Post '[JSON] CheckConsistencyResponse++-- | Checks replication consistency based on a consistency token, that is, if+-- replication has caught up based on the conditions specified in the token+-- and the check request.+--+-- /See:/ 'projectsInstancesTablesCheckConsistency' smart constructor.+data ProjectsInstancesTablesCheckConsistency = ProjectsInstancesTablesCheckConsistency'+    { _pitccXgafv          :: !(Maybe Xgafv)+    , _pitccUploadProtocol :: !(Maybe Text)+    , _pitccAccessToken    :: !(Maybe Text)+    , _pitccUploadType     :: !(Maybe Text)+    , _pitccPayload        :: !CheckConsistencyRequest+    , _pitccName           :: !Text+    , _pitccCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProjectsInstancesTablesCheckConsistency' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pitccXgafv'+--+-- * 'pitccUploadProtocol'+--+-- * 'pitccAccessToken'+--+-- * 'pitccUploadType'+--+-- * 'pitccPayload'+--+-- * 'pitccName'+--+-- * 'pitccCallback'+projectsInstancesTablesCheckConsistency+    :: CheckConsistencyRequest -- ^ 'pitccPayload'+    -> Text -- ^ 'pitccName'+    -> ProjectsInstancesTablesCheckConsistency+projectsInstancesTablesCheckConsistency pPitccPayload_ pPitccName_ =+    ProjectsInstancesTablesCheckConsistency'+    { _pitccXgafv = Nothing+    , _pitccUploadProtocol = Nothing+    , _pitccAccessToken = Nothing+    , _pitccUploadType = Nothing+    , _pitccPayload = pPitccPayload_+    , _pitccName = pPitccName_+    , _pitccCallback = Nothing+    }++-- | V1 error format.+pitccXgafv :: Lens' ProjectsInstancesTablesCheckConsistency (Maybe Xgafv)+pitccXgafv+  = lens _pitccXgafv (\ s a -> s{_pitccXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+pitccUploadProtocol :: Lens' ProjectsInstancesTablesCheckConsistency (Maybe Text)+pitccUploadProtocol+  = lens _pitccUploadProtocol+      (\ s a -> s{_pitccUploadProtocol = a})++-- | OAuth access token.+pitccAccessToken :: Lens' ProjectsInstancesTablesCheckConsistency (Maybe Text)+pitccAccessToken+  = lens _pitccAccessToken+      (\ s a -> s{_pitccAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+pitccUploadType :: Lens' ProjectsInstancesTablesCheckConsistency (Maybe Text)+pitccUploadType+  = lens _pitccUploadType+      (\ s a -> s{_pitccUploadType = a})++-- | Multipart request metadata.+pitccPayload :: Lens' ProjectsInstancesTablesCheckConsistency CheckConsistencyRequest+pitccPayload+  = lens _pitccPayload (\ s a -> s{_pitccPayload = a})++-- | The unique name of the Table for which to check replication consistency.+-- Values are of the form \`projects\/\/instances\/\/tables\/+-- \`.+pitccName :: Lens' ProjectsInstancesTablesCheckConsistency Text+pitccName+  = lens _pitccName (\ s a -> s{_pitccName = a})++-- | JSONP+pitccCallback :: Lens' ProjectsInstancesTablesCheckConsistency (Maybe Text)+pitccCallback+  = lens _pitccCallback+      (\ s a -> s{_pitccCallback = a})++instance GoogleRequest+         ProjectsInstancesTablesCheckConsistency where+        type Rs ProjectsInstancesTablesCheckConsistency =+             CheckConsistencyResponse+        type Scopes ProjectsInstancesTablesCheckConsistency =+             '["https://www.googleapis.com/auth/bigtable.admin",+               "https://www.googleapis.com/auth/bigtable.admin.table",+               "https://www.googleapis.com/auth/cloud-bigtable.admin",+               "https://www.googleapis.com/auth/cloud-bigtable.admin.table",+               "https://www.googleapis.com/auth/cloud-platform"]+        requestClient+          ProjectsInstancesTablesCheckConsistency'{..}+          = go _pitccName _pitccXgafv _pitccUploadProtocol+              _pitccAccessToken+              _pitccUploadType+              _pitccCallback+              (Just AltJSON)+              _pitccPayload+              bigtableAdminService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy+                           ProjectsInstancesTablesCheckConsistencyResource)+                      mempty
+ gen/Network/Google/Resource/BigtableAdmin/Projects/Instances/Tables/Create.hs view
@@ -0,0 +1,170 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.BigtableAdmin.Projects.Instances.Tables.Create+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates a new table in the specified instance. The table can be created+-- with a full set of initial column families, specified in the request.+--+-- /See:/ <https://cloud.google.com/bigtable/ Cloud Bigtable Admin API Reference> for @bigtableadmin.projects.instances.tables.create@.+module Network.Google.Resource.BigtableAdmin.Projects.Instances.Tables.Create+    (+    -- * REST Resource+      ProjectsInstancesTablesCreateResource++    -- * Creating a Request+    , projectsInstancesTablesCreate+    , ProjectsInstancesTablesCreate++    -- * Request Lenses+    , pitcParent+    , pitcXgafv+    , pitcUploadProtocol+    , pitcAccessToken+    , pitcUploadType+    , pitcPayload+    , pitcCallback+    ) where++import           Network.Google.BigtableAdmin.Types+import           Network.Google.Prelude++-- | A resource alias for @bigtableadmin.projects.instances.tables.create@ method which the+-- 'ProjectsInstancesTablesCreate' request conforms to.+type ProjectsInstancesTablesCreateResource =+     "v2" :>+       Capture "parent" Text :>+         "tables" :>+           QueryParam "$.xgafv" Xgafv :>+             QueryParam "upload_protocol" Text :>+               QueryParam "access_token" Text :>+                 QueryParam "uploadType" Text :>+                   QueryParam "callback" Text :>+                     QueryParam "alt" AltJSON :>+                       ReqBody '[JSON] CreateTableRequest :>+                         Post '[JSON] Table++-- | Creates a new table in the specified instance. The table can be created+-- with a full set of initial column families, specified in the request.+--+-- /See:/ 'projectsInstancesTablesCreate' smart constructor.+data ProjectsInstancesTablesCreate = ProjectsInstancesTablesCreate'+    { _pitcParent         :: !Text+    , _pitcXgafv          :: !(Maybe Xgafv)+    , _pitcUploadProtocol :: !(Maybe Text)+    , _pitcAccessToken    :: !(Maybe Text)+    , _pitcUploadType     :: !(Maybe Text)+    , _pitcPayload        :: !CreateTableRequest+    , _pitcCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProjectsInstancesTablesCreate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pitcParent'+--+-- * 'pitcXgafv'+--+-- * 'pitcUploadProtocol'+--+-- * 'pitcAccessToken'+--+-- * 'pitcUploadType'+--+-- * 'pitcPayload'+--+-- * 'pitcCallback'+projectsInstancesTablesCreate+    :: Text -- ^ 'pitcParent'+    -> CreateTableRequest -- ^ 'pitcPayload'+    -> ProjectsInstancesTablesCreate+projectsInstancesTablesCreate pPitcParent_ pPitcPayload_ =+    ProjectsInstancesTablesCreate'+    { _pitcParent = pPitcParent_+    , _pitcXgafv = Nothing+    , _pitcUploadProtocol = Nothing+    , _pitcAccessToken = Nothing+    , _pitcUploadType = Nothing+    , _pitcPayload = pPitcPayload_+    , _pitcCallback = Nothing+    }++-- | The unique name of the instance in which to create the table. Values are+-- of the form \`projects\/\/instances\/\`.+pitcParent :: Lens' ProjectsInstancesTablesCreate Text+pitcParent+  = lens _pitcParent (\ s a -> s{_pitcParent = a})++-- | V1 error format.+pitcXgafv :: Lens' ProjectsInstancesTablesCreate (Maybe Xgafv)+pitcXgafv+  = lens _pitcXgafv (\ s a -> s{_pitcXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+pitcUploadProtocol :: Lens' ProjectsInstancesTablesCreate (Maybe Text)+pitcUploadProtocol+  = lens _pitcUploadProtocol+      (\ s a -> s{_pitcUploadProtocol = a})++-- | OAuth access token.+pitcAccessToken :: Lens' ProjectsInstancesTablesCreate (Maybe Text)+pitcAccessToken+  = lens _pitcAccessToken+      (\ s a -> s{_pitcAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+pitcUploadType :: Lens' ProjectsInstancesTablesCreate (Maybe Text)+pitcUploadType+  = lens _pitcUploadType+      (\ s a -> s{_pitcUploadType = a})++-- | Multipart request metadata.+pitcPayload :: Lens' ProjectsInstancesTablesCreate CreateTableRequest+pitcPayload+  = lens _pitcPayload (\ s a -> s{_pitcPayload = a})++-- | JSONP+pitcCallback :: Lens' ProjectsInstancesTablesCreate (Maybe Text)+pitcCallback+  = lens _pitcCallback (\ s a -> s{_pitcCallback = a})++instance GoogleRequest ProjectsInstancesTablesCreate+         where+        type Rs ProjectsInstancesTablesCreate = Table+        type Scopes ProjectsInstancesTablesCreate =+             '["https://www.googleapis.com/auth/bigtable.admin",+               "https://www.googleapis.com/auth/bigtable.admin.table",+               "https://www.googleapis.com/auth/cloud-bigtable.admin",+               "https://www.googleapis.com/auth/cloud-bigtable.admin.table",+               "https://www.googleapis.com/auth/cloud-platform"]+        requestClient ProjectsInstancesTablesCreate'{..}+          = go _pitcParent _pitcXgafv _pitcUploadProtocol+              _pitcAccessToken+              _pitcUploadType+              _pitcCallback+              (Just AltJSON)+              _pitcPayload+              bigtableAdminService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy ProjectsInstancesTablesCreateResource)+                      mempty
+ gen/Network/Google/Resource/BigtableAdmin/Projects/Instances/Tables/Delete.hs view
@@ -0,0 +1,153 @@+{-# 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.BigtableAdmin.Projects.Instances.Tables.Delete+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Permanently deletes a specified table and all of its data.+--+-- /See:/ <https://cloud.google.com/bigtable/ Cloud Bigtable Admin API Reference> for @bigtableadmin.projects.instances.tables.delete@.+module Network.Google.Resource.BigtableAdmin.Projects.Instances.Tables.Delete+    (+    -- * REST Resource+      ProjectsInstancesTablesDeleteResource++    -- * Creating a Request+    , projectsInstancesTablesDelete+    , ProjectsInstancesTablesDelete++    -- * Request Lenses+    , pitdXgafv+    , pitdUploadProtocol+    , pitdAccessToken+    , pitdUploadType+    , pitdName+    , pitdCallback+    ) where++import           Network.Google.BigtableAdmin.Types+import           Network.Google.Prelude++-- | A resource alias for @bigtableadmin.projects.instances.tables.delete@ method which the+-- 'ProjectsInstancesTablesDelete' request conforms to.+type ProjectsInstancesTablesDeleteResource =+     "v2" :>+       Capture "name" Text :>+         QueryParam "$.xgafv" Xgafv :>+           QueryParam "upload_protocol" Text :>+             QueryParam "access_token" Text :>+               QueryParam "uploadType" Text :>+                 QueryParam "callback" Text :>+                   QueryParam "alt" AltJSON :> Delete '[JSON] Empty++-- | Permanently deletes a specified table and all of its data.+--+-- /See:/ 'projectsInstancesTablesDelete' smart constructor.+data ProjectsInstancesTablesDelete = ProjectsInstancesTablesDelete'+    { _pitdXgafv          :: !(Maybe Xgafv)+    , _pitdUploadProtocol :: !(Maybe Text)+    , _pitdAccessToken    :: !(Maybe Text)+    , _pitdUploadType     :: !(Maybe Text)+    , _pitdName           :: !Text+    , _pitdCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProjectsInstancesTablesDelete' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pitdXgafv'+--+-- * 'pitdUploadProtocol'+--+-- * 'pitdAccessToken'+--+-- * 'pitdUploadType'+--+-- * 'pitdName'+--+-- * 'pitdCallback'+projectsInstancesTablesDelete+    :: Text -- ^ 'pitdName'+    -> ProjectsInstancesTablesDelete+projectsInstancesTablesDelete pPitdName_ =+    ProjectsInstancesTablesDelete'+    { _pitdXgafv = Nothing+    , _pitdUploadProtocol = Nothing+    , _pitdAccessToken = Nothing+    , _pitdUploadType = Nothing+    , _pitdName = pPitdName_+    , _pitdCallback = Nothing+    }++-- | V1 error format.+pitdXgafv :: Lens' ProjectsInstancesTablesDelete (Maybe Xgafv)+pitdXgafv+  = lens _pitdXgafv (\ s a -> s{_pitdXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+pitdUploadProtocol :: Lens' ProjectsInstancesTablesDelete (Maybe Text)+pitdUploadProtocol+  = lens _pitdUploadProtocol+      (\ s a -> s{_pitdUploadProtocol = a})++-- | OAuth access token.+pitdAccessToken :: Lens' ProjectsInstancesTablesDelete (Maybe Text)+pitdAccessToken+  = lens _pitdAccessToken+      (\ s a -> s{_pitdAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+pitdUploadType :: Lens' ProjectsInstancesTablesDelete (Maybe Text)+pitdUploadType+  = lens _pitdUploadType+      (\ s a -> s{_pitdUploadType = a})++-- | The unique name of the table to be deleted. Values are of the form+-- \`projects\/\/instances\/\/tables\/+-- \`.+pitdName :: Lens' ProjectsInstancesTablesDelete Text+pitdName = lens _pitdName (\ s a -> s{_pitdName = a})++-- | JSONP+pitdCallback :: Lens' ProjectsInstancesTablesDelete (Maybe Text)+pitdCallback+  = lens _pitdCallback (\ s a -> s{_pitdCallback = a})++instance GoogleRequest ProjectsInstancesTablesDelete+         where+        type Rs ProjectsInstancesTablesDelete = Empty+        type Scopes ProjectsInstancesTablesDelete =+             '["https://www.googleapis.com/auth/bigtable.admin",+               "https://www.googleapis.com/auth/bigtable.admin.table",+               "https://www.googleapis.com/auth/cloud-bigtable.admin",+               "https://www.googleapis.com/auth/cloud-bigtable.admin.table",+               "https://www.googleapis.com/auth/cloud-platform"]+        requestClient ProjectsInstancesTablesDelete'{..}+          = go _pitdName _pitdXgafv _pitdUploadProtocol+              _pitdAccessToken+              _pitdUploadType+              _pitdCallback+              (Just AltJSON)+              bigtableAdminService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy ProjectsInstancesTablesDeleteResource)+                      mempty
+ gen/Network/Google/Resource/BigtableAdmin/Projects/Instances/Tables/DropRowRange.hs view
@@ -0,0 +1,175 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.BigtableAdmin.Projects.Instances.Tables.DropRowRange+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Permanently drop\/delete a row range from a specified table. The request+-- can specify whether to delete all rows in a table, or only those that+-- match a particular prefix.+--+-- /See:/ <https://cloud.google.com/bigtable/ Cloud Bigtable Admin API Reference> for @bigtableadmin.projects.instances.tables.dropRowRange@.+module Network.Google.Resource.BigtableAdmin.Projects.Instances.Tables.DropRowRange+    (+    -- * REST Resource+      ProjectsInstancesTablesDropRowRangeResource++    -- * Creating a Request+    , projectsInstancesTablesDropRowRange+    , ProjectsInstancesTablesDropRowRange++    -- * Request Lenses+    , pitdrrXgafv+    , pitdrrUploadProtocol+    , pitdrrAccessToken+    , pitdrrUploadType+    , pitdrrPayload+    , pitdrrName+    , pitdrrCallback+    ) where++import           Network.Google.BigtableAdmin.Types+import           Network.Google.Prelude++-- | A resource alias for @bigtableadmin.projects.instances.tables.dropRowRange@ method which the+-- 'ProjectsInstancesTablesDropRowRange' request conforms to.+type ProjectsInstancesTablesDropRowRangeResource =+     "v2" :>+       CaptureMode "name" "dropRowRange" Text :>+         QueryParam "$.xgafv" Xgafv :>+           QueryParam "upload_protocol" Text :>+             QueryParam "access_token" Text :>+               QueryParam "uploadType" Text :>+                 QueryParam "callback" Text :>+                   QueryParam "alt" AltJSON :>+                     ReqBody '[JSON] DropRowRangeRequest :>+                       Post '[JSON] Empty++-- | Permanently drop\/delete a row range from a specified table. The request+-- can specify whether to delete all rows in a table, or only those that+-- match a particular prefix.+--+-- /See:/ 'projectsInstancesTablesDropRowRange' smart constructor.+data ProjectsInstancesTablesDropRowRange = ProjectsInstancesTablesDropRowRange'+    { _pitdrrXgafv          :: !(Maybe Xgafv)+    , _pitdrrUploadProtocol :: !(Maybe Text)+    , _pitdrrAccessToken    :: !(Maybe Text)+    , _pitdrrUploadType     :: !(Maybe Text)+    , _pitdrrPayload        :: !DropRowRangeRequest+    , _pitdrrName           :: !Text+    , _pitdrrCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProjectsInstancesTablesDropRowRange' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pitdrrXgafv'+--+-- * 'pitdrrUploadProtocol'+--+-- * 'pitdrrAccessToken'+--+-- * 'pitdrrUploadType'+--+-- * 'pitdrrPayload'+--+-- * 'pitdrrName'+--+-- * 'pitdrrCallback'+projectsInstancesTablesDropRowRange+    :: DropRowRangeRequest -- ^ 'pitdrrPayload'+    -> Text -- ^ 'pitdrrName'+    -> ProjectsInstancesTablesDropRowRange+projectsInstancesTablesDropRowRange pPitdrrPayload_ pPitdrrName_ =+    ProjectsInstancesTablesDropRowRange'+    { _pitdrrXgafv = Nothing+    , _pitdrrUploadProtocol = Nothing+    , _pitdrrAccessToken = Nothing+    , _pitdrrUploadType = Nothing+    , _pitdrrPayload = pPitdrrPayload_+    , _pitdrrName = pPitdrrName_+    , _pitdrrCallback = Nothing+    }++-- | V1 error format.+pitdrrXgafv :: Lens' ProjectsInstancesTablesDropRowRange (Maybe Xgafv)+pitdrrXgafv+  = lens _pitdrrXgafv (\ s a -> s{_pitdrrXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+pitdrrUploadProtocol :: Lens' ProjectsInstancesTablesDropRowRange (Maybe Text)+pitdrrUploadProtocol+  = lens _pitdrrUploadProtocol+      (\ s a -> s{_pitdrrUploadProtocol = a})++-- | OAuth access token.+pitdrrAccessToken :: Lens' ProjectsInstancesTablesDropRowRange (Maybe Text)+pitdrrAccessToken+  = lens _pitdrrAccessToken+      (\ s a -> s{_pitdrrAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+pitdrrUploadType :: Lens' ProjectsInstancesTablesDropRowRange (Maybe Text)+pitdrrUploadType+  = lens _pitdrrUploadType+      (\ s a -> s{_pitdrrUploadType = a})++-- | Multipart request metadata.+pitdrrPayload :: Lens' ProjectsInstancesTablesDropRowRange DropRowRangeRequest+pitdrrPayload+  = lens _pitdrrPayload+      (\ s a -> s{_pitdrrPayload = a})++-- | The unique name of the table on which to drop a range of rows. Values+-- are of the form \`projects\/\/instances\/\/tables\/+-- \`.+pitdrrName :: Lens' ProjectsInstancesTablesDropRowRange Text+pitdrrName+  = lens _pitdrrName (\ s a -> s{_pitdrrName = a})++-- | JSONP+pitdrrCallback :: Lens' ProjectsInstancesTablesDropRowRange (Maybe Text)+pitdrrCallback+  = lens _pitdrrCallback+      (\ s a -> s{_pitdrrCallback = a})++instance GoogleRequest+         ProjectsInstancesTablesDropRowRange where+        type Rs ProjectsInstancesTablesDropRowRange = Empty+        type Scopes ProjectsInstancesTablesDropRowRange =+             '["https://www.googleapis.com/auth/bigtable.admin",+               "https://www.googleapis.com/auth/bigtable.admin.table",+               "https://www.googleapis.com/auth/cloud-bigtable.admin",+               "https://www.googleapis.com/auth/cloud-bigtable.admin.table",+               "https://www.googleapis.com/auth/cloud-platform"]+        requestClient+          ProjectsInstancesTablesDropRowRange'{..}+          = go _pitdrrName _pitdrrXgafv _pitdrrUploadProtocol+              _pitdrrAccessToken+              _pitdrrUploadType+              _pitdrrCallback+              (Just AltJSON)+              _pitdrrPayload+              bigtableAdminService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy ProjectsInstancesTablesDropRowRangeResource)+                      mempty
+ gen/Network/Google/Resource/BigtableAdmin/Projects/Instances/Tables/GenerateConsistencyToken.hs view
@@ -0,0 +1,183 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.BigtableAdmin.Projects.Instances.Tables.GenerateConsistencyToken+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Generates a consistency token for a Table, which can be used in+-- CheckConsistency to check whether mutations to the table that finished+-- before this call started have been replicated. The tokens will be+-- available for 90 days.+--+-- /See:/ <https://cloud.google.com/bigtable/ Cloud Bigtable Admin API Reference> for @bigtableadmin.projects.instances.tables.generateConsistencyToken@.+module Network.Google.Resource.BigtableAdmin.Projects.Instances.Tables.GenerateConsistencyToken+    (+    -- * REST Resource+      ProjectsInstancesTablesGenerateConsistencyTokenResource++    -- * Creating a Request+    , projectsInstancesTablesGenerateConsistencyToken+    , ProjectsInstancesTablesGenerateConsistencyToken++    -- * Request Lenses+    , pitgctXgafv+    , pitgctUploadProtocol+    , pitgctAccessToken+    , pitgctUploadType+    , pitgctPayload+    , pitgctName+    , pitgctCallback+    ) where++import           Network.Google.BigtableAdmin.Types+import           Network.Google.Prelude++-- | A resource alias for @bigtableadmin.projects.instances.tables.generateConsistencyToken@ method which the+-- 'ProjectsInstancesTablesGenerateConsistencyToken' request conforms to.+type ProjectsInstancesTablesGenerateConsistencyTokenResource+     =+     "v2" :>+       CaptureMode "name" "generateConsistencyToken" Text :>+         QueryParam "$.xgafv" Xgafv :>+           QueryParam "upload_protocol" Text :>+             QueryParam "access_token" Text :>+               QueryParam "uploadType" Text :>+                 QueryParam "callback" Text :>+                   QueryParam "alt" AltJSON :>+                     ReqBody '[JSON] GenerateConsistencyTokenRequest :>+                       Post '[JSON] GenerateConsistencyTokenResponse++-- | Generates a consistency token for a Table, which can be used in+-- CheckConsistency to check whether mutations to the table that finished+-- before this call started have been replicated. The tokens will be+-- available for 90 days.+--+-- /See:/ 'projectsInstancesTablesGenerateConsistencyToken' smart constructor.+data ProjectsInstancesTablesGenerateConsistencyToken = ProjectsInstancesTablesGenerateConsistencyToken'+    { _pitgctXgafv          :: !(Maybe Xgafv)+    , _pitgctUploadProtocol :: !(Maybe Text)+    , _pitgctAccessToken    :: !(Maybe Text)+    , _pitgctUploadType     :: !(Maybe Text)+    , _pitgctPayload        :: !GenerateConsistencyTokenRequest+    , _pitgctName           :: !Text+    , _pitgctCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProjectsInstancesTablesGenerateConsistencyToken' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pitgctXgafv'+--+-- * 'pitgctUploadProtocol'+--+-- * 'pitgctAccessToken'+--+-- * 'pitgctUploadType'+--+-- * 'pitgctPayload'+--+-- * 'pitgctName'+--+-- * 'pitgctCallback'+projectsInstancesTablesGenerateConsistencyToken+    :: GenerateConsistencyTokenRequest -- ^ 'pitgctPayload'+    -> Text -- ^ 'pitgctName'+    -> ProjectsInstancesTablesGenerateConsistencyToken+projectsInstancesTablesGenerateConsistencyToken pPitgctPayload_ pPitgctName_ =+    ProjectsInstancesTablesGenerateConsistencyToken'+    { _pitgctXgafv = Nothing+    , _pitgctUploadProtocol = Nothing+    , _pitgctAccessToken = Nothing+    , _pitgctUploadType = Nothing+    , _pitgctPayload = pPitgctPayload_+    , _pitgctName = pPitgctName_+    , _pitgctCallback = Nothing+    }++-- | V1 error format.+pitgctXgafv :: Lens' ProjectsInstancesTablesGenerateConsistencyToken (Maybe Xgafv)+pitgctXgafv+  = lens _pitgctXgafv (\ s a -> s{_pitgctXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+pitgctUploadProtocol :: Lens' ProjectsInstancesTablesGenerateConsistencyToken (Maybe Text)+pitgctUploadProtocol+  = lens _pitgctUploadProtocol+      (\ s a -> s{_pitgctUploadProtocol = a})++-- | OAuth access token.+pitgctAccessToken :: Lens' ProjectsInstancesTablesGenerateConsistencyToken (Maybe Text)+pitgctAccessToken+  = lens _pitgctAccessToken+      (\ s a -> s{_pitgctAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+pitgctUploadType :: Lens' ProjectsInstancesTablesGenerateConsistencyToken (Maybe Text)+pitgctUploadType+  = lens _pitgctUploadType+      (\ s a -> s{_pitgctUploadType = a})++-- | Multipart request metadata.+pitgctPayload :: Lens' ProjectsInstancesTablesGenerateConsistencyToken GenerateConsistencyTokenRequest+pitgctPayload+  = lens _pitgctPayload+      (\ s a -> s{_pitgctPayload = a})++-- | The unique name of the Table for which to create a consistency token.+-- Values are of the form \`projects\/\/instances\/\/tables\/+-- \`.+pitgctName :: Lens' ProjectsInstancesTablesGenerateConsistencyToken Text+pitgctName+  = lens _pitgctName (\ s a -> s{_pitgctName = a})++-- | JSONP+pitgctCallback :: Lens' ProjectsInstancesTablesGenerateConsistencyToken (Maybe Text)+pitgctCallback+  = lens _pitgctCallback+      (\ s a -> s{_pitgctCallback = a})++instance GoogleRequest+         ProjectsInstancesTablesGenerateConsistencyToken where+        type Rs+               ProjectsInstancesTablesGenerateConsistencyToken+             = GenerateConsistencyTokenResponse+        type Scopes+               ProjectsInstancesTablesGenerateConsistencyToken+             =+             '["https://www.googleapis.com/auth/bigtable.admin",+               "https://www.googleapis.com/auth/bigtable.admin.table",+               "https://www.googleapis.com/auth/cloud-bigtable.admin",+               "https://www.googleapis.com/auth/cloud-bigtable.admin.table",+               "https://www.googleapis.com/auth/cloud-platform"]+        requestClient+          ProjectsInstancesTablesGenerateConsistencyToken'{..}+          = go _pitgctName _pitgctXgafv _pitgctUploadProtocol+              _pitgctAccessToken+              _pitgctUploadType+              _pitgctCallback+              (Just AltJSON)+              _pitgctPayload+              bigtableAdminService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy+                           ProjectsInstancesTablesGenerateConsistencyTokenResource)+                      mempty
+ gen/Network/Google/Resource/BigtableAdmin/Projects/Instances/Tables/Get.hs view
@@ -0,0 +1,165 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.BigtableAdmin.Projects.Instances.Tables.Get+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Gets metadata information about the specified table.+--+-- /See:/ <https://cloud.google.com/bigtable/ Cloud Bigtable Admin API Reference> for @bigtableadmin.projects.instances.tables.get@.+module Network.Google.Resource.BigtableAdmin.Projects.Instances.Tables.Get+    (+    -- * REST Resource+      ProjectsInstancesTablesGetResource++    -- * Creating a Request+    , projectsInstancesTablesGet+    , ProjectsInstancesTablesGet++    -- * Request Lenses+    , pitgXgafv+    , pitgUploadProtocol+    , pitgAccessToken+    , pitgUploadType+    , pitgName+    , pitgView+    , pitgCallback+    ) where++import           Network.Google.BigtableAdmin.Types+import           Network.Google.Prelude++-- | A resource alias for @bigtableadmin.projects.instances.tables.get@ method which the+-- 'ProjectsInstancesTablesGet' request conforms to.+type ProjectsInstancesTablesGetResource =+     "v2" :>+       Capture "name" Text :>+         QueryParam "$.xgafv" Xgafv :>+           QueryParam "upload_protocol" Text :>+             QueryParam "access_token" Text :>+               QueryParam "uploadType" Text :>+                 QueryParam "view" Text :>+                   QueryParam "callback" Text :>+                     QueryParam "alt" AltJSON :> Get '[JSON] Table++-- | Gets metadata information about the specified table.+--+-- /See:/ 'projectsInstancesTablesGet' smart constructor.+data ProjectsInstancesTablesGet = ProjectsInstancesTablesGet'+    { _pitgXgafv          :: !(Maybe Xgafv)+    , _pitgUploadProtocol :: !(Maybe Text)+    , _pitgAccessToken    :: !(Maybe Text)+    , _pitgUploadType     :: !(Maybe Text)+    , _pitgName           :: !Text+    , _pitgView           :: !(Maybe Text)+    , _pitgCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProjectsInstancesTablesGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pitgXgafv'+--+-- * 'pitgUploadProtocol'+--+-- * 'pitgAccessToken'+--+-- * 'pitgUploadType'+--+-- * 'pitgName'+--+-- * 'pitgView'+--+-- * 'pitgCallback'+projectsInstancesTablesGet+    :: Text -- ^ 'pitgName'+    -> ProjectsInstancesTablesGet+projectsInstancesTablesGet pPitgName_ =+    ProjectsInstancesTablesGet'+    { _pitgXgafv = Nothing+    , _pitgUploadProtocol = Nothing+    , _pitgAccessToken = Nothing+    , _pitgUploadType = Nothing+    , _pitgName = pPitgName_+    , _pitgView = Nothing+    , _pitgCallback = Nothing+    }++-- | V1 error format.+pitgXgafv :: Lens' ProjectsInstancesTablesGet (Maybe Xgafv)+pitgXgafv+  = lens _pitgXgafv (\ s a -> s{_pitgXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+pitgUploadProtocol :: Lens' ProjectsInstancesTablesGet (Maybe Text)+pitgUploadProtocol+  = lens _pitgUploadProtocol+      (\ s a -> s{_pitgUploadProtocol = a})++-- | OAuth access token.+pitgAccessToken :: Lens' ProjectsInstancesTablesGet (Maybe Text)+pitgAccessToken+  = lens _pitgAccessToken+      (\ s a -> s{_pitgAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+pitgUploadType :: Lens' ProjectsInstancesTablesGet (Maybe Text)+pitgUploadType+  = lens _pitgUploadType+      (\ s a -> s{_pitgUploadType = a})++-- | The unique name of the requested table. Values are of the form+-- \`projects\/\/instances\/\/tables\/+-- \`.+pitgName :: Lens' ProjectsInstancesTablesGet Text+pitgName = lens _pitgName (\ s a -> s{_pitgName = a})++-- | The view to be applied to the returned table\'s fields. Defaults to+-- \`SCHEMA_VIEW\` if unspecified.+pitgView :: Lens' ProjectsInstancesTablesGet (Maybe Text)+pitgView = lens _pitgView (\ s a -> s{_pitgView = a})++-- | JSONP+pitgCallback :: Lens' ProjectsInstancesTablesGet (Maybe Text)+pitgCallback+  = lens _pitgCallback (\ s a -> s{_pitgCallback = a})++instance GoogleRequest ProjectsInstancesTablesGet+         where+        type Rs ProjectsInstancesTablesGet = Table+        type Scopes ProjectsInstancesTablesGet =+             '["https://www.googleapis.com/auth/bigtable.admin",+               "https://www.googleapis.com/auth/bigtable.admin.table",+               "https://www.googleapis.com/auth/cloud-bigtable.admin",+               "https://www.googleapis.com/auth/cloud-bigtable.admin.table",+               "https://www.googleapis.com/auth/cloud-platform",+               "https://www.googleapis.com/auth/cloud-platform.read-only"]+        requestClient ProjectsInstancesTablesGet'{..}+          = go _pitgName _pitgXgafv _pitgUploadProtocol+              _pitgAccessToken+              _pitgUploadType+              _pitgView+              _pitgCallback+              (Just AltJSON)+              bigtableAdminService+          where go+                  = buildClient+                      (Proxy :: Proxy ProjectsInstancesTablesGetResource)+                      mempty
+ gen/Network/Google/Resource/BigtableAdmin/Projects/Instances/Tables/List.hs view
@@ -0,0 +1,194 @@+{-# 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.BigtableAdmin.Projects.Instances.Tables.List+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists all tables served from a specified instance.+--+-- /See:/ <https://cloud.google.com/bigtable/ Cloud Bigtable Admin API Reference> for @bigtableadmin.projects.instances.tables.list@.+module Network.Google.Resource.BigtableAdmin.Projects.Instances.Tables.List+    (+    -- * REST Resource+      ProjectsInstancesTablesListResource++    -- * Creating a Request+    , projectsInstancesTablesList+    , ProjectsInstancesTablesList++    -- * Request Lenses+    , pitlParent+    , pitlXgafv+    , pitlUploadProtocol+    , pitlAccessToken+    , pitlUploadType+    , pitlView+    , pitlPageToken+    , pitlPageSize+    , pitlCallback+    ) where++import           Network.Google.BigtableAdmin.Types+import           Network.Google.Prelude++-- | A resource alias for @bigtableadmin.projects.instances.tables.list@ method which the+-- 'ProjectsInstancesTablesList' request conforms to.+type ProjectsInstancesTablesListResource =+     "v2" :>+       Capture "parent" Text :>+         "tables" :>+           QueryParam "$.xgafv" Xgafv :>+             QueryParam "upload_protocol" Text :>+               QueryParam "access_token" Text :>+                 QueryParam "uploadType" Text :>+                   QueryParam "view" Text :>+                     QueryParam "pageToken" Text :>+                       QueryParam "pageSize" (Textual Int32) :>+                         QueryParam "callback" Text :>+                           QueryParam "alt" AltJSON :>+                             Get '[JSON] ListTablesResponse++-- | Lists all tables served from a specified instance.+--+-- /See:/ 'projectsInstancesTablesList' smart constructor.+data ProjectsInstancesTablesList = ProjectsInstancesTablesList'+    { _pitlParent         :: !Text+    , _pitlXgafv          :: !(Maybe Xgafv)+    , _pitlUploadProtocol :: !(Maybe Text)+    , _pitlAccessToken    :: !(Maybe Text)+    , _pitlUploadType     :: !(Maybe Text)+    , _pitlView           :: !(Maybe Text)+    , _pitlPageToken      :: !(Maybe Text)+    , _pitlPageSize       :: !(Maybe (Textual Int32))+    , _pitlCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProjectsInstancesTablesList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pitlParent'+--+-- * 'pitlXgafv'+--+-- * 'pitlUploadProtocol'+--+-- * 'pitlAccessToken'+--+-- * 'pitlUploadType'+--+-- * 'pitlView'+--+-- * 'pitlPageToken'+--+-- * 'pitlPageSize'+--+-- * 'pitlCallback'+projectsInstancesTablesList+    :: Text -- ^ 'pitlParent'+    -> ProjectsInstancesTablesList+projectsInstancesTablesList pPitlParent_ =+    ProjectsInstancesTablesList'+    { _pitlParent = pPitlParent_+    , _pitlXgafv = Nothing+    , _pitlUploadProtocol = Nothing+    , _pitlAccessToken = Nothing+    , _pitlUploadType = Nothing+    , _pitlView = Nothing+    , _pitlPageToken = Nothing+    , _pitlPageSize = Nothing+    , _pitlCallback = Nothing+    }++-- | The unique name of the instance for which tables should be listed.+-- Values are of the form \`projects\/\/instances\/\`.+pitlParent :: Lens' ProjectsInstancesTablesList Text+pitlParent+  = lens _pitlParent (\ s a -> s{_pitlParent = a})++-- | V1 error format.+pitlXgafv :: Lens' ProjectsInstancesTablesList (Maybe Xgafv)+pitlXgafv+  = lens _pitlXgafv (\ s a -> s{_pitlXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+pitlUploadProtocol :: Lens' ProjectsInstancesTablesList (Maybe Text)+pitlUploadProtocol+  = lens _pitlUploadProtocol+      (\ s a -> s{_pitlUploadProtocol = a})++-- | OAuth access token.+pitlAccessToken :: Lens' ProjectsInstancesTablesList (Maybe Text)+pitlAccessToken+  = lens _pitlAccessToken+      (\ s a -> s{_pitlAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+pitlUploadType :: Lens' ProjectsInstancesTablesList (Maybe Text)+pitlUploadType+  = lens _pitlUploadType+      (\ s a -> s{_pitlUploadType = a})++-- | The view to be applied to the returned tables\' fields. Defaults to+-- \`NAME_ONLY\` if unspecified; no others are currently supported.+pitlView :: Lens' ProjectsInstancesTablesList (Maybe Text)+pitlView = lens _pitlView (\ s a -> s{_pitlView = a})++-- | The value of \`next_page_token\` returned by a previous call.+pitlPageToken :: Lens' ProjectsInstancesTablesList (Maybe Text)+pitlPageToken+  = lens _pitlPageToken+      (\ s a -> s{_pitlPageToken = a})++-- | Maximum number of results per page. CURRENTLY UNIMPLEMENTED AND IGNORED.+pitlPageSize :: Lens' ProjectsInstancesTablesList (Maybe Int32)+pitlPageSize+  = lens _pitlPageSize (\ s a -> s{_pitlPageSize = a})+      . mapping _Coerce++-- | JSONP+pitlCallback :: Lens' ProjectsInstancesTablesList (Maybe Text)+pitlCallback+  = lens _pitlCallback (\ s a -> s{_pitlCallback = a})++instance GoogleRequest ProjectsInstancesTablesList+         where+        type Rs ProjectsInstancesTablesList =+             ListTablesResponse+        type Scopes ProjectsInstancesTablesList =+             '["https://www.googleapis.com/auth/bigtable.admin",+               "https://www.googleapis.com/auth/bigtable.admin.table",+               "https://www.googleapis.com/auth/cloud-bigtable.admin",+               "https://www.googleapis.com/auth/cloud-bigtable.admin.table",+               "https://www.googleapis.com/auth/cloud-platform",+               "https://www.googleapis.com/auth/cloud-platform.read-only"]+        requestClient ProjectsInstancesTablesList'{..}+          = go _pitlParent _pitlXgafv _pitlUploadProtocol+              _pitlAccessToken+              _pitlUploadType+              _pitlView+              _pitlPageToken+              _pitlPageSize+              _pitlCallback+              (Just AltJSON)+              bigtableAdminService+          where go+                  = buildClient+                      (Proxy :: Proxy ProjectsInstancesTablesListResource)+                      mempty
+ gen/Network/Google/Resource/BigtableAdmin/Projects/Instances/Tables/ModifyColumnFamilies.hs view
@@ -0,0 +1,182 @@+{-# 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.BigtableAdmin.Projects.Instances.Tables.ModifyColumnFamilies+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Performs a series of column family modifications on the specified table.+-- Either all or none of the modifications will occur before this method+-- returns, but data requests received prior to that point may see a table+-- where only some modifications have taken effect.+--+-- /See:/ <https://cloud.google.com/bigtable/ Cloud Bigtable Admin API Reference> for @bigtableadmin.projects.instances.tables.modifyColumnFamilies@.+module Network.Google.Resource.BigtableAdmin.Projects.Instances.Tables.ModifyColumnFamilies+    (+    -- * REST Resource+      ProjectsInstancesTablesModifyColumnFamiliesResource++    -- * Creating a Request+    , projectsInstancesTablesModifyColumnFamilies+    , ProjectsInstancesTablesModifyColumnFamilies++    -- * Request Lenses+    , pitmcfXgafv+    , pitmcfUploadProtocol+    , pitmcfAccessToken+    , pitmcfUploadType+    , pitmcfPayload+    , pitmcfName+    , pitmcfCallback+    ) where++import           Network.Google.BigtableAdmin.Types+import           Network.Google.Prelude++-- | A resource alias for @bigtableadmin.projects.instances.tables.modifyColumnFamilies@ method which the+-- 'ProjectsInstancesTablesModifyColumnFamilies' request conforms to.+type ProjectsInstancesTablesModifyColumnFamiliesResource+     =+     "v2" :>+       CaptureMode "name" "modifyColumnFamilies" Text :>+         QueryParam "$.xgafv" Xgafv :>+           QueryParam "upload_protocol" Text :>+             QueryParam "access_token" Text :>+               QueryParam "uploadType" Text :>+                 QueryParam "callback" Text :>+                   QueryParam "alt" AltJSON :>+                     ReqBody '[JSON] ModifyColumnFamiliesRequest :>+                       Post '[JSON] Table++-- | Performs a series of column family modifications on the specified table.+-- Either all or none of the modifications will occur before this method+-- returns, but data requests received prior to that point may see a table+-- where only some modifications have taken effect.+--+-- /See:/ 'projectsInstancesTablesModifyColumnFamilies' smart constructor.+data ProjectsInstancesTablesModifyColumnFamilies = ProjectsInstancesTablesModifyColumnFamilies'+    { _pitmcfXgafv          :: !(Maybe Xgafv)+    , _pitmcfUploadProtocol :: !(Maybe Text)+    , _pitmcfAccessToken    :: !(Maybe Text)+    , _pitmcfUploadType     :: !(Maybe Text)+    , _pitmcfPayload        :: !ModifyColumnFamiliesRequest+    , _pitmcfName           :: !Text+    , _pitmcfCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProjectsInstancesTablesModifyColumnFamilies' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pitmcfXgafv'+--+-- * 'pitmcfUploadProtocol'+--+-- * 'pitmcfAccessToken'+--+-- * 'pitmcfUploadType'+--+-- * 'pitmcfPayload'+--+-- * 'pitmcfName'+--+-- * 'pitmcfCallback'+projectsInstancesTablesModifyColumnFamilies+    :: ModifyColumnFamiliesRequest -- ^ 'pitmcfPayload'+    -> Text -- ^ 'pitmcfName'+    -> ProjectsInstancesTablesModifyColumnFamilies+projectsInstancesTablesModifyColumnFamilies pPitmcfPayload_ pPitmcfName_ =+    ProjectsInstancesTablesModifyColumnFamilies'+    { _pitmcfXgafv = Nothing+    , _pitmcfUploadProtocol = Nothing+    , _pitmcfAccessToken = Nothing+    , _pitmcfUploadType = Nothing+    , _pitmcfPayload = pPitmcfPayload_+    , _pitmcfName = pPitmcfName_+    , _pitmcfCallback = Nothing+    }++-- | V1 error format.+pitmcfXgafv :: Lens' ProjectsInstancesTablesModifyColumnFamilies (Maybe Xgafv)+pitmcfXgafv+  = lens _pitmcfXgafv (\ s a -> s{_pitmcfXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+pitmcfUploadProtocol :: Lens' ProjectsInstancesTablesModifyColumnFamilies (Maybe Text)+pitmcfUploadProtocol+  = lens _pitmcfUploadProtocol+      (\ s a -> s{_pitmcfUploadProtocol = a})++-- | OAuth access token.+pitmcfAccessToken :: Lens' ProjectsInstancesTablesModifyColumnFamilies (Maybe Text)+pitmcfAccessToken+  = lens _pitmcfAccessToken+      (\ s a -> s{_pitmcfAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+pitmcfUploadType :: Lens' ProjectsInstancesTablesModifyColumnFamilies (Maybe Text)+pitmcfUploadType+  = lens _pitmcfUploadType+      (\ s a -> s{_pitmcfUploadType = a})++-- | Multipart request metadata.+pitmcfPayload :: Lens' ProjectsInstancesTablesModifyColumnFamilies ModifyColumnFamiliesRequest+pitmcfPayload+  = lens _pitmcfPayload+      (\ s a -> s{_pitmcfPayload = a})++-- | The unique name of the table whose families should be modified. Values+-- are of the form \`projects\/\/instances\/\/tables\/+-- \`.+pitmcfName :: Lens' ProjectsInstancesTablesModifyColumnFamilies Text+pitmcfName+  = lens _pitmcfName (\ s a -> s{_pitmcfName = a})++-- | JSONP+pitmcfCallback :: Lens' ProjectsInstancesTablesModifyColumnFamilies (Maybe Text)+pitmcfCallback+  = lens _pitmcfCallback+      (\ s a -> s{_pitmcfCallback = a})++instance GoogleRequest+         ProjectsInstancesTablesModifyColumnFamilies where+        type Rs ProjectsInstancesTablesModifyColumnFamilies =+             Table+        type Scopes+               ProjectsInstancesTablesModifyColumnFamilies+             =+             '["https://www.googleapis.com/auth/bigtable.admin",+               "https://www.googleapis.com/auth/bigtable.admin.table",+               "https://www.googleapis.com/auth/cloud-bigtable.admin",+               "https://www.googleapis.com/auth/cloud-bigtable.admin.table",+               "https://www.googleapis.com/auth/cloud-platform"]+        requestClient+          ProjectsInstancesTablesModifyColumnFamilies'{..}+          = go _pitmcfName _pitmcfXgafv _pitmcfUploadProtocol+              _pitmcfAccessToken+              _pitmcfUploadType+              _pitmcfCallback+              (Just AltJSON)+              _pitmcfPayload+              bigtableAdminService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy+                           ProjectsInstancesTablesModifyColumnFamiliesResource)+                      mempty
+ gen/Network/Google/Resource/BigtableAdmin/Projects/Instances/TestIAMPermissions.hs view
@@ -0,0 +1,175 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.BigtableAdmin.Projects.Instances.TestIAMPermissions+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns permissions that the caller has on the specified instance+-- resource.+--+-- /See:/ <https://cloud.google.com/bigtable/ Cloud Bigtable Admin API Reference> for @bigtableadmin.projects.instances.testIamPermissions@.+module Network.Google.Resource.BigtableAdmin.Projects.Instances.TestIAMPermissions+    (+    -- * REST Resource+      ProjectsInstancesTestIAMPermissionsResource++    -- * Creating a Request+    , projectsInstancesTestIAMPermissions+    , ProjectsInstancesTestIAMPermissions++    -- * Request Lenses+    , pitipXgafv+    , pitipUploadProtocol+    , pitipAccessToken+    , pitipUploadType+    , pitipPayload+    , pitipResource+    , pitipCallback+    ) where++import           Network.Google.BigtableAdmin.Types+import           Network.Google.Prelude++-- | A resource alias for @bigtableadmin.projects.instances.testIamPermissions@ method which the+-- 'ProjectsInstancesTestIAMPermissions' request conforms to.+type ProjectsInstancesTestIAMPermissionsResource =+     "v2" :>+       CaptureMode "resource" "testIamPermissions" Text :>+         QueryParam "$.xgafv" Xgafv :>+           QueryParam "upload_protocol" Text :>+             QueryParam "access_token" Text :>+               QueryParam "uploadType" Text :>+                 QueryParam "callback" Text :>+                   QueryParam "alt" AltJSON :>+                     ReqBody '[JSON] TestIAMPermissionsRequest :>+                       Post '[JSON] TestIAMPermissionsResponse++-- | Returns permissions that the caller has on the specified instance+-- resource.+--+-- /See:/ 'projectsInstancesTestIAMPermissions' smart constructor.+data ProjectsInstancesTestIAMPermissions = ProjectsInstancesTestIAMPermissions'+    { _pitipXgafv          :: !(Maybe Xgafv)+    , _pitipUploadProtocol :: !(Maybe Text)+    , _pitipAccessToken    :: !(Maybe Text)+    , _pitipUploadType     :: !(Maybe Text)+    , _pitipPayload        :: !TestIAMPermissionsRequest+    , _pitipResource       :: !Text+    , _pitipCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProjectsInstancesTestIAMPermissions' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pitipXgafv'+--+-- * 'pitipUploadProtocol'+--+-- * 'pitipAccessToken'+--+-- * 'pitipUploadType'+--+-- * 'pitipPayload'+--+-- * 'pitipResource'+--+-- * 'pitipCallback'+projectsInstancesTestIAMPermissions+    :: TestIAMPermissionsRequest -- ^ 'pitipPayload'+    -> Text -- ^ 'pitipResource'+    -> ProjectsInstancesTestIAMPermissions+projectsInstancesTestIAMPermissions pPitipPayload_ pPitipResource_ =+    ProjectsInstancesTestIAMPermissions'+    { _pitipXgafv = Nothing+    , _pitipUploadProtocol = Nothing+    , _pitipAccessToken = Nothing+    , _pitipUploadType = Nothing+    , _pitipPayload = pPitipPayload_+    , _pitipResource = pPitipResource_+    , _pitipCallback = Nothing+    }++-- | V1 error format.+pitipXgafv :: Lens' ProjectsInstancesTestIAMPermissions (Maybe Xgafv)+pitipXgafv+  = lens _pitipXgafv (\ s a -> s{_pitipXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+pitipUploadProtocol :: Lens' ProjectsInstancesTestIAMPermissions (Maybe Text)+pitipUploadProtocol+  = lens _pitipUploadProtocol+      (\ s a -> s{_pitipUploadProtocol = a})++-- | OAuth access token.+pitipAccessToken :: Lens' ProjectsInstancesTestIAMPermissions (Maybe Text)+pitipAccessToken+  = lens _pitipAccessToken+      (\ s a -> s{_pitipAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+pitipUploadType :: Lens' ProjectsInstancesTestIAMPermissions (Maybe Text)+pitipUploadType+  = lens _pitipUploadType+      (\ s a -> s{_pitipUploadType = a})++-- | Multipart request metadata.+pitipPayload :: Lens' ProjectsInstancesTestIAMPermissions TestIAMPermissionsRequest+pitipPayload+  = lens _pitipPayload (\ s a -> s{_pitipPayload = a})++-- | REQUIRED: The resource for which the policy detail is being requested.+-- See the operation documentation for the appropriate value for this+-- field.+pitipResource :: Lens' ProjectsInstancesTestIAMPermissions Text+pitipResource+  = lens _pitipResource+      (\ s a -> s{_pitipResource = a})++-- | JSONP+pitipCallback :: Lens' ProjectsInstancesTestIAMPermissions (Maybe Text)+pitipCallback+  = lens _pitipCallback+      (\ s a -> s{_pitipCallback = a})++instance GoogleRequest+         ProjectsInstancesTestIAMPermissions where+        type Rs ProjectsInstancesTestIAMPermissions =+             TestIAMPermissionsResponse+        type Scopes ProjectsInstancesTestIAMPermissions =+             '["https://www.googleapis.com/auth/bigtable.admin",+               "https://www.googleapis.com/auth/bigtable.admin.cluster",+               "https://www.googleapis.com/auth/bigtable.admin.instance",+               "https://www.googleapis.com/auth/cloud-bigtable.admin",+               "https://www.googleapis.com/auth/cloud-bigtable.admin.cluster",+               "https://www.googleapis.com/auth/cloud-platform"]+        requestClient+          ProjectsInstancesTestIAMPermissions'{..}+          = go _pitipResource _pitipXgafv _pitipUploadProtocol+              _pitipAccessToken+              _pitipUploadType+              _pitipCallback+              (Just AltJSON)+              _pitipPayload+              bigtableAdminService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy ProjectsInstancesTestIAMPermissionsResource)+                      mempty
+ gen/Network/Google/Resource/BigtableAdmin/Projects/Instances/Update.hs view
@@ -0,0 +1,167 @@+{-# 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.BigtableAdmin.Projects.Instances.Update+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates an instance within a project. This method updates only the+-- display name and type for an Instance. To update other Instance+-- properties, such as labels, use PartialUpdateInstance.+--+-- /See:/ <https://cloud.google.com/bigtable/ Cloud Bigtable Admin API Reference> for @bigtableadmin.projects.instances.update@.+module Network.Google.Resource.BigtableAdmin.Projects.Instances.Update+    (+    -- * REST Resource+      ProjectsInstancesUpdateResource++    -- * Creating a Request+    , projectsInstancesUpdate+    , ProjectsInstancesUpdate++    -- * Request Lenses+    , piuXgafv+    , piuUploadProtocol+    , piuAccessToken+    , piuUploadType+    , piuPayload+    , piuName+    , piuCallback+    ) where++import           Network.Google.BigtableAdmin.Types+import           Network.Google.Prelude++-- | A resource alias for @bigtableadmin.projects.instances.update@ method which the+-- 'ProjectsInstancesUpdate' request conforms to.+type ProjectsInstancesUpdateResource =+     "v2" :>+       Capture "name" Text :>+         QueryParam "$.xgafv" Xgafv :>+           QueryParam "upload_protocol" Text :>+             QueryParam "access_token" Text :>+               QueryParam "uploadType" Text :>+                 QueryParam "callback" Text :>+                   QueryParam "alt" AltJSON :>+                     ReqBody '[JSON] Instance :> Put '[JSON] Instance++-- | Updates an instance within a project. This method updates only the+-- display name and type for an Instance. To update other Instance+-- properties, such as labels, use PartialUpdateInstance.+--+-- /See:/ 'projectsInstancesUpdate' smart constructor.+data ProjectsInstancesUpdate = ProjectsInstancesUpdate'+    { _piuXgafv          :: !(Maybe Xgafv)+    , _piuUploadProtocol :: !(Maybe Text)+    , _piuAccessToken    :: !(Maybe Text)+    , _piuUploadType     :: !(Maybe Text)+    , _piuPayload        :: !Instance+    , _piuName           :: !Text+    , _piuCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProjectsInstancesUpdate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'piuXgafv'+--+-- * 'piuUploadProtocol'+--+-- * 'piuAccessToken'+--+-- * 'piuUploadType'+--+-- * 'piuPayload'+--+-- * 'piuName'+--+-- * 'piuCallback'+projectsInstancesUpdate+    :: Instance -- ^ 'piuPayload'+    -> Text -- ^ 'piuName'+    -> ProjectsInstancesUpdate+projectsInstancesUpdate pPiuPayload_ pPiuName_ =+    ProjectsInstancesUpdate'+    { _piuXgafv = Nothing+    , _piuUploadProtocol = Nothing+    , _piuAccessToken = Nothing+    , _piuUploadType = Nothing+    , _piuPayload = pPiuPayload_+    , _piuName = pPiuName_+    , _piuCallback = Nothing+    }++-- | V1 error format.+piuXgafv :: Lens' ProjectsInstancesUpdate (Maybe Xgafv)+piuXgafv = lens _piuXgafv (\ s a -> s{_piuXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+piuUploadProtocol :: Lens' ProjectsInstancesUpdate (Maybe Text)+piuUploadProtocol+  = lens _piuUploadProtocol+      (\ s a -> s{_piuUploadProtocol = a})++-- | OAuth access token.+piuAccessToken :: Lens' ProjectsInstancesUpdate (Maybe Text)+piuAccessToken+  = lens _piuAccessToken+      (\ s a -> s{_piuAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+piuUploadType :: Lens' ProjectsInstancesUpdate (Maybe Text)+piuUploadType+  = lens _piuUploadType+      (\ s a -> s{_piuUploadType = a})++-- | Multipart request metadata.+piuPayload :: Lens' ProjectsInstancesUpdate Instance+piuPayload+  = lens _piuPayload (\ s a -> s{_piuPayload = a})++-- | (\`OutputOnly\`) The unique name of the instance. Values are of the form+-- \`projects\/\/instances\/a-z+[a-z0-9]\`.+piuName :: Lens' ProjectsInstancesUpdate Text+piuName = lens _piuName (\ s a -> s{_piuName = a})++-- | JSONP+piuCallback :: Lens' ProjectsInstancesUpdate (Maybe Text)+piuCallback+  = lens _piuCallback (\ s a -> s{_piuCallback = a})++instance GoogleRequest ProjectsInstancesUpdate where+        type Rs ProjectsInstancesUpdate = Instance+        type Scopes ProjectsInstancesUpdate =+             '["https://www.googleapis.com/auth/bigtable.admin",+               "https://www.googleapis.com/auth/bigtable.admin.cluster",+               "https://www.googleapis.com/auth/bigtable.admin.instance",+               "https://www.googleapis.com/auth/cloud-bigtable.admin",+               "https://www.googleapis.com/auth/cloud-bigtable.admin.cluster",+               "https://www.googleapis.com/auth/cloud-platform"]+        requestClient ProjectsInstancesUpdate'{..}+          = go _piuName _piuXgafv _piuUploadProtocol+              _piuAccessToken+              _piuUploadType+              _piuCallback+              (Just AltJSON)+              _piuPayload+              bigtableAdminService+          where go+                  = buildClient+                      (Proxy :: Proxy ProjectsInstancesUpdateResource)+                      mempty
+ gogol-bigtableadmin.cabal view
@@ -0,0 +1,76 @@+name:                  gogol-bigtableadmin+version:               0.4.0+synopsis:              Google Cloud Bigtable Admin SDK.+homepage:              https://github.com/brendanhay/gogol+bug-reports:           https://github.com/brendanhay/gogol/issues+license:               OtherLicense+license-file:          LICENSE+author:                Brendan Hay+maintainer:            Brendan Hay <brendan.g.hay@gmail.com>+copyright:             Copyright (c) 2015-2016 Brendan Hay+category:              Network, Google, Cloud+build-type:            Simple+cabal-version:         >= 1.10+extra-source-files:    README.md src/.gitkeep++description:++    .+    /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.BigtableAdmin+        , Network.Google.BigtableAdmin.Types+        , Network.Google.Resource.BigtableAdmin.Operations.Cancel+        , Network.Google.Resource.BigtableAdmin.Operations.Delete+        , Network.Google.Resource.BigtableAdmin.Operations.Get+        , Network.Google.Resource.BigtableAdmin.Operations.Projects.Operations.List+        , Network.Google.Resource.BigtableAdmin.Projects.Instances.AppProFiles.Create+        , Network.Google.Resource.BigtableAdmin.Projects.Instances.AppProFiles.Delete+        , Network.Google.Resource.BigtableAdmin.Projects.Instances.AppProFiles.Get+        , Network.Google.Resource.BigtableAdmin.Projects.Instances.AppProFiles.List+        , Network.Google.Resource.BigtableAdmin.Projects.Instances.AppProFiles.Patch+        , Network.Google.Resource.BigtableAdmin.Projects.Instances.Clusters.Create+        , Network.Google.Resource.BigtableAdmin.Projects.Instances.Clusters.Delete+        , Network.Google.Resource.BigtableAdmin.Projects.Instances.Clusters.Get+        , Network.Google.Resource.BigtableAdmin.Projects.Instances.Clusters.List+        , Network.Google.Resource.BigtableAdmin.Projects.Instances.Clusters.Update+        , Network.Google.Resource.BigtableAdmin.Projects.Instances.Create+        , Network.Google.Resource.BigtableAdmin.Projects.Instances.Delete+        , Network.Google.Resource.BigtableAdmin.Projects.Instances.Get+        , Network.Google.Resource.BigtableAdmin.Projects.Instances.GetIAMPolicy+        , Network.Google.Resource.BigtableAdmin.Projects.Instances.List+        , Network.Google.Resource.BigtableAdmin.Projects.Instances.PartialUpdateInstance+        , Network.Google.Resource.BigtableAdmin.Projects.Instances.SetIAMPolicy+        , Network.Google.Resource.BigtableAdmin.Projects.Instances.Tables.CheckConsistency+        , Network.Google.Resource.BigtableAdmin.Projects.Instances.Tables.Create+        , Network.Google.Resource.BigtableAdmin.Projects.Instances.Tables.Delete+        , Network.Google.Resource.BigtableAdmin.Projects.Instances.Tables.DropRowRange+        , Network.Google.Resource.BigtableAdmin.Projects.Instances.Tables.GenerateConsistencyToken+        , Network.Google.Resource.BigtableAdmin.Projects.Instances.Tables.Get+        , Network.Google.Resource.BigtableAdmin.Projects.Instances.Tables.List+        , Network.Google.Resource.BigtableAdmin.Projects.Instances.Tables.ModifyColumnFamilies+        , Network.Google.Resource.BigtableAdmin.Projects.Instances.TestIAMPermissions+        , Network.Google.Resource.BigtableAdmin.Projects.Instances.Update++    other-modules:+          Network.Google.BigtableAdmin.Types.Product+        , Network.Google.BigtableAdmin.Types.Sum++    build-depends:+          gogol-core == 0.4.0.*+        , base       >= 4.7 && < 5
+ src/.gitkeep view