packages feed

gogol-datafusion (empty) → 0.5.0

raw patch · 25 files changed

+6749/−0 lines, 25 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-datafusion++* [Version](#version)+* [Description](#description)+* [Contribute](#contribute)+* [Licence](#licence)+++## Version++`0.5.0`+++## Description++A client library for the Google Cloud Data Fusion.+++## 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-datafusion` 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/DataFusion.hs view
@@ -0,0 +1,400 @@+{-# LANGUAGE DataKinds         #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE TypeOperators     #-}++{-# OPTIONS_GHC -fno-warn-unused-imports    #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}++-- |+-- Module      : Network.Google.DataFusion+-- 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)+--+-- Cloud Data Fusion is a fully-managed, cloud native, enterprise data+-- integration service for quickly building and managing data pipelines. It+-- provides a graphical interface to increase time efficiency and reduce+-- complexity, and allows business users, developers, and data scientists+-- to easily and reliably build scalable data integration solutions to+-- cleanse, prepare, blend, transfer and transform data without having to+-- wrestle with infrastructure.+--+-- /See:/ <https://cloud.google.com/data-fusion/docs Cloud Data Fusion API Reference>+module Network.Google.DataFusion+    (+    -- * Service Configuration+      dataFusionService++    -- * OAuth Scopes+    , cloudPlatformScope++    -- * API Declaration+    , DataFusionAPI++    -- * Resources++    -- ** datafusion.projects.locations.get+    , module Network.Google.Resource.DataFusion.Projects.Locations.Get++    -- ** datafusion.projects.locations.instances.create+    , module Network.Google.Resource.DataFusion.Projects.Locations.Instances.Create++    -- ** datafusion.projects.locations.instances.delete+    , module Network.Google.Resource.DataFusion.Projects.Locations.Instances.Delete++    -- ** datafusion.projects.locations.instances.get+    , module Network.Google.Resource.DataFusion.Projects.Locations.Instances.Get++    -- ** datafusion.projects.locations.instances.getIamPolicy+    , module Network.Google.Resource.DataFusion.Projects.Locations.Instances.GetIAMPolicy++    -- ** datafusion.projects.locations.instances.list+    , module Network.Google.Resource.DataFusion.Projects.Locations.Instances.List++    -- ** datafusion.projects.locations.instances.patch+    , module Network.Google.Resource.DataFusion.Projects.Locations.Instances.Patch++    -- ** datafusion.projects.locations.instances.restart+    , module Network.Google.Resource.DataFusion.Projects.Locations.Instances.Restart++    -- ** datafusion.projects.locations.instances.setIamPolicy+    , module Network.Google.Resource.DataFusion.Projects.Locations.Instances.SetIAMPolicy++    -- ** datafusion.projects.locations.instances.testIamPermissions+    , module Network.Google.Resource.DataFusion.Projects.Locations.Instances.TestIAMPermissions++    -- ** datafusion.projects.locations.instances.upgrade+    , module Network.Google.Resource.DataFusion.Projects.Locations.Instances.Upgrade++    -- ** datafusion.projects.locations.list+    , module Network.Google.Resource.DataFusion.Projects.Locations.List++    -- ** datafusion.projects.locations.operations.cancel+    , module Network.Google.Resource.DataFusion.Projects.Locations.Operations.Cancel++    -- ** datafusion.projects.locations.operations.delete+    , module Network.Google.Resource.DataFusion.Projects.Locations.Operations.Delete++    -- ** datafusion.projects.locations.operations.get+    , module Network.Google.Resource.DataFusion.Projects.Locations.Operations.Get++    -- ** datafusion.projects.locations.operations.list+    , module Network.Google.Resource.DataFusion.Projects.Locations.Operations.List++    -- * Types++    -- ** InstanceLabels+    , InstanceLabels+    , instanceLabels+    , ilAddtional++    -- ** Status+    , Status+    , status+    , sDetails+    , sCode+    , sMessage++    -- ** OperationSchema+    , OperationSchema+    , operationSchema+    , osAddtional++    -- ** CounterOptions+    , CounterOptions+    , counterOptions+    , coField+    , coMetric++    -- ** AuditConfig+    , AuditConfig+    , auditConfig+    , acService+    , acAuditLogConfigs+    , acExemptedMembers++    -- ** CloudAuditOptionsLogName+    , CloudAuditOptionsLogName (..)++    -- ** Expr+    , Expr+    , expr+    , eLocation+    , eExpression+    , eTitle+    , eDescription++    -- ** ListLocationsResponse+    , ListLocationsResponse+    , listLocationsResponse+    , llrNextPageToken+    , llrLocations++    -- ** ListOperationsResponse+    , ListOperationsResponse+    , listOperationsResponse+    , lorNextPageToken+    , lorOperations++    -- ** CancelOperationRequest+    , CancelOperationRequest+    , cancelOperationRequest++    -- ** ConditionSys+    , ConditionSys (..)++    -- ** Location+    , Location+    , location+    , lName+    , lMetadata+    , lDisplayName+    , lLabels+    , lLocationId++    -- ** Operation+    , Operation+    , operation+    , oDone+    , oError+    , oResponse+    , oName+    , oMetadata++    -- ** Empty+    , Empty+    , empty++    -- ** RuleAction+    , RuleAction (..)++    -- ** StatusDetailsItem+    , StatusDetailsItem+    , statusDetailsItem+    , sdiAddtional++    -- ** Rule+    , Rule+    , rule+    , rAction+    , rIn+    , rNotIn+    , rConditions+    , rPermissions+    , rLogConfig+    , rDescription++    -- ** SetIAMPolicyRequest+    , SetIAMPolicyRequest+    , setIAMPolicyRequest+    , siprUpdateMask+    , siprPolicy++    -- ** InstanceType+    , InstanceType (..)++    -- ** NetworkConfig+    , NetworkConfig+    , networkConfig+    , ncNetwork+    , ncIPAllocation++    -- ** CloudAuditOptions+    , CloudAuditOptions+    , cloudAuditOptions+    , caoAuthorizationLoggingOptions+    , caoLogName++    -- ** ConditionOp+    , ConditionOp (..)++    -- ** DataAccessOptions+    , DataAccessOptions+    , dataAccessOptions+    , daoLogMode++    -- ** RestartInstanceRequest+    , RestartInstanceRequest+    , restartInstanceRequest++    -- ** AuditLogConfigLogType+    , AuditLogConfigLogType (..)++    -- ** Xgafv+    , Xgafv (..)++    -- ** TestIAMPermissionsRequest+    , TestIAMPermissionsRequest+    , testIAMPermissionsRequest+    , tiprPermissions++    -- ** TestIAMPermissionsResponse+    , TestIAMPermissionsResponse+    , testIAMPermissionsResponse+    , tiamprPermissions++    -- ** UpgradeInstanceRequest+    , UpgradeInstanceRequest+    , upgradeInstanceRequest++    -- ** AuthorizationLoggingOptions+    , AuthorizationLoggingOptions+    , authorizationLoggingOptions+    , aloPermissionType++    -- ** Policy+    , Policy+    , policy+    , pAuditConfigs+    , pEtag+    , pRules+    , pVersion+    , pBindings+    , pIAMOwned++    -- ** LocationLabels+    , LocationLabels+    , locationLabels+    , llAddtional++    -- ** LocationMetadata+    , LocationMetadata+    , locationMetadata+    , lmAddtional++    -- ** OperationMetadata+    , OperationMetadata+    , operationMetadata+    , omAPIVersion+    , omRequestedCancellation+    , omEndTime+    , omStatusDetail+    , omVerb+    , omTarget+    , omCreateTime++    -- ** DataAccessOptionsLogMode+    , DataAccessOptionsLogMode (..)++    -- ** AuditLogConfig+    , AuditLogConfig+    , auditLogConfig+    , alcLogType+    , alcExemptedMembers++    -- ** ListInstancesResponse+    , ListInstancesResponse+    , listInstancesResponse+    , lirNextPageToken+    , lirUnreachable+    , lirInstances++    -- ** AuthorizationLoggingOptionsPermissionType+    , AuthorizationLoggingOptionsPermissionType (..)++    -- ** Condition+    , Condition+    , condition+    , cOp+    , cIAM+    , cValues+    , cSys+    , cSvc++    -- ** InstanceState+    , InstanceState (..)++    -- ** ConditionIAM+    , ConditionIAM (..)++    -- ** OperationResponse+    , OperationResponse+    , operationResponse+    , orAddtional++    -- ** LogConfig+    , LogConfig+    , logConfig+    , lcCloudAudit+    , lcDataAccess+    , lcCounter++    -- ** InstanceOptions+    , InstanceOptions+    , instanceOptions+    , ioAddtional++    -- ** Binding+    , Binding+    , binding+    , bMembers+    , bRole+    , bCondition++    -- ** Instance+    , Instance+    , instance'+    , iStateMessage+    , iState+    , iEnableStackdriverLogging+    , iServiceEndpoint+    , iZone+    , iServiceAccount+    , iNetworkConfig+    , iUpdateTime+    , iPrivateInstance+    , iName+    , iVersion+    , iDisplayName+    , iEnableStackdriverMonitoring+    , iLabels+    , iOptions+    , iType+    , iDescription+    , iCreateTime+    ) where++import           Network.Google.DataFusion.Types+import           Network.Google.Prelude+import           Network.Google.Resource.DataFusion.Projects.Locations.Get+import           Network.Google.Resource.DataFusion.Projects.Locations.Instances.Create+import           Network.Google.Resource.DataFusion.Projects.Locations.Instances.Delete+import           Network.Google.Resource.DataFusion.Projects.Locations.Instances.Get+import           Network.Google.Resource.DataFusion.Projects.Locations.Instances.GetIAMPolicy+import           Network.Google.Resource.DataFusion.Projects.Locations.Instances.List+import           Network.Google.Resource.DataFusion.Projects.Locations.Instances.Patch+import           Network.Google.Resource.DataFusion.Projects.Locations.Instances.Restart+import           Network.Google.Resource.DataFusion.Projects.Locations.Instances.SetIAMPolicy+import           Network.Google.Resource.DataFusion.Projects.Locations.Instances.TestIAMPermissions+import           Network.Google.Resource.DataFusion.Projects.Locations.Instances.Upgrade+import           Network.Google.Resource.DataFusion.Projects.Locations.List+import           Network.Google.Resource.DataFusion.Projects.Locations.Operations.Cancel+import           Network.Google.Resource.DataFusion.Projects.Locations.Operations.Delete+import           Network.Google.Resource.DataFusion.Projects.Locations.Operations.Get+import           Network.Google.Resource.DataFusion.Projects.Locations.Operations.List++{- $resources+TODO+-}++-- | Represents the entirety of the methods and resources available for the Cloud Data Fusion API service.+type DataFusionAPI =+     ProjectsLocationsInstancesListResource :<|>+       ProjectsLocationsInstancesUpgradeResource+       :<|> ProjectsLocationsInstancesGetIAMPolicyResource+       :<|> ProjectsLocationsInstancesPatchResource+       :<|> ProjectsLocationsInstancesGetResource+       :<|> ProjectsLocationsInstancesCreateResource+       :<|> ProjectsLocationsInstancesSetIAMPolicyResource+       :<|> ProjectsLocationsInstancesRestartResource+       :<|>+       ProjectsLocationsInstancesTestIAMPermissionsResource+       :<|> ProjectsLocationsInstancesDeleteResource+       :<|> ProjectsLocationsOperationsListResource+       :<|> ProjectsLocationsOperationsGetResource+       :<|> ProjectsLocationsOperationsCancelResource+       :<|> ProjectsLocationsOperationsDeleteResource+       :<|> ProjectsLocationsListResource+       :<|> ProjectsLocationsGetResource
+ gen/Network/Google/DataFusion/Types.hs view
@@ -0,0 +1,308 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module      : Network.Google.DataFusion.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.DataFusion.Types+    (+    -- * Service Configuration+      dataFusionService++    -- * OAuth Scopes+    , cloudPlatformScope++    -- * InstanceLabels+    , InstanceLabels+    , instanceLabels+    , ilAddtional++    -- * Status+    , Status+    , status+    , sDetails+    , sCode+    , sMessage++    -- * OperationSchema+    , OperationSchema+    , operationSchema+    , osAddtional++    -- * CounterOptions+    , CounterOptions+    , counterOptions+    , coField+    , coMetric++    -- * AuditConfig+    , AuditConfig+    , auditConfig+    , acService+    , acAuditLogConfigs+    , acExemptedMembers++    -- * CloudAuditOptionsLogName+    , CloudAuditOptionsLogName (..)++    -- * Expr+    , Expr+    , expr+    , eLocation+    , eExpression+    , eTitle+    , eDescription++    -- * ListLocationsResponse+    , ListLocationsResponse+    , listLocationsResponse+    , llrNextPageToken+    , llrLocations++    -- * ListOperationsResponse+    , ListOperationsResponse+    , listOperationsResponse+    , lorNextPageToken+    , lorOperations++    -- * CancelOperationRequest+    , CancelOperationRequest+    , cancelOperationRequest++    -- * ConditionSys+    , ConditionSys (..)++    -- * Location+    , Location+    , location+    , lName+    , lMetadata+    , lDisplayName+    , lLabels+    , lLocationId++    -- * Operation+    , Operation+    , operation+    , oDone+    , oError+    , oResponse+    , oName+    , oMetadata++    -- * Empty+    , Empty+    , empty++    -- * RuleAction+    , RuleAction (..)++    -- * StatusDetailsItem+    , StatusDetailsItem+    , statusDetailsItem+    , sdiAddtional++    -- * Rule+    , Rule+    , rule+    , rAction+    , rIn+    , rNotIn+    , rConditions+    , rPermissions+    , rLogConfig+    , rDescription++    -- * SetIAMPolicyRequest+    , SetIAMPolicyRequest+    , setIAMPolicyRequest+    , siprUpdateMask+    , siprPolicy++    -- * InstanceType+    , InstanceType (..)++    -- * NetworkConfig+    , NetworkConfig+    , networkConfig+    , ncNetwork+    , ncIPAllocation++    -- * CloudAuditOptions+    , CloudAuditOptions+    , cloudAuditOptions+    , caoAuthorizationLoggingOptions+    , caoLogName++    -- * ConditionOp+    , ConditionOp (..)++    -- * DataAccessOptions+    , DataAccessOptions+    , dataAccessOptions+    , daoLogMode++    -- * RestartInstanceRequest+    , RestartInstanceRequest+    , restartInstanceRequest++    -- * AuditLogConfigLogType+    , AuditLogConfigLogType (..)++    -- * Xgafv+    , Xgafv (..)++    -- * TestIAMPermissionsRequest+    , TestIAMPermissionsRequest+    , testIAMPermissionsRequest+    , tiprPermissions++    -- * TestIAMPermissionsResponse+    , TestIAMPermissionsResponse+    , testIAMPermissionsResponse+    , tiamprPermissions++    -- * UpgradeInstanceRequest+    , UpgradeInstanceRequest+    , upgradeInstanceRequest++    -- * AuthorizationLoggingOptions+    , AuthorizationLoggingOptions+    , authorizationLoggingOptions+    , aloPermissionType++    -- * Policy+    , Policy+    , policy+    , pAuditConfigs+    , pEtag+    , pRules+    , pVersion+    , pBindings+    , pIAMOwned++    -- * LocationLabels+    , LocationLabels+    , locationLabels+    , llAddtional++    -- * LocationMetadata+    , LocationMetadata+    , locationMetadata+    , lmAddtional++    -- * OperationMetadata+    , OperationMetadata+    , operationMetadata+    , omAPIVersion+    , omRequestedCancellation+    , omEndTime+    , omStatusDetail+    , omVerb+    , omTarget+    , omCreateTime++    -- * DataAccessOptionsLogMode+    , DataAccessOptionsLogMode (..)++    -- * AuditLogConfig+    , AuditLogConfig+    , auditLogConfig+    , alcLogType+    , alcExemptedMembers++    -- * ListInstancesResponse+    , ListInstancesResponse+    , listInstancesResponse+    , lirNextPageToken+    , lirUnreachable+    , lirInstances++    -- * AuthorizationLoggingOptionsPermissionType+    , AuthorizationLoggingOptionsPermissionType (..)++    -- * Condition+    , Condition+    , condition+    , cOp+    , cIAM+    , cValues+    , cSys+    , cSvc++    -- * InstanceState+    , InstanceState (..)++    -- * ConditionIAM+    , ConditionIAM (..)++    -- * OperationResponse+    , OperationResponse+    , operationResponse+    , orAddtional++    -- * LogConfig+    , LogConfig+    , logConfig+    , lcCloudAudit+    , lcDataAccess+    , lcCounter++    -- * InstanceOptions+    , InstanceOptions+    , instanceOptions+    , ioAddtional++    -- * Binding+    , Binding+    , binding+    , bMembers+    , bRole+    , bCondition++    -- * Instance+    , Instance+    , instance'+    , iStateMessage+    , iState+    , iEnableStackdriverLogging+    , iServiceEndpoint+    , iZone+    , iServiceAccount+    , iNetworkConfig+    , iUpdateTime+    , iPrivateInstance+    , iName+    , iVersion+    , iDisplayName+    , iEnableStackdriverMonitoring+    , iLabels+    , iOptions+    , iType+    , iDescription+    , iCreateTime+    ) where++import           Network.Google.DataFusion.Types.Product+import           Network.Google.DataFusion.Types.Sum+import           Network.Google.Prelude++-- | Default request referring to version 'v1beta1' of the Cloud Data Fusion API. This contains the host and root path used as a starting point for constructing service requests.+dataFusionService :: ServiceConfig+dataFusionService+  = defaultService (ServiceId "datafusion:v1beta1")+      "datafusion.googleapis.com"++-- | View and manage your data across Google Cloud Platform services+cloudPlatformScope :: Proxy '["https://www.googleapis.com/auth/cloud-platform"]+cloudPlatformScope = Proxy
+ gen/Network/Google/DataFusion/Types/Product.hs view
@@ -0,0 +1,2258 @@+{-# 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.DataFusion.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.DataFusion.Types.Product where++import           Network.Google.DataFusion.Types.Sum+import           Network.Google.Prelude++-- | The resource labels for instance to use to annotate any related+-- underlying resources such as GCE VMs. The character \'=\' is not allowed+-- to be used within the labels.+--+-- /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])++-- | Service-specific metadata associated with the operation. It typically+-- contains progress information and common metadata such as create time.+-- Some services might not provide such metadata. Any method that returns a+-- long-running operation should document the metadata type, if any.+--+-- /See:/ 'operationSchema' smart constructor.+newtype OperationSchema =+  OperationSchema'+    { _osAddtional :: HashMap Text JSONValue+    }+  deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'OperationSchema' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'osAddtional'+operationSchema+    :: HashMap Text JSONValue -- ^ 'osAddtional'+    -> OperationSchema+operationSchema pOsAddtional_ =+  OperationSchema' {_osAddtional = _Coerce # pOsAddtional_}+++-- | Properties of the object. Contains field \'type with type URL.+osAddtional :: Lens' OperationSchema (HashMap Text JSONValue)+osAddtional+  = lens _osAddtional (\ s a -> s{_osAddtional = a}) .+      _Coerce++instance FromJSON OperationSchema where+        parseJSON+          = withObject "OperationSchema"+              (\ o -> OperationSchema' <$> (parseJSONObject o))++instance ToJSON OperationSchema where+        toJSON = toJSON . _osAddtional++-- | Increment a streamz counter with the specified metric and field names.+-- Metric names should start with a \'\/\', generally be lowercase-only,+-- and end in \"_count\". Field names should not contain an initial slash.+-- The actual exported metric names will have \"\/iam\/policy\" prepended.+-- Field names correspond to IAM request parameters and field values are+-- their respective values. Supported field names: - \"authority\", which+-- is \"[token]\" if IAMContext.token is present, otherwise the value of+-- IAMContext.authority_selector if present, and otherwise a representation+-- of IAMContext.principal; or - \"iam_principal\", a representation of+-- IAMContext.principal even if a token or authority selector is present;+-- or - \"\" (empty string), resulting in a counter with no fields.+-- Examples: counter { metric: \"\/debug_access_count\" field:+-- \"iam_principal\" } ==> increment counter+-- \/iam\/policy\/backend_debug_access_count {iam_principal=[value of+-- IAMContext.principal]} At this time we do not support multiple field+-- names (though this may be supported in the future).+--+-- /See:/ 'counterOptions' smart constructor.+data CounterOptions =+  CounterOptions'+    { _coField  :: !(Maybe Text)+    , _coMetric :: !(Maybe Text)+    }+  deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'CounterOptions' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'coField'+--+-- * 'coMetric'+counterOptions+    :: CounterOptions+counterOptions = CounterOptions' {_coField = Nothing, _coMetric = Nothing}+++-- | The field value to attribute.+coField :: Lens' CounterOptions (Maybe Text)+coField = lens _coField (\ s a -> s{_coField = a})++-- | The metric to update.+coMetric :: Lens' CounterOptions (Maybe Text)+coMetric = lens _coMetric (\ s a -> s{_coMetric = a})++instance FromJSON CounterOptions where+        parseJSON+          = withObject "CounterOptions"+              (\ o ->+                 CounterOptions' <$>+                   (o .:? "field") <*> (o .:? "metric"))++instance ToJSON CounterOptions where+        toJSON CounterOptions'{..}+          = object+              (catMaybes+                 [("field" .=) <$> _coField,+                  ("metric" .=) <$> _coMetric])++-- | 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])+    , _acExemptedMembers :: !(Maybe [Text])+    }+  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'+--+-- * 'acExemptedMembers'+auditConfig+    :: AuditConfig+auditConfig =+  AuditConfig'+    { _acService = Nothing+    , _acAuditLogConfigs = Nothing+    , _acExemptedMembers = 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++acExemptedMembers :: Lens' AuditConfig [Text]+acExemptedMembers+  = lens _acExemptedMembers+      (\ s a -> s{_acExemptedMembers = a})+      . _Default+      . _Coerce++instance FromJSON AuditConfig where+        parseJSON+          = withObject "AuditConfig"+              (\ o ->+                 AuditConfig' <$>+                   (o .:? "service") <*>+                     (o .:? "auditLogConfigs" .!= mempty)+                     <*> (o .:? "exemptedMembers" .!= mempty))++instance ToJSON AuditConfig where+        toJSON AuditConfig'{..}+          = object+              (catMaybes+                 [("service" .=) <$> _acService,+                  ("auditLogConfigs" .=) <$> _acAuditLogConfigs,+                  ("exemptedMembers" .=) <$> _acExemptedMembers])++-- | Represents an expression text. Example: title: \"User account presence\"+-- description: \"Determines whether the request has a user account\"+-- expression: \"size(request.user) > 0\"+--+-- /See:/ 'expr' smart constructor.+data Expr =+  Expr'+    { _eLocation    :: !(Maybe Text)+    , _eExpression  :: !(Maybe Text)+    , _eTitle       :: !(Maybe Text)+    , _eDescription :: !(Maybe Text)+    }+  deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Expr' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'eLocation'+--+-- * 'eExpression'+--+-- * 'eTitle'+--+-- * 'eDescription'+expr+    :: Expr+expr =+  Expr'+    { _eLocation = Nothing+    , _eExpression = Nothing+    , _eTitle = Nothing+    , _eDescription = Nothing+    }+++-- | An optional string indicating the location of the expression for error+-- reporting, e.g. a file name and a position in the file.+eLocation :: Lens' Expr (Maybe Text)+eLocation+  = lens _eLocation (\ s a -> s{_eLocation = a})++-- | Textual representation of an expression in Common Expression Language+-- syntax. The application context of the containing message determines+-- which well-known feature set of CEL is supported.+eExpression :: Lens' Expr (Maybe Text)+eExpression+  = lens _eExpression (\ s a -> s{_eExpression = a})++-- | An optional title for the expression, i.e. a short string describing its+-- purpose. This can be used e.g. in UIs which allow to enter the+-- expression.+eTitle :: Lens' Expr (Maybe Text)+eTitle = lens _eTitle (\ s a -> s{_eTitle = a})++-- | An optional description of the expression. This is a longer text which+-- describes the expression, e.g. when hovered over it in a UI.+eDescription :: Lens' Expr (Maybe Text)+eDescription+  = lens _eDescription (\ s a -> s{_eDescription = a})++instance FromJSON Expr where+        parseJSON+          = withObject "Expr"+              (\ o ->+                 Expr' <$>+                   (o .:? "location") <*> (o .:? "expression") <*>+                     (o .:? "title")+                     <*> (o .:? "description"))++instance ToJSON Expr where+        toJSON Expr'{..}+          = object+              (catMaybes+                 [("location" .=) <$> _eLocation,+                  ("expression" .=) <$> _eExpression,+                  ("title" .=) <$> _eTitle,+                  ("description" .=) <$> _eDescription])++-- | The response message for Locations.ListLocations.+--+-- /See:/ 'listLocationsResponse' smart constructor.+data ListLocationsResponse =+  ListLocationsResponse'+    { _llrNextPageToken :: !(Maybe Text)+    , _llrLocations     :: !(Maybe [Location])+    }+  deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ListLocationsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'llrNextPageToken'+--+-- * 'llrLocations'+listLocationsResponse+    :: ListLocationsResponse+listLocationsResponse =+  ListLocationsResponse' {_llrNextPageToken = Nothing, _llrLocations = Nothing}+++-- | The standard List next-page token.+llrNextPageToken :: Lens' ListLocationsResponse (Maybe Text)+llrNextPageToken+  = lens _llrNextPageToken+      (\ s a -> s{_llrNextPageToken = a})++-- | A list of locations that matches the specified filter in the request.+llrLocations :: Lens' ListLocationsResponse [Location]+llrLocations+  = lens _llrLocations (\ s a -> s{_llrLocations = a})+      . _Default+      . _Coerce++instance FromJSON ListLocationsResponse where+        parseJSON+          = withObject "ListLocationsResponse"+              (\ o ->+                 ListLocationsResponse' <$>+                   (o .:? "nextPageToken") <*>+                     (o .:? "locations" .!= mempty))++instance ToJSON ListLocationsResponse where+        toJSON ListLocationsResponse'{..}+          = object+              (catMaybes+                 [("nextPageToken" .=) <$> _llrNextPageToken,+                  ("locations" .=) <$> _llrLocations])++-- | 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])++-- | The request message for Operations.CancelOperation.+--+-- /See:/ 'cancelOperationRequest' smart constructor.+data CancelOperationRequest =+  CancelOperationRequest'+  deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'CancelOperationRequest' with the minimum fields required to make a request.+--+cancelOperationRequest+    :: CancelOperationRequest+cancelOperationRequest = CancelOperationRequest'+++instance FromJSON CancelOperationRequest where+        parseJSON+          = withObject "CancelOperationRequest"+              (\ o -> pure CancelOperationRequest')++instance ToJSON CancelOperationRequest where+        toJSON = const emptyObject++-- | A resource that represents Google Cloud Platform location.+--+-- /See:/ 'location' smart constructor.+data Location =+  Location'+    { _lName        :: !(Maybe Text)+    , _lMetadata    :: !(Maybe LocationMetadata)+    , _lDisplayName :: !(Maybe Text)+    , _lLabels      :: !(Maybe LocationLabels)+    , _lLocationId  :: !(Maybe Text)+    }+  deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Location' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lName'+--+-- * 'lMetadata'+--+-- * 'lDisplayName'+--+-- * 'lLabels'+--+-- * 'lLocationId'+location+    :: Location+location =+  Location'+    { _lName = Nothing+    , _lMetadata = Nothing+    , _lDisplayName = Nothing+    , _lLabels = Nothing+    , _lLocationId = Nothing+    }+++-- | Resource name for the location, which may vary between implementations.+-- For example: \`\"projects\/example-project\/locations\/us-east1\"\`+lName :: Lens' Location (Maybe Text)+lName = lens _lName (\ s a -> s{_lName = a})++-- | Service-specific metadata. For example the available capacity at the+-- given location.+lMetadata :: Lens' Location (Maybe LocationMetadata)+lMetadata+  = lens _lMetadata (\ s a -> s{_lMetadata = a})++-- | The friendly name for this location, typically a nearby city name. For+-- example, \"Tokyo\".+lDisplayName :: Lens' Location (Maybe Text)+lDisplayName+  = lens _lDisplayName (\ s a -> s{_lDisplayName = a})++-- | Cross-service attributes for the location. For example+-- {\"cloud.googleapis.com\/region\": \"us-east1\"}+lLabels :: Lens' Location (Maybe LocationLabels)+lLabels = lens _lLabels (\ s a -> s{_lLabels = a})++-- | The canonical id for this location. For example: \`\"us-east1\"\`.+lLocationId :: Lens' Location (Maybe Text)+lLocationId+  = lens _lLocationId (\ s a -> s{_lLocationId = a})++instance FromJSON Location where+        parseJSON+          = withObject "Location"+              (\ o ->+                 Location' <$>+                   (o .:? "name") <*> (o .:? "metadata") <*>+                     (o .:? "displayName")+                     <*> (o .:? "labels")+                     <*> (o .:? "locationId"))++instance ToJSON Location where+        toJSON Location'{..}+          = object+              (catMaybes+                 [("name" .=) <$> _lName,+                  ("metadata" .=) <$> _lMetadata,+                  ("displayName" .=) <$> _lDisplayName,+                  ("labels" .=) <$> _lLabels,+                  ("locationId" .=) <$> _lLocationId])++-- | This resource represents a long-running operation that is the result of+-- a network API call.+--+-- /See:/ 'operation' smart constructor.+data Operation =+  Operation'+    { _oDone     :: !(Maybe Bool)+    , _oError    :: !(Maybe Status)+    , _oResponse :: !(Maybe OperationResponse)+    , _oName     :: !(Maybe Text)+    , _oMetadata :: !(Maybe OperationSchema)+    }+  deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Operation' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'oDone'+--+-- * 'oError'+--+-- * 'oResponse'+--+-- * 'oName'+--+-- * 'oMetadata'+operation+    :: Operation+operation =+  Operation'+    { _oDone = Nothing+    , _oError = Nothing+    , _oResponse = Nothing+    , _oName = Nothing+    , _oMetadata = Nothing+    }+++-- | If the value is \`false\`, it means the operation is still in progress.+-- If \`true\`, the operation is completed, and either \`error\` or+-- \`response\` is available.+oDone :: Lens' Operation (Maybe Bool)+oDone = lens _oDone (\ s a -> s{_oDone = a})++-- | The error result of the operation in case of failure 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 OperationSchema)+oMetadata+  = lens _oMetadata (\ s a -> s{_oMetadata = a})++instance FromJSON Operation where+        parseJSON+          = withObject "Operation"+              (\ o ->+                 Operation' <$>+                   (o .:? "done") <*> (o .:? "error") <*>+                     (o .:? "response")+                     <*> (o .:? "name")+                     <*> (o .:? "metadata"))++instance ToJSON Operation where+        toJSON Operation'{..}+          = object+              (catMaybes+                 [("done" .=) <$> _oDone, ("error" .=) <$> _oError,+                  ("response" .=) <$> _oResponse,+                  ("name" .=) <$> _oName,+                  ("metadata" .=) <$> _oMetadata])++-- | A generic empty message that you can re-use to avoid defining duplicated+-- empty messages in your APIs. A typical example is to use it as the+-- request or the response type of an API method. For instance: service Foo+-- { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } The+-- JSON representation for \`Empty\` is empty JSON object \`{}\`.+--+-- /See:/ 'empty' smart constructor.+data Empty =+  Empty'+  deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Empty' with the minimum fields required to make a request.+--+empty+    :: Empty+empty = Empty'+++instance FromJSON Empty where+        parseJSON = withObject "Empty" (\ o -> pure Empty')++instance ToJSON Empty where+        toJSON = const emptyObject++--+-- /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++-- | A rule to be applied in a Policy.+--+-- /See:/ 'rule' smart constructor.+data Rule =+  Rule'+    { _rAction      :: !(Maybe RuleAction)+    , _rIn          :: !(Maybe [Text])+    , _rNotIn       :: !(Maybe [Text])+    , _rConditions  :: !(Maybe [Condition])+    , _rPermissions :: !(Maybe [Text])+    , _rLogConfig   :: !(Maybe [LogConfig])+    , _rDescription :: !(Maybe Text)+    }+  deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Rule' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rAction'+--+-- * 'rIn'+--+-- * 'rNotIn'+--+-- * 'rConditions'+--+-- * 'rPermissions'+--+-- * 'rLogConfig'+--+-- * 'rDescription'+rule+    :: Rule+rule =+  Rule'+    { _rAction = Nothing+    , _rIn = Nothing+    , _rNotIn = Nothing+    , _rConditions = Nothing+    , _rPermissions = Nothing+    , _rLogConfig = Nothing+    , _rDescription = Nothing+    }+++-- | Required+rAction :: Lens' Rule (Maybe RuleAction)+rAction = lens _rAction (\ s a -> s{_rAction = a})++-- | If one or more \'in\' clauses are specified, the rule matches if the+-- PRINCIPAL\/AUTHORITY_SELECTOR is in at least one of these entries.+rIn :: Lens' Rule [Text]+rIn+  = lens _rIn (\ s a -> s{_rIn = a}) . _Default .+      _Coerce++-- | If one or more \'not_in\' clauses are specified, the rule matches if the+-- PRINCIPAL\/AUTHORITY_SELECTOR is in none of the entries. The format for+-- in and not_in entries can be found at in the Local IAM documentation+-- (see go\/local-iam#features).+rNotIn :: Lens' Rule [Text]+rNotIn+  = lens _rNotIn (\ s a -> s{_rNotIn = a}) . _Default .+      _Coerce++-- | Additional restrictions that must be met. All conditions must pass for+-- the rule to match.+rConditions :: Lens' Rule [Condition]+rConditions+  = lens _rConditions (\ s a -> s{_rConditions = a}) .+      _Default+      . _Coerce++-- | A permission is a string of form \'..\' (e.g.,+-- \'storage.buckets.list\'). A value of \'*\' matches all permissions, and+-- a verb part of \'*\' (e.g., \'storage.buckets.*\') matches all verbs.+rPermissions :: Lens' Rule [Text]+rPermissions+  = lens _rPermissions (\ s a -> s{_rPermissions = a})+      . _Default+      . _Coerce++-- | The config returned to callers of tech.iam.IAM.CheckPolicy for any+-- entries that match the LOG action.+rLogConfig :: Lens' Rule [LogConfig]+rLogConfig+  = lens _rLogConfig (\ s a -> s{_rLogConfig = a}) .+      _Default+      . _Coerce++-- | Human-readable description of the rule.+rDescription :: Lens' Rule (Maybe Text)+rDescription+  = lens _rDescription (\ s a -> s{_rDescription = a})++instance FromJSON Rule where+        parseJSON+          = withObject "Rule"+              (\ o ->+                 Rule' <$>+                   (o .:? "action") <*> (o .:? "in" .!= mempty) <*>+                     (o .:? "notIn" .!= mempty)+                     <*> (o .:? "conditions" .!= mempty)+                     <*> (o .:? "permissions" .!= mempty)+                     <*> (o .:? "logConfig" .!= mempty)+                     <*> (o .:? "description"))++instance ToJSON Rule where+        toJSON Rule'{..}+          = object+              (catMaybes+                 [("action" .=) <$> _rAction, ("in" .=) <$> _rIn,+                  ("notIn" .=) <$> _rNotIn,+                  ("conditions" .=) <$> _rConditions,+                  ("permissions" .=) <$> _rPermissions,+                  ("logConfig" .=) <$> _rLogConfig,+                  ("description" .=) <$> _rDescription])++-- | 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])++-- | Network configuration for a Data Fusion instance. These configurations+-- are used for peering with the customer network. Configurations are+-- optional when a public Data Fusion instance is to be created. However,+-- providing these configurations allows several benefits, such as reduced+-- network latency while accessing the customer resources from managed Data+-- Fusion instance nodes, as well as access to the customer on-prem+-- resources.+--+-- /See:/ 'networkConfig' smart constructor.+data NetworkConfig =+  NetworkConfig'+    { _ncNetwork      :: !(Maybe Text)+    , _ncIPAllocation :: !(Maybe Text)+    }+  deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'NetworkConfig' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ncNetwork'+--+-- * 'ncIPAllocation'+networkConfig+    :: NetworkConfig+networkConfig = NetworkConfig' {_ncNetwork = Nothing, _ncIPAllocation = Nothing}+++-- | Name of the network in the customer project with which the Tenant+-- Project will be peered for executing pipelines.+ncNetwork :: Lens' NetworkConfig (Maybe Text)+ncNetwork+  = lens _ncNetwork (\ s a -> s{_ncNetwork = a})++-- | The IP range in CIDR notation to use for the managed Data Fusion+-- instance nodes. This range must not overlap with any other ranges used+-- in the Data Fusion instance network.+ncIPAllocation :: Lens' NetworkConfig (Maybe Text)+ncIPAllocation+  = lens _ncIPAllocation+      (\ s a -> s{_ncIPAllocation = a})++instance FromJSON NetworkConfig where+        parseJSON+          = withObject "NetworkConfig"+              (\ o ->+                 NetworkConfig' <$>+                   (o .:? "network") <*> (o .:? "ipAllocation"))++instance ToJSON NetworkConfig where+        toJSON NetworkConfig'{..}+          = object+              (catMaybes+                 [("network" .=) <$> _ncNetwork,+                  ("ipAllocation" .=) <$> _ncIPAllocation])++-- | Write a Cloud Audit log+--+-- /See:/ 'cloudAuditOptions' smart constructor.+data CloudAuditOptions =+  CloudAuditOptions'+    { _caoAuthorizationLoggingOptions :: !(Maybe AuthorizationLoggingOptions)+    , _caoLogName                     :: !(Maybe CloudAuditOptionsLogName)+    }+  deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'CloudAuditOptions' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'caoAuthorizationLoggingOptions'+--+-- * 'caoLogName'+cloudAuditOptions+    :: CloudAuditOptions+cloudAuditOptions =+  CloudAuditOptions'+    {_caoAuthorizationLoggingOptions = Nothing, _caoLogName = Nothing}+++-- | Information used by the Cloud Audit Logging pipeline.+caoAuthorizationLoggingOptions :: Lens' CloudAuditOptions (Maybe AuthorizationLoggingOptions)+caoAuthorizationLoggingOptions+  = lens _caoAuthorizationLoggingOptions+      (\ s a -> s{_caoAuthorizationLoggingOptions = a})++-- | The log_name to populate in the Cloud Audit Record.+caoLogName :: Lens' CloudAuditOptions (Maybe CloudAuditOptionsLogName)+caoLogName+  = lens _caoLogName (\ s a -> s{_caoLogName = a})++instance FromJSON CloudAuditOptions where+        parseJSON+          = withObject "CloudAuditOptions"+              (\ o ->+                 CloudAuditOptions' <$>+                   (o .:? "authorizationLoggingOptions") <*>+                     (o .:? "logName"))++instance ToJSON CloudAuditOptions where+        toJSON CloudAuditOptions'{..}+          = object+              (catMaybes+                 [("authorizationLoggingOptions" .=) <$>+                    _caoAuthorizationLoggingOptions,+                  ("logName" .=) <$> _caoLogName])++-- | Write a Data Access (Gin) log+--+-- /See:/ 'dataAccessOptions' smart constructor.+newtype DataAccessOptions =+  DataAccessOptions'+    { _daoLogMode :: Maybe DataAccessOptionsLogMode+    }+  deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DataAccessOptions' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'daoLogMode'+dataAccessOptions+    :: DataAccessOptions+dataAccessOptions = DataAccessOptions' {_daoLogMode = Nothing}+++-- | Whether Gin logging should happen in a fail-closed manner at the caller.+-- This is relevant only in the LocalIAM implementation, for now.+daoLogMode :: Lens' DataAccessOptions (Maybe DataAccessOptionsLogMode)+daoLogMode+  = lens _daoLogMode (\ s a -> s{_daoLogMode = a})++instance FromJSON DataAccessOptions where+        parseJSON+          = withObject "DataAccessOptions"+              (\ o -> DataAccessOptions' <$> (o .:? "logMode"))++instance ToJSON DataAccessOptions where+        toJSON DataAccessOptions'{..}+          = object (catMaybes [("logMode" .=) <$> _daoLogMode])++-- | Request message for restarting a Data Fusion instance.+--+-- /See:/ 'restartInstanceRequest' smart constructor.+data RestartInstanceRequest =+  RestartInstanceRequest'+  deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'RestartInstanceRequest' with the minimum fields required to make a request.+--+restartInstanceRequest+    :: RestartInstanceRequest+restartInstanceRequest = RestartInstanceRequest'+++instance FromJSON RestartInstanceRequest where+        parseJSON+          = withObject "RestartInstanceRequest"+              (\ o -> pure RestartInstanceRequest')++instance ToJSON RestartInstanceRequest where+        toJSON = const emptyObject++-- | Request message for \`TestIamPermissions\` method.+--+-- /See:/ 'testIAMPermissionsRequest' smart constructor.+newtype TestIAMPermissionsRequest =+  TestIAMPermissionsRequest'+    { _tiprPermissions :: Maybe [Text]+    }+  deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'TestIAMPermissionsRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tiprPermissions'+testIAMPermissionsRequest+    :: TestIAMPermissionsRequest+testIAMPermissionsRequest =+  TestIAMPermissionsRequest' {_tiprPermissions = Nothing}+++-- | The set of permissions to check for the \`resource\`. Permissions with+-- wildcards (such as \'*\' or \'storage.*\') are not allowed. For more+-- information see [IAM+-- Overview](https:\/\/cloud.google.com\/iam\/docs\/overview#permissions).+tiprPermissions :: Lens' TestIAMPermissionsRequest [Text]+tiprPermissions+  = lens _tiprPermissions+      (\ s a -> s{_tiprPermissions = a})+      . _Default+      . _Coerce++instance FromJSON TestIAMPermissionsRequest where+        parseJSON+          = withObject "TestIAMPermissionsRequest"+              (\ o ->+                 TestIAMPermissionsRequest' <$>+                   (o .:? "permissions" .!= mempty))++instance ToJSON TestIAMPermissionsRequest where+        toJSON TestIAMPermissionsRequest'{..}+          = object+              (catMaybes [("permissions" .=) <$> _tiprPermissions])++-- | 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])++-- | Request message for upgrading a Data Fusion instance. To change the+-- instance properties, instance update should be used.+--+-- /See:/ 'upgradeInstanceRequest' smart constructor.+data UpgradeInstanceRequest =+  UpgradeInstanceRequest'+  deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'UpgradeInstanceRequest' with the minimum fields required to make a request.+--+upgradeInstanceRequest+    :: UpgradeInstanceRequest+upgradeInstanceRequest = UpgradeInstanceRequest'+++instance FromJSON UpgradeInstanceRequest where+        parseJSON+          = withObject "UpgradeInstanceRequest"+              (\ o -> pure UpgradeInstanceRequest')++instance ToJSON UpgradeInstanceRequest where+        toJSON = const emptyObject++-- | Authorization-related information used by Cloud Audit Logging.+--+-- /See:/ 'authorizationLoggingOptions' smart constructor.+newtype AuthorizationLoggingOptions =+  AuthorizationLoggingOptions'+    { _aloPermissionType :: Maybe AuthorizationLoggingOptionsPermissionType+    }+  deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'AuthorizationLoggingOptions' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'aloPermissionType'+authorizationLoggingOptions+    :: AuthorizationLoggingOptions+authorizationLoggingOptions =+  AuthorizationLoggingOptions' {_aloPermissionType = Nothing}+++-- | The type of the permission that was checked.+aloPermissionType :: Lens' AuthorizationLoggingOptions (Maybe AuthorizationLoggingOptionsPermissionType)+aloPermissionType+  = lens _aloPermissionType+      (\ s a -> s{_aloPermissionType = a})++instance FromJSON AuthorizationLoggingOptions where+        parseJSON+          = withObject "AuthorizationLoggingOptions"+              (\ o ->+                 AuthorizationLoggingOptions' <$>+                   (o .:? "permissionType"))++instance ToJSON AuthorizationLoggingOptions where+        toJSON AuthorizationLoggingOptions'{..}+          = object+              (catMaybes+                 [("permissionType" .=) <$> _aloPermissionType])++-- | 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)+    , _pRules        :: !(Maybe [Rule])+    , _pVersion      :: !(Maybe (Textual Int32))+    , _pBindings     :: !(Maybe [Binding])+    , _pIAMOwned     :: !(Maybe Bool)+    }+  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'+--+-- * 'pRules'+--+-- * 'pVersion'+--+-- * 'pBindings'+--+-- * 'pIAMOwned'+policy+    :: Policy+policy =+  Policy'+    { _pAuditConfigs = Nothing+    , _pEtag = Nothing+    , _pRules = Nothing+    , _pVersion = Nothing+    , _pBindings = Nothing+    , _pIAMOwned = 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++-- | If more than one rule is specified, the rules are applied in the+-- following manner: - All matching LOG rules are always applied. - If any+-- DENY\/DENY_WITH_LOG rule matches, permission is denied. Logging will be+-- applied if one or more matching rule requires logging. - Otherwise, if+-- any ALLOW\/ALLOW_WITH_LOG rule matches, permission is granted. Logging+-- will be applied if one or more matching rule requires logging. -+-- Otherwise, if no rule applies, permission is denied.+pRules :: Lens' Policy [Rule]+pRules+  = lens _pRules (\ s a -> s{_pRules = a}) . _Default .+      _Coerce++-- | 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++pIAMOwned :: Lens' Policy (Maybe Bool)+pIAMOwned+  = lens _pIAMOwned (\ s a -> s{_pIAMOwned = a})++instance FromJSON Policy where+        parseJSON+          = withObject "Policy"+              (\ o ->+                 Policy' <$>+                   (o .:? "auditConfigs" .!= mempty) <*> (o .:? "etag")+                     <*> (o .:? "rules" .!= mempty)+                     <*> (o .:? "version")+                     <*> (o .:? "bindings" .!= mempty)+                     <*> (o .:? "iamOwned"))++instance ToJSON Policy where+        toJSON Policy'{..}+          = object+              (catMaybes+                 [("auditConfigs" .=) <$> _pAuditConfigs,+                  ("etag" .=) <$> _pEtag, ("rules" .=) <$> _pRules,+                  ("version" .=) <$> _pVersion,+                  ("bindings" .=) <$> _pBindings,+                  ("iamOwned" .=) <$> _pIAMOwned])++-- | Cross-service attributes for the location. For example+-- {\"cloud.googleapis.com\/region\": \"us-east1\"}+--+-- /See:/ 'locationLabels' smart constructor.+newtype LocationLabels =+  LocationLabels'+    { _llAddtional :: HashMap Text Text+    }+  deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'LocationLabels' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'llAddtional'+locationLabels+    :: HashMap Text Text -- ^ 'llAddtional'+    -> LocationLabels+locationLabels pLlAddtional_ =+  LocationLabels' {_llAddtional = _Coerce # pLlAddtional_}+++llAddtional :: Lens' LocationLabels (HashMap Text Text)+llAddtional+  = lens _llAddtional (\ s a -> s{_llAddtional = a}) .+      _Coerce++instance FromJSON LocationLabels where+        parseJSON+          = withObject "LocationLabels"+              (\ o -> LocationLabels' <$> (parseJSONObject o))++instance ToJSON LocationLabels where+        toJSON = toJSON . _llAddtional++-- | Service-specific metadata. For example the available capacity at the+-- given location.+--+-- /See:/ 'locationMetadata' smart constructor.+newtype LocationMetadata =+  LocationMetadata'+    { _lmAddtional :: HashMap Text JSONValue+    }+  deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'LocationMetadata' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lmAddtional'+locationMetadata+    :: HashMap Text JSONValue -- ^ 'lmAddtional'+    -> LocationMetadata+locationMetadata pLmAddtional_ =+  LocationMetadata' {_lmAddtional = _Coerce # pLmAddtional_}+++-- | Properties of the object. Contains field \'type with type URL.+lmAddtional :: Lens' LocationMetadata (HashMap Text JSONValue)+lmAddtional+  = lens _lmAddtional (\ s a -> s{_lmAddtional = a}) .+      _Coerce++instance FromJSON LocationMetadata where+        parseJSON+          = withObject "LocationMetadata"+              (\ o -> LocationMetadata' <$> (parseJSONObject o))++instance ToJSON LocationMetadata where+        toJSON = toJSON . _lmAddtional++-- | Represents the metadata of a long-running operation.+--+-- /See:/ 'operationMetadata' smart constructor.+data OperationMetadata =+  OperationMetadata'+    { _omAPIVersion            :: !(Maybe Text)+    , _omRequestedCancellation :: !(Maybe Bool)+    , _omEndTime               :: !(Maybe DateTime')+    , _omStatusDetail          :: !(Maybe Text)+    , _omVerb                  :: !(Maybe Text)+    , _omTarget                :: !(Maybe Text)+    , _omCreateTime            :: !(Maybe DateTime')+    }+  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:+--+-- * 'omAPIVersion'+--+-- * 'omRequestedCancellation'+--+-- * 'omEndTime'+--+-- * 'omStatusDetail'+--+-- * 'omVerb'+--+-- * 'omTarget'+--+-- * 'omCreateTime'+operationMetadata+    :: OperationMetadata+operationMetadata =+  OperationMetadata'+    { _omAPIVersion = Nothing+    , _omRequestedCancellation = Nothing+    , _omEndTime = Nothing+    , _omStatusDetail = Nothing+    , _omVerb = Nothing+    , _omTarget = Nothing+    , _omCreateTime = Nothing+    }+++-- | API version used to start the operation.+omAPIVersion :: Lens' OperationMetadata (Maybe Text)+omAPIVersion+  = lens _omAPIVersion (\ s a -> s{_omAPIVersion = a})++-- | Identifies whether the user has requested cancellation of the operation.+-- Operations that have successfully been cancelled have Operation.error+-- value with a google.rpc.Status.code of 1, corresponding to+-- \`Code.CANCELLED\`.+omRequestedCancellation :: Lens' OperationMetadata (Maybe Bool)+omRequestedCancellation+  = lens _omRequestedCancellation+      (\ s a -> s{_omRequestedCancellation = a})++-- | The time the operation finished running.+omEndTime :: Lens' OperationMetadata (Maybe UTCTime)+omEndTime+  = lens _omEndTime (\ s a -> s{_omEndTime = a}) .+      mapping _DateTime++-- | Human-readable status of the operation if any.+omStatusDetail :: Lens' OperationMetadata (Maybe Text)+omStatusDetail+  = lens _omStatusDetail+      (\ s a -> s{_omStatusDetail = a})++-- | Name of the verb executed by the operation.+omVerb :: Lens' OperationMetadata (Maybe Text)+omVerb = lens _omVerb (\ s a -> s{_omVerb = a})++-- | Server-defined resource path for the target of the operation.+omTarget :: Lens' OperationMetadata (Maybe Text)+omTarget = lens _omTarget (\ s a -> s{_omTarget = a})++-- | The time the operation was created.+omCreateTime :: Lens' OperationMetadata (Maybe UTCTime)+omCreateTime+  = lens _omCreateTime (\ s a -> s{_omCreateTime = a})+      . mapping _DateTime++instance FromJSON OperationMetadata where+        parseJSON+          = withObject "OperationMetadata"+              (\ o ->+                 OperationMetadata' <$>+                   (o .:? "apiVersion") <*>+                     (o .:? "requestedCancellation")+                     <*> (o .:? "endTime")+                     <*> (o .:? "statusDetail")+                     <*> (o .:? "verb")+                     <*> (o .:? "target")+                     <*> (o .:? "createTime"))++instance ToJSON OperationMetadata where+        toJSON OperationMetadata'{..}+          = object+              (catMaybes+                 [("apiVersion" .=) <$> _omAPIVersion,+                  ("requestedCancellation" .=) <$>+                    _omRequestedCancellation,+                  ("endTime" .=) <$> _omEndTime,+                  ("statusDetail" .=) <$> _omStatusDetail,+                  ("verb" .=) <$> _omVerb, ("target" .=) <$> _omTarget,+                  ("createTime" .=) <$> _omCreateTime])++-- | 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 the list instance request.+--+-- /See:/ 'listInstancesResponse' smart constructor.+data ListInstancesResponse =+  ListInstancesResponse'+    { _lirNextPageToken :: !(Maybe Text)+    , _lirUnreachable   :: !(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'+--+-- * 'lirUnreachable'+--+-- * 'lirInstances'+listInstancesResponse+    :: ListInstancesResponse+listInstancesResponse =+  ListInstancesResponse'+    { _lirNextPageToken = Nothing+    , _lirUnreachable = Nothing+    , _lirInstances = Nothing+    }+++-- | Token to retrieve the next page of results or empty if there are no more+-- results in the list.+lirNextPageToken :: Lens' ListInstancesResponse (Maybe Text)+lirNextPageToken+  = lens _lirNextPageToken+      (\ s a -> s{_lirNextPageToken = a})++-- | Locations that could not be reached.+lirUnreachable :: Lens' ListInstancesResponse [Text]+lirUnreachable+  = lens _lirUnreachable+      (\ s a -> s{_lirUnreachable = a})+      . _Default+      . _Coerce++-- | Represents a list of Data Fusion 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 .:? "unreachable" .!= mempty)+                     <*> (o .:? "instances" .!= mempty))++instance ToJSON ListInstancesResponse where+        toJSON ListInstancesResponse'{..}+          = object+              (catMaybes+                 [("nextPageToken" .=) <$> _lirNextPageToken,+                  ("unreachable" .=) <$> _lirUnreachable,+                  ("instances" .=) <$> _lirInstances])++-- | A condition to be met.+--+-- /See:/ 'condition' smart constructor.+data Condition =+  Condition'+    { _cOp     :: !(Maybe ConditionOp)+    , _cIAM    :: !(Maybe ConditionIAM)+    , _cValues :: !(Maybe [Text])+    , _cSys    :: !(Maybe ConditionSys)+    , _cSvc    :: !(Maybe Text)+    }+  deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Condition' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cOp'+--+-- * 'cIAM'+--+-- * 'cValues'+--+-- * 'cSys'+--+-- * 'cSvc'+condition+    :: Condition+condition =+  Condition'+    { _cOp = Nothing+    , _cIAM = Nothing+    , _cValues = Nothing+    , _cSys = Nothing+    , _cSvc = Nothing+    }+++-- | An operator to apply the subject with.+cOp :: Lens' Condition (Maybe ConditionOp)+cOp = lens _cOp (\ s a -> s{_cOp = a})++-- | Trusted attributes supplied by the IAM system.+cIAM :: Lens' Condition (Maybe ConditionIAM)+cIAM = lens _cIAM (\ s a -> s{_cIAM = a})++-- | The objects of the condition.+cValues :: Lens' Condition [Text]+cValues+  = lens _cValues (\ s a -> s{_cValues = a}) . _Default+      . _Coerce++-- | Trusted attributes supplied by any service that owns resources and uses+-- the IAM system for access control.+cSys :: Lens' Condition (Maybe ConditionSys)+cSys = lens _cSys (\ s a -> s{_cSys = a})++-- | Trusted attributes discharged by the service.+cSvc :: Lens' Condition (Maybe Text)+cSvc = lens _cSvc (\ s a -> s{_cSvc = a})++instance FromJSON Condition where+        parseJSON+          = withObject "Condition"+              (\ o ->+                 Condition' <$>+                   (o .:? "op") <*> (o .:? "iam") <*>+                     (o .:? "values" .!= mempty)+                     <*> (o .:? "sys")+                     <*> (o .:? "svc"))++instance ToJSON Condition where+        toJSON Condition'{..}+          = object+              (catMaybes+                 [("op" .=) <$> _cOp, ("iam" .=) <$> _cIAM,+                  ("values" .=) <$> _cValues, ("sys" .=) <$> _cSys,+                  ("svc" .=) <$> _cSvc])++-- | 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++-- | Specifies what kind of log the caller must write+--+-- /See:/ 'logConfig' smart constructor.+data LogConfig =+  LogConfig'+    { _lcCloudAudit :: !(Maybe CloudAuditOptions)+    , _lcDataAccess :: !(Maybe DataAccessOptions)+    , _lcCounter    :: !(Maybe CounterOptions)+    }+  deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'LogConfig' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lcCloudAudit'+--+-- * 'lcDataAccess'+--+-- * 'lcCounter'+logConfig+    :: LogConfig+logConfig =+  LogConfig'+    {_lcCloudAudit = Nothing, _lcDataAccess = Nothing, _lcCounter = Nothing}+++-- | Cloud audit options.+lcCloudAudit :: Lens' LogConfig (Maybe CloudAuditOptions)+lcCloudAudit+  = lens _lcCloudAudit (\ s a -> s{_lcCloudAudit = a})++-- | Data access options.+lcDataAccess :: Lens' LogConfig (Maybe DataAccessOptions)+lcDataAccess+  = lens _lcDataAccess (\ s a -> s{_lcDataAccess = a})++-- | Counter options.+lcCounter :: Lens' LogConfig (Maybe CounterOptions)+lcCounter+  = lens _lcCounter (\ s a -> s{_lcCounter = a})++instance FromJSON LogConfig where+        parseJSON+          = withObject "LogConfig"+              (\ o ->+                 LogConfig' <$>+                   (o .:? "cloudAudit") <*> (o .:? "dataAccess") <*>+                     (o .:? "counter"))++instance ToJSON LogConfig where+        toJSON LogConfig'{..}+          = object+              (catMaybes+                 [("cloudAudit" .=) <$> _lcCloudAudit,+                  ("dataAccess" .=) <$> _lcDataAccess,+                  ("counter" .=) <$> _lcCounter])++-- | Map of additional options used to configure the behavior of Data Fusion+-- instance.+--+-- /See:/ 'instanceOptions' smart constructor.+newtype InstanceOptions =+  InstanceOptions'+    { _ioAddtional :: HashMap Text Text+    }+  deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'InstanceOptions' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ioAddtional'+instanceOptions+    :: HashMap Text Text -- ^ 'ioAddtional'+    -> InstanceOptions+instanceOptions pIoAddtional_ =+  InstanceOptions' {_ioAddtional = _Coerce # pIoAddtional_}+++ioAddtional :: Lens' InstanceOptions (HashMap Text Text)+ioAddtional+  = lens _ioAddtional (\ s a -> s{_ioAddtional = a}) .+      _Coerce++instance FromJSON InstanceOptions where+        parseJSON+          = withObject "InstanceOptions"+              (\ o -> InstanceOptions' <$> (parseJSONObject o))++instance ToJSON InstanceOptions where+        toJSON = toJSON . _ioAddtional++-- | 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}\`: The G Suite domain+-- (primary) 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})++-- | 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])++-- | Represents a Data Fusion instance.+--+-- /See:/ 'instance'' smart constructor.+data Instance =+  Instance'+    { _iStateMessage                :: !(Maybe Text)+    , _iState                       :: !(Maybe InstanceState)+    , _iEnableStackdriverLogging    :: !(Maybe Bool)+    , _iServiceEndpoint             :: !(Maybe Text)+    , _iZone                        :: !(Maybe Text)+    , _iServiceAccount              :: !(Maybe Text)+    , _iNetworkConfig               :: !(Maybe NetworkConfig)+    , _iUpdateTime                  :: !(Maybe DateTime')+    , _iPrivateInstance             :: !(Maybe Bool)+    , _iName                        :: !(Maybe Text)+    , _iVersion                     :: !(Maybe Text)+    , _iDisplayName                 :: !(Maybe Text)+    , _iEnableStackdriverMonitoring :: !(Maybe Bool)+    , _iLabels                      :: !(Maybe InstanceLabels)+    , _iOptions                     :: !(Maybe InstanceOptions)+    , _iType                        :: !(Maybe InstanceType)+    , _iDescription                 :: !(Maybe Text)+    , _iCreateTime                  :: !(Maybe DateTime')+    }+  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:+--+-- * 'iStateMessage'+--+-- * 'iState'+--+-- * 'iEnableStackdriverLogging'+--+-- * 'iServiceEndpoint'+--+-- * 'iZone'+--+-- * 'iServiceAccount'+--+-- * 'iNetworkConfig'+--+-- * 'iUpdateTime'+--+-- * 'iPrivateInstance'+--+-- * 'iName'+--+-- * 'iVersion'+--+-- * 'iDisplayName'+--+-- * 'iEnableStackdriverMonitoring'+--+-- * 'iLabels'+--+-- * 'iOptions'+--+-- * 'iType'+--+-- * 'iDescription'+--+-- * 'iCreateTime'+instance'+    :: Instance+instance' =+  Instance'+    { _iStateMessage = Nothing+    , _iState = Nothing+    , _iEnableStackdriverLogging = Nothing+    , _iServiceEndpoint = Nothing+    , _iZone = Nothing+    , _iServiceAccount = Nothing+    , _iNetworkConfig = Nothing+    , _iUpdateTime = Nothing+    , _iPrivateInstance = Nothing+    , _iName = Nothing+    , _iVersion = Nothing+    , _iDisplayName = Nothing+    , _iEnableStackdriverMonitoring = Nothing+    , _iLabels = Nothing+    , _iOptions = Nothing+    , _iType = Nothing+    , _iDescription = Nothing+    , _iCreateTime = Nothing+    }+++-- | Output only. Additional information about the current state of this Data+-- Fusion instance if available.+iStateMessage :: Lens' Instance (Maybe Text)+iStateMessage+  = lens _iStateMessage+      (\ s a -> s{_iStateMessage = a})++-- | Output only. The current state of this Data Fusion instance.+iState :: Lens' Instance (Maybe InstanceState)+iState = lens _iState (\ s a -> s{_iState = a})++-- | Option to enable Stackdriver Logging.+iEnableStackdriverLogging :: Lens' Instance (Maybe Bool)+iEnableStackdriverLogging+  = lens _iEnableStackdriverLogging+      (\ s a -> s{_iEnableStackdriverLogging = a})++-- | Output only. Endpoint on which the Data Fusion UI and REST APIs are+-- accessible.+iServiceEndpoint :: Lens' Instance (Maybe Text)+iServiceEndpoint+  = lens _iServiceEndpoint+      (\ s a -> s{_iServiceEndpoint = a})++-- | Name of the zone in which the Data Fusion instance will be created.+iZone :: Lens' Instance (Maybe Text)+iZone = lens _iZone (\ s a -> s{_iZone = a})++-- | Output only. Service account which will be used to access resources in+-- the customer project.\"+iServiceAccount :: Lens' Instance (Maybe Text)+iServiceAccount+  = lens _iServiceAccount+      (\ s a -> s{_iServiceAccount = a})++-- | Network configuration options. These are required when a private Data+-- Fusion instance is to be created.+iNetworkConfig :: Lens' Instance (Maybe NetworkConfig)+iNetworkConfig+  = lens _iNetworkConfig+      (\ s a -> s{_iNetworkConfig = a})++-- | Output only. The time the instance was last updated.+iUpdateTime :: Lens' Instance (Maybe UTCTime)+iUpdateTime+  = lens _iUpdateTime (\ s a -> s{_iUpdateTime = a}) .+      mapping _DateTime++-- | Specifies whether the Data Fusion instance should be private. If set to+-- true, all Data Fusion nodes will have private IP addresses and will not+-- be able to access the public internet.+iPrivateInstance :: Lens' Instance (Maybe Bool)+iPrivateInstance+  = lens _iPrivateInstance+      (\ s a -> s{_iPrivateInstance = a})++-- | Output only. The name of this instance is in the form of+-- projects\/{project}\/locations\/{location}\/instances\/{instance}.+iName :: Lens' Instance (Maybe Text)+iName = lens _iName (\ s a -> s{_iName = a})++-- | Output only. Current version of the Data Fusion.+iVersion :: Lens' Instance (Maybe Text)+iVersion = lens _iVersion (\ s a -> s{_iVersion = a})++-- | Display name for an instance.+iDisplayName :: Lens' Instance (Maybe Text)+iDisplayName+  = lens _iDisplayName (\ s a -> s{_iDisplayName = a})++-- | Option to enable Stackdriver Monitoring.+iEnableStackdriverMonitoring :: Lens' Instance (Maybe Bool)+iEnableStackdriverMonitoring+  = lens _iEnableStackdriverMonitoring+      (\ s a -> s{_iEnableStackdriverMonitoring = a})++-- | The resource labels for instance to use to annotate any related+-- underlying resources such as GCE VMs. The character \'=\' is not allowed+-- to be used within the labels.+iLabels :: Lens' Instance (Maybe InstanceLabels)+iLabels = lens _iLabels (\ s a -> s{_iLabels = a})++-- | Map of additional options used to configure the behavior of Data Fusion+-- instance.+iOptions :: Lens' Instance (Maybe InstanceOptions)+iOptions = lens _iOptions (\ s a -> s{_iOptions = a})++-- | Required. Instance type.+iType :: Lens' Instance (Maybe InstanceType)+iType = lens _iType (\ s a -> s{_iType = a})++-- | An optional description of this instance.+iDescription :: Lens' Instance (Maybe Text)+iDescription+  = lens _iDescription (\ s a -> s{_iDescription = a})++-- | Output only. The time the instance was created.+iCreateTime :: Lens' Instance (Maybe UTCTime)+iCreateTime+  = lens _iCreateTime (\ s a -> s{_iCreateTime = a}) .+      mapping _DateTime++instance FromJSON Instance where+        parseJSON+          = withObject "Instance"+              (\ o ->+                 Instance' <$>+                   (o .:? "stateMessage") <*> (o .:? "state") <*>+                     (o .:? "enableStackdriverLogging")+                     <*> (o .:? "serviceEndpoint")+                     <*> (o .:? "zone")+                     <*> (o .:? "serviceAccount")+                     <*> (o .:? "networkConfig")+                     <*> (o .:? "updateTime")+                     <*> (o .:? "privateInstance")+                     <*> (o .:? "name")+                     <*> (o .:? "version")+                     <*> (o .:? "displayName")+                     <*> (o .:? "enableStackdriverMonitoring")+                     <*> (o .:? "labels")+                     <*> (o .:? "options")+                     <*> (o .:? "type")+                     <*> (o .:? "description")+                     <*> (o .:? "createTime"))++instance ToJSON Instance where+        toJSON Instance'{..}+          = object+              (catMaybes+                 [("stateMessage" .=) <$> _iStateMessage,+                  ("state" .=) <$> _iState,+                  ("enableStackdriverLogging" .=) <$>+                    _iEnableStackdriverLogging,+                  ("serviceEndpoint" .=) <$> _iServiceEndpoint,+                  ("zone" .=) <$> _iZone,+                  ("serviceAccount" .=) <$> _iServiceAccount,+                  ("networkConfig" .=) <$> _iNetworkConfig,+                  ("updateTime" .=) <$> _iUpdateTime,+                  ("privateInstance" .=) <$> _iPrivateInstance,+                  ("name" .=) <$> _iName, ("version" .=) <$> _iVersion,+                  ("displayName" .=) <$> _iDisplayName,+                  ("enableStackdriverMonitoring" .=) <$>+                    _iEnableStackdriverMonitoring,+                  ("labels" .=) <$> _iLabels,+                  ("options" .=) <$> _iOptions, ("type" .=) <$> _iType,+                  ("description" .=) <$> _iDescription,+                  ("createTime" .=) <$> _iCreateTime])
+ gen/Network/Google/DataFusion/Types/Sum.hs view
@@ -0,0 +1,531 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE LambdaCase         #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module      : Network.Google.DataFusion.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.DataFusion.Types.Sum where++import           Network.Google.Prelude hiding (Bytes)++-- | The log_name to populate in the Cloud Audit Record.+data CloudAuditOptionsLogName+    = UnspecifiedLogName+      -- ^ @UNSPECIFIED_LOG_NAME@+      -- Default. Should not be used.+    | AdminActivity+      -- ^ @ADMIN_ACTIVITY@+      -- Corresponds to \"cloudaudit.googleapis.com\/activity\"+    | DataAccess+      -- ^ @DATA_ACCESS@+      -- Corresponds to \"cloudaudit.googleapis.com\/data_access\"+      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable CloudAuditOptionsLogName++instance FromHttpApiData CloudAuditOptionsLogName where+    parseQueryParam = \case+        "UNSPECIFIED_LOG_NAME" -> Right UnspecifiedLogName+        "ADMIN_ACTIVITY" -> Right AdminActivity+        "DATA_ACCESS" -> Right DataAccess+        x -> Left ("Unable to parse CloudAuditOptionsLogName from: " <> x)++instance ToHttpApiData CloudAuditOptionsLogName where+    toQueryParam = \case+        UnspecifiedLogName -> "UNSPECIFIED_LOG_NAME"+        AdminActivity -> "ADMIN_ACTIVITY"+        DataAccess -> "DATA_ACCESS"++instance FromJSON CloudAuditOptionsLogName where+    parseJSON = parseJSONText "CloudAuditOptionsLogName"++instance ToJSON CloudAuditOptionsLogName where+    toJSON = toJSONText++-- | Trusted attributes supplied by any service that owns resources and uses+-- the IAM system for access control.+data ConditionSys+    = NoAttr+      -- ^ @NO_ATTR@+      -- Default non-attribute type+    | Region+      -- ^ @REGION@+      -- Region of the resource+    | Service+      -- ^ @SERVICE@+      -- Service name+    | Name+      -- ^ @NAME@+      -- Resource name+    | IP+      -- ^ @IP@+      -- IP address of the caller+      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable ConditionSys++instance FromHttpApiData ConditionSys where+    parseQueryParam = \case+        "NO_ATTR" -> Right NoAttr+        "REGION" -> Right Region+        "SERVICE" -> Right Service+        "NAME" -> Right Name+        "IP" -> Right IP+        x -> Left ("Unable to parse ConditionSys from: " <> x)++instance ToHttpApiData ConditionSys where+    toQueryParam = \case+        NoAttr -> "NO_ATTR"+        Region -> "REGION"+        Service -> "SERVICE"+        Name -> "NAME"+        IP -> "IP"++instance FromJSON ConditionSys where+    parseJSON = parseJSONText "ConditionSys"++instance ToJSON ConditionSys where+    toJSON = toJSONText++-- | Required+data RuleAction+    = NoAction+      -- ^ @NO_ACTION@+      -- Default no action.+    | Allow+      -- ^ @ALLOW@+      -- Matching \'Entries\' grant access.+    | AllowWithLog+      -- ^ @ALLOW_WITH_LOG@+      -- Matching \'Entries\' grant access and the caller promises to log the+      -- request per the returned log_configs.+    | Deny+      -- ^ @DENY@+      -- Matching \'Entries\' deny access.+    | DenyWithLog+      -- ^ @DENY_WITH_LOG@+      -- Matching \'Entries\' deny access and the caller promises to log the+      -- request per the returned log_configs.+    | Log+      -- ^ @LOG@+      -- Matching \'Entries\' tell IAM.Check callers to generate logs.+      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable RuleAction++instance FromHttpApiData RuleAction where+    parseQueryParam = \case+        "NO_ACTION" -> Right NoAction+        "ALLOW" -> Right Allow+        "ALLOW_WITH_LOG" -> Right AllowWithLog+        "DENY" -> Right Deny+        "DENY_WITH_LOG" -> Right DenyWithLog+        "LOG" -> Right Log+        x -> Left ("Unable to parse RuleAction from: " <> x)++instance ToHttpApiData RuleAction where+    toQueryParam = \case+        NoAction -> "NO_ACTION"+        Allow -> "ALLOW"+        AllowWithLog -> "ALLOW_WITH_LOG"+        Deny -> "DENY"+        DenyWithLog -> "DENY_WITH_LOG"+        Log -> "LOG"++instance FromJSON RuleAction where+    parseJSON = parseJSONText "RuleAction"++instance ToJSON RuleAction where+    toJSON = toJSONText++-- | Required. Instance type.+data InstanceType+    = TypeUnspecified+      -- ^ @TYPE_UNSPECIFIED@+      -- No type specified. The instance creation will fail.+    | Basic+      -- ^ @BASIC@+      -- Basic Data Fusion instance. In Basic type, the user will be able to+      -- create data pipelines using point and click UI. However, there are+      -- certain limitations, such as fewer number of concurrent pipelines, no+      -- support for streaming pipelines, etc.+    | Enterprise+      -- ^ @ENTERPRISE@+      -- Enterprise Data Fusion instance. In Enterprise type, the user will have+      -- more features available, such as support for streaming pipelines, higher+      -- number of concurrent pipelines, etc.+      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable InstanceType++instance FromHttpApiData InstanceType where+    parseQueryParam = \case+        "TYPE_UNSPECIFIED" -> Right TypeUnspecified+        "BASIC" -> Right Basic+        "ENTERPRISE" -> Right Enterprise+        x -> Left ("Unable to parse InstanceType from: " <> x)++instance ToHttpApiData InstanceType where+    toQueryParam = \case+        TypeUnspecified -> "TYPE_UNSPECIFIED"+        Basic -> "BASIC"+        Enterprise -> "ENTERPRISE"++instance FromJSON InstanceType where+    parseJSON = parseJSONText "InstanceType"++instance ToJSON InstanceType where+    toJSON = toJSONText++-- | An operator to apply the subject with.+data ConditionOp+    = NoOp+      -- ^ @NO_OP@+      -- Default no-op.+    | Equals+      -- ^ @EQUALS@+      -- DEPRECATED. Use IN instead.+    | NotEquals+      -- ^ @NOT_EQUALS@+      -- DEPRECATED. Use NOT_IN instead.+    | IN+      -- ^ @IN@+      -- The condition is true if the subject (or any element of it if it is a+      -- set) matches any of the supplied values.+    | NotIn+      -- ^ @NOT_IN@+      -- The condition is true if the subject (or every element of it if it is a+      -- set) matches none of the supplied values.+    | Discharged+      -- ^ @DISCHARGED@+      -- Subject is discharged+      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable ConditionOp++instance FromHttpApiData ConditionOp where+    parseQueryParam = \case+        "NO_OP" -> Right NoOp+        "EQUALS" -> Right Equals+        "NOT_EQUALS" -> Right NotEquals+        "IN" -> Right IN+        "NOT_IN" -> Right NotIn+        "DISCHARGED" -> Right Discharged+        x -> Left ("Unable to parse ConditionOp from: " <> x)++instance ToHttpApiData ConditionOp where+    toQueryParam = \case+        NoOp -> "NO_OP"+        Equals -> "EQUALS"+        NotEquals -> "NOT_EQUALS"+        IN -> "IN"+        NotIn -> "NOT_IN"+        Discharged -> "DISCHARGED"++instance FromJSON ConditionOp where+    parseJSON = parseJSONText "ConditionOp"++instance ToJSON ConditionOp 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++-- | Whether Gin logging should happen in a fail-closed manner at the caller.+-- This is relevant only in the LocalIAM implementation, for now.+data DataAccessOptionsLogMode+    = LogModeUnspecified+      -- ^ @LOG_MODE_UNSPECIFIED@+      -- Client is not required to write a partial Gin log immediately after the+      -- authorization check. If client chooses to write one and it fails, client+      -- may either fail open (allow the operation to continue) or fail closed+      -- (handle as a DENY outcome).+    | LogFailClosed+      -- ^ @LOG_FAIL_CLOSED@+      -- The application\'s operation in the context of which this authorization+      -- check is being made may only be performed if it is successfully logged+      -- to Gin. For instance, the authorization library may satisfy this+      -- obligation by emitting a partial log entry at authorization check time+      -- and only returning ALLOW to the application if it succeeds. If a+      -- matching Rule has this directive, but the client has not indicated that+      -- it will honor such requirements, then the IAM check will result in+      -- authorization failure by setting CheckPolicyResponse.success=false.+      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable DataAccessOptionsLogMode++instance FromHttpApiData DataAccessOptionsLogMode where+    parseQueryParam = \case+        "LOG_MODE_UNSPECIFIED" -> Right LogModeUnspecified+        "LOG_FAIL_CLOSED" -> Right LogFailClosed+        x -> Left ("Unable to parse DataAccessOptionsLogMode from: " <> x)++instance ToHttpApiData DataAccessOptionsLogMode where+    toQueryParam = \case+        LogModeUnspecified -> "LOG_MODE_UNSPECIFIED"+        LogFailClosed -> "LOG_FAIL_CLOSED"++instance FromJSON DataAccessOptionsLogMode where+    parseJSON = parseJSONText "DataAccessOptionsLogMode"++instance ToJSON DataAccessOptionsLogMode where+    toJSON = toJSONText++-- | The type of the permission that was checked.+data AuthorizationLoggingOptionsPermissionType+    = ALOPTPermissionTypeUnspecified+      -- ^ @PERMISSION_TYPE_UNSPECIFIED@+      -- Default. Should not be used.+    | ALOPTAdminRead+      -- ^ @ADMIN_READ@+      -- A read of admin (meta) data.+    | ALOPTAdminWrite+      -- ^ @ADMIN_WRITE@+      -- A write of admin (meta) data.+    | ALOPTDataRead+      -- ^ @DATA_READ@+      -- A read of standard data.+    | ALOPTDataWrite+      -- ^ @DATA_WRITE@+      -- A write of standard data.+      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable AuthorizationLoggingOptionsPermissionType++instance FromHttpApiData AuthorizationLoggingOptionsPermissionType where+    parseQueryParam = \case+        "PERMISSION_TYPE_UNSPECIFIED" -> Right ALOPTPermissionTypeUnspecified+        "ADMIN_READ" -> Right ALOPTAdminRead+        "ADMIN_WRITE" -> Right ALOPTAdminWrite+        "DATA_READ" -> Right ALOPTDataRead+        "DATA_WRITE" -> Right ALOPTDataWrite+        x -> Left ("Unable to parse AuthorizationLoggingOptionsPermissionType from: " <> x)++instance ToHttpApiData AuthorizationLoggingOptionsPermissionType where+    toQueryParam = \case+        ALOPTPermissionTypeUnspecified -> "PERMISSION_TYPE_UNSPECIFIED"+        ALOPTAdminRead -> "ADMIN_READ"+        ALOPTAdminWrite -> "ADMIN_WRITE"+        ALOPTDataRead -> "DATA_READ"+        ALOPTDataWrite -> "DATA_WRITE"++instance FromJSON AuthorizationLoggingOptionsPermissionType where+    parseJSON = parseJSONText "AuthorizationLoggingOptionsPermissionType"++instance ToJSON AuthorizationLoggingOptionsPermissionType where+    toJSON = toJSONText++-- | Output only. The current state of this Data Fusion instance.+data InstanceState+    = StateUnspecified+      -- ^ @STATE_UNSPECIFIED@+      -- Instance does not have a state yet+    | Creating+      -- ^ @CREATING@+      -- Instance is being created+    | Running+      -- ^ @RUNNING@+      -- Instance is running and ready for requests+    | Failed+      -- ^ @FAILED@+      -- Instance creation failed+    | Deleting+      -- ^ @DELETING@+      -- Instance is being deleted+    | Upgrading+      -- ^ @UPGRADING@+      -- Instance is being upgraded+    | Restarting+      -- ^ @RESTARTING@+      -- Instance is being restarted+    | Updating+      -- ^ @UPDATING@+      -- Instance is being updated+      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable InstanceState++instance FromHttpApiData InstanceState where+    parseQueryParam = \case+        "STATE_UNSPECIFIED" -> Right StateUnspecified+        "CREATING" -> Right Creating+        "RUNNING" -> Right Running+        "FAILED" -> Right Failed+        "DELETING" -> Right Deleting+        "UPGRADING" -> Right Upgrading+        "RESTARTING" -> Right Restarting+        "UPDATING" -> Right Updating+        x -> Left ("Unable to parse InstanceState from: " <> x)++instance ToHttpApiData InstanceState where+    toQueryParam = \case+        StateUnspecified -> "STATE_UNSPECIFIED"+        Creating -> "CREATING"+        Running -> "RUNNING"+        Failed -> "FAILED"+        Deleting -> "DELETING"+        Upgrading -> "UPGRADING"+        Restarting -> "RESTARTING"+        Updating -> "UPDATING"++instance FromJSON InstanceState where+    parseJSON = parseJSONText "InstanceState"++instance ToJSON InstanceState where+    toJSON = toJSONText++-- | Trusted attributes supplied by the IAM system.+data ConditionIAM+    = CINoAttr+      -- ^ @NO_ATTR@+      -- Default non-attribute.+    | CIAuthority+      -- ^ @AUTHORITY@+      -- Either principal or (if present) authority selector.+    | CIAttribution+      -- ^ @ATTRIBUTION@+      -- The principal (even if an authority selector is present), which must+      -- only be used for attribution, not authorization.+    | CISecurityRealm+      -- ^ @SECURITY_REALM@+      -- Any of the security realms in the IAMContext (go\/security-realms). When+      -- used with IN, the condition indicates \"any of the request\'s realms+      -- match one of the given values; with NOT_IN, \"none of the realms match+      -- any of the given values\". Note that a value can be: - \'self\' (i.e.,+      -- allow connections from clients that are in the same security realm) - a+      -- realm (e.g., \'campus-abc\') - a realm group (e.g.,+      -- \'realms-for-borg-cell-xx\', see: go\/realm-groups) A match is+      -- determined by a realm group membership check performed by a RealmAclRep+      -- object (go\/realm-acl-howto). It is not permitted to grant access based+      -- on the *absence* of a realm, so realm conditions can only be used in a+      -- \"positive\" context (e.g., ALLOW\/IN or DENY\/NOT_IN).+    | CIApprover+      -- ^ @APPROVER@+      -- An approver (distinct from the requester) that has authorized this+      -- request. When used with IN, the condition indicates that one of the+      -- approvers associated with the request matches the specified principal,+      -- or is a member of the specified group. Approvers can only grant+      -- additional access, and are thus only used in a strictly positive context+      -- (e.g. ALLOW\/IN or DENY\/NOT_IN).+    | CIJustificationType+      -- ^ @JUSTIFICATION_TYPE@+      -- What types of justifications have been supplied with this request.+      -- String values should match enum names from tech.iam.JustificationType,+      -- e.g. \"MANUAL_STRING\". It is not permitted to grant access based on the+      -- *absence* of a justification, so justification conditions can only be+      -- used in a \"positive\" context (e.g., ALLOW\/IN or DENY\/NOT_IN).+      -- Multiple justifications, e.g., a Buganizer ID and a manually-entered+      -- reason, are normal and supported.+    | CICredentialsType+      -- ^ @CREDENTIALS_TYPE@+      -- What type of credentials have been supplied with this request. String+      -- values should match enum names from security_loas_l2.CredentialsType -+      -- currently, only CREDS_TYPE_EMERGENCY is supported. It is not permitted+      -- to grant access based on the *absence* of a credentials type, so the+      -- conditions can only be used in a \"positive\" context (e.g., ALLOW\/IN+      -- or DENY\/NOT_IN).+      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable ConditionIAM++instance FromHttpApiData ConditionIAM where+    parseQueryParam = \case+        "NO_ATTR" -> Right CINoAttr+        "AUTHORITY" -> Right CIAuthority+        "ATTRIBUTION" -> Right CIAttribution+        "SECURITY_REALM" -> Right CISecurityRealm+        "APPROVER" -> Right CIApprover+        "JUSTIFICATION_TYPE" -> Right CIJustificationType+        "CREDENTIALS_TYPE" -> Right CICredentialsType+        x -> Left ("Unable to parse ConditionIAM from: " <> x)++instance ToHttpApiData ConditionIAM where+    toQueryParam = \case+        CINoAttr -> "NO_ATTR"+        CIAuthority -> "AUTHORITY"+        CIAttribution -> "ATTRIBUTION"+        CISecurityRealm -> "SECURITY_REALM"+        CIApprover -> "APPROVER"+        CIJustificationType -> "JUSTIFICATION_TYPE"+        CICredentialsType -> "CREDENTIALS_TYPE"++instance FromJSON ConditionIAM where+    parseJSON = parseJSONText "ConditionIAM"++instance ToJSON ConditionIAM where+    toJSON = toJSONText
+ gen/Network/Google/Resource/DataFusion/Projects/Locations/Get.hs view
@@ -0,0 +1,148 @@+{-# 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.DataFusion.Projects.Locations.Get+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Gets information about a location.+--+-- /See:/ <https://cloud.google.com/data-fusion/docs Cloud Data Fusion API Reference> for @datafusion.projects.locations.get@.+module Network.Google.Resource.DataFusion.Projects.Locations.Get+    (+    -- * REST Resource+      ProjectsLocationsGetResource++    -- * Creating a Request+    , projectsLocationsGet+    , ProjectsLocationsGet++    -- * Request Lenses+    , plgXgafv+    , plgUploadProtocol+    , plgAccessToken+    , plgUploadType+    , plgName+    , plgCallback+    ) where++import           Network.Google.DataFusion.Types+import           Network.Google.Prelude++-- | A resource alias for @datafusion.projects.locations.get@ method which the+-- 'ProjectsLocationsGet' request conforms to.+type ProjectsLocationsGetResource =+     "v1beta1" :>+       Capture "name" Text :>+         QueryParam "$.xgafv" Xgafv :>+           QueryParam "upload_protocol" Text :>+             QueryParam "access_token" Text :>+               QueryParam "uploadType" Text :>+                 QueryParam "callback" Text :>+                   QueryParam "alt" AltJSON :> Get '[JSON] Location++-- | Gets information about a location.+--+-- /See:/ 'projectsLocationsGet' smart constructor.+data ProjectsLocationsGet =+  ProjectsLocationsGet'+    { _plgXgafv          :: !(Maybe Xgafv)+    , _plgUploadProtocol :: !(Maybe Text)+    , _plgAccessToken    :: !(Maybe Text)+    , _plgUploadType     :: !(Maybe Text)+    , _plgName           :: !Text+    , _plgCallback       :: !(Maybe Text)+    }+  deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ProjectsLocationsGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'plgXgafv'+--+-- * 'plgUploadProtocol'+--+-- * 'plgAccessToken'+--+-- * 'plgUploadType'+--+-- * 'plgName'+--+-- * 'plgCallback'+projectsLocationsGet+    :: Text -- ^ 'plgName'+    -> ProjectsLocationsGet+projectsLocationsGet pPlgName_ =+  ProjectsLocationsGet'+    { _plgXgafv = Nothing+    , _plgUploadProtocol = Nothing+    , _plgAccessToken = Nothing+    , _plgUploadType = Nothing+    , _plgName = pPlgName_+    , _plgCallback = Nothing+    }+++-- | V1 error format.+plgXgafv :: Lens' ProjectsLocationsGet (Maybe Xgafv)+plgXgafv = lens _plgXgafv (\ s a -> s{_plgXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+plgUploadProtocol :: Lens' ProjectsLocationsGet (Maybe Text)+plgUploadProtocol+  = lens _plgUploadProtocol+      (\ s a -> s{_plgUploadProtocol = a})++-- | OAuth access token.+plgAccessToken :: Lens' ProjectsLocationsGet (Maybe Text)+plgAccessToken+  = lens _plgAccessToken+      (\ s a -> s{_plgAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+plgUploadType :: Lens' ProjectsLocationsGet (Maybe Text)+plgUploadType+  = lens _plgUploadType+      (\ s a -> s{_plgUploadType = a})++-- | Resource name for the location.+plgName :: Lens' ProjectsLocationsGet Text+plgName = lens _plgName (\ s a -> s{_plgName = a})++-- | JSONP+plgCallback :: Lens' ProjectsLocationsGet (Maybe Text)+plgCallback+  = lens _plgCallback (\ s a -> s{_plgCallback = a})++instance GoogleRequest ProjectsLocationsGet where+        type Rs ProjectsLocationsGet = Location+        type Scopes ProjectsLocationsGet =+             '["https://www.googleapis.com/auth/cloud-platform"]+        requestClient ProjectsLocationsGet'{..}+          = go _plgName _plgXgafv _plgUploadProtocol+              _plgAccessToken+              _plgUploadType+              _plgCallback+              (Just AltJSON)+              dataFusionService+          where go+                  = buildClient+                      (Proxy :: Proxy ProjectsLocationsGetResource)+                      mempty
+ gen/Network/Google/Resource/DataFusion/Projects/Locations/Instances/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.DataFusion.Projects.Locations.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)+--+-- Creates a new Data Fusion instance in the specified project and+-- location.+--+-- /See:/ <https://cloud.google.com/data-fusion/docs Cloud Data Fusion API Reference> for @datafusion.projects.locations.instances.create@.+module Network.Google.Resource.DataFusion.Projects.Locations.Instances.Create+    (+    -- * REST Resource+      ProjectsLocationsInstancesCreateResource++    -- * Creating a Request+    , projectsLocationsInstancesCreate+    , ProjectsLocationsInstancesCreate++    -- * Request Lenses+    , plicParent+    , plicInstanceId+    , plicXgafv+    , plicUploadProtocol+    , plicAccessToken+    , plicUploadType+    , plicPayload+    , plicCallback+    ) where++import           Network.Google.DataFusion.Types+import           Network.Google.Prelude++-- | A resource alias for @datafusion.projects.locations.instances.create@ method which the+-- 'ProjectsLocationsInstancesCreate' request conforms to.+type ProjectsLocationsInstancesCreateResource =+     "v1beta1" :>+       Capture "parent" Text :>+         "instances" :>+           QueryParam "instanceId" Text :>+             QueryParam "$.xgafv" Xgafv :>+               QueryParam "upload_protocol" Text :>+                 QueryParam "access_token" Text :>+                   QueryParam "uploadType" Text :>+                     QueryParam "callback" Text :>+                       QueryParam "alt" AltJSON :>+                         ReqBody '[JSON] Instance :> Post '[JSON] Operation++-- | Creates a new Data Fusion instance in the specified project and+-- location.+--+-- /See:/ 'projectsLocationsInstancesCreate' smart constructor.+data ProjectsLocationsInstancesCreate =+  ProjectsLocationsInstancesCreate'+    { _plicParent         :: !Text+    , _plicInstanceId     :: !(Maybe Text)+    , _plicXgafv          :: !(Maybe Xgafv)+    , _plicUploadProtocol :: !(Maybe Text)+    , _plicAccessToken    :: !(Maybe Text)+    , _plicUploadType     :: !(Maybe Text)+    , _plicPayload        :: !Instance+    , _plicCallback       :: !(Maybe Text)+    }+  deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ProjectsLocationsInstancesCreate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'plicParent'+--+-- * 'plicInstanceId'+--+-- * 'plicXgafv'+--+-- * 'plicUploadProtocol'+--+-- * 'plicAccessToken'+--+-- * 'plicUploadType'+--+-- * 'plicPayload'+--+-- * 'plicCallback'+projectsLocationsInstancesCreate+    :: Text -- ^ 'plicParent'+    -> Instance -- ^ 'plicPayload'+    -> ProjectsLocationsInstancesCreate+projectsLocationsInstancesCreate pPlicParent_ pPlicPayload_ =+  ProjectsLocationsInstancesCreate'+    { _plicParent = pPlicParent_+    , _plicInstanceId = Nothing+    , _plicXgafv = Nothing+    , _plicUploadProtocol = Nothing+    , _plicAccessToken = Nothing+    , _plicUploadType = Nothing+    , _plicPayload = pPlicPayload_+    , _plicCallback = Nothing+    }+++-- | The instance\'s project and location in the format+-- projects\/{project}\/locations\/{location}.+plicParent :: Lens' ProjectsLocationsInstancesCreate Text+plicParent+  = lens _plicParent (\ s a -> s{_plicParent = a})++-- | The name of the instance to create.+plicInstanceId :: Lens' ProjectsLocationsInstancesCreate (Maybe Text)+plicInstanceId+  = lens _plicInstanceId+      (\ s a -> s{_plicInstanceId = a})++-- | V1 error format.+plicXgafv :: Lens' ProjectsLocationsInstancesCreate (Maybe Xgafv)+plicXgafv+  = lens _plicXgafv (\ s a -> s{_plicXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+plicUploadProtocol :: Lens' ProjectsLocationsInstancesCreate (Maybe Text)+plicUploadProtocol+  = lens _plicUploadProtocol+      (\ s a -> s{_plicUploadProtocol = a})++-- | OAuth access token.+plicAccessToken :: Lens' ProjectsLocationsInstancesCreate (Maybe Text)+plicAccessToken+  = lens _plicAccessToken+      (\ s a -> s{_plicAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+plicUploadType :: Lens' ProjectsLocationsInstancesCreate (Maybe Text)+plicUploadType+  = lens _plicUploadType+      (\ s a -> s{_plicUploadType = a})++-- | Multipart request metadata.+plicPayload :: Lens' ProjectsLocationsInstancesCreate Instance+plicPayload+  = lens _plicPayload (\ s a -> s{_plicPayload = a})++-- | JSONP+plicCallback :: Lens' ProjectsLocationsInstancesCreate (Maybe Text)+plicCallback+  = lens _plicCallback (\ s a -> s{_plicCallback = a})++instance GoogleRequest+           ProjectsLocationsInstancesCreate+         where+        type Rs ProjectsLocationsInstancesCreate = Operation+        type Scopes ProjectsLocationsInstancesCreate =+             '["https://www.googleapis.com/auth/cloud-platform"]+        requestClient ProjectsLocationsInstancesCreate'{..}+          = go _plicParent _plicInstanceId _plicXgafv+              _plicUploadProtocol+              _plicAccessToken+              _plicUploadType+              _plicCallback+              (Just AltJSON)+              _plicPayload+              dataFusionService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy ProjectsLocationsInstancesCreateResource)+                      mempty
+ gen/Network/Google/Resource/DataFusion/Projects/Locations/Instances/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.DataFusion.Projects.Locations.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)+--+-- Deletes a single Date Fusion instance.+--+-- /See:/ <https://cloud.google.com/data-fusion/docs Cloud Data Fusion API Reference> for @datafusion.projects.locations.instances.delete@.+module Network.Google.Resource.DataFusion.Projects.Locations.Instances.Delete+    (+    -- * REST Resource+      ProjectsLocationsInstancesDeleteResource++    -- * Creating a Request+    , projectsLocationsInstancesDelete+    , ProjectsLocationsInstancesDelete++    -- * Request Lenses+    , plidXgafv+    , plidUploadProtocol+    , plidAccessToken+    , plidUploadType+    , plidName+    , plidCallback+    ) where++import           Network.Google.DataFusion.Types+import           Network.Google.Prelude++-- | A resource alias for @datafusion.projects.locations.instances.delete@ method which the+-- 'ProjectsLocationsInstancesDelete' request conforms to.+type ProjectsLocationsInstancesDeleteResource =+     "v1beta1" :>+       Capture "name" Text :>+         QueryParam "$.xgafv" Xgafv :>+           QueryParam "upload_protocol" Text :>+             QueryParam "access_token" Text :>+               QueryParam "uploadType" Text :>+                 QueryParam "callback" Text :>+                   QueryParam "alt" AltJSON :> Delete '[JSON] Operation++-- | Deletes a single Date Fusion instance.+--+-- /See:/ 'projectsLocationsInstancesDelete' smart constructor.+data ProjectsLocationsInstancesDelete =+  ProjectsLocationsInstancesDelete'+    { _plidXgafv          :: !(Maybe Xgafv)+    , _plidUploadProtocol :: !(Maybe Text)+    , _plidAccessToken    :: !(Maybe Text)+    , _plidUploadType     :: !(Maybe Text)+    , _plidName           :: !Text+    , _plidCallback       :: !(Maybe Text)+    }+  deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ProjectsLocationsInstancesDelete' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'plidXgafv'+--+-- * 'plidUploadProtocol'+--+-- * 'plidAccessToken'+--+-- * 'plidUploadType'+--+-- * 'plidName'+--+-- * 'plidCallback'+projectsLocationsInstancesDelete+    :: Text -- ^ 'plidName'+    -> ProjectsLocationsInstancesDelete+projectsLocationsInstancesDelete pPlidName_ =+  ProjectsLocationsInstancesDelete'+    { _plidXgafv = Nothing+    , _plidUploadProtocol = Nothing+    , _plidAccessToken = Nothing+    , _plidUploadType = Nothing+    , _plidName = pPlidName_+    , _plidCallback = Nothing+    }+++-- | V1 error format.+plidXgafv :: Lens' ProjectsLocationsInstancesDelete (Maybe Xgafv)+plidXgafv+  = lens _plidXgafv (\ s a -> s{_plidXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+plidUploadProtocol :: Lens' ProjectsLocationsInstancesDelete (Maybe Text)+plidUploadProtocol+  = lens _plidUploadProtocol+      (\ s a -> s{_plidUploadProtocol = a})++-- | OAuth access token.+plidAccessToken :: Lens' ProjectsLocationsInstancesDelete (Maybe Text)+plidAccessToken+  = lens _plidAccessToken+      (\ s a -> s{_plidAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+plidUploadType :: Lens' ProjectsLocationsInstancesDelete (Maybe Text)+plidUploadType+  = lens _plidUploadType+      (\ s a -> s{_plidUploadType = a})++-- | The instance resource name in the format+-- projects\/{project}\/locations\/{location}\/instances\/{instance}+plidName :: Lens' ProjectsLocationsInstancesDelete Text+plidName = lens _plidName (\ s a -> s{_plidName = a})++-- | JSONP+plidCallback :: Lens' ProjectsLocationsInstancesDelete (Maybe Text)+plidCallback+  = lens _plidCallback (\ s a -> s{_plidCallback = a})++instance GoogleRequest+           ProjectsLocationsInstancesDelete+         where+        type Rs ProjectsLocationsInstancesDelete = Operation+        type Scopes ProjectsLocationsInstancesDelete =+             '["https://www.googleapis.com/auth/cloud-platform"]+        requestClient ProjectsLocationsInstancesDelete'{..}+          = go _plidName _plidXgafv _plidUploadProtocol+              _plidAccessToken+              _plidUploadType+              _plidCallback+              (Just AltJSON)+              dataFusionService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy ProjectsLocationsInstancesDeleteResource)+                      mempty
+ gen/Network/Google/Resource/DataFusion/Projects/Locations/Instances/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.DataFusion.Projects.Locations.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 details of a single Data Fusion instance.+--+-- /See:/ <https://cloud.google.com/data-fusion/docs Cloud Data Fusion API Reference> for @datafusion.projects.locations.instances.get@.+module Network.Google.Resource.DataFusion.Projects.Locations.Instances.Get+    (+    -- * REST Resource+      ProjectsLocationsInstancesGetResource++    -- * Creating a Request+    , projectsLocationsInstancesGet+    , ProjectsLocationsInstancesGet++    -- * Request Lenses+    , pligXgafv+    , pligUploadProtocol+    , pligAccessToken+    , pligUploadType+    , pligName+    , pligCallback+    ) where++import           Network.Google.DataFusion.Types+import           Network.Google.Prelude++-- | A resource alias for @datafusion.projects.locations.instances.get@ method which the+-- 'ProjectsLocationsInstancesGet' request conforms to.+type ProjectsLocationsInstancesGetResource =+     "v1beta1" :>+       Capture "name" Text :>+         QueryParam "$.xgafv" Xgafv :>+           QueryParam "upload_protocol" Text :>+             QueryParam "access_token" Text :>+               QueryParam "uploadType" Text :>+                 QueryParam "callback" Text :>+                   QueryParam "alt" AltJSON :> Get '[JSON] Instance++-- | Gets details of a single Data Fusion instance.+--+-- /See:/ 'projectsLocationsInstancesGet' smart constructor.+data ProjectsLocationsInstancesGet =+  ProjectsLocationsInstancesGet'+    { _pligXgafv          :: !(Maybe Xgafv)+    , _pligUploadProtocol :: !(Maybe Text)+    , _pligAccessToken    :: !(Maybe Text)+    , _pligUploadType     :: !(Maybe Text)+    , _pligName           :: !Text+    , _pligCallback       :: !(Maybe Text)+    }+  deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ProjectsLocationsInstancesGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pligXgafv'+--+-- * 'pligUploadProtocol'+--+-- * 'pligAccessToken'+--+-- * 'pligUploadType'+--+-- * 'pligName'+--+-- * 'pligCallback'+projectsLocationsInstancesGet+    :: Text -- ^ 'pligName'+    -> ProjectsLocationsInstancesGet+projectsLocationsInstancesGet pPligName_ =+  ProjectsLocationsInstancesGet'+    { _pligXgafv = Nothing+    , _pligUploadProtocol = Nothing+    , _pligAccessToken = Nothing+    , _pligUploadType = Nothing+    , _pligName = pPligName_+    , _pligCallback = Nothing+    }+++-- | V1 error format.+pligXgafv :: Lens' ProjectsLocationsInstancesGet (Maybe Xgafv)+pligXgafv+  = lens _pligXgafv (\ s a -> s{_pligXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+pligUploadProtocol :: Lens' ProjectsLocationsInstancesGet (Maybe Text)+pligUploadProtocol+  = lens _pligUploadProtocol+      (\ s a -> s{_pligUploadProtocol = a})++-- | OAuth access token.+pligAccessToken :: Lens' ProjectsLocationsInstancesGet (Maybe Text)+pligAccessToken+  = lens _pligAccessToken+      (\ s a -> s{_pligAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+pligUploadType :: Lens' ProjectsLocationsInstancesGet (Maybe Text)+pligUploadType+  = lens _pligUploadType+      (\ s a -> s{_pligUploadType = a})++-- | The instance resource name in the format+-- projects\/{project}\/locations\/{location}\/instances\/{instance}.+pligName :: Lens' ProjectsLocationsInstancesGet Text+pligName = lens _pligName (\ s a -> s{_pligName = a})++-- | JSONP+pligCallback :: Lens' ProjectsLocationsInstancesGet (Maybe Text)+pligCallback+  = lens _pligCallback (\ s a -> s{_pligCallback = a})++instance GoogleRequest ProjectsLocationsInstancesGet+         where+        type Rs ProjectsLocationsInstancesGet = Instance+        type Scopes ProjectsLocationsInstancesGet =+             '["https://www.googleapis.com/auth/cloud-platform"]+        requestClient ProjectsLocationsInstancesGet'{..}+          = go _pligName _pligXgafv _pligUploadProtocol+              _pligAccessToken+              _pligUploadType+              _pligCallback+              (Just AltJSON)+              dataFusionService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy ProjectsLocationsInstancesGetResource)+                      mempty
+ gen/Network/Google/Resource/DataFusion/Projects/Locations/Instances/GetIAMPolicy.hs view
@@ -0,0 +1,161 @@+{-# 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.DataFusion.Projects.Locations.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 a resource. Returns an empty policy+-- if the resource exists and does not have a policy set.+--+-- /See:/ <https://cloud.google.com/data-fusion/docs Cloud Data Fusion API Reference> for @datafusion.projects.locations.instances.getIamPolicy@.+module Network.Google.Resource.DataFusion.Projects.Locations.Instances.GetIAMPolicy+    (+    -- * REST Resource+      ProjectsLocationsInstancesGetIAMPolicyResource++    -- * Creating a Request+    , projectsLocationsInstancesGetIAMPolicy+    , ProjectsLocationsInstancesGetIAMPolicy++    -- * Request Lenses+    , pligipXgafv+    , pligipUploadProtocol+    , pligipAccessToken+    , pligipUploadType+    , pligipResource+    , pligipCallback+    ) where++import           Network.Google.DataFusion.Types+import           Network.Google.Prelude++-- | A resource alias for @datafusion.projects.locations.instances.getIamPolicy@ method which the+-- 'ProjectsLocationsInstancesGetIAMPolicy' request conforms to.+type ProjectsLocationsInstancesGetIAMPolicyResource =+     "v1beta1" :>+       CaptureMode "resource" "getIamPolicy" Text :>+         QueryParam "$.xgafv" Xgafv :>+           QueryParam "upload_protocol" Text :>+             QueryParam "access_token" Text :>+               QueryParam "uploadType" Text :>+                 QueryParam "callback" Text :>+                   QueryParam "alt" AltJSON :> Get '[JSON] Policy++-- | Gets the access control policy for a resource. Returns an empty policy+-- if the resource exists and does not have a policy set.+--+-- /See:/ 'projectsLocationsInstancesGetIAMPolicy' smart constructor.+data ProjectsLocationsInstancesGetIAMPolicy =+  ProjectsLocationsInstancesGetIAMPolicy'+    { _pligipXgafv          :: !(Maybe Xgafv)+    , _pligipUploadProtocol :: !(Maybe Text)+    , _pligipAccessToken    :: !(Maybe Text)+    , _pligipUploadType     :: !(Maybe Text)+    , _pligipResource       :: !Text+    , _pligipCallback       :: !(Maybe Text)+    }+  deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ProjectsLocationsInstancesGetIAMPolicy' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pligipXgafv'+--+-- * 'pligipUploadProtocol'+--+-- * 'pligipAccessToken'+--+-- * 'pligipUploadType'+--+-- * 'pligipResource'+--+-- * 'pligipCallback'+projectsLocationsInstancesGetIAMPolicy+    :: Text -- ^ 'pligipResource'+    -> ProjectsLocationsInstancesGetIAMPolicy+projectsLocationsInstancesGetIAMPolicy pPligipResource_ =+  ProjectsLocationsInstancesGetIAMPolicy'+    { _pligipXgafv = Nothing+    , _pligipUploadProtocol = Nothing+    , _pligipAccessToken = Nothing+    , _pligipUploadType = Nothing+    , _pligipResource = pPligipResource_+    , _pligipCallback = Nothing+    }+++-- | V1 error format.+pligipXgafv :: Lens' ProjectsLocationsInstancesGetIAMPolicy (Maybe Xgafv)+pligipXgafv+  = lens _pligipXgafv (\ s a -> s{_pligipXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+pligipUploadProtocol :: Lens' ProjectsLocationsInstancesGetIAMPolicy (Maybe Text)+pligipUploadProtocol+  = lens _pligipUploadProtocol+      (\ s a -> s{_pligipUploadProtocol = a})++-- | OAuth access token.+pligipAccessToken :: Lens' ProjectsLocationsInstancesGetIAMPolicy (Maybe Text)+pligipAccessToken+  = lens _pligipAccessToken+      (\ s a -> s{_pligipAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+pligipUploadType :: Lens' ProjectsLocationsInstancesGetIAMPolicy (Maybe Text)+pligipUploadType+  = lens _pligipUploadType+      (\ s a -> s{_pligipUploadType = a})++-- | REQUIRED: The resource for which the policy is being requested. See the+-- operation documentation for the appropriate value for this field.+pligipResource :: Lens' ProjectsLocationsInstancesGetIAMPolicy Text+pligipResource+  = lens _pligipResource+      (\ s a -> s{_pligipResource = a})++-- | JSONP+pligipCallback :: Lens' ProjectsLocationsInstancesGetIAMPolicy (Maybe Text)+pligipCallback+  = lens _pligipCallback+      (\ s a -> s{_pligipCallback = a})++instance GoogleRequest+           ProjectsLocationsInstancesGetIAMPolicy+         where+        type Rs ProjectsLocationsInstancesGetIAMPolicy =+             Policy+        type Scopes ProjectsLocationsInstancesGetIAMPolicy =+             '["https://www.googleapis.com/auth/cloud-platform"]+        requestClient+          ProjectsLocationsInstancesGetIAMPolicy'{..}+          = go _pligipResource _pligipXgafv+              _pligipUploadProtocol+              _pligipAccessToken+              _pligipUploadType+              _pligipCallback+              (Just AltJSON)+              dataFusionService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy ProjectsLocationsInstancesGetIAMPolicyResource)+                      mempty
+ gen/Network/Google/Resource/DataFusion/Projects/Locations/Instances/List.hs view
@@ -0,0 +1,210 @@+{-# 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.DataFusion.Projects.Locations.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 Data Fusion instances in the specified project and location.+--+-- /See:/ <https://cloud.google.com/data-fusion/docs Cloud Data Fusion API Reference> for @datafusion.projects.locations.instances.list@.+module Network.Google.Resource.DataFusion.Projects.Locations.Instances.List+    (+    -- * REST Resource+      ProjectsLocationsInstancesListResource++    -- * Creating a Request+    , projectsLocationsInstancesList+    , ProjectsLocationsInstancesList++    -- * Request Lenses+    , plilParent+    , plilXgafv+    , plilUploadProtocol+    , plilOrderBy+    , plilAccessToken+    , plilUploadType+    , plilFilter+    , plilPageToken+    , plilPageSize+    , plilCallback+    ) where++import           Network.Google.DataFusion.Types+import           Network.Google.Prelude++-- | A resource alias for @datafusion.projects.locations.instances.list@ method which the+-- 'ProjectsLocationsInstancesList' request conforms to.+type ProjectsLocationsInstancesListResource =+     "v1beta1" :>+       Capture "parent" Text :>+         "instances" :>+           QueryParam "$.xgafv" Xgafv :>+             QueryParam "upload_protocol" Text :>+               QueryParam "orderBy" 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] ListInstancesResponse++-- | Lists Data Fusion instances in the specified project and location.+--+-- /See:/ 'projectsLocationsInstancesList' smart constructor.+data ProjectsLocationsInstancesList =+  ProjectsLocationsInstancesList'+    { _plilParent         :: !Text+    , _plilXgafv          :: !(Maybe Xgafv)+    , _plilUploadProtocol :: !(Maybe Text)+    , _plilOrderBy        :: !(Maybe Text)+    , _plilAccessToken    :: !(Maybe Text)+    , _plilUploadType     :: !(Maybe Text)+    , _plilFilter         :: !(Maybe Text)+    , _plilPageToken      :: !(Maybe Text)+    , _plilPageSize       :: !(Maybe (Textual Int32))+    , _plilCallback       :: !(Maybe Text)+    }+  deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ProjectsLocationsInstancesList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'plilParent'+--+-- * 'plilXgafv'+--+-- * 'plilUploadProtocol'+--+-- * 'plilOrderBy'+--+-- * 'plilAccessToken'+--+-- * 'plilUploadType'+--+-- * 'plilFilter'+--+-- * 'plilPageToken'+--+-- * 'plilPageSize'+--+-- * 'plilCallback'+projectsLocationsInstancesList+    :: Text -- ^ 'plilParent'+    -> ProjectsLocationsInstancesList+projectsLocationsInstancesList pPlilParent_ =+  ProjectsLocationsInstancesList'+    { _plilParent = pPlilParent_+    , _plilXgafv = Nothing+    , _plilUploadProtocol = Nothing+    , _plilOrderBy = Nothing+    , _plilAccessToken = Nothing+    , _plilUploadType = Nothing+    , _plilFilter = Nothing+    , _plilPageToken = Nothing+    , _plilPageSize = Nothing+    , _plilCallback = Nothing+    }+++-- | The project and location for which to retrieve instance information in+-- the format projects\/{project}\/locations\/{location}. If the location+-- is specified as \'-\' (wildcard), then all regions available to the+-- project are queried, and the results are aggregated.+plilParent :: Lens' ProjectsLocationsInstancesList Text+plilParent+  = lens _plilParent (\ s a -> s{_plilParent = a})++-- | V1 error format.+plilXgafv :: Lens' ProjectsLocationsInstancesList (Maybe Xgafv)+plilXgafv+  = lens _plilXgafv (\ s a -> s{_plilXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+plilUploadProtocol :: Lens' ProjectsLocationsInstancesList (Maybe Text)+plilUploadProtocol+  = lens _plilUploadProtocol+      (\ s a -> s{_plilUploadProtocol = a})++-- | Sort results. Supported values are \"name\", \"name desc\", or \"\"+-- (unsorted).+plilOrderBy :: Lens' ProjectsLocationsInstancesList (Maybe Text)+plilOrderBy+  = lens _plilOrderBy (\ s a -> s{_plilOrderBy = a})++-- | OAuth access token.+plilAccessToken :: Lens' ProjectsLocationsInstancesList (Maybe Text)+plilAccessToken+  = lens _plilAccessToken+      (\ s a -> s{_plilAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+plilUploadType :: Lens' ProjectsLocationsInstancesList (Maybe Text)+plilUploadType+  = lens _plilUploadType+      (\ s a -> s{_plilUploadType = a})++-- | List filter.+plilFilter :: Lens' ProjectsLocationsInstancesList (Maybe Text)+plilFilter+  = lens _plilFilter (\ s a -> s{_plilFilter = a})++-- | The next_page_token value to use if there are additional results to+-- retrieve for this list request.+plilPageToken :: Lens' ProjectsLocationsInstancesList (Maybe Text)+plilPageToken+  = lens _plilPageToken+      (\ s a -> s{_plilPageToken = a})++-- | The maximum number of items to return.+plilPageSize :: Lens' ProjectsLocationsInstancesList (Maybe Int32)+plilPageSize+  = lens _plilPageSize (\ s a -> s{_plilPageSize = a})+      . mapping _Coerce++-- | JSONP+plilCallback :: Lens' ProjectsLocationsInstancesList (Maybe Text)+plilCallback+  = lens _plilCallback (\ s a -> s{_plilCallback = a})++instance GoogleRequest ProjectsLocationsInstancesList+         where+        type Rs ProjectsLocationsInstancesList =+             ListInstancesResponse+        type Scopes ProjectsLocationsInstancesList =+             '["https://www.googleapis.com/auth/cloud-platform"]+        requestClient ProjectsLocationsInstancesList'{..}+          = go _plilParent _plilXgafv _plilUploadProtocol+              _plilOrderBy+              _plilAccessToken+              _plilUploadType+              _plilFilter+              _plilPageToken+              _plilPageSize+              _plilCallback+              (Just AltJSON)+              dataFusionService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy ProjectsLocationsInstancesListResource)+                      mempty
+ gen/Network/Google/Resource/DataFusion/Projects/Locations/Instances/Patch.hs view
@@ -0,0 +1,184 @@+{-# 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.DataFusion.Projects.Locations.Instances.Patch+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates a single Data Fusion instance.+--+-- /See:/ <https://cloud.google.com/data-fusion/docs Cloud Data Fusion API Reference> for @datafusion.projects.locations.instances.patch@.+module Network.Google.Resource.DataFusion.Projects.Locations.Instances.Patch+    (+    -- * REST Resource+      ProjectsLocationsInstancesPatchResource++    -- * Creating a Request+    , projectsLocationsInstancesPatch+    , ProjectsLocationsInstancesPatch++    -- * Request Lenses+    , plipXgafv+    , plipUploadProtocol+    , plipUpdateMask+    , plipAccessToken+    , plipUploadType+    , plipPayload+    , plipName+    , plipCallback+    ) where++import           Network.Google.DataFusion.Types+import           Network.Google.Prelude++-- | A resource alias for @datafusion.projects.locations.instances.patch@ method which the+-- 'ProjectsLocationsInstancesPatch' request conforms to.+type ProjectsLocationsInstancesPatchResource =+     "v1beta1" :>+       Capture "name" Text :>+         QueryParam "$.xgafv" Xgafv :>+           QueryParam "upload_protocol" Text :>+             QueryParam "updateMask" GFieldMask :>+               QueryParam "access_token" Text :>+                 QueryParam "uploadType" Text :>+                   QueryParam "callback" Text :>+                     QueryParam "alt" AltJSON :>+                       ReqBody '[JSON] Instance :> Patch '[JSON] Operation++-- | Updates a single Data Fusion instance.+--+-- /See:/ 'projectsLocationsInstancesPatch' smart constructor.+data ProjectsLocationsInstancesPatch =+  ProjectsLocationsInstancesPatch'+    { _plipXgafv          :: !(Maybe Xgafv)+    , _plipUploadProtocol :: !(Maybe Text)+    , _plipUpdateMask     :: !(Maybe GFieldMask)+    , _plipAccessToken    :: !(Maybe Text)+    , _plipUploadType     :: !(Maybe Text)+    , _plipPayload        :: !Instance+    , _plipName           :: !Text+    , _plipCallback       :: !(Maybe Text)+    }+  deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ProjectsLocationsInstancesPatch' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'plipXgafv'+--+-- * 'plipUploadProtocol'+--+-- * 'plipUpdateMask'+--+-- * 'plipAccessToken'+--+-- * 'plipUploadType'+--+-- * 'plipPayload'+--+-- * 'plipName'+--+-- * 'plipCallback'+projectsLocationsInstancesPatch+    :: Instance -- ^ 'plipPayload'+    -> Text -- ^ 'plipName'+    -> ProjectsLocationsInstancesPatch+projectsLocationsInstancesPatch pPlipPayload_ pPlipName_ =+  ProjectsLocationsInstancesPatch'+    { _plipXgafv = Nothing+    , _plipUploadProtocol = Nothing+    , _plipUpdateMask = Nothing+    , _plipAccessToken = Nothing+    , _plipUploadType = Nothing+    , _plipPayload = pPlipPayload_+    , _plipName = pPlipName_+    , _plipCallback = Nothing+    }+++-- | V1 error format.+plipXgafv :: Lens' ProjectsLocationsInstancesPatch (Maybe Xgafv)+plipXgafv+  = lens _plipXgafv (\ s a -> s{_plipXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+plipUploadProtocol :: Lens' ProjectsLocationsInstancesPatch (Maybe Text)+plipUploadProtocol+  = lens _plipUploadProtocol+      (\ s a -> s{_plipUploadProtocol = a})++-- | Field mask is used to specify the fields that the update will overwrite+-- in an instance resource. The fields specified in the update_mask are+-- relative to the resource, not the full request. A field will be+-- overwritten if it is in the mask. If the user does not provide a mask,+-- all the supported fields (labels and options currently) will be+-- overwritten.+plipUpdateMask :: Lens' ProjectsLocationsInstancesPatch (Maybe GFieldMask)+plipUpdateMask+  = lens _plipUpdateMask+      (\ s a -> s{_plipUpdateMask = a})++-- | OAuth access token.+plipAccessToken :: Lens' ProjectsLocationsInstancesPatch (Maybe Text)+plipAccessToken+  = lens _plipAccessToken+      (\ s a -> s{_plipAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+plipUploadType :: Lens' ProjectsLocationsInstancesPatch (Maybe Text)+plipUploadType+  = lens _plipUploadType+      (\ s a -> s{_plipUploadType = a})++-- | Multipart request metadata.+plipPayload :: Lens' ProjectsLocationsInstancesPatch Instance+plipPayload+  = lens _plipPayload (\ s a -> s{_plipPayload = a})++-- | Output only. The name of this instance is in the form of+-- projects\/{project}\/locations\/{location}\/instances\/{instance}.+plipName :: Lens' ProjectsLocationsInstancesPatch Text+plipName = lens _plipName (\ s a -> s{_plipName = a})++-- | JSONP+plipCallback :: Lens' ProjectsLocationsInstancesPatch (Maybe Text)+plipCallback+  = lens _plipCallback (\ s a -> s{_plipCallback = a})++instance GoogleRequest+           ProjectsLocationsInstancesPatch+         where+        type Rs ProjectsLocationsInstancesPatch = Operation+        type Scopes ProjectsLocationsInstancesPatch =+             '["https://www.googleapis.com/auth/cloud-platform"]+        requestClient ProjectsLocationsInstancesPatch'{..}+          = go _plipName _plipXgafv _plipUploadProtocol+              _plipUpdateMask+              _plipAccessToken+              _plipUploadType+              _plipCallback+              (Just AltJSON)+              _plipPayload+              dataFusionService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy ProjectsLocationsInstancesPatchResource)+                      mempty
+ gen/Network/Google/Resource/DataFusion/Projects/Locations/Instances/Restart.hs view
@@ -0,0 +1,169 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.DataFusion.Projects.Locations.Instances.Restart+-- 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)+--+-- Restart a single Data Fusion instance. At the end of an operation+-- instance is fully restarted.+--+-- /See:/ <https://cloud.google.com/data-fusion/docs Cloud Data Fusion API Reference> for @datafusion.projects.locations.instances.restart@.+module Network.Google.Resource.DataFusion.Projects.Locations.Instances.Restart+    (+    -- * REST Resource+      ProjectsLocationsInstancesRestartResource++    -- * Creating a Request+    , projectsLocationsInstancesRestart+    , ProjectsLocationsInstancesRestart++    -- * Request Lenses+    , plirXgafv+    , plirUploadProtocol+    , plirAccessToken+    , plirUploadType+    , plirPayload+    , plirName+    , plirCallback+    ) where++import           Network.Google.DataFusion.Types+import           Network.Google.Prelude++-- | A resource alias for @datafusion.projects.locations.instances.restart@ method which the+-- 'ProjectsLocationsInstancesRestart' request conforms to.+type ProjectsLocationsInstancesRestartResource =+     "v1beta1" :>+       CaptureMode "name" "restart" Text :>+         QueryParam "$.xgafv" Xgafv :>+           QueryParam "upload_protocol" Text :>+             QueryParam "access_token" Text :>+               QueryParam "uploadType" Text :>+                 QueryParam "callback" Text :>+                   QueryParam "alt" AltJSON :>+                     ReqBody '[JSON] RestartInstanceRequest :>+                       Post '[JSON] Operation++-- | Restart a single Data Fusion instance. At the end of an operation+-- instance is fully restarted.+--+-- /See:/ 'projectsLocationsInstancesRestart' smart constructor.+data ProjectsLocationsInstancesRestart =+  ProjectsLocationsInstancesRestart'+    { _plirXgafv          :: !(Maybe Xgafv)+    , _plirUploadProtocol :: !(Maybe Text)+    , _plirAccessToken    :: !(Maybe Text)+    , _plirUploadType     :: !(Maybe Text)+    , _plirPayload        :: !RestartInstanceRequest+    , _plirName           :: !Text+    , _plirCallback       :: !(Maybe Text)+    }+  deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ProjectsLocationsInstancesRestart' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'plirXgafv'+--+-- * 'plirUploadProtocol'+--+-- * 'plirAccessToken'+--+-- * 'plirUploadType'+--+-- * 'plirPayload'+--+-- * 'plirName'+--+-- * 'plirCallback'+projectsLocationsInstancesRestart+    :: RestartInstanceRequest -- ^ 'plirPayload'+    -> Text -- ^ 'plirName'+    -> ProjectsLocationsInstancesRestart+projectsLocationsInstancesRestart pPlirPayload_ pPlirName_ =+  ProjectsLocationsInstancesRestart'+    { _plirXgafv = Nothing+    , _plirUploadProtocol = Nothing+    , _plirAccessToken = Nothing+    , _plirUploadType = Nothing+    , _plirPayload = pPlirPayload_+    , _plirName = pPlirName_+    , _plirCallback = Nothing+    }+++-- | V1 error format.+plirXgafv :: Lens' ProjectsLocationsInstancesRestart (Maybe Xgafv)+plirXgafv+  = lens _plirXgafv (\ s a -> s{_plirXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+plirUploadProtocol :: Lens' ProjectsLocationsInstancesRestart (Maybe Text)+plirUploadProtocol+  = lens _plirUploadProtocol+      (\ s a -> s{_plirUploadProtocol = a})++-- | OAuth access token.+plirAccessToken :: Lens' ProjectsLocationsInstancesRestart (Maybe Text)+plirAccessToken+  = lens _plirAccessToken+      (\ s a -> s{_plirAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+plirUploadType :: Lens' ProjectsLocationsInstancesRestart (Maybe Text)+plirUploadType+  = lens _plirUploadType+      (\ s a -> s{_plirUploadType = a})++-- | Multipart request metadata.+plirPayload :: Lens' ProjectsLocationsInstancesRestart RestartInstanceRequest+plirPayload+  = lens _plirPayload (\ s a -> s{_plirPayload = a})++-- | Name of the Data Fusion instance which need to be restarted in the form+-- of projects\/{project}\/locations\/{location}\/instances\/{instance}+plirName :: Lens' ProjectsLocationsInstancesRestart Text+plirName = lens _plirName (\ s a -> s{_plirName = a})++-- | JSONP+plirCallback :: Lens' ProjectsLocationsInstancesRestart (Maybe Text)+plirCallback+  = lens _plirCallback (\ s a -> s{_plirCallback = a})++instance GoogleRequest+           ProjectsLocationsInstancesRestart+         where+        type Rs ProjectsLocationsInstancesRestart = Operation+        type Scopes ProjectsLocationsInstancesRestart =+             '["https://www.googleapis.com/auth/cloud-platform"]+        requestClient ProjectsLocationsInstancesRestart'{..}+          = go _plirName _plirXgafv _plirUploadProtocol+              _plirAccessToken+              _plirUploadType+              _plirCallback+              (Just AltJSON)+              _plirPayload+              dataFusionService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy ProjectsLocationsInstancesRestartResource)+                      mempty
+ gen/Network/Google/Resource/DataFusion/Projects/Locations/Instances/SetIAMPolicy.hs view
@@ -0,0 +1,176 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.DataFusion.Projects.Locations.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 the specified resource. Replaces any+-- existing policy.+--+-- /See:/ <https://cloud.google.com/data-fusion/docs Cloud Data Fusion API Reference> for @datafusion.projects.locations.instances.setIamPolicy@.+module Network.Google.Resource.DataFusion.Projects.Locations.Instances.SetIAMPolicy+    (+    -- * REST Resource+      ProjectsLocationsInstancesSetIAMPolicyResource++    -- * Creating a Request+    , projectsLocationsInstancesSetIAMPolicy+    , ProjectsLocationsInstancesSetIAMPolicy++    -- * Request Lenses+    , plisipXgafv+    , plisipUploadProtocol+    , plisipAccessToken+    , plisipUploadType+    , plisipPayload+    , plisipResource+    , plisipCallback+    ) where++import           Network.Google.DataFusion.Types+import           Network.Google.Prelude++-- | A resource alias for @datafusion.projects.locations.instances.setIamPolicy@ method which the+-- 'ProjectsLocationsInstancesSetIAMPolicy' request conforms to.+type ProjectsLocationsInstancesSetIAMPolicyResource =+     "v1beta1" :>+       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 the specified resource. Replaces any+-- existing policy.+--+-- /See:/ 'projectsLocationsInstancesSetIAMPolicy' smart constructor.+data ProjectsLocationsInstancesSetIAMPolicy =+  ProjectsLocationsInstancesSetIAMPolicy'+    { _plisipXgafv          :: !(Maybe Xgafv)+    , _plisipUploadProtocol :: !(Maybe Text)+    , _plisipAccessToken    :: !(Maybe Text)+    , _plisipUploadType     :: !(Maybe Text)+    , _plisipPayload        :: !SetIAMPolicyRequest+    , _plisipResource       :: !Text+    , _plisipCallback       :: !(Maybe Text)+    }+  deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ProjectsLocationsInstancesSetIAMPolicy' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'plisipXgafv'+--+-- * 'plisipUploadProtocol'+--+-- * 'plisipAccessToken'+--+-- * 'plisipUploadType'+--+-- * 'plisipPayload'+--+-- * 'plisipResource'+--+-- * 'plisipCallback'+projectsLocationsInstancesSetIAMPolicy+    :: SetIAMPolicyRequest -- ^ 'plisipPayload'+    -> Text -- ^ 'plisipResource'+    -> ProjectsLocationsInstancesSetIAMPolicy+projectsLocationsInstancesSetIAMPolicy pPlisipPayload_ pPlisipResource_ =+  ProjectsLocationsInstancesSetIAMPolicy'+    { _plisipXgafv = Nothing+    , _plisipUploadProtocol = Nothing+    , _plisipAccessToken = Nothing+    , _plisipUploadType = Nothing+    , _plisipPayload = pPlisipPayload_+    , _plisipResource = pPlisipResource_+    , _plisipCallback = Nothing+    }+++-- | V1 error format.+plisipXgafv :: Lens' ProjectsLocationsInstancesSetIAMPolicy (Maybe Xgafv)+plisipXgafv+  = lens _plisipXgafv (\ s a -> s{_plisipXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+plisipUploadProtocol :: Lens' ProjectsLocationsInstancesSetIAMPolicy (Maybe Text)+plisipUploadProtocol+  = lens _plisipUploadProtocol+      (\ s a -> s{_plisipUploadProtocol = a})++-- | OAuth access token.+plisipAccessToken :: Lens' ProjectsLocationsInstancesSetIAMPolicy (Maybe Text)+plisipAccessToken+  = lens _plisipAccessToken+      (\ s a -> s{_plisipAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+plisipUploadType :: Lens' ProjectsLocationsInstancesSetIAMPolicy (Maybe Text)+plisipUploadType+  = lens _plisipUploadType+      (\ s a -> s{_plisipUploadType = a})++-- | Multipart request metadata.+plisipPayload :: Lens' ProjectsLocationsInstancesSetIAMPolicy SetIAMPolicyRequest+plisipPayload+  = lens _plisipPayload+      (\ s a -> s{_plisipPayload = a})++-- | REQUIRED: The resource for which the policy is being specified. See the+-- operation documentation for the appropriate value for this field.+plisipResource :: Lens' ProjectsLocationsInstancesSetIAMPolicy Text+plisipResource+  = lens _plisipResource+      (\ s a -> s{_plisipResource = a})++-- | JSONP+plisipCallback :: Lens' ProjectsLocationsInstancesSetIAMPolicy (Maybe Text)+plisipCallback+  = lens _plisipCallback+      (\ s a -> s{_plisipCallback = a})++instance GoogleRequest+           ProjectsLocationsInstancesSetIAMPolicy+         where+        type Rs ProjectsLocationsInstancesSetIAMPolicy =+             Policy+        type Scopes ProjectsLocationsInstancesSetIAMPolicy =+             '["https://www.googleapis.com/auth/cloud-platform"]+        requestClient+          ProjectsLocationsInstancesSetIAMPolicy'{..}+          = go _plisipResource _plisipXgafv+              _plisipUploadProtocol+              _plisipAccessToken+              _plisipUploadType+              _plisipCallback+              (Just AltJSON)+              _plisipPayload+              dataFusionService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy ProjectsLocationsInstancesSetIAMPolicyResource)+                      mempty
+ gen/Network/Google/Resource/DataFusion/Projects/Locations/Instances/TestIAMPermissions.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.DataFusion.Projects.Locations.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 a caller has on the specified resource. If the+-- resource does not exist, this will return an empty set of permissions,+-- not a NOT_FOUND error. Note: This operation is designed to be used for+-- building permission-aware UIs and command-line tools, not for+-- authorization checking. This operation may \"fail open\" without+-- warning.+--+-- /See:/ <https://cloud.google.com/data-fusion/docs Cloud Data Fusion API Reference> for @datafusion.projects.locations.instances.testIamPermissions@.+module Network.Google.Resource.DataFusion.Projects.Locations.Instances.TestIAMPermissions+    (+    -- * REST Resource+      ProjectsLocationsInstancesTestIAMPermissionsResource++    -- * Creating a Request+    , projectsLocationsInstancesTestIAMPermissions+    , ProjectsLocationsInstancesTestIAMPermissions++    -- * Request Lenses+    , plitipXgafv+    , plitipUploadProtocol+    , plitipAccessToken+    , plitipUploadType+    , plitipPayload+    , plitipResource+    , plitipCallback+    ) where++import           Network.Google.DataFusion.Types+import           Network.Google.Prelude++-- | A resource alias for @datafusion.projects.locations.instances.testIamPermissions@ method which the+-- 'ProjectsLocationsInstancesTestIAMPermissions' request conforms to.+type ProjectsLocationsInstancesTestIAMPermissionsResource+     =+     "v1beta1" :>+       CaptureMode "resource" "testIamPermissions" Text :>+         QueryParam "$.xgafv" Xgafv :>+           QueryParam "upload_protocol" Text :>+             QueryParam "access_token" Text :>+               QueryParam "uploadType" Text :>+                 QueryParam "callback" Text :>+                   QueryParam "alt" AltJSON :>+                     ReqBody '[JSON] TestIAMPermissionsRequest :>+                       Post '[JSON] TestIAMPermissionsResponse++-- | Returns permissions that a caller has on the specified resource. If the+-- resource does not exist, this will return an empty set of permissions,+-- not a NOT_FOUND error. Note: This operation is designed to be used for+-- building permission-aware UIs and command-line tools, not for+-- authorization checking. This operation may \"fail open\" without+-- warning.+--+-- /See:/ 'projectsLocationsInstancesTestIAMPermissions' smart constructor.+data ProjectsLocationsInstancesTestIAMPermissions =+  ProjectsLocationsInstancesTestIAMPermissions'+    { _plitipXgafv          :: !(Maybe Xgafv)+    , _plitipUploadProtocol :: !(Maybe Text)+    , _plitipAccessToken    :: !(Maybe Text)+    , _plitipUploadType     :: !(Maybe Text)+    , _plitipPayload        :: !TestIAMPermissionsRequest+    , _plitipResource       :: !Text+    , _plitipCallback       :: !(Maybe Text)+    }+  deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ProjectsLocationsInstancesTestIAMPermissions' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'plitipXgafv'+--+-- * 'plitipUploadProtocol'+--+-- * 'plitipAccessToken'+--+-- * 'plitipUploadType'+--+-- * 'plitipPayload'+--+-- * 'plitipResource'+--+-- * 'plitipCallback'+projectsLocationsInstancesTestIAMPermissions+    :: TestIAMPermissionsRequest -- ^ 'plitipPayload'+    -> Text -- ^ 'plitipResource'+    -> ProjectsLocationsInstancesTestIAMPermissions+projectsLocationsInstancesTestIAMPermissions pPlitipPayload_ pPlitipResource_ =+  ProjectsLocationsInstancesTestIAMPermissions'+    { _plitipXgafv = Nothing+    , _plitipUploadProtocol = Nothing+    , _plitipAccessToken = Nothing+    , _plitipUploadType = Nothing+    , _plitipPayload = pPlitipPayload_+    , _plitipResource = pPlitipResource_+    , _plitipCallback = Nothing+    }+++-- | V1 error format.+plitipXgafv :: Lens' ProjectsLocationsInstancesTestIAMPermissions (Maybe Xgafv)+plitipXgafv+  = lens _plitipXgafv (\ s a -> s{_plitipXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+plitipUploadProtocol :: Lens' ProjectsLocationsInstancesTestIAMPermissions (Maybe Text)+plitipUploadProtocol+  = lens _plitipUploadProtocol+      (\ s a -> s{_plitipUploadProtocol = a})++-- | OAuth access token.+plitipAccessToken :: Lens' ProjectsLocationsInstancesTestIAMPermissions (Maybe Text)+plitipAccessToken+  = lens _plitipAccessToken+      (\ s a -> s{_plitipAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+plitipUploadType :: Lens' ProjectsLocationsInstancesTestIAMPermissions (Maybe Text)+plitipUploadType+  = lens _plitipUploadType+      (\ s a -> s{_plitipUploadType = a})++-- | Multipart request metadata.+plitipPayload :: Lens' ProjectsLocationsInstancesTestIAMPermissions TestIAMPermissionsRequest+plitipPayload+  = lens _plitipPayload+      (\ s a -> s{_plitipPayload = a})++-- | REQUIRED: The resource for which the policy detail is being requested.+-- See the operation documentation for the appropriate value for this+-- field.+plitipResource :: Lens' ProjectsLocationsInstancesTestIAMPermissions Text+plitipResource+  = lens _plitipResource+      (\ s a -> s{_plitipResource = a})++-- | JSONP+plitipCallback :: Lens' ProjectsLocationsInstancesTestIAMPermissions (Maybe Text)+plitipCallback+  = lens _plitipCallback+      (\ s a -> s{_plitipCallback = a})++instance GoogleRequest+           ProjectsLocationsInstancesTestIAMPermissions+         where+        type Rs ProjectsLocationsInstancesTestIAMPermissions+             = TestIAMPermissionsResponse+        type Scopes+               ProjectsLocationsInstancesTestIAMPermissions+             = '["https://www.googleapis.com/auth/cloud-platform"]+        requestClient+          ProjectsLocationsInstancesTestIAMPermissions'{..}+          = go _plitipResource _plitipXgafv+              _plitipUploadProtocol+              _plitipAccessToken+              _plitipUploadType+              _plitipCallback+              (Just AltJSON)+              _plitipPayload+              dataFusionService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy+                           ProjectsLocationsInstancesTestIAMPermissionsResource)+                      mempty
+ gen/Network/Google/Resource/DataFusion/Projects/Locations/Instances/Upgrade.hs view
@@ -0,0 +1,171 @@+{-# 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.DataFusion.Projects.Locations.Instances.Upgrade+-- 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)+--+-- Upgrade a single Data Fusion instance. At the end of an operation+-- instance is fully upgraded.+--+-- /See:/ <https://cloud.google.com/data-fusion/docs Cloud Data Fusion API Reference> for @datafusion.projects.locations.instances.upgrade@.+module Network.Google.Resource.DataFusion.Projects.Locations.Instances.Upgrade+    (+    -- * REST Resource+      ProjectsLocationsInstancesUpgradeResource++    -- * Creating a Request+    , projectsLocationsInstancesUpgrade+    , ProjectsLocationsInstancesUpgrade++    -- * Request Lenses+    , pliuXgafv+    , pliuUploadProtocol+    , pliuAccessToken+    , pliuUploadType+    , pliuPayload+    , pliuName+    , pliuCallback+    ) where++import           Network.Google.DataFusion.Types+import           Network.Google.Prelude++-- | A resource alias for @datafusion.projects.locations.instances.upgrade@ method which the+-- 'ProjectsLocationsInstancesUpgrade' request conforms to.+type ProjectsLocationsInstancesUpgradeResource =+     "v1beta1" :>+       CaptureMode "name" "upgrade" Text :>+         QueryParam "$.xgafv" Xgafv :>+           QueryParam "upload_protocol" Text :>+             QueryParam "access_token" Text :>+               QueryParam "uploadType" Text :>+                 QueryParam "callback" Text :>+                   QueryParam "alt" AltJSON :>+                     ReqBody '[JSON] UpgradeInstanceRequest :>+                       Post '[JSON] Operation++-- | Upgrade a single Data Fusion instance. At the end of an operation+-- instance is fully upgraded.+--+-- /See:/ 'projectsLocationsInstancesUpgrade' smart constructor.+data ProjectsLocationsInstancesUpgrade =+  ProjectsLocationsInstancesUpgrade'+    { _pliuXgafv          :: !(Maybe Xgafv)+    , _pliuUploadProtocol :: !(Maybe Text)+    , _pliuAccessToken    :: !(Maybe Text)+    , _pliuUploadType     :: !(Maybe Text)+    , _pliuPayload        :: !UpgradeInstanceRequest+    , _pliuName           :: !Text+    , _pliuCallback       :: !(Maybe Text)+    }+  deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ProjectsLocationsInstancesUpgrade' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pliuXgafv'+--+-- * 'pliuUploadProtocol'+--+-- * 'pliuAccessToken'+--+-- * 'pliuUploadType'+--+-- * 'pliuPayload'+--+-- * 'pliuName'+--+-- * 'pliuCallback'+projectsLocationsInstancesUpgrade+    :: UpgradeInstanceRequest -- ^ 'pliuPayload'+    -> Text -- ^ 'pliuName'+    -> ProjectsLocationsInstancesUpgrade+projectsLocationsInstancesUpgrade pPliuPayload_ pPliuName_ =+  ProjectsLocationsInstancesUpgrade'+    { _pliuXgafv = Nothing+    , _pliuUploadProtocol = Nothing+    , _pliuAccessToken = Nothing+    , _pliuUploadType = Nothing+    , _pliuPayload = pPliuPayload_+    , _pliuName = pPliuName_+    , _pliuCallback = Nothing+    }+++-- | V1 error format.+pliuXgafv :: Lens' ProjectsLocationsInstancesUpgrade (Maybe Xgafv)+pliuXgafv+  = lens _pliuXgafv (\ s a -> s{_pliuXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+pliuUploadProtocol :: Lens' ProjectsLocationsInstancesUpgrade (Maybe Text)+pliuUploadProtocol+  = lens _pliuUploadProtocol+      (\ s a -> s{_pliuUploadProtocol = a})++-- | OAuth access token.+pliuAccessToken :: Lens' ProjectsLocationsInstancesUpgrade (Maybe Text)+pliuAccessToken+  = lens _pliuAccessToken+      (\ s a -> s{_pliuAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+pliuUploadType :: Lens' ProjectsLocationsInstancesUpgrade (Maybe Text)+pliuUploadType+  = lens _pliuUploadType+      (\ s a -> s{_pliuUploadType = a})++-- | Multipart request metadata.+pliuPayload :: Lens' ProjectsLocationsInstancesUpgrade UpgradeInstanceRequest+pliuPayload+  = lens _pliuPayload (\ s a -> s{_pliuPayload = a})++-- | Name of the Data Fusion instance which need to be upgraded in the form+-- of projects\/{project}\/locations\/{location}\/instances\/{instance}+-- Instance will be upgraded with the latest stable version of the Data+-- Fusion.+pliuName :: Lens' ProjectsLocationsInstancesUpgrade Text+pliuName = lens _pliuName (\ s a -> s{_pliuName = a})++-- | JSONP+pliuCallback :: Lens' ProjectsLocationsInstancesUpgrade (Maybe Text)+pliuCallback+  = lens _pliuCallback (\ s a -> s{_pliuCallback = a})++instance GoogleRequest+           ProjectsLocationsInstancesUpgrade+         where+        type Rs ProjectsLocationsInstancesUpgrade = Operation+        type Scopes ProjectsLocationsInstancesUpgrade =+             '["https://www.googleapis.com/auth/cloud-platform"]+        requestClient ProjectsLocationsInstancesUpgrade'{..}+          = go _pliuName _pliuXgafv _pliuUploadProtocol+              _pliuAccessToken+              _pliuUploadType+              _pliuCallback+              (Just AltJSON)+              _pliuPayload+              dataFusionService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy ProjectsLocationsInstancesUpgradeResource)+                      mempty
+ gen/Network/Google/Resource/DataFusion/Projects/Locations/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.DataFusion.Projects.Locations.List+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists information about the supported locations for this service.+--+-- /See:/ <https://cloud.google.com/data-fusion/docs Cloud Data Fusion API Reference> for @datafusion.projects.locations.list@.+module Network.Google.Resource.DataFusion.Projects.Locations.List+    (+    -- * REST Resource+      ProjectsLocationsListResource++    -- * Creating a Request+    , projectsLocationsList+    , ProjectsLocationsList++    -- * Request Lenses+    , pllXgafv+    , pllUploadProtocol+    , pllAccessToken+    , pllUploadType+    , pllName+    , pllFilter+    , pllPageToken+    , pllPageSize+    , pllCallback+    ) where++import           Network.Google.DataFusion.Types+import           Network.Google.Prelude++-- | A resource alias for @datafusion.projects.locations.list@ method which the+-- 'ProjectsLocationsList' request conforms to.+type ProjectsLocationsListResource =+     "v1beta1" :>+       Capture "name" Text :>+         "locations" :>+           QueryParam "$.xgafv" Xgafv :>+             QueryParam "upload_protocol" Text :>+               QueryParam "access_token" Text :>+                 QueryParam "uploadType" Text :>+                   QueryParam "filter" Text :>+                     QueryParam "pageToken" Text :>+                       QueryParam "pageSize" (Textual Int32) :>+                         QueryParam "callback" Text :>+                           QueryParam "alt" AltJSON :>+                             Get '[JSON] ListLocationsResponse++-- | Lists information about the supported locations for this service.+--+-- /See:/ 'projectsLocationsList' smart constructor.+data ProjectsLocationsList =+  ProjectsLocationsList'+    { _pllXgafv          :: !(Maybe Xgafv)+    , _pllUploadProtocol :: !(Maybe Text)+    , _pllAccessToken    :: !(Maybe Text)+    , _pllUploadType     :: !(Maybe Text)+    , _pllName           :: !Text+    , _pllFilter         :: !(Maybe Text)+    , _pllPageToken      :: !(Maybe Text)+    , _pllPageSize       :: !(Maybe (Textual Int32))+    , _pllCallback       :: !(Maybe Text)+    }+  deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ProjectsLocationsList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pllXgafv'+--+-- * 'pllUploadProtocol'+--+-- * 'pllAccessToken'+--+-- * 'pllUploadType'+--+-- * 'pllName'+--+-- * 'pllFilter'+--+-- * 'pllPageToken'+--+-- * 'pllPageSize'+--+-- * 'pllCallback'+projectsLocationsList+    :: Text -- ^ 'pllName'+    -> ProjectsLocationsList+projectsLocationsList pPllName_ =+  ProjectsLocationsList'+    { _pllXgafv = Nothing+    , _pllUploadProtocol = Nothing+    , _pllAccessToken = Nothing+    , _pllUploadType = Nothing+    , _pllName = pPllName_+    , _pllFilter = Nothing+    , _pllPageToken = Nothing+    , _pllPageSize = Nothing+    , _pllCallback = Nothing+    }+++-- | V1 error format.+pllXgafv :: Lens' ProjectsLocationsList (Maybe Xgafv)+pllXgafv = lens _pllXgafv (\ s a -> s{_pllXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+pllUploadProtocol :: Lens' ProjectsLocationsList (Maybe Text)+pllUploadProtocol+  = lens _pllUploadProtocol+      (\ s a -> s{_pllUploadProtocol = a})++-- | OAuth access token.+pllAccessToken :: Lens' ProjectsLocationsList (Maybe Text)+pllAccessToken+  = lens _pllAccessToken+      (\ s a -> s{_pllAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+pllUploadType :: Lens' ProjectsLocationsList (Maybe Text)+pllUploadType+  = lens _pllUploadType+      (\ s a -> s{_pllUploadType = a})++-- | The resource that owns the locations collection, if applicable.+pllName :: Lens' ProjectsLocationsList Text+pllName = lens _pllName (\ s a -> s{_pllName = a})++-- | The standard list filter.+pllFilter :: Lens' ProjectsLocationsList (Maybe Text)+pllFilter+  = lens _pllFilter (\ s a -> s{_pllFilter = a})++-- | The standard list page token.+pllPageToken :: Lens' ProjectsLocationsList (Maybe Text)+pllPageToken+  = lens _pllPageToken (\ s a -> s{_pllPageToken = a})++-- | The standard list page size.+pllPageSize :: Lens' ProjectsLocationsList (Maybe Int32)+pllPageSize+  = lens _pllPageSize (\ s a -> s{_pllPageSize = a}) .+      mapping _Coerce++-- | JSONP+pllCallback :: Lens' ProjectsLocationsList (Maybe Text)+pllCallback+  = lens _pllCallback (\ s a -> s{_pllCallback = a})++instance GoogleRequest ProjectsLocationsList where+        type Rs ProjectsLocationsList = ListLocationsResponse+        type Scopes ProjectsLocationsList =+             '["https://www.googleapis.com/auth/cloud-platform"]+        requestClient ProjectsLocationsList'{..}+          = go _pllName _pllXgafv _pllUploadProtocol+              _pllAccessToken+              _pllUploadType+              _pllFilter+              _pllPageToken+              _pllPageSize+              _pllCallback+              (Just AltJSON)+              dataFusionService+          where go+                  = buildClient+                      (Proxy :: Proxy ProjectsLocationsListResource)+                      mempty
+ gen/Network/Google/Resource/DataFusion/Projects/Locations/Operations/Cancel.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.DataFusion.Projects.Locations.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/data-fusion/docs Cloud Data Fusion API Reference> for @datafusion.projects.locations.operations.cancel@.+module Network.Google.Resource.DataFusion.Projects.Locations.Operations.Cancel+    (+    -- * REST Resource+      ProjectsLocationsOperationsCancelResource++    -- * Creating a Request+    , projectsLocationsOperationsCancel+    , ProjectsLocationsOperationsCancel++    -- * Request Lenses+    , plocXgafv+    , plocUploadProtocol+    , plocAccessToken+    , plocUploadType+    , plocPayload+    , plocName+    , plocCallback+    ) where++import           Network.Google.DataFusion.Types+import           Network.Google.Prelude++-- | A resource alias for @datafusion.projects.locations.operations.cancel@ method which the+-- 'ProjectsLocationsOperationsCancel' request conforms to.+type ProjectsLocationsOperationsCancelResource =+     "v1beta1" :>+       CaptureMode "name" "cancel" Text :>+         QueryParam "$.xgafv" Xgafv :>+           QueryParam "upload_protocol" Text :>+             QueryParam "access_token" Text :>+               QueryParam "uploadType" Text :>+                 QueryParam "callback" Text :>+                   QueryParam "alt" AltJSON :>+                     ReqBody '[JSON] CancelOperationRequest :>+                       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:/ 'projectsLocationsOperationsCancel' smart constructor.+data ProjectsLocationsOperationsCancel =+  ProjectsLocationsOperationsCancel'+    { _plocXgafv          :: !(Maybe Xgafv)+    , _plocUploadProtocol :: !(Maybe Text)+    , _plocAccessToken    :: !(Maybe Text)+    , _plocUploadType     :: !(Maybe Text)+    , _plocPayload        :: !CancelOperationRequest+    , _plocName           :: !Text+    , _plocCallback       :: !(Maybe Text)+    }+  deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ProjectsLocationsOperationsCancel' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'plocXgafv'+--+-- * 'plocUploadProtocol'+--+-- * 'plocAccessToken'+--+-- * 'plocUploadType'+--+-- * 'plocPayload'+--+-- * 'plocName'+--+-- * 'plocCallback'+projectsLocationsOperationsCancel+    :: CancelOperationRequest -- ^ 'plocPayload'+    -> Text -- ^ 'plocName'+    -> ProjectsLocationsOperationsCancel+projectsLocationsOperationsCancel pPlocPayload_ pPlocName_ =+  ProjectsLocationsOperationsCancel'+    { _plocXgafv = Nothing+    , _plocUploadProtocol = Nothing+    , _plocAccessToken = Nothing+    , _plocUploadType = Nothing+    , _plocPayload = pPlocPayload_+    , _plocName = pPlocName_+    , _plocCallback = Nothing+    }+++-- | V1 error format.+plocXgafv :: Lens' ProjectsLocationsOperationsCancel (Maybe Xgafv)+plocXgafv+  = lens _plocXgafv (\ s a -> s{_plocXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+plocUploadProtocol :: Lens' ProjectsLocationsOperationsCancel (Maybe Text)+plocUploadProtocol+  = lens _plocUploadProtocol+      (\ s a -> s{_plocUploadProtocol = a})++-- | OAuth access token.+plocAccessToken :: Lens' ProjectsLocationsOperationsCancel (Maybe Text)+plocAccessToken+  = lens _plocAccessToken+      (\ s a -> s{_plocAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+plocUploadType :: Lens' ProjectsLocationsOperationsCancel (Maybe Text)+plocUploadType+  = lens _plocUploadType+      (\ s a -> s{_plocUploadType = a})++-- | Multipart request metadata.+plocPayload :: Lens' ProjectsLocationsOperationsCancel CancelOperationRequest+plocPayload+  = lens _plocPayload (\ s a -> s{_plocPayload = a})++-- | The name of the operation resource to be cancelled.+plocName :: Lens' ProjectsLocationsOperationsCancel Text+plocName = lens _plocName (\ s a -> s{_plocName = a})++-- | JSONP+plocCallback :: Lens' ProjectsLocationsOperationsCancel (Maybe Text)+plocCallback+  = lens _plocCallback (\ s a -> s{_plocCallback = a})++instance GoogleRequest+           ProjectsLocationsOperationsCancel+         where+        type Rs ProjectsLocationsOperationsCancel = Empty+        type Scopes ProjectsLocationsOperationsCancel =+             '["https://www.googleapis.com/auth/cloud-platform"]+        requestClient ProjectsLocationsOperationsCancel'{..}+          = go _plocName _plocXgafv _plocUploadProtocol+              _plocAccessToken+              _plocUploadType+              _plocCallback+              (Just AltJSON)+              _plocPayload+              dataFusionService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy ProjectsLocationsOperationsCancelResource)+                      mempty
+ gen/Network/Google/Resource/DataFusion/Projects/Locations/Operations/Delete.hs view
@@ -0,0 +1,158 @@+{-# 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.DataFusion.Projects.Locations.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/data-fusion/docs Cloud Data Fusion API Reference> for @datafusion.projects.locations.operations.delete@.+module Network.Google.Resource.DataFusion.Projects.Locations.Operations.Delete+    (+    -- * REST Resource+      ProjectsLocationsOperationsDeleteResource++    -- * Creating a Request+    , projectsLocationsOperationsDelete+    , ProjectsLocationsOperationsDelete++    -- * Request Lenses+    , plodXgafv+    , plodUploadProtocol+    , plodAccessToken+    , plodUploadType+    , plodName+    , plodCallback+    ) where++import           Network.Google.DataFusion.Types+import           Network.Google.Prelude++-- | A resource alias for @datafusion.projects.locations.operations.delete@ method which the+-- 'ProjectsLocationsOperationsDelete' request conforms to.+type ProjectsLocationsOperationsDeleteResource =+     "v1beta1" :>+       Capture "name" Text :>+         QueryParam "$.xgafv" Xgafv :>+           QueryParam "upload_protocol" Text :>+             QueryParam "access_token" Text :>+               QueryParam "uploadType" Text :>+                 QueryParam "callback" Text :>+                   QueryParam "alt" AltJSON :> Delete '[JSON] Empty++-- | Deletes a 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:/ 'projectsLocationsOperationsDelete' smart constructor.+data ProjectsLocationsOperationsDelete =+  ProjectsLocationsOperationsDelete'+    { _plodXgafv          :: !(Maybe Xgafv)+    , _plodUploadProtocol :: !(Maybe Text)+    , _plodAccessToken    :: !(Maybe Text)+    , _plodUploadType     :: !(Maybe Text)+    , _plodName           :: !Text+    , _plodCallback       :: !(Maybe Text)+    }+  deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ProjectsLocationsOperationsDelete' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'plodXgafv'+--+-- * 'plodUploadProtocol'+--+-- * 'plodAccessToken'+--+-- * 'plodUploadType'+--+-- * 'plodName'+--+-- * 'plodCallback'+projectsLocationsOperationsDelete+    :: Text -- ^ 'plodName'+    -> ProjectsLocationsOperationsDelete+projectsLocationsOperationsDelete pPlodName_ =+  ProjectsLocationsOperationsDelete'+    { _plodXgafv = Nothing+    , _plodUploadProtocol = Nothing+    , _plodAccessToken = Nothing+    , _plodUploadType = Nothing+    , _plodName = pPlodName_+    , _plodCallback = Nothing+    }+++-- | V1 error format.+plodXgafv :: Lens' ProjectsLocationsOperationsDelete (Maybe Xgafv)+plodXgafv+  = lens _plodXgafv (\ s a -> s{_plodXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+plodUploadProtocol :: Lens' ProjectsLocationsOperationsDelete (Maybe Text)+plodUploadProtocol+  = lens _plodUploadProtocol+      (\ s a -> s{_plodUploadProtocol = a})++-- | OAuth access token.+plodAccessToken :: Lens' ProjectsLocationsOperationsDelete (Maybe Text)+plodAccessToken+  = lens _plodAccessToken+      (\ s a -> s{_plodAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+plodUploadType :: Lens' ProjectsLocationsOperationsDelete (Maybe Text)+plodUploadType+  = lens _plodUploadType+      (\ s a -> s{_plodUploadType = a})++-- | The name of the operation resource to be deleted.+plodName :: Lens' ProjectsLocationsOperationsDelete Text+plodName = lens _plodName (\ s a -> s{_plodName = a})++-- | JSONP+plodCallback :: Lens' ProjectsLocationsOperationsDelete (Maybe Text)+plodCallback+  = lens _plodCallback (\ s a -> s{_plodCallback = a})++instance GoogleRequest+           ProjectsLocationsOperationsDelete+         where+        type Rs ProjectsLocationsOperationsDelete = Empty+        type Scopes ProjectsLocationsOperationsDelete =+             '["https://www.googleapis.com/auth/cloud-platform"]+        requestClient ProjectsLocationsOperationsDelete'{..}+          = go _plodName _plodXgafv _plodUploadProtocol+              _plodAccessToken+              _plodUploadType+              _plodCallback+              (Just AltJSON)+              dataFusionService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy ProjectsLocationsOperationsDeleteResource)+                      mempty
+ gen/Network/Google/Resource/DataFusion/Projects/Locations/Operations/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.DataFusion.Projects.Locations.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/data-fusion/docs Cloud Data Fusion API Reference> for @datafusion.projects.locations.operations.get@.+module Network.Google.Resource.DataFusion.Projects.Locations.Operations.Get+    (+    -- * REST Resource+      ProjectsLocationsOperationsGetResource++    -- * Creating a Request+    , projectsLocationsOperationsGet+    , ProjectsLocationsOperationsGet++    -- * Request Lenses+    , plogXgafv+    , plogUploadProtocol+    , plogAccessToken+    , plogUploadType+    , plogName+    , plogCallback+    ) where++import           Network.Google.DataFusion.Types+import           Network.Google.Prelude++-- | A resource alias for @datafusion.projects.locations.operations.get@ method which the+-- 'ProjectsLocationsOperationsGet' request conforms to.+type ProjectsLocationsOperationsGetResource =+     "v1beta1" :>+       Capture "name" Text :>+         QueryParam "$.xgafv" Xgafv :>+           QueryParam "upload_protocol" Text :>+             QueryParam "access_token" Text :>+               QueryParam "uploadType" Text :>+                 QueryParam "callback" Text :>+                   QueryParam "alt" AltJSON :> Get '[JSON] 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:/ 'projectsLocationsOperationsGet' smart constructor.+data ProjectsLocationsOperationsGet =+  ProjectsLocationsOperationsGet'+    { _plogXgafv          :: !(Maybe Xgafv)+    , _plogUploadProtocol :: !(Maybe Text)+    , _plogAccessToken    :: !(Maybe Text)+    , _plogUploadType     :: !(Maybe Text)+    , _plogName           :: !Text+    , _plogCallback       :: !(Maybe Text)+    }+  deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ProjectsLocationsOperationsGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'plogXgafv'+--+-- * 'plogUploadProtocol'+--+-- * 'plogAccessToken'+--+-- * 'plogUploadType'+--+-- * 'plogName'+--+-- * 'plogCallback'+projectsLocationsOperationsGet+    :: Text -- ^ 'plogName'+    -> ProjectsLocationsOperationsGet+projectsLocationsOperationsGet pPlogName_ =+  ProjectsLocationsOperationsGet'+    { _plogXgafv = Nothing+    , _plogUploadProtocol = Nothing+    , _plogAccessToken = Nothing+    , _plogUploadType = Nothing+    , _plogName = pPlogName_+    , _plogCallback = Nothing+    }+++-- | V1 error format.+plogXgafv :: Lens' ProjectsLocationsOperationsGet (Maybe Xgafv)+plogXgafv+  = lens _plogXgafv (\ s a -> s{_plogXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+plogUploadProtocol :: Lens' ProjectsLocationsOperationsGet (Maybe Text)+plogUploadProtocol+  = lens _plogUploadProtocol+      (\ s a -> s{_plogUploadProtocol = a})++-- | OAuth access token.+plogAccessToken :: Lens' ProjectsLocationsOperationsGet (Maybe Text)+plogAccessToken+  = lens _plogAccessToken+      (\ s a -> s{_plogAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+plogUploadType :: Lens' ProjectsLocationsOperationsGet (Maybe Text)+plogUploadType+  = lens _plogUploadType+      (\ s a -> s{_plogUploadType = a})++-- | The name of the operation resource.+plogName :: Lens' ProjectsLocationsOperationsGet Text+plogName = lens _plogName (\ s a -> s{_plogName = a})++-- | JSONP+plogCallback :: Lens' ProjectsLocationsOperationsGet (Maybe Text)+plogCallback+  = lens _plogCallback (\ s a -> s{_plogCallback = a})++instance GoogleRequest ProjectsLocationsOperationsGet+         where+        type Rs ProjectsLocationsOperationsGet = Operation+        type Scopes ProjectsLocationsOperationsGet =+             '["https://www.googleapis.com/auth/cloud-platform"]+        requestClient ProjectsLocationsOperationsGet'{..}+          = go _plogName _plogXgafv _plogUploadProtocol+              _plogAccessToken+              _plogUploadType+              _plogCallback+              (Just AltJSON)+              dataFusionService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy ProjectsLocationsOperationsGetResource)+                      mempty
+ gen/Network/Google/Resource/DataFusion/Projects/Locations/Operations/List.hs view
@@ -0,0 +1,211 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.DataFusion.Projects.Locations.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/data-fusion/docs Cloud Data Fusion API Reference> for @datafusion.projects.locations.operations.list@.+module Network.Google.Resource.DataFusion.Projects.Locations.Operations.List+    (+    -- * REST Resource+      ProjectsLocationsOperationsListResource++    -- * Creating a Request+    , projectsLocationsOperationsList+    , ProjectsLocationsOperationsList++    -- * Request Lenses+    , plolXgafv+    , plolUploadProtocol+    , plolAccessToken+    , plolUploadType+    , plolName+    , plolFilter+    , plolPageToken+    , plolPageSize+    , plolCallback+    ) where++import           Network.Google.DataFusion.Types+import           Network.Google.Prelude++-- | A resource alias for @datafusion.projects.locations.operations.list@ method which the+-- 'ProjectsLocationsOperationsList' request conforms to.+type ProjectsLocationsOperationsListResource =+     "v1beta1" :>+       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:/ 'projectsLocationsOperationsList' smart constructor.+data ProjectsLocationsOperationsList =+  ProjectsLocationsOperationsList'+    { _plolXgafv          :: !(Maybe Xgafv)+    , _plolUploadProtocol :: !(Maybe Text)+    , _plolAccessToken    :: !(Maybe Text)+    , _plolUploadType     :: !(Maybe Text)+    , _plolName           :: !Text+    , _plolFilter         :: !(Maybe Text)+    , _plolPageToken      :: !(Maybe Text)+    , _plolPageSize       :: !(Maybe (Textual Int32))+    , _plolCallback       :: !(Maybe Text)+    }+  deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ProjectsLocationsOperationsList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'plolXgafv'+--+-- * 'plolUploadProtocol'+--+-- * 'plolAccessToken'+--+-- * 'plolUploadType'+--+-- * 'plolName'+--+-- * 'plolFilter'+--+-- * 'plolPageToken'+--+-- * 'plolPageSize'+--+-- * 'plolCallback'+projectsLocationsOperationsList+    :: Text -- ^ 'plolName'+    -> ProjectsLocationsOperationsList+projectsLocationsOperationsList pPlolName_ =+  ProjectsLocationsOperationsList'+    { _plolXgafv = Nothing+    , _plolUploadProtocol = Nothing+    , _plolAccessToken = Nothing+    , _plolUploadType = Nothing+    , _plolName = pPlolName_+    , _plolFilter = Nothing+    , _plolPageToken = Nothing+    , _plolPageSize = Nothing+    , _plolCallback = Nothing+    }+++-- | V1 error format.+plolXgafv :: Lens' ProjectsLocationsOperationsList (Maybe Xgafv)+plolXgafv+  = lens _plolXgafv (\ s a -> s{_plolXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+plolUploadProtocol :: Lens' ProjectsLocationsOperationsList (Maybe Text)+plolUploadProtocol+  = lens _plolUploadProtocol+      (\ s a -> s{_plolUploadProtocol = a})++-- | OAuth access token.+plolAccessToken :: Lens' ProjectsLocationsOperationsList (Maybe Text)+plolAccessToken+  = lens _plolAccessToken+      (\ s a -> s{_plolAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+plolUploadType :: Lens' ProjectsLocationsOperationsList (Maybe Text)+plolUploadType+  = lens _plolUploadType+      (\ s a -> s{_plolUploadType = a})++-- | The name of the operation\'s parent resource.+plolName :: Lens' ProjectsLocationsOperationsList Text+plolName = lens _plolName (\ s a -> s{_plolName = a})++-- | The standard list filter.+plolFilter :: Lens' ProjectsLocationsOperationsList (Maybe Text)+plolFilter+  = lens _plolFilter (\ s a -> s{_plolFilter = a})++-- | The standard list page token.+plolPageToken :: Lens' ProjectsLocationsOperationsList (Maybe Text)+plolPageToken+  = lens _plolPageToken+      (\ s a -> s{_plolPageToken = a})++-- | The standard list page size.+plolPageSize :: Lens' ProjectsLocationsOperationsList (Maybe Int32)+plolPageSize+  = lens _plolPageSize (\ s a -> s{_plolPageSize = a})+      . mapping _Coerce++-- | JSONP+plolCallback :: Lens' ProjectsLocationsOperationsList (Maybe Text)+plolCallback+  = lens _plolCallback (\ s a -> s{_plolCallback = a})++instance GoogleRequest+           ProjectsLocationsOperationsList+         where+        type Rs ProjectsLocationsOperationsList =+             ListOperationsResponse+        type Scopes ProjectsLocationsOperationsList =+             '["https://www.googleapis.com/auth/cloud-platform"]+        requestClient ProjectsLocationsOperationsList'{..}+          = go _plolName _plolXgafv _plolUploadProtocol+              _plolAccessToken+              _plolUploadType+              _plolFilter+              _plolPageToken+              _plolPageSize+              _plolCallback+              (Just AltJSON)+              dataFusionService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy ProjectsLocationsOperationsListResource)+                      mempty
+ gogol-datafusion.cabal view
@@ -0,0 +1,67 @@+name:                  gogol-datafusion+version:               0.5.0+synopsis:              Google Cloud Data Fusion 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:+    Cloud Data Fusion is a fully-managed, cloud native, enterprise data+    integration service for quickly building and managing data pipelines. It+    provides a graphical interface to increase time efficiency and reduce+    complexity, and allows business users, developers, and data scientists+    to easily and reliably build scalable data integration solutions to+    cleanse, prepare, blend, transfer and transform data without having to+    wrestle with infrastructure.+    .+    /Warning:/ This is an experimental prototype/preview release which is still+    under exploratory development and not intended for public use, caveat emptor!+    .+    This library is compatible with version @v1beta1@+    of the API.++source-repository head+    type:     git+    location: git://github.com/brendanhay/gogol.git++library+    default-language:  Haskell2010+    hs-source-dirs:    src gen++    ghc-options:       -Wall++    exposed-modules:+          Network.Google.DataFusion+        , Network.Google.DataFusion.Types+        , Network.Google.Resource.DataFusion.Projects.Locations.Get+        , Network.Google.Resource.DataFusion.Projects.Locations.Instances.Create+        , Network.Google.Resource.DataFusion.Projects.Locations.Instances.Delete+        , Network.Google.Resource.DataFusion.Projects.Locations.Instances.Get+        , Network.Google.Resource.DataFusion.Projects.Locations.Instances.GetIAMPolicy+        , Network.Google.Resource.DataFusion.Projects.Locations.Instances.List+        , Network.Google.Resource.DataFusion.Projects.Locations.Instances.Patch+        , Network.Google.Resource.DataFusion.Projects.Locations.Instances.Restart+        , Network.Google.Resource.DataFusion.Projects.Locations.Instances.SetIAMPolicy+        , Network.Google.Resource.DataFusion.Projects.Locations.Instances.TestIAMPermissions+        , Network.Google.Resource.DataFusion.Projects.Locations.Instances.Upgrade+        , Network.Google.Resource.DataFusion.Projects.Locations.List+        , Network.Google.Resource.DataFusion.Projects.Locations.Operations.Cancel+        , Network.Google.Resource.DataFusion.Projects.Locations.Operations.Delete+        , Network.Google.Resource.DataFusion.Projects.Locations.Operations.Get+        , Network.Google.Resource.DataFusion.Projects.Locations.Operations.List++    other-modules:+          Network.Google.DataFusion.Types.Product+        , Network.Google.DataFusion.Types.Sum++    build-depends:+          gogol-core == 0.5.0.*+        , base       >= 4.7 && < 5
+ src/.gitkeep view