packages feed

gogol-useraccounts (empty) → 0.0.1

raw patch · 25 files changed

+4607/−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-useraccounts++* [Version](#version)+* [Description](#description)+* [Contribute](#contribute)+* [Licence](#licence)+++## Version++`0.0.1`+++## Description++A client library for the Google Cloud User Accounts.+++## Contribute++For any problems, comments, or feedback please create an issue [here on GitHub](https://github.com/brendanhay/amazonka/issues).++> _Note:_ this library is an auto-generated Haskell package. Please see `amazonka-gen` for more information.+++## Licence++`gogol-useraccounts` 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/Resource/CloudUserAccounts/GlobalAccountsOperations/Delete.hs view
@@ -0,0 +1,101 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.CloudUserAccounts.GlobalAccountsOperations.Delete+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes the specified operation resource.+--+-- /See:/ <https://cloud.google.com/compute/docs/access/user-accounts/api/latest/ Cloud User Accounts API Reference> for @clouduseraccounts.globalAccountsOperations.delete@.+module Network.Google.Resource.CloudUserAccounts.GlobalAccountsOperations.Delete+    (+    -- * REST Resource+      GlobalAccountsOperationsDeleteResource++    -- * Creating a Request+    , globalAccountsOperationsDelete+    , GlobalAccountsOperationsDelete++    -- * Request Lenses+    , gaodProject+    , gaodOperation+    ) where++import           Network.Google.Prelude+import           Network.Google.UserAccounts.Types++-- | A resource alias for @clouduseraccounts.globalAccountsOperations.delete@ method which the+-- 'GlobalAccountsOperationsDelete' request conforms to.+type GlobalAccountsOperationsDeleteResource =+     "clouduseraccounts" :>+       "beta" :>+         "projects" :>+           Capture "project" Text :>+             "global" :>+               "operations" :>+                 Capture "operation" Text :>+                   QueryParam "alt" AltJSON :> Delete '[JSON] ()++-- | Deletes the specified operation resource.+--+-- /See:/ 'globalAccountsOperationsDelete' smart constructor.+data GlobalAccountsOperationsDelete = GlobalAccountsOperationsDelete+    { _gaodProject   :: !Text+    , _gaodOperation :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'GlobalAccountsOperationsDelete' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gaodProject'+--+-- * 'gaodOperation'+globalAccountsOperationsDelete+    :: Text -- ^ 'gaodProject'+    -> Text -- ^ 'gaodOperation'+    -> GlobalAccountsOperationsDelete+globalAccountsOperationsDelete pGaodProject_ pGaodOperation_ =+    GlobalAccountsOperationsDelete+    { _gaodProject = pGaodProject_+    , _gaodOperation = pGaodOperation_+    }++-- | Project ID for this request.+gaodProject :: Lens' GlobalAccountsOperationsDelete Text+gaodProject+  = lens _gaodProject (\ s a -> s{_gaodProject = a})++-- | Name of the Operations resource to delete.+gaodOperation :: Lens' GlobalAccountsOperationsDelete Text+gaodOperation+  = lens _gaodOperation+      (\ s a -> s{_gaodOperation = a})++instance GoogleRequest GlobalAccountsOperationsDelete+         where+        type Rs GlobalAccountsOperationsDelete = ()+        requestClient GlobalAccountsOperationsDelete{..}+          = go _gaodProject _gaodOperation (Just AltJSON)+              userAccountsService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy GlobalAccountsOperationsDeleteResource)+                      mempty
+ gen/Network/Google/Resource/CloudUserAccounts/GlobalAccountsOperations/Get.hs view
@@ -0,0 +1,100 @@+{-# 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.CloudUserAccounts.GlobalAccountsOperations.Get+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves the specified operation resource.+--+-- /See:/ <https://cloud.google.com/compute/docs/access/user-accounts/api/latest/ Cloud User Accounts API Reference> for @clouduseraccounts.globalAccountsOperations.get@.+module Network.Google.Resource.CloudUserAccounts.GlobalAccountsOperations.Get+    (+    -- * REST Resource+      GlobalAccountsOperationsGetResource++    -- * Creating a Request+    , globalAccountsOperationsGet+    , GlobalAccountsOperationsGet++    -- * Request Lenses+    , gaogProject+    , gaogOperation+    ) where++import           Network.Google.Prelude+import           Network.Google.UserAccounts.Types++-- | A resource alias for @clouduseraccounts.globalAccountsOperations.get@ method which the+-- 'GlobalAccountsOperationsGet' request conforms to.+type GlobalAccountsOperationsGetResource =+     "clouduseraccounts" :>+       "beta" :>+         "projects" :>+           Capture "project" Text :>+             "global" :>+               "operations" :>+                 Capture "operation" Text :>+                   QueryParam "alt" AltJSON :> Get '[JSON] Operation++-- | Retrieves the specified operation resource.+--+-- /See:/ 'globalAccountsOperationsGet' smart constructor.+data GlobalAccountsOperationsGet = GlobalAccountsOperationsGet+    { _gaogProject   :: !Text+    , _gaogOperation :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'GlobalAccountsOperationsGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gaogProject'+--+-- * 'gaogOperation'+globalAccountsOperationsGet+    :: Text -- ^ 'gaogProject'+    -> Text -- ^ 'gaogOperation'+    -> GlobalAccountsOperationsGet+globalAccountsOperationsGet pGaogProject_ pGaogOperation_ =+    GlobalAccountsOperationsGet+    { _gaogProject = pGaogProject_+    , _gaogOperation = pGaogOperation_+    }++-- | Project ID for this request.+gaogProject :: Lens' GlobalAccountsOperationsGet Text+gaogProject+  = lens _gaogProject (\ s a -> s{_gaogProject = a})++-- | Name of the Operations resource to return.+gaogOperation :: Lens' GlobalAccountsOperationsGet Text+gaogOperation+  = lens _gaogOperation+      (\ s a -> s{_gaogOperation = a})++instance GoogleRequest GlobalAccountsOperationsGet+         where+        type Rs GlobalAccountsOperationsGet = Operation+        requestClient GlobalAccountsOperationsGet{..}+          = go _gaogProject _gaogOperation (Just AltJSON)+              userAccountsService+          where go+                  = buildClient+                      (Proxy :: Proxy GlobalAccountsOperationsGetResource)+                      mempty
+ gen/Network/Google/Resource/CloudUserAccounts/GlobalAccountsOperations/List.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.CloudUserAccounts.GlobalAccountsOperations.List+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves the list of operation resources contained within the specified+-- project.+--+-- /See:/ <https://cloud.google.com/compute/docs/access/user-accounts/api/latest/ Cloud User Accounts API Reference> for @clouduseraccounts.globalAccountsOperations.list@.+module Network.Google.Resource.CloudUserAccounts.GlobalAccountsOperations.List+    (+    -- * REST Resource+      GlobalAccountsOperationsListResource++    -- * Creating a Request+    , globalAccountsOperationsList+    , GlobalAccountsOperationsList++    -- * Request Lenses+    , gaolOrderBy+    , gaolProject+    , gaolFilter+    , gaolPageToken+    , gaolMaxResults+    ) where++import           Network.Google.Prelude+import           Network.Google.UserAccounts.Types++-- | A resource alias for @clouduseraccounts.globalAccountsOperations.list@ method which the+-- 'GlobalAccountsOperationsList' request conforms to.+type GlobalAccountsOperationsListResource =+     "clouduseraccounts" :>+       "beta" :>+         "projects" :>+           Capture "project" Text :>+             "global" :>+               "operations" :>+                 QueryParam "orderBy" Text :>+                   QueryParam "filter" Text :>+                     QueryParam "pageToken" Text :>+                       QueryParam "maxResults" (Textual Word32) :>+                         QueryParam "alt" AltJSON :> Get '[JSON] OperationList++-- | Retrieves the list of operation resources contained within the specified+-- project.+--+-- /See:/ 'globalAccountsOperationsList' smart constructor.+data GlobalAccountsOperationsList = GlobalAccountsOperationsList+    { _gaolOrderBy    :: !(Maybe Text)+    , _gaolProject    :: !Text+    , _gaolFilter     :: !(Maybe Text)+    , _gaolPageToken  :: !(Maybe Text)+    , _gaolMaxResults :: !(Textual Word32)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'GlobalAccountsOperationsList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gaolOrderBy'+--+-- * 'gaolProject'+--+-- * 'gaolFilter'+--+-- * 'gaolPageToken'+--+-- * 'gaolMaxResults'+globalAccountsOperationsList+    :: Text -- ^ 'gaolProject'+    -> GlobalAccountsOperationsList+globalAccountsOperationsList pGaolProject_ =+    GlobalAccountsOperationsList+    { _gaolOrderBy = Nothing+    , _gaolProject = pGaolProject_+    , _gaolFilter = Nothing+    , _gaolPageToken = Nothing+    , _gaolMaxResults = 500+    }++-- | Sorts list results by a certain order. By default, results are returned+-- in alphanumerical order based on the resource name. You can also sort+-- results in descending order based on the creation timestamp using+-- orderBy=\"creationTimestamp desc\". This sorts results based on the+-- creationTimestamp field in reverse chronological order (newest result+-- first). Use this to sort resources like operations so that the newest+-- operation is returned first. Currently, only sorting by name or+-- creationTimestamp desc is supported.+gaolOrderBy :: Lens' GlobalAccountsOperationsList (Maybe Text)+gaolOrderBy+  = lens _gaolOrderBy (\ s a -> s{_gaolOrderBy = a})++-- | Project ID for this request.+gaolProject :: Lens' GlobalAccountsOperationsList Text+gaolProject+  = lens _gaolProject (\ s a -> s{_gaolProject = a})++-- | Sets a filter expression for filtering listed resources, in the form+-- filter={expression}. Your {expression} must be in the format: FIELD_NAME+-- COMPARISON_STRING LITERAL_STRING. The FIELD_NAME is the name of the+-- field you want to compare. Only atomic field types are supported+-- (string, number, boolean). The COMPARISON_STRING must be either eq+-- (equals) or ne (not equals). The LITERAL_STRING is the string value to+-- filter to. The literal value must be valid for the type of field+-- (string, number, boolean). For string fields, the literal value is+-- interpreted as a regular expression using RE2 syntax. The literal value+-- must match the entire field. For example, filter=name ne+-- example-instance.+gaolFilter :: Lens' GlobalAccountsOperationsList (Maybe Text)+gaolFilter+  = lens _gaolFilter (\ s a -> s{_gaolFilter = a})++-- | Specifies a page token to use. Use this parameter if you want to list+-- the next page of results. Set pageToken to the nextPageToken returned by+-- a previous list request.+gaolPageToken :: Lens' GlobalAccountsOperationsList (Maybe Text)+gaolPageToken+  = lens _gaolPageToken+      (\ s a -> s{_gaolPageToken = a})++-- | Maximum count of results to be returned.+gaolMaxResults :: Lens' GlobalAccountsOperationsList Word32+gaolMaxResults+  = lens _gaolMaxResults+      (\ s a -> s{_gaolMaxResults = a})+      . _Coerce++instance GoogleRequest GlobalAccountsOperationsList+         where+        type Rs GlobalAccountsOperationsList = OperationList+        requestClient GlobalAccountsOperationsList{..}+          = go _gaolProject _gaolOrderBy _gaolFilter+              _gaolPageToken+              (Just _gaolMaxResults)+              (Just AltJSON)+              userAccountsService+          where go+                  = buildClient+                      (Proxy :: Proxy GlobalAccountsOperationsListResource)+                      mempty
+ gen/Network/Google/Resource/CloudUserAccounts/Groups/AddMember.hs view
@@ -0,0 +1,113 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.CloudUserAccounts.Groups.AddMember+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Adds users to the specified group.+--+-- /See:/ <https://cloud.google.com/compute/docs/access/user-accounts/api/latest/ Cloud User Accounts API Reference> for @clouduseraccounts.groups.addMember@.+module Network.Google.Resource.CloudUserAccounts.Groups.AddMember+    (+    -- * REST Resource+      GroupsAddMemberResource++    -- * Creating a Request+    , groupsAddMember+    , GroupsAddMember++    -- * Request Lenses+    , gamProject+    , gamPayload+    , gamGroupName+    ) where++import           Network.Google.Prelude+import           Network.Google.UserAccounts.Types++-- | A resource alias for @clouduseraccounts.groups.addMember@ method which the+-- 'GroupsAddMember' request conforms to.+type GroupsAddMemberResource =+     "clouduseraccounts" :>+       "beta" :>+         "projects" :>+           Capture "project" Text :>+             "global" :>+               "groups" :>+                 Capture "groupName" Text :>+                   "addMember" :>+                     QueryParam "alt" AltJSON :>+                       ReqBody '[JSON] GroupsAddMemberRequest :>+                         Post '[JSON] Operation++-- | Adds users to the specified group.+--+-- /See:/ 'groupsAddMember' smart constructor.+data GroupsAddMember = GroupsAddMember+    { _gamProject   :: !Text+    , _gamPayload   :: !GroupsAddMemberRequest+    , _gamGroupName :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'GroupsAddMember' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gamProject'+--+-- * 'gamPayload'+--+-- * 'gamGroupName'+groupsAddMember+    :: Text -- ^ 'gamProject'+    -> GroupsAddMemberRequest -- ^ 'gamPayload'+    -> Text -- ^ 'gamGroupName'+    -> GroupsAddMember+groupsAddMember pGamProject_ pGamPayload_ pGamGroupName_ =+    GroupsAddMember+    { _gamProject = pGamProject_+    , _gamPayload = pGamPayload_+    , _gamGroupName = pGamGroupName_+    }++-- | Project ID for this request.+gamProject :: Lens' GroupsAddMember Text+gamProject+  = lens _gamProject (\ s a -> s{_gamProject = a})++-- | Multipart request metadata.+gamPayload :: Lens' GroupsAddMember GroupsAddMemberRequest+gamPayload+  = lens _gamPayload (\ s a -> s{_gamPayload = a})++-- | Name of the group for this request.+gamGroupName :: Lens' GroupsAddMember Text+gamGroupName+  = lens _gamGroupName (\ s a -> s{_gamGroupName = a})++instance GoogleRequest GroupsAddMember where+        type Rs GroupsAddMember = Operation+        requestClient GroupsAddMember{..}+          = go _gamProject _gamGroupName (Just AltJSON)+              _gamPayload+              userAccountsService+          where go+                  = buildClient+                      (Proxy :: Proxy GroupsAddMemberResource)+                      mempty
+ gen/Network/Google/Resource/CloudUserAccounts/Groups/Delete.hs view
@@ -0,0 +1,97 @@+{-# 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.CloudUserAccounts.Groups.Delete+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes the specified Group resource.+--+-- /See:/ <https://cloud.google.com/compute/docs/access/user-accounts/api/latest/ Cloud User Accounts API Reference> for @clouduseraccounts.groups.delete@.+module Network.Google.Resource.CloudUserAccounts.Groups.Delete+    (+    -- * REST Resource+      GroupsDeleteResource++    -- * Creating a Request+    , groupsDelete+    , GroupsDelete++    -- * Request Lenses+    , gdProject+    , gdGroupName+    ) where++import           Network.Google.Prelude+import           Network.Google.UserAccounts.Types++-- | A resource alias for @clouduseraccounts.groups.delete@ method which the+-- 'GroupsDelete' request conforms to.+type GroupsDeleteResource =+     "clouduseraccounts" :>+       "beta" :>+         "projects" :>+           Capture "project" Text :>+             "global" :>+               "groups" :>+                 Capture "groupName" Text :>+                   QueryParam "alt" AltJSON :> Delete '[JSON] Operation++-- | Deletes the specified Group resource.+--+-- /See:/ 'groupsDelete' smart constructor.+data GroupsDelete = GroupsDelete+    { _gdProject   :: !Text+    , _gdGroupName :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'GroupsDelete' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gdProject'+--+-- * 'gdGroupName'+groupsDelete+    :: Text -- ^ 'gdProject'+    -> Text -- ^ 'gdGroupName'+    -> GroupsDelete+groupsDelete pGdProject_ pGdGroupName_ =+    GroupsDelete+    { _gdProject = pGdProject_+    , _gdGroupName = pGdGroupName_+    }++-- | Project ID for this request.+gdProject :: Lens' GroupsDelete Text+gdProject+  = lens _gdProject (\ s a -> s{_gdProject = a})++-- | Name of the Group resource to delete.+gdGroupName :: Lens' GroupsDelete Text+gdGroupName+  = lens _gdGroupName (\ s a -> s{_gdGroupName = a})++instance GoogleRequest GroupsDelete where+        type Rs GroupsDelete = Operation+        requestClient GroupsDelete{..}+          = go _gdProject _gdGroupName (Just AltJSON)+              userAccountsService+          where go+                  = buildClient (Proxy :: Proxy GroupsDeleteResource)+                      mempty
+ gen/Network/Google/Resource/CloudUserAccounts/Groups/Get.hs view
@@ -0,0 +1,97 @@+{-# 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.CloudUserAccounts.Groups.Get+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns the specified Group resource.+--+-- /See:/ <https://cloud.google.com/compute/docs/access/user-accounts/api/latest/ Cloud User Accounts API Reference> for @clouduseraccounts.groups.get@.+module Network.Google.Resource.CloudUserAccounts.Groups.Get+    (+    -- * REST Resource+      GroupsGetResource++    -- * Creating a Request+    , groupsGet+    , GroupsGet++    -- * Request Lenses+    , ggProject+    , ggGroupName+    ) where++import           Network.Google.Prelude+import           Network.Google.UserAccounts.Types++-- | A resource alias for @clouduseraccounts.groups.get@ method which the+-- 'GroupsGet' request conforms to.+type GroupsGetResource =+     "clouduseraccounts" :>+       "beta" :>+         "projects" :>+           Capture "project" Text :>+             "global" :>+               "groups" :>+                 Capture "groupName" Text :>+                   QueryParam "alt" AltJSON :> Get '[JSON] Group++-- | Returns the specified Group resource.+--+-- /See:/ 'groupsGet' smart constructor.+data GroupsGet = GroupsGet+    { _ggProject   :: !Text+    , _ggGroupName :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'GroupsGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ggProject'+--+-- * 'ggGroupName'+groupsGet+    :: Text -- ^ 'ggProject'+    -> Text -- ^ 'ggGroupName'+    -> GroupsGet+groupsGet pGgProject_ pGgGroupName_ =+    GroupsGet+    { _ggProject = pGgProject_+    , _ggGroupName = pGgGroupName_+    }++-- | Project ID for this request.+ggProject :: Lens' GroupsGet Text+ggProject+  = lens _ggProject (\ s a -> s{_ggProject = a})++-- | Name of the Group resource to return.+ggGroupName :: Lens' GroupsGet Text+ggGroupName+  = lens _ggGroupName (\ s a -> s{_ggGroupName = a})++instance GoogleRequest GroupsGet where+        type Rs GroupsGet = Group+        requestClient GroupsGet{..}+          = go _ggProject _ggGroupName (Just AltJSON)+              userAccountsService+          where go+                  = buildClient (Proxy :: Proxy GroupsGetResource)+                      mempty
+ gen/Network/Google/Resource/CloudUserAccounts/Groups/Insert.hs view
@@ -0,0 +1,99 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.CloudUserAccounts.Groups.Insert+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates a Group resource in the specified project using the data+-- included in the request.+--+-- /See:/ <https://cloud.google.com/compute/docs/access/user-accounts/api/latest/ Cloud User Accounts API Reference> for @clouduseraccounts.groups.insert@.+module Network.Google.Resource.CloudUserAccounts.Groups.Insert+    (+    -- * REST Resource+      GroupsInsertResource++    -- * Creating a Request+    , groupsInsert+    , GroupsInsert++    -- * Request Lenses+    , giProject+    , giPayload+    ) where++import           Network.Google.Prelude+import           Network.Google.UserAccounts.Types++-- | A resource alias for @clouduseraccounts.groups.insert@ method which the+-- 'GroupsInsert' request conforms to.+type GroupsInsertResource =+     "clouduseraccounts" :>+       "beta" :>+         "projects" :>+           Capture "project" Text :>+             "global" :>+               "groups" :>+                 QueryParam "alt" AltJSON :>+                   ReqBody '[JSON] Group :> Post '[JSON] Operation++-- | Creates a Group resource in the specified project using the data+-- included in the request.+--+-- /See:/ 'groupsInsert' smart constructor.+data GroupsInsert = GroupsInsert+    { _giProject :: !Text+    , _giPayload :: !Group+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'GroupsInsert' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'giProject'+--+-- * 'giPayload'+groupsInsert+    :: Text -- ^ 'giProject'+    -> Group -- ^ 'giPayload'+    -> GroupsInsert+groupsInsert pGiProject_ pGiPayload_ =+    GroupsInsert+    { _giProject = pGiProject_+    , _giPayload = pGiPayload_+    }++-- | Project ID for this request.+giProject :: Lens' GroupsInsert Text+giProject+  = lens _giProject (\ s a -> s{_giProject = a})++-- | Multipart request metadata.+giPayload :: Lens' GroupsInsert Group+giPayload+  = lens _giPayload (\ s a -> s{_giPayload = a})++instance GoogleRequest GroupsInsert where+        type Rs GroupsInsert = Operation+        requestClient GroupsInsert{..}+          = go _giProject (Just AltJSON) _giPayload+              userAccountsService+          where go+                  = buildClient (Proxy :: Proxy GroupsInsertResource)+                      mempty
+ gen/Network/Google/Resource/CloudUserAccounts/Groups/List.hs view
@@ -0,0 +1,150 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.CloudUserAccounts.Groups.List+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves the list of groups contained within the specified project.+--+-- /See:/ <https://cloud.google.com/compute/docs/access/user-accounts/api/latest/ Cloud User Accounts API Reference> for @clouduseraccounts.groups.list@.+module Network.Google.Resource.CloudUserAccounts.Groups.List+    (+    -- * REST Resource+      GroupsListResource++    -- * Creating a Request+    , groupsList+    , GroupsList++    -- * Request Lenses+    , glOrderBy+    , glProject+    , glFilter+    , glPageToken+    , glMaxResults+    ) where++import           Network.Google.Prelude+import           Network.Google.UserAccounts.Types++-- | A resource alias for @clouduseraccounts.groups.list@ method which the+-- 'GroupsList' request conforms to.+type GroupsListResource =+     "clouduseraccounts" :>+       "beta" :>+         "projects" :>+           Capture "project" Text :>+             "global" :>+               "groups" :>+                 QueryParam "orderBy" Text :>+                   QueryParam "filter" Text :>+                     QueryParam "pageToken" Text :>+                       QueryParam "maxResults" (Textual Word32) :>+                         QueryParam "alt" AltJSON :> Get '[JSON] GroupList++-- | Retrieves the list of groups contained within the specified project.+--+-- /See:/ 'groupsList' smart constructor.+data GroupsList = GroupsList+    { _glOrderBy    :: !(Maybe Text)+    , _glProject    :: !Text+    , _glFilter     :: !(Maybe Text)+    , _glPageToken  :: !(Maybe Text)+    , _glMaxResults :: !(Textual Word32)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'GroupsList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'glOrderBy'+--+-- * 'glProject'+--+-- * 'glFilter'+--+-- * 'glPageToken'+--+-- * 'glMaxResults'+groupsList+    :: Text -- ^ 'glProject'+    -> GroupsList+groupsList pGlProject_ =+    GroupsList+    { _glOrderBy = Nothing+    , _glProject = pGlProject_+    , _glFilter = Nothing+    , _glPageToken = Nothing+    , _glMaxResults = 500+    }++-- | Sorts list results by a certain order. By default, results are returned+-- in alphanumerical order based on the resource name. You can also sort+-- results in descending order based on the creation timestamp using+-- orderBy=\"creationTimestamp desc\". This sorts results based on the+-- creationTimestamp field in reverse chronological order (newest result+-- first). Use this to sort resources like operations so that the newest+-- operation is returned first. Currently, only sorting by name or+-- creationTimestamp desc is supported.+glOrderBy :: Lens' GroupsList (Maybe Text)+glOrderBy+  = lens _glOrderBy (\ s a -> s{_glOrderBy = a})++-- | Project ID for this request.+glProject :: Lens' GroupsList Text+glProject+  = lens _glProject (\ s a -> s{_glProject = a})++-- | Sets a filter expression for filtering listed resources, in the form+-- filter={expression}. Your {expression} must be in the format: FIELD_NAME+-- COMPARISON_STRING LITERAL_STRING. The FIELD_NAME is the name of the+-- field you want to compare. Only atomic field types are supported+-- (string, number, boolean). The COMPARISON_STRING must be either eq+-- (equals) or ne (not equals). The LITERAL_STRING is the string value to+-- filter to. The literal value must be valid for the type of field+-- (string, number, boolean). For string fields, the literal value is+-- interpreted as a regular expression using RE2 syntax. The literal value+-- must match the entire field. For example, filter=name ne+-- example-instance.+glFilter :: Lens' GroupsList (Maybe Text)+glFilter = lens _glFilter (\ s a -> s{_glFilter = a})++-- | Specifies a page token to use. Use this parameter if you want to list+-- the next page of results. Set pageToken to the nextPageToken returned by+-- a previous list request.+glPageToken :: Lens' GroupsList (Maybe Text)+glPageToken+  = lens _glPageToken (\ s a -> s{_glPageToken = a})++-- | Maximum count of results to be returned.+glMaxResults :: Lens' GroupsList Word32+glMaxResults+  = lens _glMaxResults (\ s a -> s{_glMaxResults = a})+      . _Coerce++instance GoogleRequest GroupsList where+        type Rs GroupsList = GroupList+        requestClient GroupsList{..}+          = go _glProject _glOrderBy _glFilter _glPageToken+              (Just _glMaxResults)+              (Just AltJSON)+              userAccountsService+          where go+                  = buildClient (Proxy :: Proxy GroupsListResource)+                      mempty
+ gen/Network/Google/Resource/CloudUserAccounts/Groups/RemoveMember.hs view
@@ -0,0 +1,113 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.CloudUserAccounts.Groups.RemoveMember+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Removes users from the specified group.+--+-- /See:/ <https://cloud.google.com/compute/docs/access/user-accounts/api/latest/ Cloud User Accounts API Reference> for @clouduseraccounts.groups.removeMember@.+module Network.Google.Resource.CloudUserAccounts.Groups.RemoveMember+    (+    -- * REST Resource+      GroupsRemoveMemberResource++    -- * Creating a Request+    , groupsRemoveMember+    , GroupsRemoveMember++    -- * Request Lenses+    , grmProject+    , grmPayload+    , grmGroupName+    ) where++import           Network.Google.Prelude+import           Network.Google.UserAccounts.Types++-- | A resource alias for @clouduseraccounts.groups.removeMember@ method which the+-- 'GroupsRemoveMember' request conforms to.+type GroupsRemoveMemberResource =+     "clouduseraccounts" :>+       "beta" :>+         "projects" :>+           Capture "project" Text :>+             "global" :>+               "groups" :>+                 Capture "groupName" Text :>+                   "removeMember" :>+                     QueryParam "alt" AltJSON :>+                       ReqBody '[JSON] GroupsRemoveMemberRequest :>+                         Post '[JSON] Operation++-- | Removes users from the specified group.+--+-- /See:/ 'groupsRemoveMember' smart constructor.+data GroupsRemoveMember = GroupsRemoveMember+    { _grmProject   :: !Text+    , _grmPayload   :: !GroupsRemoveMemberRequest+    , _grmGroupName :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'GroupsRemoveMember' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'grmProject'+--+-- * 'grmPayload'+--+-- * 'grmGroupName'+groupsRemoveMember+    :: Text -- ^ 'grmProject'+    -> GroupsRemoveMemberRequest -- ^ 'grmPayload'+    -> Text -- ^ 'grmGroupName'+    -> GroupsRemoveMember+groupsRemoveMember pGrmProject_ pGrmPayload_ pGrmGroupName_ =+    GroupsRemoveMember+    { _grmProject = pGrmProject_+    , _grmPayload = pGrmPayload_+    , _grmGroupName = pGrmGroupName_+    }++-- | Project ID for this request.+grmProject :: Lens' GroupsRemoveMember Text+grmProject+  = lens _grmProject (\ s a -> s{_grmProject = a})++-- | Multipart request metadata.+grmPayload :: Lens' GroupsRemoveMember GroupsRemoveMemberRequest+grmPayload+  = lens _grmPayload (\ s a -> s{_grmPayload = a})++-- | Name of the group for this request.+grmGroupName :: Lens' GroupsRemoveMember Text+grmGroupName+  = lens _grmGroupName (\ s a -> s{_grmGroupName = a})++instance GoogleRequest GroupsRemoveMember where+        type Rs GroupsRemoveMember = Operation+        requestClient GroupsRemoveMember{..}+          = go _grmProject _grmGroupName (Just AltJSON)+              _grmPayload+              userAccountsService+          where go+                  = buildClient+                      (Proxy :: Proxy GroupsRemoveMemberResource)+                      mempty
+ gen/Network/Google/Resource/CloudUserAccounts/Linux/GetAuthorizedKeysView.hs view
@@ -0,0 +1,141 @@+{-# 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.CloudUserAccounts.Linux.GetAuthorizedKeysView+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns a list of authorized public keys for a specific user account.+--+-- /See:/ <https://cloud.google.com/compute/docs/access/user-accounts/api/latest/ Cloud User Accounts API Reference> for @clouduseraccounts.linux.getAuthorizedKeysView@.+module Network.Google.Resource.CloudUserAccounts.Linux.GetAuthorizedKeysView+    (+    -- * REST Resource+      LinuxGetAuthorizedKeysViewResource++    -- * Creating a Request+    , linuxGetAuthorizedKeysView+    , LinuxGetAuthorizedKeysView++    -- * Request Lenses+    , lgakvProject+    , lgakvZone+    , lgakvUser+    , lgakvLogin+    , lgakvInstance+    ) where++import           Network.Google.Prelude+import           Network.Google.UserAccounts.Types++-- | A resource alias for @clouduseraccounts.linux.getAuthorizedKeysView@ method which the+-- 'LinuxGetAuthorizedKeysView' request conforms to.+type LinuxGetAuthorizedKeysViewResource =+     "clouduseraccounts" :>+       "beta" :>+         "projects" :>+           Capture "project" Text :>+             "zones" :>+               Capture "zone" Text :>+                 "authorizedKeysView" :>+                   Capture "user" Text :>+                     QueryParam "instance" Text :>+                       QueryParam "login" Bool :>+                         QueryParam "alt" AltJSON :>+                           Post '[JSON] LinuxGetAuthorizedKeysViewResponse++-- | Returns a list of authorized public keys for a specific user account.+--+-- /See:/ 'linuxGetAuthorizedKeysView' smart constructor.+data LinuxGetAuthorizedKeysView = LinuxGetAuthorizedKeysView+    { _lgakvProject  :: !Text+    , _lgakvZone     :: !Text+    , _lgakvUser     :: !Text+    , _lgakvLogin    :: !(Maybe Bool)+    , _lgakvInstance :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'LinuxGetAuthorizedKeysView' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lgakvProject'+--+-- * 'lgakvZone'+--+-- * 'lgakvUser'+--+-- * 'lgakvLogin'+--+-- * 'lgakvInstance'+linuxGetAuthorizedKeysView+    :: Text -- ^ 'lgakvProject'+    -> Text -- ^ 'lgakvZone'+    -> Text -- ^ 'lgakvUser'+    -> Text -- ^ 'lgakvInstance'+    -> LinuxGetAuthorizedKeysView+linuxGetAuthorizedKeysView pLgakvProject_ pLgakvZone_ pLgakvUser_ pLgakvInstance_ =+    LinuxGetAuthorizedKeysView+    { _lgakvProject = pLgakvProject_+    , _lgakvZone = pLgakvZone_+    , _lgakvUser = pLgakvUser_+    , _lgakvLogin = Nothing+    , _lgakvInstance = pLgakvInstance_+    }++-- | Project ID for this request.+lgakvProject :: Lens' LinuxGetAuthorizedKeysView Text+lgakvProject+  = lens _lgakvProject (\ s a -> s{_lgakvProject = a})++-- | Name of the zone for this request.+lgakvZone :: Lens' LinuxGetAuthorizedKeysView Text+lgakvZone+  = lens _lgakvZone (\ s a -> s{_lgakvZone = a})++-- | The user account for which you want to get a list of authorized public+-- keys.+lgakvUser :: Lens' LinuxGetAuthorizedKeysView Text+lgakvUser+  = lens _lgakvUser (\ s a -> s{_lgakvUser = a})++-- | Whether the view was requested as part of a user-initiated login.+lgakvLogin :: Lens' LinuxGetAuthorizedKeysView (Maybe Bool)+lgakvLogin+  = lens _lgakvLogin (\ s a -> s{_lgakvLogin = a})++-- | The fully-qualified URL of the virtual machine requesting the view.+lgakvInstance :: Lens' LinuxGetAuthorizedKeysView Text+lgakvInstance+  = lens _lgakvInstance+      (\ s a -> s{_lgakvInstance = a})++instance GoogleRequest LinuxGetAuthorizedKeysView+         where+        type Rs LinuxGetAuthorizedKeysView =+             LinuxGetAuthorizedKeysViewResponse+        requestClient LinuxGetAuthorizedKeysView{..}+          = go _lgakvProject _lgakvZone _lgakvUser+              (Just _lgakvInstance)+              _lgakvLogin+              (Just AltJSON)+              userAccountsService+          where go+                  = buildClient+                      (Proxy :: Proxy LinuxGetAuthorizedKeysViewResource)+                      mempty
+ gen/Network/Google/Resource/CloudUserAccounts/Linux/GetLinuxAccountViews.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.CloudUserAccounts.Linux.GetLinuxAccountViews+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves a list of user accounts for an instance within a specific+-- project.+--+-- /See:/ <https://cloud.google.com/compute/docs/access/user-accounts/api/latest/ Cloud User Accounts API Reference> for @clouduseraccounts.linux.getLinuxAccountViews@.+module Network.Google.Resource.CloudUserAccounts.Linux.GetLinuxAccountViews+    (+    -- * REST Resource+      LinuxGetLinuxAccountViewsResource++    -- * Creating a Request+    , linuxGetLinuxAccountViews+    , LinuxGetLinuxAccountViews++    -- * Request Lenses+    , lglavOrderBy+    , lglavProject+    , lglavZone+    , lglavFilter+    , lglavPageToken+    , lglavMaxResults+    , lglavInstance+    ) where++import           Network.Google.Prelude+import           Network.Google.UserAccounts.Types++-- | A resource alias for @clouduseraccounts.linux.getLinuxAccountViews@ method which the+-- 'LinuxGetLinuxAccountViews' request conforms to.+type LinuxGetLinuxAccountViewsResource =+     "clouduseraccounts" :>+       "beta" :>+         "projects" :>+           Capture "project" Text :>+             "zones" :>+               Capture "zone" Text :>+                 "linuxAccountViews" :>+                   QueryParam "instance" Text :>+                     QueryParam "orderBy" Text :>+                       QueryParam "filter" Text :>+                         QueryParam "pageToken" Text :>+                           QueryParam "maxResults" (Textual Word32) :>+                             QueryParam "alt" AltJSON :>+                               Post '[JSON] LinuxGetLinuxAccountViewsResponse++-- | Retrieves a list of user accounts for an instance within a specific+-- project.+--+-- /See:/ 'linuxGetLinuxAccountViews' smart constructor.+data LinuxGetLinuxAccountViews = LinuxGetLinuxAccountViews+    { _lglavOrderBy    :: !(Maybe Text)+    , _lglavProject    :: !Text+    , _lglavZone       :: !Text+    , _lglavFilter     :: !(Maybe Text)+    , _lglavPageToken  :: !(Maybe Text)+    , _lglavMaxResults :: !(Textual Word32)+    , _lglavInstance   :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'LinuxGetLinuxAccountViews' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lglavOrderBy'+--+-- * 'lglavProject'+--+-- * 'lglavZone'+--+-- * 'lglavFilter'+--+-- * 'lglavPageToken'+--+-- * 'lglavMaxResults'+--+-- * 'lglavInstance'+linuxGetLinuxAccountViews+    :: Text -- ^ 'lglavProject'+    -> Text -- ^ 'lglavZone'+    -> Text -- ^ 'lglavInstance'+    -> LinuxGetLinuxAccountViews+linuxGetLinuxAccountViews pLglavProject_ pLglavZone_ pLglavInstance_ =+    LinuxGetLinuxAccountViews+    { _lglavOrderBy = Nothing+    , _lglavProject = pLglavProject_+    , _lglavZone = pLglavZone_+    , _lglavFilter = Nothing+    , _lglavPageToken = Nothing+    , _lglavMaxResults = 500+    , _lglavInstance = pLglavInstance_+    }++-- | Sorts list results by a certain order. By default, results are returned+-- in alphanumerical order based on the resource name. You can also sort+-- results in descending order based on the creation timestamp using+-- orderBy=\"creationTimestamp desc\". This sorts results based on the+-- creationTimestamp field in reverse chronological order (newest result+-- first). Use this to sort resources like operations so that the newest+-- operation is returned first. Currently, only sorting by name or+-- creationTimestamp desc is supported.+lglavOrderBy :: Lens' LinuxGetLinuxAccountViews (Maybe Text)+lglavOrderBy+  = lens _lglavOrderBy (\ s a -> s{_lglavOrderBy = a})++-- | Project ID for this request.+lglavProject :: Lens' LinuxGetLinuxAccountViews Text+lglavProject+  = lens _lglavProject (\ s a -> s{_lglavProject = a})++-- | Name of the zone for this request.+lglavZone :: Lens' LinuxGetLinuxAccountViews Text+lglavZone+  = lens _lglavZone (\ s a -> s{_lglavZone = a})++-- | Sets a filter expression for filtering listed resources, in the form+-- filter={expression}. Your {expression} must be in the format: FIELD_NAME+-- COMPARISON_STRING LITERAL_STRING. The FIELD_NAME is the name of the+-- field you want to compare. Only atomic field types are supported+-- (string, number, boolean). The COMPARISON_STRING must be either eq+-- (equals) or ne (not equals). The LITERAL_STRING is the string value to+-- filter to. The literal value must be valid for the type of field+-- (string, number, boolean). For string fields, the literal value is+-- interpreted as a regular expression using RE2 syntax. The literal value+-- must match the entire field. For example, filter=name ne+-- example-instance.+lglavFilter :: Lens' LinuxGetLinuxAccountViews (Maybe Text)+lglavFilter+  = lens _lglavFilter (\ s a -> s{_lglavFilter = a})++-- | Specifies a page token to use. Use this parameter if you want to list+-- the next page of results. Set pageToken to the nextPageToken returned by+-- a previous list request.+lglavPageToken :: Lens' LinuxGetLinuxAccountViews (Maybe Text)+lglavPageToken+  = lens _lglavPageToken+      (\ s a -> s{_lglavPageToken = a})++-- | Maximum count of results to be returned.+lglavMaxResults :: Lens' LinuxGetLinuxAccountViews Word32+lglavMaxResults+  = lens _lglavMaxResults+      (\ s a -> s{_lglavMaxResults = a})+      . _Coerce++-- | The fully-qualified URL of the virtual machine requesting the views.+lglavInstance :: Lens' LinuxGetLinuxAccountViews Text+lglavInstance+  = lens _lglavInstance+      (\ s a -> s{_lglavInstance = a})++instance GoogleRequest LinuxGetLinuxAccountViews+         where+        type Rs LinuxGetLinuxAccountViews =+             LinuxGetLinuxAccountViewsResponse+        requestClient LinuxGetLinuxAccountViews{..}+          = go _lglavProject _lglavZone (Just _lglavInstance)+              _lglavOrderBy+              _lglavFilter+              _lglavPageToken+              (Just _lglavMaxResults)+              (Just AltJSON)+              userAccountsService+          where go+                  = buildClient+                      (Proxy :: Proxy LinuxGetLinuxAccountViewsResource)+                      mempty
+ gen/Network/Google/Resource/CloudUserAccounts/Users/AddPublicKey.hs view
@@ -0,0 +1,113 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.CloudUserAccounts.Users.AddPublicKey+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Adds a public key to the specified User resource with the data included+-- in the request.+--+-- /See:/ <https://cloud.google.com/compute/docs/access/user-accounts/api/latest/ Cloud User Accounts API Reference> for @clouduseraccounts.users.addPublicKey@.+module Network.Google.Resource.CloudUserAccounts.Users.AddPublicKey+    (+    -- * REST Resource+      UsersAddPublicKeyResource++    -- * Creating a Request+    , usersAddPublicKey+    , UsersAddPublicKey++    -- * Request Lenses+    , uapkProject+    , uapkPayload+    , uapkUser+    ) where++import           Network.Google.Prelude+import           Network.Google.UserAccounts.Types++-- | A resource alias for @clouduseraccounts.users.addPublicKey@ method which the+-- 'UsersAddPublicKey' request conforms to.+type UsersAddPublicKeyResource =+     "clouduseraccounts" :>+       "beta" :>+         "projects" :>+           Capture "project" Text :>+             "global" :>+               "users" :>+                 Capture "user" Text :>+                   "addPublicKey" :>+                     QueryParam "alt" AltJSON :>+                       ReqBody '[JSON] PublicKey :> Post '[JSON] Operation++-- | Adds a public key to the specified User resource with the data included+-- in the request.+--+-- /See:/ 'usersAddPublicKey' smart constructor.+data UsersAddPublicKey = UsersAddPublicKey+    { _uapkProject :: !Text+    , _uapkPayload :: !PublicKey+    , _uapkUser    :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'UsersAddPublicKey' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'uapkProject'+--+-- * 'uapkPayload'+--+-- * 'uapkUser'+usersAddPublicKey+    :: Text -- ^ 'uapkProject'+    -> PublicKey -- ^ 'uapkPayload'+    -> Text -- ^ 'uapkUser'+    -> UsersAddPublicKey+usersAddPublicKey pUapkProject_ pUapkPayload_ pUapkUser_ =+    UsersAddPublicKey+    { _uapkProject = pUapkProject_+    , _uapkPayload = pUapkPayload_+    , _uapkUser = pUapkUser_+    }++-- | Project ID for this request.+uapkProject :: Lens' UsersAddPublicKey Text+uapkProject+  = lens _uapkProject (\ s a -> s{_uapkProject = a})++-- | Multipart request metadata.+uapkPayload :: Lens' UsersAddPublicKey PublicKey+uapkPayload+  = lens _uapkPayload (\ s a -> s{_uapkPayload = a})++-- | Name of the user for this request.+uapkUser :: Lens' UsersAddPublicKey Text+uapkUser = lens _uapkUser (\ s a -> s{_uapkUser = a})++instance GoogleRequest UsersAddPublicKey where+        type Rs UsersAddPublicKey = Operation+        requestClient UsersAddPublicKey{..}+          = go _uapkProject _uapkUser (Just AltJSON)+              _uapkPayload+              userAccountsService+          where go+                  = buildClient+                      (Proxy :: Proxy UsersAddPublicKeyResource)+                      mempty
+ gen/Network/Google/Resource/CloudUserAccounts/Users/Delete.hs view
@@ -0,0 +1,96 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.CloudUserAccounts.Users.Delete+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes the specified User resource.+--+-- /See:/ <https://cloud.google.com/compute/docs/access/user-accounts/api/latest/ Cloud User Accounts API Reference> for @clouduseraccounts.users.delete@.+module Network.Google.Resource.CloudUserAccounts.Users.Delete+    (+    -- * REST Resource+      UsersDeleteResource++    -- * Creating a Request+    , usersDelete+    , UsersDelete++    -- * Request Lenses+    , udProject+    , udUser+    ) where++import           Network.Google.Prelude+import           Network.Google.UserAccounts.Types++-- | A resource alias for @clouduseraccounts.users.delete@ method which the+-- 'UsersDelete' request conforms to.+type UsersDeleteResource =+     "clouduseraccounts" :>+       "beta" :>+         "projects" :>+           Capture "project" Text :>+             "global" :>+               "users" :>+                 Capture "user" Text :>+                   QueryParam "alt" AltJSON :> Delete '[JSON] Operation++-- | Deletes the specified User resource.+--+-- /See:/ 'usersDelete' smart constructor.+data UsersDelete = UsersDelete+    { _udProject :: !Text+    , _udUser    :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'UsersDelete' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'udProject'+--+-- * 'udUser'+usersDelete+    :: Text -- ^ 'udProject'+    -> Text -- ^ 'udUser'+    -> UsersDelete+usersDelete pUdProject_ pUdUser_ =+    UsersDelete+    { _udProject = pUdProject_+    , _udUser = pUdUser_+    }++-- | Project ID for this request.+udProject :: Lens' UsersDelete Text+udProject+  = lens _udProject (\ s a -> s{_udProject = a})++-- | Name of the user resource to delete.+udUser :: Lens' UsersDelete Text+udUser = lens _udUser (\ s a -> s{_udUser = a})++instance GoogleRequest UsersDelete where+        type Rs UsersDelete = Operation+        requestClient UsersDelete{..}+          = go _udProject _udUser (Just AltJSON)+              userAccountsService+          where go+                  = buildClient (Proxy :: Proxy UsersDeleteResource)+                      mempty
+ gen/Network/Google/Resource/CloudUserAccounts/Users/Get.hs view
@@ -0,0 +1,96 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.CloudUserAccounts.Users.Get+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns the specified User resource.+--+-- /See:/ <https://cloud.google.com/compute/docs/access/user-accounts/api/latest/ Cloud User Accounts API Reference> for @clouduseraccounts.users.get@.+module Network.Google.Resource.CloudUserAccounts.Users.Get+    (+    -- * REST Resource+      UsersGetResource++    -- * Creating a Request+    , usersGet+    , UsersGet++    -- * Request Lenses+    , ugProject+    , ugUser+    ) where++import           Network.Google.Prelude+import           Network.Google.UserAccounts.Types++-- | A resource alias for @clouduseraccounts.users.get@ method which the+-- 'UsersGet' request conforms to.+type UsersGetResource =+     "clouduseraccounts" :>+       "beta" :>+         "projects" :>+           Capture "project" Text :>+             "global" :>+               "users" :>+                 Capture "user" Text :>+                   QueryParam "alt" AltJSON :> Get '[JSON] User++-- | Returns the specified User resource.+--+-- /See:/ 'usersGet' smart constructor.+data UsersGet = UsersGet+    { _ugProject :: !Text+    , _ugUser    :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'UsersGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ugProject'+--+-- * 'ugUser'+usersGet+    :: Text -- ^ 'ugProject'+    -> Text -- ^ 'ugUser'+    -> UsersGet+usersGet pUgProject_ pUgUser_ =+    UsersGet+    { _ugProject = pUgProject_+    , _ugUser = pUgUser_+    }++-- | Project ID for this request.+ugProject :: Lens' UsersGet Text+ugProject+  = lens _ugProject (\ s a -> s{_ugProject = a})++-- | Name of the user resource to return.+ugUser :: Lens' UsersGet Text+ugUser = lens _ugUser (\ s a -> s{_ugUser = a})++instance GoogleRequest UsersGet where+        type Rs UsersGet = User+        requestClient UsersGet{..}+          = go _ugProject _ugUser (Just AltJSON)+              userAccountsService+          where go+                  = buildClient (Proxy :: Proxy UsersGetResource)+                      mempty
+ gen/Network/Google/Resource/CloudUserAccounts/Users/Insert.hs view
@@ -0,0 +1,99 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.CloudUserAccounts.Users.Insert+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates a User resource in the specified project using the data included+-- in the request.+--+-- /See:/ <https://cloud.google.com/compute/docs/access/user-accounts/api/latest/ Cloud User Accounts API Reference> for @clouduseraccounts.users.insert@.+module Network.Google.Resource.CloudUserAccounts.Users.Insert+    (+    -- * REST Resource+      UsersInsertResource++    -- * Creating a Request+    , usersInsert+    , UsersInsert++    -- * Request Lenses+    , uiProject+    , uiPayload+    ) where++import           Network.Google.Prelude+import           Network.Google.UserAccounts.Types++-- | A resource alias for @clouduseraccounts.users.insert@ method which the+-- 'UsersInsert' request conforms to.+type UsersInsertResource =+     "clouduseraccounts" :>+       "beta" :>+         "projects" :>+           Capture "project" Text :>+             "global" :>+               "users" :>+                 QueryParam "alt" AltJSON :>+                   ReqBody '[JSON] User :> Post '[JSON] Operation++-- | Creates a User resource in the specified project using the data included+-- in the request.+--+-- /See:/ 'usersInsert' smart constructor.+data UsersInsert = UsersInsert+    { _uiProject :: !Text+    , _uiPayload :: !User+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'UsersInsert' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'uiProject'+--+-- * 'uiPayload'+usersInsert+    :: Text -- ^ 'uiProject'+    -> User -- ^ 'uiPayload'+    -> UsersInsert+usersInsert pUiProject_ pUiPayload_ =+    UsersInsert+    { _uiProject = pUiProject_+    , _uiPayload = pUiPayload_+    }++-- | Project ID for this request.+uiProject :: Lens' UsersInsert Text+uiProject+  = lens _uiProject (\ s a -> s{_uiProject = a})++-- | Multipart request metadata.+uiPayload :: Lens' UsersInsert User+uiPayload+  = lens _uiPayload (\ s a -> s{_uiPayload = a})++instance GoogleRequest UsersInsert where+        type Rs UsersInsert = Operation+        requestClient UsersInsert{..}+          = go _uiProject (Just AltJSON) _uiPayload+              userAccountsService+          where go+                  = buildClient (Proxy :: Proxy UsersInsertResource)+                      mempty
+ gen/Network/Google/Resource/CloudUserAccounts/Users/List.hs view
@@ -0,0 +1,150 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.CloudUserAccounts.Users.List+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves a list of users contained within the specified project.+--+-- /See:/ <https://cloud.google.com/compute/docs/access/user-accounts/api/latest/ Cloud User Accounts API Reference> for @clouduseraccounts.users.list@.+module Network.Google.Resource.CloudUserAccounts.Users.List+    (+    -- * REST Resource+      UsersListResource++    -- * Creating a Request+    , usersList+    , UsersList++    -- * Request Lenses+    , ulOrderBy+    , ulProject+    , ulFilter+    , ulPageToken+    , ulMaxResults+    ) where++import           Network.Google.Prelude+import           Network.Google.UserAccounts.Types++-- | A resource alias for @clouduseraccounts.users.list@ method which the+-- 'UsersList' request conforms to.+type UsersListResource =+     "clouduseraccounts" :>+       "beta" :>+         "projects" :>+           Capture "project" Text :>+             "global" :>+               "users" :>+                 QueryParam "orderBy" Text :>+                   QueryParam "filter" Text :>+                     QueryParam "pageToken" Text :>+                       QueryParam "maxResults" (Textual Word32) :>+                         QueryParam "alt" AltJSON :> Get '[JSON] UserList++-- | Retrieves a list of users contained within the specified project.+--+-- /See:/ 'usersList' smart constructor.+data UsersList = UsersList+    { _ulOrderBy    :: !(Maybe Text)+    , _ulProject    :: !Text+    , _ulFilter     :: !(Maybe Text)+    , _ulPageToken  :: !(Maybe Text)+    , _ulMaxResults :: !(Textual Word32)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'UsersList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ulOrderBy'+--+-- * 'ulProject'+--+-- * 'ulFilter'+--+-- * 'ulPageToken'+--+-- * 'ulMaxResults'+usersList+    :: Text -- ^ 'ulProject'+    -> UsersList+usersList pUlProject_ =+    UsersList+    { _ulOrderBy = Nothing+    , _ulProject = pUlProject_+    , _ulFilter = Nothing+    , _ulPageToken = Nothing+    , _ulMaxResults = 500+    }++-- | Sorts list results by a certain order. By default, results are returned+-- in alphanumerical order based on the resource name. You can also sort+-- results in descending order based on the creation timestamp using+-- orderBy=\"creationTimestamp desc\". This sorts results based on the+-- creationTimestamp field in reverse chronological order (newest result+-- first). Use this to sort resources like operations so that the newest+-- operation is returned first. Currently, only sorting by name or+-- creationTimestamp desc is supported.+ulOrderBy :: Lens' UsersList (Maybe Text)+ulOrderBy+  = lens _ulOrderBy (\ s a -> s{_ulOrderBy = a})++-- | Project ID for this request.+ulProject :: Lens' UsersList Text+ulProject+  = lens _ulProject (\ s a -> s{_ulProject = a})++-- | Sets a filter expression for filtering listed resources, in the form+-- filter={expression}. Your {expression} must be in the format: FIELD_NAME+-- COMPARISON_STRING LITERAL_STRING. The FIELD_NAME is the name of the+-- field you want to compare. Only atomic field types are supported+-- (string, number, boolean). The COMPARISON_STRING must be either eq+-- (equals) or ne (not equals). The LITERAL_STRING is the string value to+-- filter to. The literal value must be valid for the type of field+-- (string, number, boolean). For string fields, the literal value is+-- interpreted as a regular expression using RE2 syntax. The literal value+-- must match the entire field. For example, filter=name ne+-- example-instance.+ulFilter :: Lens' UsersList (Maybe Text)+ulFilter = lens _ulFilter (\ s a -> s{_ulFilter = a})++-- | Specifies a page token to use. Use this parameter if you want to list+-- the next page of results. Set pageToken to the nextPageToken returned by+-- a previous list request.+ulPageToken :: Lens' UsersList (Maybe Text)+ulPageToken+  = lens _ulPageToken (\ s a -> s{_ulPageToken = a})++-- | Maximum count of results to be returned.+ulMaxResults :: Lens' UsersList Word32+ulMaxResults+  = lens _ulMaxResults (\ s a -> s{_ulMaxResults = a})+      . _Coerce++instance GoogleRequest UsersList where+        type Rs UsersList = UserList+        requestClient UsersList{..}+          = go _ulProject _ulOrderBy _ulFilter _ulPageToken+              (Just _ulMaxResults)+              (Just AltJSON)+              userAccountsService+          where go+                  = buildClient (Proxy :: Proxy UsersListResource)+                      mempty
+ gen/Network/Google/Resource/CloudUserAccounts/Users/RemovePublicKey.hs view
@@ -0,0 +1,114 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.CloudUserAccounts.Users.RemovePublicKey+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Removes the specified public key from the user.+--+-- /See:/ <https://cloud.google.com/compute/docs/access/user-accounts/api/latest/ Cloud User Accounts API Reference> for @clouduseraccounts.users.removePublicKey@.+module Network.Google.Resource.CloudUserAccounts.Users.RemovePublicKey+    (+    -- * REST Resource+      UsersRemovePublicKeyResource++    -- * Creating a Request+    , usersRemovePublicKey+    , UsersRemovePublicKey++    -- * Request Lenses+    , urpkProject+    , urpkFingerprint+    , urpkUser+    ) where++import           Network.Google.Prelude+import           Network.Google.UserAccounts.Types++-- | A resource alias for @clouduseraccounts.users.removePublicKey@ method which the+-- 'UsersRemovePublicKey' request conforms to.+type UsersRemovePublicKeyResource =+     "clouduseraccounts" :>+       "beta" :>+         "projects" :>+           Capture "project" Text :>+             "global" :>+               "users" :>+                 Capture "user" Text :>+                   "removePublicKey" :>+                     QueryParam "fingerprint" Text :>+                       QueryParam "alt" AltJSON :> Post '[JSON] Operation++-- | Removes the specified public key from the user.+--+-- /See:/ 'usersRemovePublicKey' smart constructor.+data UsersRemovePublicKey = UsersRemovePublicKey+    { _urpkProject     :: !Text+    , _urpkFingerprint :: !Text+    , _urpkUser        :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'UsersRemovePublicKey' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'urpkProject'+--+-- * 'urpkFingerprint'+--+-- * 'urpkUser'+usersRemovePublicKey+    :: Text -- ^ 'urpkProject'+    -> Text -- ^ 'urpkFingerprint'+    -> Text -- ^ 'urpkUser'+    -> UsersRemovePublicKey+usersRemovePublicKey pUrpkProject_ pUrpkFingerprint_ pUrpkUser_ =+    UsersRemovePublicKey+    { _urpkProject = pUrpkProject_+    , _urpkFingerprint = pUrpkFingerprint_+    , _urpkUser = pUrpkUser_+    }++-- | Project ID for this request.+urpkProject :: Lens' UsersRemovePublicKey Text+urpkProject+  = lens _urpkProject (\ s a -> s{_urpkProject = a})++-- | The fingerprint of the public key to delete. Public keys are identified+-- by their fingerprint, which is defined by RFC4716 to be the MD5 digest+-- of the public key.+urpkFingerprint :: Lens' UsersRemovePublicKey Text+urpkFingerprint+  = lens _urpkFingerprint+      (\ s a -> s{_urpkFingerprint = a})++-- | Name of the user for this request.+urpkUser :: Lens' UsersRemovePublicKey Text+urpkUser = lens _urpkUser (\ s a -> s{_urpkUser = a})++instance GoogleRequest UsersRemovePublicKey where+        type Rs UsersRemovePublicKey = Operation+        requestClient UsersRemovePublicKey{..}+          = go _urpkProject _urpkUser (Just _urpkFingerprint)+              (Just AltJSON)+              userAccountsService+          where go+                  = buildClient+                      (Proxy :: Proxy UsersRemovePublicKeyResource)+                      mempty
+ gen/Network/Google/UserAccounts.hs view
@@ -0,0 +1,291 @@+{-# LANGUAGE DataKinds         #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE TypeOperators     #-}++{-# OPTIONS_GHC -fno-warn-unused-imports    #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}++-- |+-- Module      : Network.Google.UserAccounts+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- API for the Google Cloud User Accounts service.+--+-- /See:/ <https://cloud.google.com/compute/docs/access/user-accounts/api/latest/ Cloud User Accounts API Reference>+module Network.Google.UserAccounts+    (+    -- * Service Configuration+      userAccountsService++    -- * API Declaration+    , UserAccountsAPI++    -- * Resources++    -- ** clouduseraccounts.globalAccountsOperations.delete+    , module Network.Google.Resource.CloudUserAccounts.GlobalAccountsOperations.Delete++    -- ** clouduseraccounts.globalAccountsOperations.get+    , module Network.Google.Resource.CloudUserAccounts.GlobalAccountsOperations.Get++    -- ** clouduseraccounts.globalAccountsOperations.list+    , module Network.Google.Resource.CloudUserAccounts.GlobalAccountsOperations.List++    -- ** clouduseraccounts.groups.addMember+    , module Network.Google.Resource.CloudUserAccounts.Groups.AddMember++    -- ** clouduseraccounts.groups.delete+    , module Network.Google.Resource.CloudUserAccounts.Groups.Delete++    -- ** clouduseraccounts.groups.get+    , module Network.Google.Resource.CloudUserAccounts.Groups.Get++    -- ** clouduseraccounts.groups.insert+    , module Network.Google.Resource.CloudUserAccounts.Groups.Insert++    -- ** clouduseraccounts.groups.list+    , module Network.Google.Resource.CloudUserAccounts.Groups.List++    -- ** clouduseraccounts.groups.removeMember+    , module Network.Google.Resource.CloudUserAccounts.Groups.RemoveMember++    -- ** clouduseraccounts.linux.getAuthorizedKeysView+    , module Network.Google.Resource.CloudUserAccounts.Linux.GetAuthorizedKeysView++    -- ** clouduseraccounts.linux.getLinuxAccountViews+    , module Network.Google.Resource.CloudUserAccounts.Linux.GetLinuxAccountViews++    -- ** clouduseraccounts.users.addPublicKey+    , module Network.Google.Resource.CloudUserAccounts.Users.AddPublicKey++    -- ** clouduseraccounts.users.delete+    , module Network.Google.Resource.CloudUserAccounts.Users.Delete++    -- ** clouduseraccounts.users.get+    , module Network.Google.Resource.CloudUserAccounts.Users.Get++    -- ** clouduseraccounts.users.insert+    , module Network.Google.Resource.CloudUserAccounts.Users.Insert++    -- ** clouduseraccounts.users.list+    , module Network.Google.Resource.CloudUserAccounts.Users.List++    -- ** clouduseraccounts.users.removePublicKey+    , module Network.Google.Resource.CloudUserAccounts.Users.RemovePublicKey++    -- * Types++    -- ** OperationWarningsItemDataItem+    , OperationWarningsItemDataItem+    , operationWarningsItemDataItem+    , owidiValue+    , owidiKey++    -- ** OperationWarningsItemCode+    , OperationWarningsItemCode (..)++    -- ** OperationList+    , OperationList+    , operationList+    , olNextPageToken+    , olKind+    , olItems+    , olSelfLink+    , olId++    -- ** Group+    , Group+    , group'+    , gKind+    , gMembers+    , gSelfLink+    , gName+    , gCreationTimestamp+    , gId+    , gDescription++    -- ** GroupList+    , GroupList+    , groupList+    , glNextPageToken+    , glKind+    , glItems+    , glSelfLink+    , glId++    -- ** Operation+    , Operation+    , operation+    , oTargetId+    , oStatus+    , oInsertTime+    , oProgress+    , oStartTime+    , oKind+    , oError+    , oHTTPErrorMessage+    , oZone+    , oWarnings+    , oHTTPErrorStatusCode+    , oUser+    , oSelfLink+    , oName+    , oStatusMessage+    , oCreationTimestamp+    , oEndTime+    , oId+    , oOperationType+    , oRegion+    , oTargetLink+    , oClientOperationId++    -- ** UserList+    , UserList+    , userList+    , ulNextPageToken+    , ulKind+    , ulItems+    , ulSelfLink+    , ulId++    -- ** PublicKey+    , PublicKey+    , publicKey+    , pkFingerprint+    , pkKey+    , pkCreationTimestamp+    , pkExpirationTimestamp+    , pkDescription++    -- ** OperationStatus+    , OperationStatus (..)++    -- ** LinuxAccountViews+    , LinuxAccountViews+    , linuxAccountViews+    , lavUserViews+    , lavKind+    , lavGroupViews++    -- ** User+    , User+    , user+    , uGroups+    , uPublicKeys+    , uKind+    , uOwner+    , uSelfLink+    , uName+    , uCreationTimestamp+    , uId+    , uDescription++    -- ** GroupsAddMemberRequest+    , GroupsAddMemberRequest+    , groupsAddMemberRequest+    , gamrUsers++    -- ** LinuxGroupView+    , LinuxGroupView+    , linuxGroupView+    , lgvMembers+    , lgvGid+    , lgvGroupName++    -- ** LinuxUserView+    , LinuxUserView+    , linuxUserView+    , luvGecos+    , luvUid+    , luvUsername+    , luvShell+    , luvGid+    , luvHomeDirectory++    -- ** LinuxGetLinuxAccountViewsResponse+    , LinuxGetLinuxAccountViewsResponse+    , linuxGetLinuxAccountViewsResponse+    , lglavrResource++    -- ** OperationError+    , OperationError+    , operationError+    , oeErrors++    -- ** LinuxGetAuthorizedKeysViewResponse+    , LinuxGetAuthorizedKeysViewResponse+    , linuxGetAuthorizedKeysViewResponse+    , lgakvrResource++    -- ** OperationErrorErrorsItem+    , OperationErrorErrorsItem+    , operationErrorErrorsItem+    , oeeiLocation+    , oeeiCode+    , oeeiMessage++    -- ** GroupsRemoveMemberRequest+    , GroupsRemoveMemberRequest+    , groupsRemoveMemberRequest+    , grmrUsers++    -- ** AuthorizedKeysView+    , AuthorizedKeysView+    , authorizedKeysView+    , akvSudoer+    , akvKeys++    -- ** OperationWarningsItem+    , OperationWarningsItem+    , operationWarningsItem+    , owiData+    , owiCode+    , owiMessage+    ) where++import           Network.Google.Prelude+import           Network.Google.Resource.CloudUserAccounts.GlobalAccountsOperations.Delete+import           Network.Google.Resource.CloudUserAccounts.GlobalAccountsOperations.Get+import           Network.Google.Resource.CloudUserAccounts.GlobalAccountsOperations.List+import           Network.Google.Resource.CloudUserAccounts.Groups.AddMember+import           Network.Google.Resource.CloudUserAccounts.Groups.Delete+import           Network.Google.Resource.CloudUserAccounts.Groups.Get+import           Network.Google.Resource.CloudUserAccounts.Groups.Insert+import           Network.Google.Resource.CloudUserAccounts.Groups.List+import           Network.Google.Resource.CloudUserAccounts.Groups.RemoveMember+import           Network.Google.Resource.CloudUserAccounts.Linux.GetAuthorizedKeysView+import           Network.Google.Resource.CloudUserAccounts.Linux.GetLinuxAccountViews+import           Network.Google.Resource.CloudUserAccounts.Users.AddPublicKey+import           Network.Google.Resource.CloudUserAccounts.Users.Delete+import           Network.Google.Resource.CloudUserAccounts.Users.Get+import           Network.Google.Resource.CloudUserAccounts.Users.Insert+import           Network.Google.Resource.CloudUserAccounts.Users.List+import           Network.Google.Resource.CloudUserAccounts.Users.RemovePublicKey+import           Network.Google.UserAccounts.Types++{- $resources+TODO+-}++-- | Represents the entirety of the methods and resources available for the Cloud User Accounts API service.+type UserAccountsAPI =+     GroupsInsertResource :<|> GroupsListResource :<|>+       GroupsGetResource+       :<|> GroupsRemoveMemberResource+       :<|> GroupsDeleteResource+       :<|> GroupsAddMemberResource+       :<|> UsersAddPublicKeyResource+       :<|> UsersInsertResource+       :<|> UsersListResource+       :<|> UsersRemovePublicKeyResource+       :<|> UsersGetResource+       :<|> UsersDeleteResource+       :<|> GlobalAccountsOperationsListResource+       :<|> GlobalAccountsOperationsGetResource+       :<|> GlobalAccountsOperationsDeleteResource+       :<|> LinuxGetLinuxAccountViewsResource+       :<|> LinuxGetAuthorizedKeysViewResource
+ gen/Network/Google/UserAccounts/Types.hs view
@@ -0,0 +1,219 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module      : Network.Google.UserAccounts.Types+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+module Network.Google.UserAccounts.Types+    (+    -- * Service Configuration+      userAccountsService++    -- * OAuth Scopes+    , cloudPlatformReadOnlyScope+    , cloudPlatformScope+    , cloudUseraccountsScope+    , cloudUseraccountsReadonlyScope++    -- * OperationWarningsItemDataItem+    , OperationWarningsItemDataItem+    , operationWarningsItemDataItem+    , owidiValue+    , owidiKey++    -- * OperationWarningsItemCode+    , OperationWarningsItemCode (..)++    -- * OperationList+    , OperationList+    , operationList+    , olNextPageToken+    , olKind+    , olItems+    , olSelfLink+    , olId++    -- * Group+    , Group+    , group'+    , gKind+    , gMembers+    , gSelfLink+    , gName+    , gCreationTimestamp+    , gId+    , gDescription++    -- * GroupList+    , GroupList+    , groupList+    , glNextPageToken+    , glKind+    , glItems+    , glSelfLink+    , glId++    -- * Operation+    , Operation+    , operation+    , oTargetId+    , oStatus+    , oInsertTime+    , oProgress+    , oStartTime+    , oKind+    , oError+    , oHTTPErrorMessage+    , oZone+    , oWarnings+    , oHTTPErrorStatusCode+    , oUser+    , oSelfLink+    , oName+    , oStatusMessage+    , oCreationTimestamp+    , oEndTime+    , oId+    , oOperationType+    , oRegion+    , oTargetLink+    , oClientOperationId++    -- * UserList+    , UserList+    , userList+    , ulNextPageToken+    , ulKind+    , ulItems+    , ulSelfLink+    , ulId++    -- * PublicKey+    , PublicKey+    , publicKey+    , pkFingerprint+    , pkKey+    , pkCreationTimestamp+    , pkExpirationTimestamp+    , pkDescription++    -- * OperationStatus+    , OperationStatus (..)++    -- * LinuxAccountViews+    , LinuxAccountViews+    , linuxAccountViews+    , lavUserViews+    , lavKind+    , lavGroupViews++    -- * User+    , User+    , user+    , uGroups+    , uPublicKeys+    , uKind+    , uOwner+    , uSelfLink+    , uName+    , uCreationTimestamp+    , uId+    , uDescription++    -- * GroupsAddMemberRequest+    , GroupsAddMemberRequest+    , groupsAddMemberRequest+    , gamrUsers++    -- * LinuxGroupView+    , LinuxGroupView+    , linuxGroupView+    , lgvMembers+    , lgvGid+    , lgvGroupName++    -- * LinuxUserView+    , LinuxUserView+    , linuxUserView+    , luvGecos+    , luvUid+    , luvUsername+    , luvShell+    , luvGid+    , luvHomeDirectory++    -- * LinuxGetLinuxAccountViewsResponse+    , LinuxGetLinuxAccountViewsResponse+    , linuxGetLinuxAccountViewsResponse+    , lglavrResource++    -- * OperationError+    , OperationError+    , operationError+    , oeErrors++    -- * LinuxGetAuthorizedKeysViewResponse+    , LinuxGetAuthorizedKeysViewResponse+    , linuxGetAuthorizedKeysViewResponse+    , lgakvrResource++    -- * OperationErrorErrorsItem+    , OperationErrorErrorsItem+    , operationErrorErrorsItem+    , oeeiLocation+    , oeeiCode+    , oeeiMessage++    -- * GroupsRemoveMemberRequest+    , GroupsRemoveMemberRequest+    , groupsRemoveMemberRequest+    , grmrUsers++    -- * AuthorizedKeysView+    , AuthorizedKeysView+    , authorizedKeysView+    , akvSudoer+    , akvKeys++    -- * OperationWarningsItem+    , OperationWarningsItem+    , operationWarningsItem+    , owiData+    , owiCode+    , owiMessage+    ) where++import           Network.Google.Prelude+import           Network.Google.UserAccounts.Types.Product+import           Network.Google.UserAccounts.Types.Sum++-- | Default request referring to version 'beta' of the Cloud User Accounts API. This contains the host and root path used as a starting point for constructing service requests.+userAccountsService :: Service+userAccountsService+  = defaultService (ServiceId "clouduseraccounts:beta")+      "www.googleapis.com"++-- | View your data across Google Cloud Platform services+cloudPlatformReadOnlyScope :: OAuthScope+cloudPlatformReadOnlyScope = "https://www.googleapis.com/auth/cloud-platform.read-only";++-- | View and manage your data across Google Cloud Platform services+cloudPlatformScope :: OAuthScope+cloudPlatformScope = "https://www.googleapis.com/auth/cloud-platform";++-- | Manage your Google Cloud User Accounts+cloudUseraccountsScope :: OAuthScope+cloudUseraccountsScope = "https://www.googleapis.com/auth/cloud.useraccounts";++-- | View your Google Cloud User Accounts+cloudUseraccountsReadonlyScope :: OAuthScope+cloudUseraccountsReadonlyScope = "https://www.googleapis.com/auth/cloud.useraccounts.readonly";
+ gen/Network/Google/UserAccounts/Types/Product.hs view
@@ -0,0 +1,1488 @@+{-# 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.UserAccounts.Types.Product+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+module Network.Google.UserAccounts.Types.Product where++import           Network.Google.Prelude+import           Network.Google.UserAccounts.Types.Sum++--+-- /See:/ 'operationWarningsItemDataItem' smart constructor.+data OperationWarningsItemDataItem = OperationWarningsItemDataItem+    { _owidiValue :: !(Maybe Text)+    , _owidiKey   :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'OperationWarningsItemDataItem' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'owidiValue'+--+-- * 'owidiKey'+operationWarningsItemDataItem+    :: OperationWarningsItemDataItem+operationWarningsItemDataItem =+    OperationWarningsItemDataItem+    { _owidiValue = Nothing+    , _owidiKey = Nothing+    }++-- | [Output Only] A warning data value corresponding to the key.+owidiValue :: Lens' OperationWarningsItemDataItem (Maybe Text)+owidiValue+  = lens _owidiValue (\ s a -> s{_owidiValue = a})++-- | [Output Only] A key for the warning data.+owidiKey :: Lens' OperationWarningsItemDataItem (Maybe Text)+owidiKey = lens _owidiKey (\ s a -> s{_owidiKey = a})++instance FromJSON OperationWarningsItemDataItem where+        parseJSON+          = withObject "OperationWarningsItemDataItem"+              (\ o ->+                 OperationWarningsItemDataItem <$>+                   (o .:? "value") <*> (o .:? "key"))++instance ToJSON OperationWarningsItemDataItem where+        toJSON OperationWarningsItemDataItem{..}+          = object+              (catMaybes+                 [("value" .=) <$> _owidiValue,+                  ("key" .=) <$> _owidiKey])++-- | Contains a list of Operation resources.+--+-- /See:/ 'operationList' smart constructor.+data OperationList = OperationList+    { _olNextPageToken :: !(Maybe Text)+    , _olKind          :: !Text+    , _olItems         :: !(Maybe [Operation])+    , _olSelfLink      :: !(Maybe Text)+    , _olId            :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'OperationList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'olNextPageToken'+--+-- * 'olKind'+--+-- * 'olItems'+--+-- * 'olSelfLink'+--+-- * 'olId'+operationList+    :: OperationList+operationList =+    OperationList+    { _olNextPageToken = Nothing+    , _olKind = "clouduseraccounts#operationList"+    , _olItems = Nothing+    , _olSelfLink = Nothing+    , _olId = Nothing+    }++-- | [Output Only] A token used to continue a truncate.+olNextPageToken :: Lens' OperationList (Maybe Text)+olNextPageToken+  = lens _olNextPageToken+      (\ s a -> s{_olNextPageToken = a})++-- | [Output Only] Type of resource. Always compute#operations for Operations+-- resource.+olKind :: Lens' OperationList Text+olKind = lens _olKind (\ s a -> s{_olKind = a})++-- | [Output Only] The Operation resources.+olItems :: Lens' OperationList [Operation]+olItems+  = lens _olItems (\ s a -> s{_olItems = a}) . _Default+      . _Coerce++-- | [Output Only] Server-defined URL for this resource.+olSelfLink :: Lens' OperationList (Maybe Text)+olSelfLink+  = lens _olSelfLink (\ s a -> s{_olSelfLink = a})++-- | [Output Only] Unique identifier for the resource; defined by the server.+olId :: Lens' OperationList (Maybe Text)+olId = lens _olId (\ s a -> s{_olId = a})++instance FromJSON OperationList where+        parseJSON+          = withObject "OperationList"+              (\ o ->+                 OperationList <$>+                   (o .:? "nextPageToken") <*>+                     (o .:? "kind" .!= "clouduseraccounts#operationList")+                     <*> (o .:? "items" .!= mempty)+                     <*> (o .:? "selfLink")+                     <*> (o .:? "id"))++instance ToJSON OperationList where+        toJSON OperationList{..}+          = object+              (catMaybes+                 [("nextPageToken" .=) <$> _olNextPageToken,+                  Just ("kind" .= _olKind), ("items" .=) <$> _olItems,+                  ("selfLink" .=) <$> _olSelfLink,+                  ("id" .=) <$> _olId])++-- | A Group resource.+--+-- /See:/ 'group'' smart constructor.+data Group = Group+    { _gKind              :: !Text+    , _gMembers           :: !(Maybe [Text])+    , _gSelfLink          :: !(Maybe Text)+    , _gName              :: !(Maybe Text)+    , _gCreationTimestamp :: !(Maybe Text)+    , _gId                :: !(Maybe (Textual Word64))+    , _gDescription       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Group' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gKind'+--+-- * 'gMembers'+--+-- * 'gSelfLink'+--+-- * 'gName'+--+-- * 'gCreationTimestamp'+--+-- * 'gId'+--+-- * 'gDescription'+group'+    :: Group+group' =+    Group+    { _gKind = "clouduseraccounts#group"+    , _gMembers = Nothing+    , _gSelfLink = Nothing+    , _gName = Nothing+    , _gCreationTimestamp = Nothing+    , _gId = Nothing+    , _gDescription = Nothing+    }++-- | [Output Only] Type of the resource. Always clouduseraccounts#group for+-- groups.+gKind :: Lens' Group Text+gKind = lens _gKind (\ s a -> s{_gKind = a})++-- | [Output Only] A list of URLs to User resources who belong to the group.+-- Users may only be members of groups in the same project.+gMembers :: Lens' Group [Text]+gMembers+  = lens _gMembers (\ s a -> s{_gMembers = a}) .+      _Default+      . _Coerce++-- | [Output Only] Server defined URL for the resource.+gSelfLink :: Lens' Group (Maybe Text)+gSelfLink+  = lens _gSelfLink (\ s a -> s{_gSelfLink = a})++-- | Name of the resource; provided by the client when the resource is+-- created.+gName :: Lens' Group (Maybe Text)+gName = lens _gName (\ s a -> s{_gName = a})++-- | [Output Only] Creation timestamp in RFC3339 text format.+gCreationTimestamp :: Lens' Group (Maybe Text)+gCreationTimestamp+  = lens _gCreationTimestamp+      (\ s a -> s{_gCreationTimestamp = a})++-- | [Output Only] Unique identifier for the resource; defined by the server.+gId :: Lens' Group (Maybe Word64)+gId+  = lens _gId (\ s a -> s{_gId = a}) . mapping _Coerce++-- | An optional textual description of the resource; provided by the client+-- when the resource is created.+gDescription :: Lens' Group (Maybe Text)+gDescription+  = lens _gDescription (\ s a -> s{_gDescription = a})++instance FromJSON Group where+        parseJSON+          = withObject "Group"+              (\ o ->+                 Group <$>+                   (o .:? "kind" .!= "clouduseraccounts#group") <*>+                     (o .:? "members" .!= mempty)+                     <*> (o .:? "selfLink")+                     <*> (o .:? "name")+                     <*> (o .:? "creationTimestamp")+                     <*> (o .:? "id")+                     <*> (o .:? "description"))++instance ToJSON Group where+        toJSON Group{..}+          = object+              (catMaybes+                 [Just ("kind" .= _gKind),+                  ("members" .=) <$> _gMembers,+                  ("selfLink" .=) <$> _gSelfLink,+                  ("name" .=) <$> _gName,+                  ("creationTimestamp" .=) <$> _gCreationTimestamp,+                  ("id" .=) <$> _gId,+                  ("description" .=) <$> _gDescription])++--+-- /See:/ 'groupList' smart constructor.+data GroupList = GroupList+    { _glNextPageToken :: !(Maybe Text)+    , _glKind          :: !Text+    , _glItems         :: !(Maybe [Group])+    , _glSelfLink      :: !(Maybe Text)+    , _glId            :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'GroupList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'glNextPageToken'+--+-- * 'glKind'+--+-- * 'glItems'+--+-- * 'glSelfLink'+--+-- * 'glId'+groupList+    :: GroupList+groupList =+    GroupList+    { _glNextPageToken = Nothing+    , _glKind = "clouduseraccounts#groupList"+    , _glItems = Nothing+    , _glSelfLink = Nothing+    , _glId = Nothing+    }++-- | [Output Only] A token used to continue a truncated list request.+glNextPageToken :: Lens' GroupList (Maybe Text)+glNextPageToken+  = lens _glNextPageToken+      (\ s a -> s{_glNextPageToken = a})++-- | [Output Only] Type of resource. Always clouduseraccounts#groupList for+-- lists of groups.+glKind :: Lens' GroupList Text+glKind = lens _glKind (\ s a -> s{_glKind = a})++-- | [Output Only] A list of Group resources.+glItems :: Lens' GroupList [Group]+glItems+  = lens _glItems (\ s a -> s{_glItems = a}) . _Default+      . _Coerce++-- | [Output Only] Server defined URL for this resource.+glSelfLink :: Lens' GroupList (Maybe Text)+glSelfLink+  = lens _glSelfLink (\ s a -> s{_glSelfLink = a})++-- | [Output Only] Unique identifier for the resource; defined by the server.+glId :: Lens' GroupList (Maybe Text)+glId = lens _glId (\ s a -> s{_glId = a})++instance FromJSON GroupList where+        parseJSON+          = withObject "GroupList"+              (\ o ->+                 GroupList <$>+                   (o .:? "nextPageToken") <*>+                     (o .:? "kind" .!= "clouduseraccounts#groupList")+                     <*> (o .:? "items" .!= mempty)+                     <*> (o .:? "selfLink")+                     <*> (o .:? "id"))++instance ToJSON GroupList where+        toJSON GroupList{..}+          = object+              (catMaybes+                 [("nextPageToken" .=) <$> _glNextPageToken,+                  Just ("kind" .= _glKind), ("items" .=) <$> _glItems,+                  ("selfLink" .=) <$> _glSelfLink,+                  ("id" .=) <$> _glId])++-- | An Operation resource, used to manage asynchronous API requests.+--+-- /See:/ 'operation' smart constructor.+data Operation = Operation+    { _oTargetId            :: !(Maybe (Textual Word64))+    , _oStatus              :: !(Maybe OperationStatus)+    , _oInsertTime          :: !(Maybe Text)+    , _oProgress            :: !(Maybe (Textual Int32))+    , _oStartTime           :: !(Maybe Text)+    , _oKind                :: !Text+    , _oError               :: !(Maybe OperationError)+    , _oHTTPErrorMessage    :: !(Maybe Text)+    , _oZone                :: !(Maybe Text)+    , _oWarnings            :: !(Maybe [OperationWarningsItem])+    , _oHTTPErrorStatusCode :: !(Maybe (Textual Int32))+    , _oUser                :: !(Maybe Text)+    , _oSelfLink            :: !(Maybe Text)+    , _oName                :: !(Maybe Text)+    , _oStatusMessage       :: !(Maybe Text)+    , _oCreationTimestamp   :: !(Maybe Text)+    , _oEndTime             :: !(Maybe Text)+    , _oId                  :: !(Maybe (Textual Word64))+    , _oOperationType       :: !(Maybe Text)+    , _oRegion              :: !(Maybe Text)+    , _oTargetLink          :: !(Maybe Text)+    , _oClientOperationId   :: !(Maybe Text)+    } 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:+--+-- * 'oTargetId'+--+-- * 'oStatus'+--+-- * 'oInsertTime'+--+-- * 'oProgress'+--+-- * 'oStartTime'+--+-- * 'oKind'+--+-- * 'oError'+--+-- * 'oHTTPErrorMessage'+--+-- * 'oZone'+--+-- * 'oWarnings'+--+-- * 'oHTTPErrorStatusCode'+--+-- * 'oUser'+--+-- * 'oSelfLink'+--+-- * 'oName'+--+-- * 'oStatusMessage'+--+-- * 'oCreationTimestamp'+--+-- * 'oEndTime'+--+-- * 'oId'+--+-- * 'oOperationType'+--+-- * 'oRegion'+--+-- * 'oTargetLink'+--+-- * 'oClientOperationId'+operation+    :: Operation+operation =+    Operation+    { _oTargetId = Nothing+    , _oStatus = Nothing+    , _oInsertTime = Nothing+    , _oProgress = Nothing+    , _oStartTime = Nothing+    , _oKind = "clouduseraccounts#operation"+    , _oError = Nothing+    , _oHTTPErrorMessage = Nothing+    , _oZone = Nothing+    , _oWarnings = Nothing+    , _oHTTPErrorStatusCode = Nothing+    , _oUser = Nothing+    , _oSelfLink = Nothing+    , _oName = Nothing+    , _oStatusMessage = Nothing+    , _oCreationTimestamp = Nothing+    , _oEndTime = Nothing+    , _oId = Nothing+    , _oOperationType = Nothing+    , _oRegion = Nothing+    , _oTargetLink = Nothing+    , _oClientOperationId = Nothing+    }++-- | [Output Only] Unique target ID which identifies a particular incarnation+-- of the target.+oTargetId :: Lens' Operation (Maybe Word64)+oTargetId+  = lens _oTargetId (\ s a -> s{_oTargetId = a}) .+      mapping _Coerce++-- | [Output Only] Status of the operation. Can be one of the following:+-- PENDING, RUNNING, or DONE.+oStatus :: Lens' Operation (Maybe OperationStatus)+oStatus = lens _oStatus (\ s a -> s{_oStatus = a})++-- | [Output Only] The time that this operation was requested. This is in+-- RFC3339 text format.+oInsertTime :: Lens' Operation (Maybe Text)+oInsertTime+  = lens _oInsertTime (\ s a -> s{_oInsertTime = a})++-- | [Output Only] An optional progress indicator that ranges from 0 to 100.+-- There is no requirement that this be linear or support any granularity+-- of operations. This should not be used to guess at when the operation+-- will be complete. This number should monotonically increase as the+-- operation progresses.+oProgress :: Lens' Operation (Maybe Int32)+oProgress+  = lens _oProgress (\ s a -> s{_oProgress = a}) .+      mapping _Coerce++-- | [Output Only] The time that this operation was started by the server.+-- This is in RFC3339 text format.+oStartTime :: Lens' Operation (Maybe Text)+oStartTime+  = lens _oStartTime (\ s a -> s{_oStartTime = a})++-- | [Output Only] Type of the resource. Always compute#operation for+-- Operation resources.+oKind :: Lens' Operation Text+oKind = lens _oKind (\ s a -> s{_oKind = a})++-- | [Output Only] If errors are generated during processing of the+-- operation, this field will be populated.+oError :: Lens' Operation (Maybe OperationError)+oError = lens _oError (\ s a -> s{_oError = a})++-- | [Output Only] If the operation fails, this field contains the HTTP error+-- message that was returned, such as NOT FOUND.+oHTTPErrorMessage :: Lens' Operation (Maybe Text)+oHTTPErrorMessage+  = lens _oHTTPErrorMessage+      (\ s a -> s{_oHTTPErrorMessage = a})++-- | [Output Only] URL of the zone where the operation resides.+oZone :: Lens' Operation (Maybe Text)+oZone = lens _oZone (\ s a -> s{_oZone = a})++-- | [Output Only] If warning messages are generated during processing of the+-- operation, this field will be populated.+oWarnings :: Lens' Operation [OperationWarningsItem]+oWarnings+  = lens _oWarnings (\ s a -> s{_oWarnings = a}) .+      _Default+      . _Coerce++-- | [Output Only] If the operation fails, this field contains the HTTP error+-- message that was returned, such as 404.+oHTTPErrorStatusCode :: Lens' Operation (Maybe Int32)+oHTTPErrorStatusCode+  = lens _oHTTPErrorStatusCode+      (\ s a -> s{_oHTTPErrorStatusCode = a})+      . mapping _Coerce++-- | [Output Only] User who requested the operation, for example:+-- user\'example.com.+oUser :: Lens' Operation (Maybe Text)+oUser = lens _oUser (\ s a -> s{_oUser = a})++-- | [Output Only] Server-defined URL for the resource.+oSelfLink :: Lens' Operation (Maybe Text)+oSelfLink+  = lens _oSelfLink (\ s a -> s{_oSelfLink = a})++-- | [Output Only] Name of the resource.+oName :: Lens' Operation (Maybe Text)+oName = lens _oName (\ s a -> s{_oName = a})++-- | [Output Only] An optional textual description of the current status of+-- the operation.+oStatusMessage :: Lens' Operation (Maybe Text)+oStatusMessage+  = lens _oStatusMessage+      (\ s a -> s{_oStatusMessage = a})++-- | [Output Only] Creation timestamp in RFC3339 text format.+oCreationTimestamp :: Lens' Operation (Maybe Text)+oCreationTimestamp+  = lens _oCreationTimestamp+      (\ s a -> s{_oCreationTimestamp = a})++-- | [Output Only] The time that this operation was completed. This is in+-- RFC3339 text format.+oEndTime :: Lens' Operation (Maybe Text)+oEndTime = lens _oEndTime (\ s a -> s{_oEndTime = a})++-- | [Output Only] Unique identifier for the resource; defined by the server.+oId :: Lens' Operation (Maybe Word64)+oId+  = lens _oId (\ s a -> s{_oId = a}) . mapping _Coerce++-- | [Output Only] Type of the operation, such as insert,+-- compute.instanceGroups.update, or compute.instanceGroups.delete.+oOperationType :: Lens' Operation (Maybe Text)+oOperationType+  = lens _oOperationType+      (\ s a -> s{_oOperationType = a})++-- | [Output Only] URL of the region where the operation resides. Only+-- applicable for regional resources.+oRegion :: Lens' Operation (Maybe Text)+oRegion = lens _oRegion (\ s a -> s{_oRegion = a})++-- | [Output Only] URL of the resource the operation is mutating.+oTargetLink :: Lens' Operation (Maybe Text)+oTargetLink+  = lens _oTargetLink (\ s a -> s{_oTargetLink = a})++-- | [Output Only] An optional identifier specified by the client when the+-- mutation was initiated. Must be unique for all Operation resources in+-- the project.+oClientOperationId :: Lens' Operation (Maybe Text)+oClientOperationId+  = lens _oClientOperationId+      (\ s a -> s{_oClientOperationId = a})++instance FromJSON Operation where+        parseJSON+          = withObject "Operation"+              (\ o ->+                 Operation <$>+                   (o .:? "targetId") <*> (o .:? "status") <*>+                     (o .:? "insertTime")+                     <*> (o .:? "progress")+                     <*> (o .:? "startTime")+                     <*> (o .:? "kind" .!= "clouduseraccounts#operation")+                     <*> (o .:? "error")+                     <*> (o .:? "httpErrorMessage")+                     <*> (o .:? "zone")+                     <*> (o .:? "warnings" .!= mempty)+                     <*> (o .:? "httpErrorStatusCode")+                     <*> (o .:? "user")+                     <*> (o .:? "selfLink")+                     <*> (o .:? "name")+                     <*> (o .:? "statusMessage")+                     <*> (o .:? "creationTimestamp")+                     <*> (o .:? "endTime")+                     <*> (o .:? "id")+                     <*> (o .:? "operationType")+                     <*> (o .:? "region")+                     <*> (o .:? "targetLink")+                     <*> (o .:? "clientOperationId"))++instance ToJSON Operation where+        toJSON Operation{..}+          = object+              (catMaybes+                 [("targetId" .=) <$> _oTargetId,+                  ("status" .=) <$> _oStatus,+                  ("insertTime" .=) <$> _oInsertTime,+                  ("progress" .=) <$> _oProgress,+                  ("startTime" .=) <$> _oStartTime,+                  Just ("kind" .= _oKind), ("error" .=) <$> _oError,+                  ("httpErrorMessage" .=) <$> _oHTTPErrorMessage,+                  ("zone" .=) <$> _oZone,+                  ("warnings" .=) <$> _oWarnings,+                  ("httpErrorStatusCode" .=) <$> _oHTTPErrorStatusCode,+                  ("user" .=) <$> _oUser,+                  ("selfLink" .=) <$> _oSelfLink,+                  ("name" .=) <$> _oName,+                  ("statusMessage" .=) <$> _oStatusMessage,+                  ("creationTimestamp" .=) <$> _oCreationTimestamp,+                  ("endTime" .=) <$> _oEndTime, ("id" .=) <$> _oId,+                  ("operationType" .=) <$> _oOperationType,+                  ("region" .=) <$> _oRegion,+                  ("targetLink" .=) <$> _oTargetLink,+                  ("clientOperationId" .=) <$> _oClientOperationId])++--+-- /See:/ 'userList' smart constructor.+data UserList = UserList+    { _ulNextPageToken :: !(Maybe Text)+    , _ulKind          :: !Text+    , _ulItems         :: !(Maybe [User])+    , _ulSelfLink      :: !(Maybe Text)+    , _ulId            :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'UserList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ulNextPageToken'+--+-- * 'ulKind'+--+-- * 'ulItems'+--+-- * 'ulSelfLink'+--+-- * 'ulId'+userList+    :: UserList+userList =+    UserList+    { _ulNextPageToken = Nothing+    , _ulKind = "clouduseraccounts#userList"+    , _ulItems = Nothing+    , _ulSelfLink = Nothing+    , _ulId = Nothing+    }++-- | [Output Only] A token used to continue a truncated list request.+ulNextPageToken :: Lens' UserList (Maybe Text)+ulNextPageToken+  = lens _ulNextPageToken+      (\ s a -> s{_ulNextPageToken = a})++-- | [Output Only] Type of resource. Always clouduseraccounts#userList for+-- lists of users.+ulKind :: Lens' UserList Text+ulKind = lens _ulKind (\ s a -> s{_ulKind = a})++-- | [Output Only] A list of User resources.+ulItems :: Lens' UserList [User]+ulItems+  = lens _ulItems (\ s a -> s{_ulItems = a}) . _Default+      . _Coerce++-- | [Output Only] Server defined URL for this resource.+ulSelfLink :: Lens' UserList (Maybe Text)+ulSelfLink+  = lens _ulSelfLink (\ s a -> s{_ulSelfLink = a})++-- | [Output Only] Unique identifier for the resource; defined by the server.+ulId :: Lens' UserList (Maybe Text)+ulId = lens _ulId (\ s a -> s{_ulId = a})++instance FromJSON UserList where+        parseJSON+          = withObject "UserList"+              (\ o ->+                 UserList <$>+                   (o .:? "nextPageToken") <*>+                     (o .:? "kind" .!= "clouduseraccounts#userList")+                     <*> (o .:? "items" .!= mempty)+                     <*> (o .:? "selfLink")+                     <*> (o .:? "id"))++instance ToJSON UserList where+        toJSON UserList{..}+          = object+              (catMaybes+                 [("nextPageToken" .=) <$> _ulNextPageToken,+                  Just ("kind" .= _ulKind), ("items" .=) <$> _ulItems,+                  ("selfLink" .=) <$> _ulSelfLink,+                  ("id" .=) <$> _ulId])++-- | A public key for authenticating to guests.+--+-- /See:/ 'publicKey' smart constructor.+data PublicKey = PublicKey+    { _pkFingerprint         :: !(Maybe Text)+    , _pkKey                 :: !(Maybe Text)+    , _pkCreationTimestamp   :: !(Maybe Text)+    , _pkExpirationTimestamp :: !(Maybe Text)+    , _pkDescription         :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PublicKey' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pkFingerprint'+--+-- * 'pkKey'+--+-- * 'pkCreationTimestamp'+--+-- * 'pkExpirationTimestamp'+--+-- * 'pkDescription'+publicKey+    :: PublicKey+publicKey =+    PublicKey+    { _pkFingerprint = Nothing+    , _pkKey = Nothing+    , _pkCreationTimestamp = Nothing+    , _pkExpirationTimestamp = Nothing+    , _pkDescription = Nothing+    }++-- | [Output Only] The fingerprint of the key is defined by RFC4716 to be the+-- MD5 digest of the public key.+pkFingerprint :: Lens' PublicKey (Maybe Text)+pkFingerprint+  = lens _pkFingerprint+      (\ s a -> s{_pkFingerprint = a})++-- | Public key text in SSH format, defined by RFC4253 section 6.6.+pkKey :: Lens' PublicKey (Maybe Text)+pkKey = lens _pkKey (\ s a -> s{_pkKey = a})++-- | [Output Only] Creation timestamp in RFC3339 text format.+pkCreationTimestamp :: Lens' PublicKey (Maybe Text)+pkCreationTimestamp+  = lens _pkCreationTimestamp+      (\ s a -> s{_pkCreationTimestamp = a})++-- | Optional expiration timestamp. If provided, the timestamp must be in+-- RFC3339 text format. If not provided, the public key never expires.+pkExpirationTimestamp :: Lens' PublicKey (Maybe Text)+pkExpirationTimestamp+  = lens _pkExpirationTimestamp+      (\ s a -> s{_pkExpirationTimestamp = a})++-- | An optional textual description of the resource; provided by the client+-- when the resource is created.+pkDescription :: Lens' PublicKey (Maybe Text)+pkDescription+  = lens _pkDescription+      (\ s a -> s{_pkDescription = a})++instance FromJSON PublicKey where+        parseJSON+          = withObject "PublicKey"+              (\ o ->+                 PublicKey <$>+                   (o .:? "fingerprint") <*> (o .:? "key") <*>+                     (o .:? "creationTimestamp")+                     <*> (o .:? "expirationTimestamp")+                     <*> (o .:? "description"))++instance ToJSON PublicKey where+        toJSON PublicKey{..}+          = object+              (catMaybes+                 [("fingerprint" .=) <$> _pkFingerprint,+                  ("key" .=) <$> _pkKey,+                  ("creationTimestamp" .=) <$> _pkCreationTimestamp,+                  ("expirationTimestamp" .=) <$>+                    _pkExpirationTimestamp,+                  ("description" .=) <$> _pkDescription])++-- | A list of all Linux accounts for this project. This API is only used by+-- Compute Engine virtual machines to get information about user accounts+-- for a project or instance. Linux resources are read-only views into+-- users and groups managed by the Compute Engine Accounts API.+--+-- /See:/ 'linuxAccountViews' smart constructor.+data LinuxAccountViews = LinuxAccountViews+    { _lavUserViews  :: !(Maybe [LinuxUserView])+    , _lavKind       :: !Text+    , _lavGroupViews :: !(Maybe [LinuxGroupView])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'LinuxAccountViews' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lavUserViews'+--+-- * 'lavKind'+--+-- * 'lavGroupViews'+linuxAccountViews+    :: LinuxAccountViews+linuxAccountViews =+    LinuxAccountViews+    { _lavUserViews = Nothing+    , _lavKind = "clouduseraccounts#linuxAccountViews"+    , _lavGroupViews = Nothing+    }++-- | [Output Only] A list of all users within a project.+lavUserViews :: Lens' LinuxAccountViews [LinuxUserView]+lavUserViews+  = lens _lavUserViews (\ s a -> s{_lavUserViews = a})+      . _Default+      . _Coerce++-- | [Output Only] Type of the resource. Always+-- clouduseraccounts#linuxAccountViews for Linux resources.+lavKind :: Lens' LinuxAccountViews Text+lavKind = lens _lavKind (\ s a -> s{_lavKind = a})++-- | [Output Only] A list of all groups within a project.+lavGroupViews :: Lens' LinuxAccountViews [LinuxGroupView]+lavGroupViews+  = lens _lavGroupViews+      (\ s a -> s{_lavGroupViews = a})+      . _Default+      . _Coerce++instance FromJSON LinuxAccountViews where+        parseJSON+          = withObject "LinuxAccountViews"+              (\ o ->+                 LinuxAccountViews <$>+                   (o .:? "userViews" .!= mempty) <*>+                     (o .:? "kind" .!=+                        "clouduseraccounts#linuxAccountViews")+                     <*> (o .:? "groupViews" .!= mempty))++instance ToJSON LinuxAccountViews where+        toJSON LinuxAccountViews{..}+          = object+              (catMaybes+                 [("userViews" .=) <$> _lavUserViews,+                  Just ("kind" .= _lavKind),+                  ("groupViews" .=) <$> _lavGroupViews])++-- | A User resource.+--+-- /See:/ 'user' smart constructor.+data User = User+    { _uGroups            :: !(Maybe [Text])+    , _uPublicKeys        :: !(Maybe [PublicKey])+    , _uKind              :: !Text+    , _uOwner             :: !(Maybe Text)+    , _uSelfLink          :: !(Maybe Text)+    , _uName              :: !(Maybe Text)+    , _uCreationTimestamp :: !(Maybe Text)+    , _uId                :: !(Maybe (Textual Word64))+    , _uDescription       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'User' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'uGroups'+--+-- * 'uPublicKeys'+--+-- * 'uKind'+--+-- * 'uOwner'+--+-- * 'uSelfLink'+--+-- * 'uName'+--+-- * 'uCreationTimestamp'+--+-- * 'uId'+--+-- * 'uDescription'+user+    :: User+user =+    User+    { _uGroups = Nothing+    , _uPublicKeys = Nothing+    , _uKind = "clouduseraccounts#user"+    , _uOwner = Nothing+    , _uSelfLink = Nothing+    , _uName = Nothing+    , _uCreationTimestamp = Nothing+    , _uId = Nothing+    , _uDescription = Nothing+    }++-- | [Output Only] A list of URLs to Group resources who contain the user.+-- Users are only members of groups in the same project.+uGroups :: Lens' User [Text]+uGroups+  = lens _uGroups (\ s a -> s{_uGroups = a}) . _Default+      . _Coerce++-- | [Output Only] Public keys that this user may use to login.+uPublicKeys :: Lens' User [PublicKey]+uPublicKeys+  = lens _uPublicKeys (\ s a -> s{_uPublicKeys = a}) .+      _Default+      . _Coerce++-- | [Output Only] Type of the resource. Always clouduseraccounts#user for+-- users.+uKind :: Lens' User Text+uKind = lens _uKind (\ s a -> s{_uKind = a})++-- | Email address of account\'s owner. This account will be validated to+-- make sure it exists. The email can belong to any domain, but it must be+-- tied to a Google account.+uOwner :: Lens' User (Maybe Text)+uOwner = lens _uOwner (\ s a -> s{_uOwner = a})++-- | [Output Only] Server defined URL for the resource.+uSelfLink :: Lens' User (Maybe Text)+uSelfLink+  = lens _uSelfLink (\ s a -> s{_uSelfLink = a})++-- | Name of the resource; provided by the client when the resource is+-- created.+uName :: Lens' User (Maybe Text)+uName = lens _uName (\ s a -> s{_uName = a})++-- | [Output Only] Creation timestamp in RFC3339 text format.+uCreationTimestamp :: Lens' User (Maybe Text)+uCreationTimestamp+  = lens _uCreationTimestamp+      (\ s a -> s{_uCreationTimestamp = a})++-- | [Output Only] Unique identifier for the resource; defined by the server.+uId :: Lens' User (Maybe Word64)+uId+  = lens _uId (\ s a -> s{_uId = a}) . mapping _Coerce++-- | An optional textual description of the resource; provided by the client+-- when the resource is created.+uDescription :: Lens' User (Maybe Text)+uDescription+  = lens _uDescription (\ s a -> s{_uDescription = a})++instance FromJSON User where+        parseJSON+          = withObject "User"+              (\ o ->+                 User <$>+                   (o .:? "groups" .!= mempty) <*>+                     (o .:? "publicKeys" .!= mempty)+                     <*> (o .:? "kind" .!= "clouduseraccounts#user")+                     <*> (o .:? "owner")+                     <*> (o .:? "selfLink")+                     <*> (o .:? "name")+                     <*> (o .:? "creationTimestamp")+                     <*> (o .:? "id")+                     <*> (o .:? "description"))++instance ToJSON User where+        toJSON User{..}+          = object+              (catMaybes+                 [("groups" .=) <$> _uGroups,+                  ("publicKeys" .=) <$> _uPublicKeys,+                  Just ("kind" .= _uKind), ("owner" .=) <$> _uOwner,+                  ("selfLink" .=) <$> _uSelfLink,+                  ("name" .=) <$> _uName,+                  ("creationTimestamp" .=) <$> _uCreationTimestamp,+                  ("id" .=) <$> _uId,+                  ("description" .=) <$> _uDescription])++--+-- /See:/ 'groupsAddMemberRequest' smart constructor.+newtype GroupsAddMemberRequest = GroupsAddMemberRequest+    { _gamrUsers :: Maybe [Text]+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'GroupsAddMemberRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gamrUsers'+groupsAddMemberRequest+    :: GroupsAddMemberRequest+groupsAddMemberRequest =+    GroupsAddMemberRequest+    { _gamrUsers = Nothing+    }++-- | Fully-qualified URLs of the User resources to add.+gamrUsers :: Lens' GroupsAddMemberRequest [Text]+gamrUsers+  = lens _gamrUsers (\ s a -> s{_gamrUsers = a}) .+      _Default+      . _Coerce++instance FromJSON GroupsAddMemberRequest where+        parseJSON+          = withObject "GroupsAddMemberRequest"+              (\ o ->+                 GroupsAddMemberRequest <$>+                   (o .:? "users" .!= mempty))++instance ToJSON GroupsAddMemberRequest where+        toJSON GroupsAddMemberRequest{..}+          = object (catMaybes [("users" .=) <$> _gamrUsers])++-- | A detailed view of a Linux group.+--+-- /See:/ 'linuxGroupView' smart constructor.+data LinuxGroupView = LinuxGroupView+    { _lgvMembers   :: !(Maybe [Text])+    , _lgvGid       :: !(Maybe (Textual Word32))+    , _lgvGroupName :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'LinuxGroupView' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lgvMembers'+--+-- * 'lgvGid'+--+-- * 'lgvGroupName'+linuxGroupView+    :: LinuxGroupView+linuxGroupView =+    LinuxGroupView+    { _lgvMembers = Nothing+    , _lgvGid = Nothing+    , _lgvGroupName = Nothing+    }++-- | [Output Only] List of user accounts that belong to the group.+lgvMembers :: Lens' LinuxGroupView [Text]+lgvMembers+  = lens _lgvMembers (\ s a -> s{_lgvMembers = a}) .+      _Default+      . _Coerce++-- | [Output Only] The Group ID.+lgvGid :: Lens' LinuxGroupView (Maybe Word32)+lgvGid+  = lens _lgvGid (\ s a -> s{_lgvGid = a}) .+      mapping _Coerce++-- | [Output Only] Group name.+lgvGroupName :: Lens' LinuxGroupView (Maybe Text)+lgvGroupName+  = lens _lgvGroupName (\ s a -> s{_lgvGroupName = a})++instance FromJSON LinuxGroupView where+        parseJSON+          = withObject "LinuxGroupView"+              (\ o ->+                 LinuxGroupView <$>+                   (o .:? "members" .!= mempty) <*> (o .:? "gid") <*>+                     (o .:? "groupName"))++instance ToJSON LinuxGroupView where+        toJSON LinuxGroupView{..}+          = object+              (catMaybes+                 [("members" .=) <$> _lgvMembers,+                  ("gid" .=) <$> _lgvGid,+                  ("groupName" .=) <$> _lgvGroupName])++-- | A detailed view of a Linux user account.+--+-- /See:/ 'linuxUserView' smart constructor.+data LinuxUserView = LinuxUserView+    { _luvGecos         :: !(Maybe Text)+    , _luvUid           :: !(Maybe (Textual Word32))+    , _luvUsername      :: !(Maybe Text)+    , _luvShell         :: !(Maybe Text)+    , _luvGid           :: !(Maybe (Textual Word32))+    , _luvHomeDirectory :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'LinuxUserView' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'luvGecos'+--+-- * 'luvUid'+--+-- * 'luvUsername'+--+-- * 'luvShell'+--+-- * 'luvGid'+--+-- * 'luvHomeDirectory'+linuxUserView+    :: LinuxUserView+linuxUserView =+    LinuxUserView+    { _luvGecos = Nothing+    , _luvUid = Nothing+    , _luvUsername = Nothing+    , _luvShell = Nothing+    , _luvGid = Nothing+    , _luvHomeDirectory = Nothing+    }++-- | [Output Only] The GECOS (user information) entry for this account.+luvGecos :: Lens' LinuxUserView (Maybe Text)+luvGecos = lens _luvGecos (\ s a -> s{_luvGecos = a})++-- | [Output Only] User ID.+luvUid :: Lens' LinuxUserView (Maybe Word32)+luvUid+  = lens _luvUid (\ s a -> s{_luvUid = a}) .+      mapping _Coerce++-- | [Output Only] The username of the account.+luvUsername :: Lens' LinuxUserView (Maybe Text)+luvUsername+  = lens _luvUsername (\ s a -> s{_luvUsername = a})++-- | [Output Only] The path to the login shell for this account.+luvShell :: Lens' LinuxUserView (Maybe Text)+luvShell = lens _luvShell (\ s a -> s{_luvShell = a})++-- | [Output Only] User\'s default group ID.+luvGid :: Lens' LinuxUserView (Maybe Word32)+luvGid+  = lens _luvGid (\ s a -> s{_luvGid = a}) .+      mapping _Coerce++-- | [Output Only] The path to the home directory for this account.+luvHomeDirectory :: Lens' LinuxUserView (Maybe Text)+luvHomeDirectory+  = lens _luvHomeDirectory+      (\ s a -> s{_luvHomeDirectory = a})++instance FromJSON LinuxUserView where+        parseJSON+          = withObject "LinuxUserView"+              (\ o ->+                 LinuxUserView <$>+                   (o .:? "gecos") <*> (o .:? "uid") <*>+                     (o .:? "username")+                     <*> (o .:? "shell")+                     <*> (o .:? "gid")+                     <*> (o .:? "homeDirectory"))++instance ToJSON LinuxUserView where+        toJSON LinuxUserView{..}+          = object+              (catMaybes+                 [("gecos" .=) <$> _luvGecos, ("uid" .=) <$> _luvUid,+                  ("username" .=) <$> _luvUsername,+                  ("shell" .=) <$> _luvShell, ("gid" .=) <$> _luvGid,+                  ("homeDirectory" .=) <$> _luvHomeDirectory])++--+-- /See:/ 'linuxGetLinuxAccountViewsResponse' smart constructor.+newtype LinuxGetLinuxAccountViewsResponse = LinuxGetLinuxAccountViewsResponse+    { _lglavrResource :: Maybe LinuxAccountViews+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'LinuxGetLinuxAccountViewsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lglavrResource'+linuxGetLinuxAccountViewsResponse+    :: LinuxGetLinuxAccountViewsResponse+linuxGetLinuxAccountViewsResponse =+    LinuxGetLinuxAccountViewsResponse+    { _lglavrResource = Nothing+    }++-- | [Output Only] A list of authorized user accounts and groups.+lglavrResource :: Lens' LinuxGetLinuxAccountViewsResponse (Maybe LinuxAccountViews)+lglavrResource+  = lens _lglavrResource+      (\ s a -> s{_lglavrResource = a})++instance FromJSON LinuxGetLinuxAccountViewsResponse+         where+        parseJSON+          = withObject "LinuxGetLinuxAccountViewsResponse"+              (\ o ->+                 LinuxGetLinuxAccountViewsResponse <$>+                   (o .:? "resource"))++instance ToJSON LinuxGetLinuxAccountViewsResponse+         where+        toJSON LinuxGetLinuxAccountViewsResponse{..}+          = object+              (catMaybes [("resource" .=) <$> _lglavrResource])++-- | [Output Only] If errors are generated during processing of the+-- operation, this field will be populated.+--+-- /See:/ 'operationError' smart constructor.+newtype OperationError = OperationError+    { _oeErrors :: Maybe [OperationErrorErrorsItem]+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'OperationError' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'oeErrors'+operationError+    :: OperationError+operationError =+    OperationError+    { _oeErrors = Nothing+    }++-- | [Output Only] The array of errors encountered while processing this+-- operation.+oeErrors :: Lens' OperationError [OperationErrorErrorsItem]+oeErrors+  = lens _oeErrors (\ s a -> s{_oeErrors = a}) .+      _Default+      . _Coerce++instance FromJSON OperationError where+        parseJSON+          = withObject "OperationError"+              (\ o ->+                 OperationError <$> (o .:? "errors" .!= mempty))++instance ToJSON OperationError where+        toJSON OperationError{..}+          = object (catMaybes [("errors" .=) <$> _oeErrors])++--+-- /See:/ 'linuxGetAuthorizedKeysViewResponse' smart constructor.+newtype LinuxGetAuthorizedKeysViewResponse = LinuxGetAuthorizedKeysViewResponse+    { _lgakvrResource :: Maybe AuthorizedKeysView+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'LinuxGetAuthorizedKeysViewResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lgakvrResource'+linuxGetAuthorizedKeysViewResponse+    :: LinuxGetAuthorizedKeysViewResponse+linuxGetAuthorizedKeysViewResponse =+    LinuxGetAuthorizedKeysViewResponse+    { _lgakvrResource = Nothing+    }++-- | [Output Only] A list of authorized public keys for a user.+lgakvrResource :: Lens' LinuxGetAuthorizedKeysViewResponse (Maybe AuthorizedKeysView)+lgakvrResource+  = lens _lgakvrResource+      (\ s a -> s{_lgakvrResource = a})++instance FromJSON LinuxGetAuthorizedKeysViewResponse+         where+        parseJSON+          = withObject "LinuxGetAuthorizedKeysViewResponse"+              (\ o ->+                 LinuxGetAuthorizedKeysViewResponse <$>+                   (o .:? "resource"))++instance ToJSON LinuxGetAuthorizedKeysViewResponse+         where+        toJSON LinuxGetAuthorizedKeysViewResponse{..}+          = object+              (catMaybes [("resource" .=) <$> _lgakvrResource])++--+-- /See:/ 'operationErrorErrorsItem' smart constructor.+data OperationErrorErrorsItem = OperationErrorErrorsItem+    { _oeeiLocation :: !(Maybe Text)+    , _oeeiCode     :: !(Maybe Text)+    , _oeeiMessage  :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'OperationErrorErrorsItem' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'oeeiLocation'+--+-- * 'oeeiCode'+--+-- * 'oeeiMessage'+operationErrorErrorsItem+    :: OperationErrorErrorsItem+operationErrorErrorsItem =+    OperationErrorErrorsItem+    { _oeeiLocation = Nothing+    , _oeeiCode = Nothing+    , _oeeiMessage = Nothing+    }++-- | [Output Only] Indicates the field in the request which caused the error.+-- This property is optional.+oeeiLocation :: Lens' OperationErrorErrorsItem (Maybe Text)+oeeiLocation+  = lens _oeeiLocation (\ s a -> s{_oeeiLocation = a})++-- | [Output Only] The error type identifier for this error.+oeeiCode :: Lens' OperationErrorErrorsItem (Maybe Text)+oeeiCode = lens _oeeiCode (\ s a -> s{_oeeiCode = a})++-- | [Output Only] An optional, human-readable error message.+oeeiMessage :: Lens' OperationErrorErrorsItem (Maybe Text)+oeeiMessage+  = lens _oeeiMessage (\ s a -> s{_oeeiMessage = a})++instance FromJSON OperationErrorErrorsItem where+        parseJSON+          = withObject "OperationErrorErrorsItem"+              (\ o ->+                 OperationErrorErrorsItem <$>+                   (o .:? "location") <*> (o .:? "code") <*>+                     (o .:? "message"))++instance ToJSON OperationErrorErrorsItem where+        toJSON OperationErrorErrorsItem{..}+          = object+              (catMaybes+                 [("location" .=) <$> _oeeiLocation,+                  ("code" .=) <$> _oeeiCode,+                  ("message" .=) <$> _oeeiMessage])++--+-- /See:/ 'groupsRemoveMemberRequest' smart constructor.+newtype GroupsRemoveMemberRequest = GroupsRemoveMemberRequest+    { _grmrUsers :: Maybe [Text]+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'GroupsRemoveMemberRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'grmrUsers'+groupsRemoveMemberRequest+    :: GroupsRemoveMemberRequest+groupsRemoveMemberRequest =+    GroupsRemoveMemberRequest+    { _grmrUsers = Nothing+    }++-- | Fully-qualified URLs of the User resources to remove.+grmrUsers :: Lens' GroupsRemoveMemberRequest [Text]+grmrUsers+  = lens _grmrUsers (\ s a -> s{_grmrUsers = a}) .+      _Default+      . _Coerce++instance FromJSON GroupsRemoveMemberRequest where+        parseJSON+          = withObject "GroupsRemoveMemberRequest"+              (\ o ->+                 GroupsRemoveMemberRequest <$>+                   (o .:? "users" .!= mempty))++instance ToJSON GroupsRemoveMemberRequest where+        toJSON GroupsRemoveMemberRequest{..}+          = object (catMaybes [("users" .=) <$> _grmrUsers])++-- | A list of authorized public keys for a user account.+--+-- /See:/ 'authorizedKeysView' smart constructor.+data AuthorizedKeysView = AuthorizedKeysView+    { _akvSudoer :: !(Maybe Bool)+    , _akvKeys   :: !(Maybe [Text])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AuthorizedKeysView' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'akvSudoer'+--+-- * 'akvKeys'+authorizedKeysView+    :: AuthorizedKeysView+authorizedKeysView =+    AuthorizedKeysView+    { _akvSudoer = Nothing+    , _akvKeys = Nothing+    }++-- | [Output Only] Whether the user has the ability to elevate on the+-- instance that requested the authorized keys.+akvSudoer :: Lens' AuthorizedKeysView (Maybe Bool)+akvSudoer+  = lens _akvSudoer (\ s a -> s{_akvSudoer = a})++-- | [Output Only] The list of authorized public keys in SSH format.+akvKeys :: Lens' AuthorizedKeysView [Text]+akvKeys+  = lens _akvKeys (\ s a -> s{_akvKeys = a}) . _Default+      . _Coerce++instance FromJSON AuthorizedKeysView where+        parseJSON+          = withObject "AuthorizedKeysView"+              (\ o ->+                 AuthorizedKeysView <$>+                   (o .:? "sudoer") <*> (o .:? "keys" .!= mempty))++instance ToJSON AuthorizedKeysView where+        toJSON AuthorizedKeysView{..}+          = object+              (catMaybes+                 [("sudoer" .=) <$> _akvSudoer,+                  ("keys" .=) <$> _akvKeys])++--+-- /See:/ 'operationWarningsItem' smart constructor.+data OperationWarningsItem = OperationWarningsItem+    { _owiData    :: !(Maybe [OperationWarningsItemDataItem])+    , _owiCode    :: !(Maybe OperationWarningsItemCode)+    , _owiMessage :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'OperationWarningsItem' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'owiData'+--+-- * 'owiCode'+--+-- * 'owiMessage'+operationWarningsItem+    :: OperationWarningsItem+operationWarningsItem =+    OperationWarningsItem+    { _owiData = Nothing+    , _owiCode = Nothing+    , _owiMessage = Nothing+    }++-- | [Output Only] Metadata for this warning in key: value format.+owiData :: Lens' OperationWarningsItem [OperationWarningsItemDataItem]+owiData+  = lens _owiData (\ s a -> s{_owiData = a}) . _Default+      . _Coerce++-- | [Output Only] The warning type identifier for this warning.+owiCode :: Lens' OperationWarningsItem (Maybe OperationWarningsItemCode)+owiCode = lens _owiCode (\ s a -> s{_owiCode = a})++-- | [Output Only] Optional human-readable details for this warning.+owiMessage :: Lens' OperationWarningsItem (Maybe Text)+owiMessage+  = lens _owiMessage (\ s a -> s{_owiMessage = a})++instance FromJSON OperationWarningsItem where+        parseJSON+          = withObject "OperationWarningsItem"+              (\ o ->+                 OperationWarningsItem <$>+                   (o .:? "data" .!= mempty) <*> (o .:? "code") <*>+                     (o .:? "message"))++instance ToJSON OperationWarningsItem where+        toJSON OperationWarningsItem{..}+          = object+              (catMaybes+                 [("data" .=) <$> _owiData, ("code" .=) <$> _owiCode,+                  ("message" .=) <$> _owiMessage])
+ gen/Network/Google/UserAccounts/Types/Sum.hs view
@@ -0,0 +1,126 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE LambdaCase         #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module      : Network.Google.UserAccounts.Types.Sum+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+module Network.Google.UserAccounts.Types.Sum where++import           Network.Google.Prelude++-- | [Output Only] The warning type identifier for this warning.+data OperationWarningsItemCode+    = DeprecatedResourceUsed+      -- ^ @DEPRECATED_RESOURCE_USED@+    | DiskSizeLargerThanImageSize+      -- ^ @DISK_SIZE_LARGER_THAN_IMAGE_SIZE@+    | InjectedKernelsDeprecated+      -- ^ @INJECTED_KERNELS_DEPRECATED@+    | NextHopAddressNotAssigned+      -- ^ @NEXT_HOP_ADDRESS_NOT_ASSIGNED@+    | NextHopCannotIPForward+      -- ^ @NEXT_HOP_CANNOT_IP_FORWARD@+    | NextHopInstanceNotFound+      -- ^ @NEXT_HOP_INSTANCE_NOT_FOUND@+    | NextHopInstanceNotOnNetwork+      -- ^ @NEXT_HOP_INSTANCE_NOT_ON_NETWORK@+    | NextHopNotRunning+      -- ^ @NEXT_HOP_NOT_RUNNING@+    | NotCriticalError+      -- ^ @NOT_CRITICAL_ERROR@+    | NoResultsOnPage+      -- ^ @NO_RESULTS_ON_PAGE@+    | RequiredTosAgreement+      -- ^ @REQUIRED_TOS_AGREEMENT@+    | ResourceNotDeleted+      -- ^ @RESOURCE_NOT_DELETED@+    | SingleInstancePropertyTemplate+      -- ^ @SINGLE_INSTANCE_PROPERTY_TEMPLATE@+    | Unreachable+      -- ^ @UNREACHABLE@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable OperationWarningsItemCode++instance FromText OperationWarningsItemCode where+    fromText = \case+        "DEPRECATED_RESOURCE_USED" -> Just DeprecatedResourceUsed+        "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" -> Just DiskSizeLargerThanImageSize+        "INJECTED_KERNELS_DEPRECATED" -> Just InjectedKernelsDeprecated+        "NEXT_HOP_ADDRESS_NOT_ASSIGNED" -> Just NextHopAddressNotAssigned+        "NEXT_HOP_CANNOT_IP_FORWARD" -> Just NextHopCannotIPForward+        "NEXT_HOP_INSTANCE_NOT_FOUND" -> Just NextHopInstanceNotFound+        "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" -> Just NextHopInstanceNotOnNetwork+        "NEXT_HOP_NOT_RUNNING" -> Just NextHopNotRunning+        "NOT_CRITICAL_ERROR" -> Just NotCriticalError+        "NO_RESULTS_ON_PAGE" -> Just NoResultsOnPage+        "REQUIRED_TOS_AGREEMENT" -> Just RequiredTosAgreement+        "RESOURCE_NOT_DELETED" -> Just ResourceNotDeleted+        "SINGLE_INSTANCE_PROPERTY_TEMPLATE" -> Just SingleInstancePropertyTemplate+        "UNREACHABLE" -> Just Unreachable+        _ -> Nothing++instance ToText OperationWarningsItemCode where+    toText = \case+        DeprecatedResourceUsed -> "DEPRECATED_RESOURCE_USED"+        DiskSizeLargerThanImageSize -> "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"+        InjectedKernelsDeprecated -> "INJECTED_KERNELS_DEPRECATED"+        NextHopAddressNotAssigned -> "NEXT_HOP_ADDRESS_NOT_ASSIGNED"+        NextHopCannotIPForward -> "NEXT_HOP_CANNOT_IP_FORWARD"+        NextHopInstanceNotFound -> "NEXT_HOP_INSTANCE_NOT_FOUND"+        NextHopInstanceNotOnNetwork -> "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"+        NextHopNotRunning -> "NEXT_HOP_NOT_RUNNING"+        NotCriticalError -> "NOT_CRITICAL_ERROR"+        NoResultsOnPage -> "NO_RESULTS_ON_PAGE"+        RequiredTosAgreement -> "REQUIRED_TOS_AGREEMENT"+        ResourceNotDeleted -> "RESOURCE_NOT_DELETED"+        SingleInstancePropertyTemplate -> "SINGLE_INSTANCE_PROPERTY_TEMPLATE"+        Unreachable -> "UNREACHABLE"++instance FromJSON OperationWarningsItemCode where+    parseJSON = parseJSONText "OperationWarningsItemCode"++instance ToJSON OperationWarningsItemCode where+    toJSON = toJSONText++-- | [Output Only] Status of the operation. Can be one of the following:+-- PENDING, RUNNING, or DONE.+data OperationStatus+    = Done+      -- ^ @DONE@+    | Pending+      -- ^ @PENDING@+    | Running+      -- ^ @RUNNING@+      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable OperationStatus++instance FromText OperationStatus where+    fromText = \case+        "DONE" -> Just Done+        "PENDING" -> Just Pending+        "RUNNING" -> Just Running+        _ -> Nothing++instance ToText OperationStatus where+    toText = \case+        Done -> "DONE"+        Pending -> "PENDING"+        Running -> "RUNNING"++instance FromJSON OperationStatus where+    parseJSON = parseJSONText "OperationStatus"++instance ToJSON OperationStatus where+    toJSON = toJSONText
+ gogol-useraccounts.cabal view
@@ -0,0 +1,62 @@+name:                  gogol-useraccounts+version:               0.0.1+synopsis:              Google Cloud User Accounts SDK.+homepage:              https://github.com/brendanhay/gogol+bug-reports:           https://github.com/brendanhay/gogol/issues+license:               OtherLicense+license-file:          LICENSE+author:                Brendan Hay+maintainer:            Brendan Hay <brendan.g.hay@gmail.com>+copyright:             Copyright (c) 2015 Brendan Hay+category:              Network, Google, Cloud+build-type:            Simple+cabal-version:         >= 1.10+extra-source-files:    README.md++description:+    API for the Google Cloud User Accounts service.+    .+    /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 @beta@+    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.Resource.CloudUserAccounts.GlobalAccountsOperations.Delete+        , Network.Google.Resource.CloudUserAccounts.GlobalAccountsOperations.Get+        , Network.Google.Resource.CloudUserAccounts.GlobalAccountsOperations.List+        , Network.Google.Resource.CloudUserAccounts.Groups.AddMember+        , Network.Google.Resource.CloudUserAccounts.Groups.Delete+        , Network.Google.Resource.CloudUserAccounts.Groups.Get+        , Network.Google.Resource.CloudUserAccounts.Groups.Insert+        , Network.Google.Resource.CloudUserAccounts.Groups.List+        , Network.Google.Resource.CloudUserAccounts.Groups.RemoveMember+        , Network.Google.Resource.CloudUserAccounts.Linux.GetAuthorizedKeysView+        , Network.Google.Resource.CloudUserAccounts.Linux.GetLinuxAccountViews+        , Network.Google.Resource.CloudUserAccounts.Users.AddPublicKey+        , Network.Google.Resource.CloudUserAccounts.Users.Delete+        , Network.Google.Resource.CloudUserAccounts.Users.Get+        , Network.Google.Resource.CloudUserAccounts.Users.Insert+        , Network.Google.Resource.CloudUserAccounts.Users.List+        , Network.Google.Resource.CloudUserAccounts.Users.RemovePublicKey+        , Network.Google.UserAccounts+        , Network.Google.UserAccounts.Types++    other-modules:+          Network.Google.UserAccounts.Types.Product+        , Network.Google.UserAccounts.Types.Sum++    build-depends:+          gogol-core == 0.0.1.*+        , base       >= 4.7 && < 5