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 +367/−0
- README.md +28/−0
- Setup.hs +2/−0
- gen/Network/Google/Resource/CloudUserAccounts/GlobalAccountsOperations/Delete.hs +101/−0
- gen/Network/Google/Resource/CloudUserAccounts/GlobalAccountsOperations/Get.hs +100/−0
- gen/Network/Google/Resource/CloudUserAccounts/GlobalAccountsOperations/List.hs +158/−0
- gen/Network/Google/Resource/CloudUserAccounts/Groups/AddMember.hs +113/−0
- gen/Network/Google/Resource/CloudUserAccounts/Groups/Delete.hs +97/−0
- gen/Network/Google/Resource/CloudUserAccounts/Groups/Get.hs +97/−0
- gen/Network/Google/Resource/CloudUserAccounts/Groups/Insert.hs +99/−0
- gen/Network/Google/Resource/CloudUserAccounts/Groups/List.hs +150/−0
- gen/Network/Google/Resource/CloudUserAccounts/Groups/RemoveMember.hs +113/−0
- gen/Network/Google/Resource/CloudUserAccounts/Linux/GetAuthorizedKeysView.hs +141/−0
- gen/Network/Google/Resource/CloudUserAccounts/Linux/GetLinuxAccountViews.hs +187/−0
- gen/Network/Google/Resource/CloudUserAccounts/Users/AddPublicKey.hs +113/−0
- gen/Network/Google/Resource/CloudUserAccounts/Users/Delete.hs +96/−0
- gen/Network/Google/Resource/CloudUserAccounts/Users/Get.hs +96/−0
- gen/Network/Google/Resource/CloudUserAccounts/Users/Insert.hs +99/−0
- gen/Network/Google/Resource/CloudUserAccounts/Users/List.hs +150/−0
- gen/Network/Google/Resource/CloudUserAccounts/Users/RemovePublicKey.hs +114/−0
- gen/Network/Google/UserAccounts.hs +291/−0
- gen/Network/Google/UserAccounts/Types.hs +219/−0
- gen/Network/Google/UserAccounts/Types/Product.hs +1488/−0
- gen/Network/Google/UserAccounts/Types/Sum.hs +126/−0
- gogol-useraccounts.cabal +62/−0
+ 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