packages feed

gogol-android-enterprise (empty) → 0.0.1

raw patch · 57 files changed

+8825/−0 lines, 57 filesdep +basedep +gogol-coresetup-changed

Dependencies added: base, gogol-core

Files

+ LICENSE view
@@ -0,0 +1,367 @@+Mozilla Public License Version 2.0+==================================++1. Definitions+--------------++1.1. "Contributor"+    means each individual or legal entity that creates, contributes to+    the creation of, or owns Covered Software.++1.2. "Contributor Version"+    means the combination of the Contributions of others (if any) used+    by a Contributor and that particular Contributor's Contribution.++1.3. "Contribution"+    means Covered Software of a particular Contributor.++1.4. "Covered Software"+    means Source Code Form to which the initial Contributor has attached+    the notice in Exhibit A, the Executable Form of such Source Code+    Form, and Modifications of such Source Code Form, in each case+    including portions thereof.++1.5. "Incompatible With Secondary Licenses"+    means++    (a) that the initial Contributor has attached the notice described+        in Exhibit B to the Covered Software; or++    (b) that the Covered Software was made available under the terms of+        version 1.1 or earlier of the License, but not also under the+        terms of a Secondary License.++1.6. "Executable Form"+    means any form of the work other than Source Code Form.++1.7. "Larger Work"+    means a work that combines Covered Software with other material, in+    a separate file or files, that is not Covered Software.++1.8. "License"+    means this document.++1.9. "Licensable"+    means having the right to grant, to the maximum extent possible,+    whether at the time of the initial grant or subsequently, any and+    all of the rights conveyed by this License.++1.10. "Modifications"+    means any of the following:++    (a) any file in Source Code Form that results from an addition to,+        deletion from, or modification of the contents of Covered+        Software; or++    (b) any new file in Source Code Form that contains any Covered+        Software.++1.11. "Patent Claims" of a Contributor+    means any patent claim(s), including without limitation, method,+    process, and apparatus claims, in any patent Licensable by such+    Contributor that would be infringed, but for the grant of the+    License, by the making, using, selling, offering for sale, having+    made, import, or transfer of either its Contributions or its+    Contributor Version.++1.12. "Secondary License"+    means either the GNU General Public License, Version 2.0, the GNU+    Lesser General Public License, Version 2.1, the GNU Affero General+    Public License, Version 3.0, or any later versions of those+    licenses.++1.13. "Source Code Form"+    means the form of the work preferred for making modifications.++1.14. "You" (or "Your")+    means an individual or a legal entity exercising rights under this+    License. For legal entities, "You" includes any entity that+    controls, is controlled by, or is under common control with You. For+    purposes of this definition, "control" means (a) the power, direct+    or indirect, to cause the direction or management of such entity,+    whether by contract or otherwise, or (b) ownership of more than+    fifty percent (50%) of the outstanding shares or beneficial+    ownership of such entity.++2. License Grants and Conditions+--------------------------------++2.1. Grants++Each Contributor hereby grants You a world-wide, royalty-free,+non-exclusive license:++(a) under intellectual property rights (other than patent or trademark)+    Licensable by such Contributor to use, reproduce, make available,+    modify, display, perform, distribute, and otherwise exploit its+    Contributions, either on an unmodified basis, with Modifications, or+    as part of a Larger Work; and++(b) under Patent Claims of such Contributor to make, use, sell, offer+    for sale, have made, import, and otherwise transfer either its+    Contributions or its Contributor Version.++2.2. Effective Date++The licenses granted in Section 2.1 with respect to any Contribution+become effective for each Contribution on the date the Contributor first+distributes such Contribution.++2.3. Limitations on Grant Scope++The licenses granted in this Section 2 are the only rights granted under+this License. No additional rights or licenses will be implied from the+distribution or licensing of Covered Software under this License.+Notwithstanding Section 2.1(b) above, no patent license is granted by a+Contributor:++(a) for any code that a Contributor has removed from Covered Software;+    or++(b) for infringements caused by: (i) Your and any other third party's+    modifications of Covered Software, or (ii) the combination of its+    Contributions with other software (except as part of its Contributor+    Version); or++(c) under Patent Claims infringed by Covered Software in the absence of+    its Contributions.++This License does not grant any rights in the trademarks, service marks,+or logos of any Contributor (except as may be necessary to comply with+the notice requirements in Section 3.4).++2.4. Subsequent Licenses++No Contributor makes additional grants as a result of Your choice to+distribute the Covered Software under a subsequent version of this+License (see Section 10.2) or under the terms of a Secondary License (if+permitted under the terms of Section 3.3).++2.5. Representation++Each Contributor represents that the Contributor believes its+Contributions are its original creation(s) or it has sufficient rights+to grant the rights to its Contributions conveyed by this License.++2.6. Fair Use++This License is not intended to limit any rights You have under+applicable copyright doctrines of fair use, fair dealing, or other+equivalents.++2.7. Conditions++Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted+in Section 2.1.++3. Responsibilities+-------------------++3.1. Distribution of Source Form++All distribution of Covered Software in Source Code Form, including any+Modifications that You create or to which You contribute, must be under+the terms of this License. You must inform recipients that the Source+Code Form of the Covered Software is governed by the terms of this+License, and how they can obtain a copy of this License. You may not+attempt to alter or restrict the recipients' rights in the Source Code+Form.++3.2. Distribution of Executable Form++If You distribute Covered Software in Executable Form then:++(a) such Covered Software must also be made available in Source Code+    Form, as described in Section 3.1, and You must inform recipients of+    the Executable Form how they can obtain a copy of such Source Code+    Form by reasonable means in a timely manner, at a charge no more+    than the cost of distribution to the recipient; and++(b) You may distribute such Executable Form under the terms of this+    License, or sublicense it under different terms, provided that the+    license for the Executable Form does not attempt to limit or alter+    the recipients' rights in the Source Code Form under this License.++3.3. Distribution of a Larger Work++You may create and distribute a Larger Work under terms of Your choice,+provided that You also comply with the requirements of this License for+the Covered Software. If the Larger Work is a combination of Covered+Software with a work governed by one or more Secondary Licenses, and the+Covered Software is not Incompatible With Secondary Licenses, this+License permits You to additionally distribute such Covered Software+under the terms of such Secondary License(s), so that the recipient of+the Larger Work may, at their option, further distribute the Covered+Software under the terms of either this License or such Secondary+License(s).++3.4. Notices++You may not remove or alter the substance of any license notices+(including copyright notices, patent notices, disclaimers of warranty,+or limitations of liability) contained within the Source Code Form of+the Covered Software, except that You may alter any license notices to+the extent required to remedy known factual inaccuracies.++3.5. Application of Additional Terms++You may choose to offer, and to charge a fee for, warranty, support,+indemnity or liability obligations to one or more recipients of Covered+Software. However, You may do so only on Your own behalf, and not on+behalf of any Contributor. You must make it absolutely clear that any+such warranty, support, indemnity, or liability obligation is offered by+You alone, and You hereby agree to indemnify every Contributor for any+liability incurred by such Contributor as a result of warranty, support,+indemnity or liability terms You offer. You may include additional+disclaimers of warranty and limitations of liability specific to any+jurisdiction.++4. Inability to Comply Due to Statute or Regulation+---------------------------------------------------++If it is impossible for You to comply with any of the terms of this+License with respect to some or all of the Covered Software due to+statute, judicial order, or regulation then You must: (a) comply with+the terms of this License to the maximum extent possible; and (b)+describe the limitations and the code they affect. Such description must+be placed in a text file included with all distributions of the Covered+Software under this License. Except to the extent prohibited by statute+or regulation, such description must be sufficiently detailed for a+recipient of ordinary skill to be able to understand it.++5. Termination+--------------++5.1. The rights granted under this License will terminate automatically+if You fail to comply with any of its terms. However, if You become+compliant, then the rights granted under this License from a particular+Contributor are reinstated (a) provisionally, unless and until such+Contributor explicitly and finally terminates Your grants, and (b) on an+ongoing basis, if such Contributor fails to notify You of the+non-compliance by some reasonable means prior to 60 days after You have+come back into compliance. Moreover, Your grants from a particular+Contributor are reinstated on an ongoing basis if such Contributor+notifies You of the non-compliance by some reasonable means, this is the+first time You have received notice of non-compliance with this License+from such Contributor, and You become compliant prior to 30 days after+Your receipt of the notice.++5.2. If You initiate litigation against any entity by asserting a patent+infringement claim (excluding declaratory judgment actions,+counter-claims, and cross-claims) alleging that a Contributor Version+directly or indirectly infringes any patent, then the rights granted to+You by any and all Contributors for the Covered Software under Section+2.1 of this License shall terminate.++5.3. In the event of termination under Sections 5.1 or 5.2 above, all+end user license agreements (excluding distributors and resellers) which+have been validly granted by You or Your distributors under this License+prior to termination shall survive termination.++************************************************************************+*                                                                      *+*  6. Disclaimer of Warranty                                           *+*  -------------------------                                           *+*                                                                      *+*  Covered Software is provided under this License on an "as is"       *+*  basis, without warranty of any kind, either expressed, implied, or  *+*  statutory, including, without limitation, warranties that the       *+*  Covered Software is free of defects, merchantable, fit for a        *+*  particular purpose or non-infringing. The entire risk as to the     *+*  quality and performance of the Covered Software is with You.        *+*  Should any Covered Software prove defective in any respect, You     *+*  (not any Contributor) assume the cost of any necessary servicing,   *+*  repair, or correction. This disclaimer of warranty constitutes an   *+*  essential part of this License. No use of any Covered Software is   *+*  authorized under this License except under this disclaimer.         *+*                                                                      *+************************************************************************++************************************************************************+*                                                                      *+*  7. Limitation of Liability                                          *+*  --------------------------                                          *+*                                                                      *+*  Under no circumstances and under no legal theory, whether tort      *+*  (including negligence), contract, or otherwise, shall any           *+*  Contributor, or anyone who distributes Covered Software as          *+*  permitted above, be liable to You for any direct, indirect,         *+*  special, incidental, or consequential damages of any character      *+*  including, without limitation, damages for lost profits, loss of    *+*  goodwill, work stoppage, computer failure or malfunction, or any    *+*  and all other commercial damages or losses, even if such party      *+*  shall have been informed of the possibility of such damages. This   *+*  limitation of liability shall not apply to liability for death or   *+*  personal injury resulting from such party's negligence to the       *+*  extent applicable law prohibits such limitation. Some               *+*  jurisdictions do not allow the exclusion or limitation of           *+*  incidental or consequential damages, so this exclusion and          *+*  limitation may not apply to You.                                    *+*                                                                      *+************************************************************************++8. Litigation+-------------++Any litigation relating to this License may be brought only in the+courts of a jurisdiction where the defendant maintains its principal+place of business and such litigation shall be governed by laws of that+jurisdiction, without reference to its conflict-of-law provisions.+Nothing in this Section shall prevent a party's ability to bring+cross-claims or counter-claims.++9. Miscellaneous+----------------++This License represents the complete agreement concerning the subject+matter hereof. If any provision of this License is held to be+unenforceable, such provision shall be reformed only to the extent+necessary to make it enforceable. Any law or regulation which provides+that the language of a contract shall be construed against the drafter+shall not be used to construe this License against a Contributor.++10. Versions of the License+---------------------------++10.1. New Versions++Mozilla Foundation is the license steward. Except as provided in Section+10.3, no one other than the license steward has the right to modify or+publish new versions of this License. Each version will be given a+distinguishing version number.++10.2. Effect of New Versions++You may distribute the Covered Software under the terms of the version+of the License under which You originally received the Covered Software,+or under the terms of any subsequent version published by the license+steward.++10.3. Modified Versions++If you create software not governed by this License, and you want to+create a new license for such software, you may create and use a+modified version of this License if you rename the license and remove+any references to the name of the license steward (except to note that+such modified license differs from this License).++10.4. Distributing Source Code Form that is Incompatible With Secondary+Licenses++If You choose to distribute Source Code Form that is Incompatible With+Secondary Licenses under the terms of this version of the License, the+notice described in Exhibit B of this License must be attached.++Exhibit A - Source Code Form License Notice+-------------------------------------------++  This Source Code Form is subject to the terms of the Mozilla Public+  License, v. 2.0. If a copy of the MPL was not distributed with this+  file, You can obtain one at http://mozilla.org/MPL/2.0/.++If it is not possible or desirable to put the notice in a particular+file, then You may include the notice in a location (such as a LICENSE+file in a relevant directory) where a recipient would be likely to look+for such a notice.++You may add additional accurate notices of copyright ownership.
+ README.md view
@@ -0,0 +1,28 @@+# gogol-android-enterprise++* [Version](#version)+* [Description](#description)+* [Contribute](#contribute)+* [Licence](#licence)+++## Version++`0.0.1`+++## Description++A client library for the Google Play EMM.+++## 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-android-enterprise` 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/AndroidEnterprise.hs view
@@ -0,0 +1,510 @@+{-# LANGUAGE DataKinds         #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE TypeOperators     #-}++{-# OPTIONS_GHC -fno-warn-unused-imports    #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}++-- |+-- Module      : Network.Google.AndroidEnterprise+-- 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)+--+-- Allows MDMs\/EMMs and enterprises to manage the deployment of apps to+-- Android for Work users.+--+-- /See:/ <https://developers.google.com/play/enterprise Google Play EMM API Reference>+module Network.Google.AndroidEnterprise+    (+    -- * Service Configuration+      androidEnterpriseService++    -- * API Declaration+    , AndroidEnterpriseAPI++    -- * Resources++    -- ** androidenterprise.collections.delete+    , module Network.Google.Resource.AndroidEnterprise.Collections.Delete++    -- ** androidenterprise.collections.get+    , module Network.Google.Resource.AndroidEnterprise.Collections.Get++    -- ** androidenterprise.collections.insert+    , module Network.Google.Resource.AndroidEnterprise.Collections.Insert++    -- ** androidenterprise.collections.list+    , module Network.Google.Resource.AndroidEnterprise.Collections.List++    -- ** androidenterprise.collections.patch+    , module Network.Google.Resource.AndroidEnterprise.Collections.Patch++    -- ** androidenterprise.collections.update+    , module Network.Google.Resource.AndroidEnterprise.Collections.Update++    -- ** androidenterprise.collectionviewers.delete+    , module Network.Google.Resource.AndroidEnterprise.Collectionviewers.Delete++    -- ** androidenterprise.collectionviewers.get+    , module Network.Google.Resource.AndroidEnterprise.Collectionviewers.Get++    -- ** androidenterprise.collectionviewers.list+    , module Network.Google.Resource.AndroidEnterprise.Collectionviewers.List++    -- ** androidenterprise.collectionviewers.patch+    , module Network.Google.Resource.AndroidEnterprise.Collectionviewers.Patch++    -- ** androidenterprise.collectionviewers.update+    , module Network.Google.Resource.AndroidEnterprise.Collectionviewers.Update++    -- ** androidenterprise.devices.get+    , module Network.Google.Resource.AndroidEnterprise.Devices.Get++    -- ** androidenterprise.devices.getState+    , module Network.Google.Resource.AndroidEnterprise.Devices.GetState++    -- ** androidenterprise.devices.list+    , module Network.Google.Resource.AndroidEnterprise.Devices.List++    -- ** androidenterprise.devices.setState+    , module Network.Google.Resource.AndroidEnterprise.Devices.SetState++    -- ** androidenterprise.enterprises.delete+    , module Network.Google.Resource.AndroidEnterprise.Enterprises.Delete++    -- ** androidenterprise.enterprises.enroll+    , module Network.Google.Resource.AndroidEnterprise.Enterprises.Enroll++    -- ** androidenterprise.enterprises.get+    , module Network.Google.Resource.AndroidEnterprise.Enterprises.Get++    -- ** androidenterprise.enterprises.insert+    , module Network.Google.Resource.AndroidEnterprise.Enterprises.Insert++    -- ** androidenterprise.enterprises.list+    , module Network.Google.Resource.AndroidEnterprise.Enterprises.List++    -- ** androidenterprise.enterprises.sendTestPushNotification+    , module Network.Google.Resource.AndroidEnterprise.Enterprises.SendTestPushNotification++    -- ** androidenterprise.enterprises.setAccount+    , module Network.Google.Resource.AndroidEnterprise.Enterprises.SetAccount++    -- ** androidenterprise.enterprises.unenroll+    , module Network.Google.Resource.AndroidEnterprise.Enterprises.Unenroll++    -- ** androidenterprise.entitlements.delete+    , module Network.Google.Resource.AndroidEnterprise.Entitlements.Delete++    -- ** androidenterprise.entitlements.get+    , module Network.Google.Resource.AndroidEnterprise.Entitlements.Get++    -- ** androidenterprise.entitlements.list+    , module Network.Google.Resource.AndroidEnterprise.Entitlements.List++    -- ** androidenterprise.entitlements.patch+    , module Network.Google.Resource.AndroidEnterprise.Entitlements.Patch++    -- ** androidenterprise.entitlements.update+    , module Network.Google.Resource.AndroidEnterprise.Entitlements.Update++    -- ** androidenterprise.grouplicenses.get+    , module Network.Google.Resource.AndroidEnterprise.Grouplicenses.Get++    -- ** androidenterprise.grouplicenses.list+    , module Network.Google.Resource.AndroidEnterprise.Grouplicenses.List++    -- ** androidenterprise.grouplicenseusers.list+    , module Network.Google.Resource.AndroidEnterprise.GrouplicenseUsers.List++    -- ** androidenterprise.installs.delete+    , module Network.Google.Resource.AndroidEnterprise.Installs.Delete++    -- ** androidenterprise.installs.get+    , module Network.Google.Resource.AndroidEnterprise.Installs.Get++    -- ** androidenterprise.installs.list+    , module Network.Google.Resource.AndroidEnterprise.Installs.List++    -- ** androidenterprise.installs.patch+    , module Network.Google.Resource.AndroidEnterprise.Installs.Patch++    -- ** androidenterprise.installs.update+    , module Network.Google.Resource.AndroidEnterprise.Installs.Update++    -- ** androidenterprise.permissions.get+    , module Network.Google.Resource.AndroidEnterprise.Permissions.Get++    -- ** androidenterprise.products.approve+    , module Network.Google.Resource.AndroidEnterprise.Products.Approve++    -- ** androidenterprise.products.generateApprovalUrl+    , module Network.Google.Resource.AndroidEnterprise.Products.GenerateApprovalURL++    -- ** androidenterprise.products.get+    , module Network.Google.Resource.AndroidEnterprise.Products.Get++    -- ** androidenterprise.products.getAppRestrictionsSchema+    , module Network.Google.Resource.AndroidEnterprise.Products.GetAppRestrictionsSchema++    -- ** androidenterprise.products.getPermissions+    , module Network.Google.Resource.AndroidEnterprise.Products.GetPermissions++    -- ** androidenterprise.products.updatePermissions+    , module Network.Google.Resource.AndroidEnterprise.Products.UpdatePermissions++    -- ** androidenterprise.users.generateToken+    , module Network.Google.Resource.AndroidEnterprise.Users.GenerateToken++    -- ** androidenterprise.users.get+    , module Network.Google.Resource.AndroidEnterprise.Users.Get++    -- ** androidenterprise.users.getAvailableProductSet+    , module Network.Google.Resource.AndroidEnterprise.Users.GetAvailableProductSet++    -- ** androidenterprise.users.list+    , module Network.Google.Resource.AndroidEnterprise.Users.List++    -- ** androidenterprise.users.revokeToken+    , module Network.Google.Resource.AndroidEnterprise.Users.RevokeToken++    -- ** androidenterprise.users.setAvailableProductSet+    , module Network.Google.Resource.AndroidEnterprise.Users.SetAvailableProductSet++    -- * Types++    -- ** GroupLicense+    , GroupLicense+    , groupLicense+    , glKind+    , glNumProvisioned+    , glNumPurchased+    , glApproval+    , glProductId+    , glAcquisitionKind++    -- ** EnterpriseAccount+    , EnterpriseAccount+    , enterpriseAccount+    , eaKind+    , eaAccountEmail++    -- ** CollectionsListResponse+    , CollectionsListResponse+    , collectionsListResponse+    , clrKind+    , clrCollection++    -- ** AppRestrictionsSchemaRestrictionRestrictionValue+    , AppRestrictionsSchemaRestrictionRestrictionValue+    , appRestrictionsSchemaRestrictionRestrictionValue+    , arsrrvValueMultiselect+    , arsrrvValueBool+    , arsrrvValueInteger+    , arsrrvType+    , arsrrvValueString++    -- ** DeviceState+    , DeviceState+    , deviceState+    , dsKind+    , dsAccountState++    -- ** GroupLicenseUsersListResponse+    , GroupLicenseUsersListResponse+    , groupLicenseUsersListResponse+    , glulrKind+    , glulrUser++    -- ** ApprovalURLInfo+    , ApprovalURLInfo+    , approvalURLInfo+    , auiApprovalURL+    , auiKind++    -- ** ProductPermission+    , ProductPermission+    , productPermission+    , ppState+    , ppPermissionId++    -- ** Device+    , Device+    , device+    , dKind+    , dManagementType+    , dAndroidId++    -- ** InstallsListResponse+    , InstallsListResponse+    , installsListResponse+    , ilrKind+    , ilrInstall++    -- ** AppRestrictionsSchemaRestriction+    , AppRestrictionsSchemaRestriction+    , appRestrictionsSchemaRestriction+    , arsrRestrictionType+    , arsrEntry+    , arsrKey+    , arsrEntryValue+    , arsrDefaultValue+    , arsrTitle+    , arsrDescription++    -- ** UsersListResponse+    , UsersListResponse+    , usersListResponse+    , ulrKind+    , ulrUser++    -- ** AppVersion+    , AppVersion+    , appVersion+    , avVersionCode+    , avVersionString++    -- ** GroupLicensesListResponse+    , GroupLicensesListResponse+    , groupLicensesListResponse+    , gllrGroupLicense+    , gllrKind++    -- ** Collection+    , Collection+    , collection+    , colKind+    , colCollectionId+    , colVisibility+    , colName+    , colProductId++    -- ** ProductSet+    , ProductSet+    , productSet+    , psKind+    , psProductId++    -- ** Install+    , Install+    , install+    , iVersionCode+    , iKind+    , iInstallState+    , iProductId++    -- ** User+    , User+    , user+    , uKind+    , uId+    , uPrimaryEmail++    -- ** ProductsGenerateApprovalURLResponse+    , ProductsGenerateApprovalURLResponse+    , productsGenerateApprovalURLResponse+    , pgaurURL++    -- ** EnterprisesSendTestPushNotificationResponse+    , EnterprisesSendTestPushNotificationResponse+    , enterprisesSendTestPushNotificationResponse+    , estpnrTopicName+    , estpnrMessageId++    -- ** EnterprisesListResponse+    , EnterprisesListResponse+    , enterprisesListResponse+    , elrKind+    , elrEnterprise++    -- ** AppRestrictionsSchema+    , AppRestrictionsSchema+    , appRestrictionsSchema+    , arsKind+    , arsRestrictions++    -- ** UserToken+    , UserToken+    , userToken+    , utKind+    , utToken+    , utUserId++    -- ** DevicesListResponse+    , DevicesListResponse+    , devicesListResponse+    , dlrKind+    , dlrDevice++    -- ** Enterprise+    , Enterprise+    , enterprise+    , eKind+    , ePrimaryDomain+    , eName+    , eId++    -- ** Product+    , Product+    , product+    , pAuthorName+    , pKind+    , pWorkDetailsURL+    , pRequiresContainerApp+    , pAppVersion+    , pDistributionChannel+    , pIconURL+    , pTitle+    , pProductId+    , pDetailsURL++    -- ** EntitlementsListResponse+    , EntitlementsListResponse+    , entitlementsListResponse+    , entKind+    , entEntitlement++    -- ** ProductPermissions+    , ProductPermissions+    , productPermissions+    , ppKind+    , ppPermission+    , ppProductId++    -- ** Permission+    , Permission+    , permission+    , perKind+    , perName+    , perDescription+    , perPermissionId++    -- ** ProductsApproveRequest+    , ProductsApproveRequest+    , productsApproveRequest+    , parApprovalURLInfo++    -- ** CollectionViewersListResponse+    , CollectionViewersListResponse+    , collectionViewersListResponse+    , cvlrKind+    , cvlrUser++    -- ** Entitlement+    , Entitlement+    , entitlement+    , eeKind+    , eeReason+    , eeProductId+    ) where++import           Network.Google.AndroidEnterprise.Types+import           Network.Google.Prelude+import           Network.Google.Resource.AndroidEnterprise.Collections.Delete+import           Network.Google.Resource.AndroidEnterprise.Collections.Get+import           Network.Google.Resource.AndroidEnterprise.Collections.Insert+import           Network.Google.Resource.AndroidEnterprise.Collections.List+import           Network.Google.Resource.AndroidEnterprise.Collections.Patch+import           Network.Google.Resource.AndroidEnterprise.Collections.Update+import           Network.Google.Resource.AndroidEnterprise.Collectionviewers.Delete+import           Network.Google.Resource.AndroidEnterprise.Collectionviewers.Get+import           Network.Google.Resource.AndroidEnterprise.Collectionviewers.List+import           Network.Google.Resource.AndroidEnterprise.Collectionviewers.Patch+import           Network.Google.Resource.AndroidEnterprise.Collectionviewers.Update+import           Network.Google.Resource.AndroidEnterprise.Devices.Get+import           Network.Google.Resource.AndroidEnterprise.Devices.GetState+import           Network.Google.Resource.AndroidEnterprise.Devices.List+import           Network.Google.Resource.AndroidEnterprise.Devices.SetState+import           Network.Google.Resource.AndroidEnterprise.Enterprises.Delete+import           Network.Google.Resource.AndroidEnterprise.Enterprises.Enroll+import           Network.Google.Resource.AndroidEnterprise.Enterprises.Get+import           Network.Google.Resource.AndroidEnterprise.Enterprises.Insert+import           Network.Google.Resource.AndroidEnterprise.Enterprises.List+import           Network.Google.Resource.AndroidEnterprise.Enterprises.SendTestPushNotification+import           Network.Google.Resource.AndroidEnterprise.Enterprises.SetAccount+import           Network.Google.Resource.AndroidEnterprise.Enterprises.Unenroll+import           Network.Google.Resource.AndroidEnterprise.Entitlements.Delete+import           Network.Google.Resource.AndroidEnterprise.Entitlements.Get+import           Network.Google.Resource.AndroidEnterprise.Entitlements.List+import           Network.Google.Resource.AndroidEnterprise.Entitlements.Patch+import           Network.Google.Resource.AndroidEnterprise.Entitlements.Update+import           Network.Google.Resource.AndroidEnterprise.Grouplicenses.Get+import           Network.Google.Resource.AndroidEnterprise.Grouplicenses.List+import           Network.Google.Resource.AndroidEnterprise.GrouplicenseUsers.List+import           Network.Google.Resource.AndroidEnterprise.Installs.Delete+import           Network.Google.Resource.AndroidEnterprise.Installs.Get+import           Network.Google.Resource.AndroidEnterprise.Installs.List+import           Network.Google.Resource.AndroidEnterprise.Installs.Patch+import           Network.Google.Resource.AndroidEnterprise.Installs.Update+import           Network.Google.Resource.AndroidEnterprise.Permissions.Get+import           Network.Google.Resource.AndroidEnterprise.Products.Approve+import           Network.Google.Resource.AndroidEnterprise.Products.GenerateApprovalURL+import           Network.Google.Resource.AndroidEnterprise.Products.Get+import           Network.Google.Resource.AndroidEnterprise.Products.GetAppRestrictionsSchema+import           Network.Google.Resource.AndroidEnterprise.Products.GetPermissions+import           Network.Google.Resource.AndroidEnterprise.Products.UpdatePermissions+import           Network.Google.Resource.AndroidEnterprise.Users.GenerateToken+import           Network.Google.Resource.AndroidEnterprise.Users.Get+import           Network.Google.Resource.AndroidEnterprise.Users.GetAvailableProductSet+import           Network.Google.Resource.AndroidEnterprise.Users.List+import           Network.Google.Resource.AndroidEnterprise.Users.RevokeToken+import           Network.Google.Resource.AndroidEnterprise.Users.SetAvailableProductSet++{- $resources+TODO+-}++-- | Represents the entirety of the methods and resources available for the Google Play EMM API service.+type AndroidEnterpriseAPI =+     CollectionviewersListResource :<|>+       CollectionviewersPatchResource+       :<|> CollectionviewersGetResource+       :<|> CollectionviewersDeleteResource+       :<|> CollectionviewersUpdateResource+       :<|> UsersListResource+       :<|> UsersGenerateTokenResource+       :<|> UsersGetResource+       :<|> UsersSetAvailableProductSetResource+       :<|> UsersRevokeTokenResource+       :<|> UsersGetAvailableProductSetResource+       :<|> InstallsListResource+       :<|> InstallsPatchResource+       :<|> InstallsGetResource+       :<|> InstallsDeleteResource+       :<|> InstallsUpdateResource+       :<|> CollectionsInsertResource+       :<|> CollectionsListResource+       :<|> CollectionsPatchResource+       :<|> CollectionsGetResource+       :<|> CollectionsDeleteResource+       :<|> CollectionsUpdateResource+       :<|> EnterprisesInsertResource+       :<|> EnterprisesListResource+       :<|> EnterprisesUnenrollResource+       :<|> EnterprisesSetAccountResource+       :<|> EnterprisesEnrollResource+       :<|> EnterprisesGetResource+       :<|> EnterprisesSendTestPushNotificationResource+       :<|> EnterprisesDeleteResource+       :<|> GrouplicensesListResource+       :<|> GrouplicensesGetResource+       :<|> EntitlementsListResource+       :<|> EntitlementsPatchResource+       :<|> EntitlementsGetResource+       :<|> EntitlementsDeleteResource+       :<|> EntitlementsUpdateResource+       :<|> PermissionsGetResource+       :<|> ProductsGenerateApprovalURLResource+       :<|> ProductsGetResource+       :<|> ProductsGetAppRestrictionsSchemaResource+       :<|> ProductsApproveResource+       :<|> ProductsGetPermissionsResource+       :<|> ProductsUpdatePermissionsResource+       :<|> DevicesListResource+       :<|> DevicesSetStateResource+       :<|> DevicesGetResource+       :<|> DevicesGetStateResource+       :<|> GrouplicenseUsersListResource
+ gen/Network/Google/AndroidEnterprise/Types.hs view
@@ -0,0 +1,261 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module      : Network.Google.AndroidEnterprise.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.AndroidEnterprise.Types+    (+    -- * Service Configuration+      androidEnterpriseService++    -- * OAuth Scopes+    , androidenterpriseScope++    -- * GroupLicense+    , GroupLicense+    , groupLicense+    , glKind+    , glNumProvisioned+    , glNumPurchased+    , glApproval+    , glProductId+    , glAcquisitionKind++    -- * EnterpriseAccount+    , EnterpriseAccount+    , enterpriseAccount+    , eaKind+    , eaAccountEmail++    -- * CollectionsListResponse+    , CollectionsListResponse+    , collectionsListResponse+    , clrKind+    , clrCollection++    -- * AppRestrictionsSchemaRestrictionRestrictionValue+    , AppRestrictionsSchemaRestrictionRestrictionValue+    , appRestrictionsSchemaRestrictionRestrictionValue+    , arsrrvValueMultiselect+    , arsrrvValueBool+    , arsrrvValueInteger+    , arsrrvType+    , arsrrvValueString++    -- * DeviceState+    , DeviceState+    , deviceState+    , dsKind+    , dsAccountState++    -- * GroupLicenseUsersListResponse+    , GroupLicenseUsersListResponse+    , groupLicenseUsersListResponse+    , glulrKind+    , glulrUser++    -- * ApprovalURLInfo+    , ApprovalURLInfo+    , approvalURLInfo+    , auiApprovalURL+    , auiKind++    -- * ProductPermission+    , ProductPermission+    , productPermission+    , ppState+    , ppPermissionId++    -- * Device+    , Device+    , device+    , dKind+    , dManagementType+    , dAndroidId++    -- * InstallsListResponse+    , InstallsListResponse+    , installsListResponse+    , ilrKind+    , ilrInstall++    -- * AppRestrictionsSchemaRestriction+    , AppRestrictionsSchemaRestriction+    , appRestrictionsSchemaRestriction+    , arsrRestrictionType+    , arsrEntry+    , arsrKey+    , arsrEntryValue+    , arsrDefaultValue+    , arsrTitle+    , arsrDescription++    -- * UsersListResponse+    , UsersListResponse+    , usersListResponse+    , ulrKind+    , ulrUser++    -- * AppVersion+    , AppVersion+    , appVersion+    , avVersionCode+    , avVersionString++    -- * GroupLicensesListResponse+    , GroupLicensesListResponse+    , groupLicensesListResponse+    , gllrGroupLicense+    , gllrKind++    -- * Collection+    , Collection+    , collection+    , colKind+    , colCollectionId+    , colVisibility+    , colName+    , colProductId++    -- * ProductSet+    , ProductSet+    , productSet+    , psKind+    , psProductId++    -- * Install+    , Install+    , install+    , iVersionCode+    , iKind+    , iInstallState+    , iProductId++    -- * User+    , User+    , user+    , uKind+    , uId+    , uPrimaryEmail++    -- * ProductsGenerateApprovalURLResponse+    , ProductsGenerateApprovalURLResponse+    , productsGenerateApprovalURLResponse+    , pgaurURL++    -- * EnterprisesSendTestPushNotificationResponse+    , EnterprisesSendTestPushNotificationResponse+    , enterprisesSendTestPushNotificationResponse+    , estpnrTopicName+    , estpnrMessageId++    -- * EnterprisesListResponse+    , EnterprisesListResponse+    , enterprisesListResponse+    , elrKind+    , elrEnterprise++    -- * AppRestrictionsSchema+    , AppRestrictionsSchema+    , appRestrictionsSchema+    , arsKind+    , arsRestrictions++    -- * UserToken+    , UserToken+    , userToken+    , utKind+    , utToken+    , utUserId++    -- * DevicesListResponse+    , DevicesListResponse+    , devicesListResponse+    , dlrKind+    , dlrDevice++    -- * Enterprise+    , Enterprise+    , enterprise+    , eKind+    , ePrimaryDomain+    , eName+    , eId++    -- * Product+    , Product+    , product+    , pAuthorName+    , pKind+    , pWorkDetailsURL+    , pRequiresContainerApp+    , pAppVersion+    , pDistributionChannel+    , pIconURL+    , pTitle+    , pProductId+    , pDetailsURL++    -- * EntitlementsListResponse+    , EntitlementsListResponse+    , entitlementsListResponse+    , entKind+    , entEntitlement++    -- * ProductPermissions+    , ProductPermissions+    , productPermissions+    , ppKind+    , ppPermission+    , ppProductId++    -- * Permission+    , Permission+    , permission+    , perKind+    , perName+    , perDescription+    , perPermissionId++    -- * ProductsApproveRequest+    , ProductsApproveRequest+    , productsApproveRequest+    , parApprovalURLInfo++    -- * CollectionViewersListResponse+    , CollectionViewersListResponse+    , collectionViewersListResponse+    , cvlrKind+    , cvlrUser++    -- * Entitlement+    , Entitlement+    , entitlement+    , eeKind+    , eeReason+    , eeProductId+    ) where++import           Network.Google.AndroidEnterprise.Types.Product+import           Network.Google.AndroidEnterprise.Types.Sum+import           Network.Google.Prelude++-- | Default request referring to version 'v1' of the Google Play EMM API. This contains the host and root path used as a starting point for constructing service requests.+androidEnterpriseService :: Service+androidEnterpriseService+  = defaultService (ServiceId "androidenterprise:v1")+      "www.googleapis.com"++-- | Manage corporate Android devices+androidenterpriseScope :: OAuthScope+androidenterpriseScope = "https://www.googleapis.com/auth/androidenterprise";
+ gen/Network/Google/AndroidEnterprise/Types/Product.hs view
@@ -0,0 +1,2184 @@+{-# 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.AndroidEnterprise.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.AndroidEnterprise.Types.Product where++import           Network.Google.AndroidEnterprise.Types.Sum+import           Network.Google.Prelude++-- | A group license object indicates a product that an enterprise admin has+-- approved for use in the enterprise. The product may be free or paid. For+-- free products, a group license object is created in these cases: if the+-- enterprise admin approves a product in Google Play, if the product is+-- added to a collection, or if an entitlement for the product is created+-- for a user via the API. For paid products, a group license object is+-- only created as part of the first bulk purchase of that product in+-- Google Play by the enterprise admin. The API can be used to query group+-- licenses; the available information includes the total number of+-- licenses purchased (for paid products) and the total number of licenses+-- that have been provisioned, that is, the total number of user+-- entitlements in existence for the product. Group license objects are+-- never deleted. If, for example, a free app is added to a collection and+-- then removed, the group license will remain, allowing the enterprise+-- admin to keep track of any remaining entitlements. An enterprise admin+-- may indicate they are no longer interested in the group license by+-- marking it as unapproved in Google Play.+--+-- /See:/ 'groupLicense' smart constructor.+data GroupLicense = GroupLicense+    { _glKind            :: !Text+    , _glNumProvisioned  :: !(Maybe (Textual Int32))+    , _glNumPurchased    :: !(Maybe (Textual Int32))+    , _glApproval        :: !(Maybe Text)+    , _glProductId       :: !(Maybe Text)+    , _glAcquisitionKind :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'GroupLicense' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'glKind'+--+-- * 'glNumProvisioned'+--+-- * 'glNumPurchased'+--+-- * 'glApproval'+--+-- * 'glProductId'+--+-- * 'glAcquisitionKind'+groupLicense+    :: GroupLicense+groupLicense =+    GroupLicense+    { _glKind = "androidenterprise#groupLicense"+    , _glNumProvisioned = Nothing+    , _glNumPurchased = Nothing+    , _glApproval = Nothing+    , _glProductId = Nothing+    , _glAcquisitionKind = Nothing+    }++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"androidenterprise#groupLicense\".+glKind :: Lens' GroupLicense Text+glKind = lens _glKind (\ s a -> s{_glKind = a})++-- | The total number of provisioned licenses for this product. Returned by+-- read operations, but ignored in write operations.+glNumProvisioned :: Lens' GroupLicense (Maybe Int32)+glNumProvisioned+  = lens _glNumProvisioned+      (\ s a -> s{_glNumProvisioned = a})+      . mapping _Coerce++-- | The number of purchased licenses (possibly in multiple purchases). If+-- this field is omitted then there is no limit on the number of licenses+-- that can be provisioned (e.g. if the acquisition kind is \"free\").+glNumPurchased :: Lens' GroupLicense (Maybe Int32)+glNumPurchased+  = lens _glNumPurchased+      (\ s a -> s{_glNumPurchased = a})+      . mapping _Coerce++-- | Whether the product to which this group license relates is currently+-- approved by the enterprise, as either \"approved\" or \"unapproved\".+-- Products are approved when a group license is first created, but this+-- approval may be revoked by an enterprise admin via Google Play.+-- Unapproved products will not be visible to end users in collections and+-- new entitlements to them should not normally be created.+glApproval :: Lens' GroupLicense (Maybe Text)+glApproval+  = lens _glApproval (\ s a -> s{_glApproval = a})++-- | The ID of the product that the license is for, e.g.+-- \"app:com.google.android.gm\".+glProductId :: Lens' GroupLicense (Maybe Text)+glProductId+  = lens _glProductId (\ s a -> s{_glProductId = a})++-- | How this group license was acquired. \"bulkPurchase\" means that this+-- group license object was created because the enterprise purchased+-- licenses for this product; this is \"free\" otherwise (for free+-- products).+glAcquisitionKind :: Lens' GroupLicense (Maybe Text)+glAcquisitionKind+  = lens _glAcquisitionKind+      (\ s a -> s{_glAcquisitionKind = a})++instance FromJSON GroupLicense where+        parseJSON+          = withObject "GroupLicense"+              (\ o ->+                 GroupLicense <$>+                   (o .:? "kind" .!= "androidenterprise#groupLicense")+                     <*> (o .:? "numProvisioned")+                     <*> (o .:? "numPurchased")+                     <*> (o .:? "approval")+                     <*> (o .:? "productId")+                     <*> (o .:? "acquisitionKind"))++instance ToJSON GroupLicense where+        toJSON GroupLicense{..}+          = object+              (catMaybes+                 [Just ("kind" .= _glKind),+                  ("numProvisioned" .=) <$> _glNumProvisioned,+                  ("numPurchased" .=) <$> _glNumPurchased,+                  ("approval" .=) <$> _glApproval,+                  ("productId" .=) <$> _glProductId,+                  ("acquisitionKind" .=) <$> _glAcquisitionKind])++-- | A service account that can be used to authenticate as the enterprise to+-- API calls that require such authentication.+--+-- /See:/ 'enterpriseAccount' smart constructor.+data EnterpriseAccount = EnterpriseAccount+    { _eaKind         :: !Text+    , _eaAccountEmail :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'EnterpriseAccount' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'eaKind'+--+-- * 'eaAccountEmail'+enterpriseAccount+    :: EnterpriseAccount+enterpriseAccount =+    EnterpriseAccount+    { _eaKind = "androidenterprise#enterpriseAccount"+    , _eaAccountEmail = Nothing+    }++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"androidenterprise#enterpriseAccount\".+eaKind :: Lens' EnterpriseAccount Text+eaKind = lens _eaKind (\ s a -> s{_eaKind = a})++-- | The email address of the service account.+eaAccountEmail :: Lens' EnterpriseAccount (Maybe Text)+eaAccountEmail+  = lens _eaAccountEmail+      (\ s a -> s{_eaAccountEmail = a})++instance FromJSON EnterpriseAccount where+        parseJSON+          = withObject "EnterpriseAccount"+              (\ o ->+                 EnterpriseAccount <$>+                   (o .:? "kind" .!=+                      "androidenterprise#enterpriseAccount")+                     <*> (o .:? "accountEmail"))++instance ToJSON EnterpriseAccount where+        toJSON EnterpriseAccount{..}+          = object+              (catMaybes+                 [Just ("kind" .= _eaKind),+                  ("accountEmail" .=) <$> _eaAccountEmail])++-- | The collection resources for the enterprise.+--+-- /See:/ 'collectionsListResponse' smart constructor.+data CollectionsListResponse = CollectionsListResponse+    { _clrKind       :: !Text+    , _clrCollection :: !(Maybe [Collection])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CollectionsListResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'clrKind'+--+-- * 'clrCollection'+collectionsListResponse+    :: CollectionsListResponse+collectionsListResponse =+    CollectionsListResponse+    { _clrKind = "androidenterprise#collectionsListResponse"+    , _clrCollection = Nothing+    }++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"androidenterprise#collectionsListResponse\".+clrKind :: Lens' CollectionsListResponse Text+clrKind = lens _clrKind (\ s a -> s{_clrKind = a})++-- | An ordered collection of products which can be made visible on the+-- Google Play Store to a selected group of users.+clrCollection :: Lens' CollectionsListResponse [Collection]+clrCollection+  = lens _clrCollection+      (\ s a -> s{_clrCollection = a})+      . _Default+      . _Coerce++instance FromJSON CollectionsListResponse where+        parseJSON+          = withObject "CollectionsListResponse"+              (\ o ->+                 CollectionsListResponse <$>+                   (o .:? "kind" .!=+                      "androidenterprise#collectionsListResponse")+                     <*> (o .:? "collection" .!= mempty))++instance ToJSON CollectionsListResponse where+        toJSON CollectionsListResponse{..}+          = object+              (catMaybes+                 [Just ("kind" .= _clrKind),+                  ("collection" .=) <$> _clrCollection])++-- | A typed value for the restriction.+--+-- /See:/ 'appRestrictionsSchemaRestrictionRestrictionValue' smart constructor.+data AppRestrictionsSchemaRestrictionRestrictionValue = AppRestrictionsSchemaRestrictionRestrictionValue+    { _arsrrvValueMultiselect :: !(Maybe [Text])+    , _arsrrvValueBool        :: !(Maybe Bool)+    , _arsrrvValueInteger     :: !(Maybe (Textual Int32))+    , _arsrrvType             :: !(Maybe Text)+    , _arsrrvValueString      :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AppRestrictionsSchemaRestrictionRestrictionValue' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'arsrrvValueMultiselect'+--+-- * 'arsrrvValueBool'+--+-- * 'arsrrvValueInteger'+--+-- * 'arsrrvType'+--+-- * 'arsrrvValueString'+appRestrictionsSchemaRestrictionRestrictionValue+    :: AppRestrictionsSchemaRestrictionRestrictionValue+appRestrictionsSchemaRestrictionRestrictionValue =+    AppRestrictionsSchemaRestrictionRestrictionValue+    { _arsrrvValueMultiselect = Nothing+    , _arsrrvValueBool = Nothing+    , _arsrrvValueInteger = Nothing+    , _arsrrvType = Nothing+    , _arsrrvValueString = Nothing+    }++-- | The list of string values - this will only be present if type is+-- multiselect.+arsrrvValueMultiselect :: Lens' AppRestrictionsSchemaRestrictionRestrictionValue [Text]+arsrrvValueMultiselect+  = lens _arsrrvValueMultiselect+      (\ s a -> s{_arsrrvValueMultiselect = a})+      . _Default+      . _Coerce++-- | The boolean value - this will only be present if type is bool.+arsrrvValueBool :: Lens' AppRestrictionsSchemaRestrictionRestrictionValue (Maybe Bool)+arsrrvValueBool+  = lens _arsrrvValueBool+      (\ s a -> s{_arsrrvValueBool = a})++-- | The integer value - this will only be present if type is integer.+arsrrvValueInteger :: Lens' AppRestrictionsSchemaRestrictionRestrictionValue (Maybe Int32)+arsrrvValueInteger+  = lens _arsrrvValueInteger+      (\ s a -> s{_arsrrvValueInteger = a})+      . mapping _Coerce++-- | The type of the value being provided.+arsrrvType :: Lens' AppRestrictionsSchemaRestrictionRestrictionValue (Maybe Text)+arsrrvType+  = lens _arsrrvType (\ s a -> s{_arsrrvType = a})++-- | The string value - this will be present for types string, choice and+-- hidden.+arsrrvValueString :: Lens' AppRestrictionsSchemaRestrictionRestrictionValue (Maybe Text)+arsrrvValueString+  = lens _arsrrvValueString+      (\ s a -> s{_arsrrvValueString = a})++instance FromJSON+         AppRestrictionsSchemaRestrictionRestrictionValue+         where+        parseJSON+          = withObject+              "AppRestrictionsSchemaRestrictionRestrictionValue"+              (\ o ->+                 AppRestrictionsSchemaRestrictionRestrictionValue <$>+                   (o .:? "valueMultiselect" .!= mempty) <*>+                     (o .:? "valueBool")+                     <*> (o .:? "valueInteger")+                     <*> (o .:? "type")+                     <*> (o .:? "valueString"))++instance ToJSON+         AppRestrictionsSchemaRestrictionRestrictionValue+         where+        toJSON+          AppRestrictionsSchemaRestrictionRestrictionValue{..}+          = object+              (catMaybes+                 [("valueMultiselect" .=) <$> _arsrrvValueMultiselect,+                  ("valueBool" .=) <$> _arsrrvValueBool,+                  ("valueInteger" .=) <$> _arsrrvValueInteger,+                  ("type" .=) <$> _arsrrvType,+                  ("valueString" .=) <$> _arsrrvValueString])++-- | The state of a user\'s device, as accessed by the getState and setState+-- methods on device resources.+--+-- /See:/ 'deviceState' smart constructor.+data DeviceState = DeviceState+    { _dsKind         :: !Text+    , _dsAccountState :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DeviceState' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dsKind'+--+-- * 'dsAccountState'+deviceState+    :: DeviceState+deviceState =+    DeviceState+    { _dsKind = "androidenterprise#deviceState"+    , _dsAccountState = Nothing+    }++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"androidenterprise#deviceState\".+dsKind :: Lens' DeviceState Text+dsKind = lens _dsKind (\ s a -> s{_dsKind = a})++-- | The state of the Google account on the device. \"enabled\" indicates+-- that the Google account on the device can be used to access Google+-- services (including Google Play), while \"disabled\" means that it+-- cannot. A new device is initially in the \"disabled\" state.+dsAccountState :: Lens' DeviceState (Maybe Text)+dsAccountState+  = lens _dsAccountState+      (\ s a -> s{_dsAccountState = a})++instance FromJSON DeviceState where+        parseJSON+          = withObject "DeviceState"+              (\ o ->+                 DeviceState <$>+                   (o .:? "kind" .!= "androidenterprise#deviceState")+                     <*> (o .:? "accountState"))++instance ToJSON DeviceState where+        toJSON DeviceState{..}+          = object+              (catMaybes+                 [Just ("kind" .= _dsKind),+                  ("accountState" .=) <$> _dsAccountState])++-- | The user resources for the group license.+--+-- /See:/ 'groupLicenseUsersListResponse' smart constructor.+data GroupLicenseUsersListResponse = GroupLicenseUsersListResponse+    { _glulrKind :: !Text+    , _glulrUser :: !(Maybe [User])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'GroupLicenseUsersListResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'glulrKind'+--+-- * 'glulrUser'+groupLicenseUsersListResponse+    :: GroupLicenseUsersListResponse+groupLicenseUsersListResponse =+    GroupLicenseUsersListResponse+    { _glulrKind = "androidenterprise#groupLicenseUsersListResponse"+    , _glulrUser = Nothing+    }++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"androidenterprise#groupLicenseUsersListResponse\".+glulrKind :: Lens' GroupLicenseUsersListResponse Text+glulrKind+  = lens _glulrKind (\ s a -> s{_glulrKind = a})++-- | A user of an enterprise.+glulrUser :: Lens' GroupLicenseUsersListResponse [User]+glulrUser+  = lens _glulrUser (\ s a -> s{_glulrUser = a}) .+      _Default+      . _Coerce++instance FromJSON GroupLicenseUsersListResponse where+        parseJSON+          = withObject "GroupLicenseUsersListResponse"+              (\ o ->+                 GroupLicenseUsersListResponse <$>+                   (o .:? "kind" .!=+                      "androidenterprise#groupLicenseUsersListResponse")+                     <*> (o .:? "user" .!= mempty))++instance ToJSON GroupLicenseUsersListResponse where+        toJSON GroupLicenseUsersListResponse{..}+          = object+              (catMaybes+                 [Just ("kind" .= _glulrKind),+                  ("user" .=) <$> _glulrUser])++-- | Information on an approval URL.+--+-- /See:/ 'approvalURLInfo' smart constructor.+data ApprovalURLInfo = ApprovalURLInfo+    { _auiApprovalURL :: !(Maybe Text)+    , _auiKind        :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ApprovalURLInfo' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'auiApprovalURL'+--+-- * 'auiKind'+approvalURLInfo+    :: ApprovalURLInfo+approvalURLInfo =+    ApprovalURLInfo+    { _auiApprovalURL = Nothing+    , _auiKind = "androidenterprise#approvalUrlInfo"+    }++-- | A URL that displays a product\'s permissions and that can also be used+-- to approve the product with the Products.approve call.+auiApprovalURL :: Lens' ApprovalURLInfo (Maybe Text)+auiApprovalURL+  = lens _auiApprovalURL+      (\ s a -> s{_auiApprovalURL = a})++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"androidenterprise#approvalUrlInfo\".+auiKind :: Lens' ApprovalURLInfo Text+auiKind = lens _auiKind (\ s a -> s{_auiKind = a})++instance FromJSON ApprovalURLInfo where+        parseJSON+          = withObject "ApprovalURLInfo"+              (\ o ->+                 ApprovalURLInfo <$>+                   (o .:? "approvalUrl") <*>+                     (o .:? "kind" .!=+                        "androidenterprise#approvalUrlInfo"))++instance ToJSON ApprovalURLInfo where+        toJSON ApprovalURLInfo{..}+          = object+              (catMaybes+                 [("approvalUrl" .=) <$> _auiApprovalURL,+                  Just ("kind" .= _auiKind)])++-- | A product permissions resource represents the set of permissions+-- required by a specific app and whether or not they have been accepted by+-- an enterprise admin. The API can be used to read the set of permissions,+-- and also to update the set to indicate that permissions have been+-- accepted.+--+-- /See:/ 'productPermission' smart constructor.+data ProductPermission = ProductPermission+    { _ppState        :: !(Maybe Text)+    , _ppPermissionId :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProductPermission' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ppState'+--+-- * 'ppPermissionId'+productPermission+    :: ProductPermission+productPermission =+    ProductPermission+    { _ppState = Nothing+    , _ppPermissionId = Nothing+    }++-- | Whether the permission has been accepted or not.+ppState :: Lens' ProductPermission (Maybe Text)+ppState = lens _ppState (\ s a -> s{_ppState = a})++-- | An opaque string uniquely identifying the permission.+ppPermissionId :: Lens' ProductPermission (Maybe Text)+ppPermissionId+  = lens _ppPermissionId+      (\ s a -> s{_ppPermissionId = a})++instance FromJSON ProductPermission where+        parseJSON+          = withObject "ProductPermission"+              (\ o ->+                 ProductPermission <$>+                   (o .:? "state") <*> (o .:? "permissionId"))++instance ToJSON ProductPermission where+        toJSON ProductPermission{..}+          = object+              (catMaybes+                 [("state" .=) <$> _ppState,+                  ("permissionId" .=) <$> _ppPermissionId])++-- | A device resource represents a mobile device managed by the MDM and+-- belonging to a specific enterprise user. This collection cannot be+-- modified via the API; it is automatically populated as devices are set+-- up to be managed.+--+-- /See:/ 'device' smart constructor.+data Device = Device+    { _dKind           :: !Text+    , _dManagementType :: !(Maybe Text)+    , _dAndroidId      :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Device' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dKind'+--+-- * 'dManagementType'+--+-- * 'dAndroidId'+device+    :: Device+device =+    Device+    { _dKind = "androidenterprise#device"+    , _dManagementType = Nothing+    , _dAndroidId = Nothing+    }++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"androidenterprise#device\".+dKind :: Lens' Device Text+dKind = lens _dKind (\ s a -> s{_dKind = a})++-- | The mechanism by which this device is managed by the MDM.+-- \"managedDevice\" means that the MDM\'s app is a device owner.+-- \"managedProfile\" means that the MDM\'s app is the profile owner (and+-- there is a separate personal profile which is not managed).+-- \"containerApp\" means that the MDM\'s app is managing the Android for+-- Work container app on the device.+dManagementType :: Lens' Device (Maybe Text)+dManagementType+  = lens _dManagementType+      (\ s a -> s{_dManagementType = a})++-- | The Google Play Services Android ID for the device encoded as a+-- lowercase hex string, e.g. \"123456789abcdef0\".+dAndroidId :: Lens' Device (Maybe Text)+dAndroidId+  = lens _dAndroidId (\ s a -> s{_dAndroidId = a})++instance FromJSON Device where+        parseJSON+          = withObject "Device"+              (\ o ->+                 Device <$>+                   (o .:? "kind" .!= "androidenterprise#device") <*>+                     (o .:? "managementType")+                     <*> (o .:? "androidId"))++instance ToJSON Device where+        toJSON Device{..}+          = object+              (catMaybes+                 [Just ("kind" .= _dKind),+                  ("managementType" .=) <$> _dManagementType,+                  ("androidId" .=) <$> _dAndroidId])++-- | The install resources for the device.+--+-- /See:/ 'installsListResponse' smart constructor.+data InstallsListResponse = InstallsListResponse+    { _ilrKind    :: !Text+    , _ilrInstall :: !(Maybe [Install])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'InstallsListResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ilrKind'+--+-- * 'ilrInstall'+installsListResponse+    :: InstallsListResponse+installsListResponse =+    InstallsListResponse+    { _ilrKind = "androidenterprise#installsListResponse"+    , _ilrInstall = Nothing+    }++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"androidenterprise#installsListResponse\".+ilrKind :: Lens' InstallsListResponse Text+ilrKind = lens _ilrKind (\ s a -> s{_ilrKind = a})++-- | An installation of an app for a user on a specific device. The existence+-- of an install implies that the user must have an entitlement to the app.+ilrInstall :: Lens' InstallsListResponse [Install]+ilrInstall+  = lens _ilrInstall (\ s a -> s{_ilrInstall = a}) .+      _Default+      . _Coerce++instance FromJSON InstallsListResponse where+        parseJSON+          = withObject "InstallsListResponse"+              (\ o ->+                 InstallsListResponse <$>+                   (o .:? "kind" .!=+                      "androidenterprise#installsListResponse")+                     <*> (o .:? "install" .!= mempty))++instance ToJSON InstallsListResponse where+        toJSON InstallsListResponse{..}+          = object+              (catMaybes+                 [Just ("kind" .= _ilrKind),+                  ("install" .=) <$> _ilrInstall])++-- | A restriction in the App Restriction Schema represents a piece of+-- configuration that may be pre-applied.+--+-- /See:/ 'appRestrictionsSchemaRestriction' smart constructor.+data AppRestrictionsSchemaRestriction = AppRestrictionsSchemaRestriction+    { _arsrRestrictionType :: !(Maybe Text)+    , _arsrEntry           :: !(Maybe [Text])+    , _arsrKey             :: !(Maybe Text)+    , _arsrEntryValue      :: !(Maybe [Text])+    , _arsrDefaultValue    :: !(Maybe AppRestrictionsSchemaRestrictionRestrictionValue)+    , _arsrTitle           :: !(Maybe Text)+    , _arsrDescription     :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AppRestrictionsSchemaRestriction' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'arsrRestrictionType'+--+-- * 'arsrEntry'+--+-- * 'arsrKey'+--+-- * 'arsrEntryValue'+--+-- * 'arsrDefaultValue'+--+-- * 'arsrTitle'+--+-- * 'arsrDescription'+appRestrictionsSchemaRestriction+    :: AppRestrictionsSchemaRestriction+appRestrictionsSchemaRestriction =+    AppRestrictionsSchemaRestriction+    { _arsrRestrictionType = Nothing+    , _arsrEntry = Nothing+    , _arsrKey = Nothing+    , _arsrEntryValue = Nothing+    , _arsrDefaultValue = Nothing+    , _arsrTitle = Nothing+    , _arsrDescription = Nothing+    }++-- | The type of the restriction.+arsrRestrictionType :: Lens' AppRestrictionsSchemaRestriction (Maybe Text)+arsrRestrictionType+  = lens _arsrRestrictionType+      (\ s a -> s{_arsrRestrictionType = a})++-- | For choice or multiselect restrictions, the list of possible entries\'+-- human-readable names.+arsrEntry :: Lens' AppRestrictionsSchemaRestriction [Text]+arsrEntry+  = lens _arsrEntry (\ s a -> s{_arsrEntry = a}) .+      _Default+      . _Coerce++-- | The unique key that the product uses to identify the restriction, e.g.+-- \"com.google.android.gm.fieldname\".+arsrKey :: Lens' AppRestrictionsSchemaRestriction (Maybe Text)+arsrKey = lens _arsrKey (\ s a -> s{_arsrKey = a})++-- | For choice or multiselect restrictions, the list of possible entries\'+-- machine-readable values.+arsrEntryValue :: Lens' AppRestrictionsSchemaRestriction [Text]+arsrEntryValue+  = lens _arsrEntryValue+      (\ s a -> s{_arsrEntryValue = a})+      . _Default+      . _Coerce++-- | The default value of the restriction.+arsrDefaultValue :: Lens' AppRestrictionsSchemaRestriction (Maybe AppRestrictionsSchemaRestrictionRestrictionValue)+arsrDefaultValue+  = lens _arsrDefaultValue+      (\ s a -> s{_arsrDefaultValue = a})++-- | The name of the restriction.+arsrTitle :: Lens' AppRestrictionsSchemaRestriction (Maybe Text)+arsrTitle+  = lens _arsrTitle (\ s a -> s{_arsrTitle = a})++-- | A longer description of the restriction, giving more detail of what it+-- affects.+arsrDescription :: Lens' AppRestrictionsSchemaRestriction (Maybe Text)+arsrDescription+  = lens _arsrDescription+      (\ s a -> s{_arsrDescription = a})++instance FromJSON AppRestrictionsSchemaRestriction+         where+        parseJSON+          = withObject "AppRestrictionsSchemaRestriction"+              (\ o ->+                 AppRestrictionsSchemaRestriction <$>+                   (o .:? "restrictionType") <*>+                     (o .:? "entry" .!= mempty)+                     <*> (o .:? "key")+                     <*> (o .:? "entryValue" .!= mempty)+                     <*> (o .:? "defaultValue")+                     <*> (o .:? "title")+                     <*> (o .:? "description"))++instance ToJSON AppRestrictionsSchemaRestriction+         where+        toJSON AppRestrictionsSchemaRestriction{..}+          = object+              (catMaybes+                 [("restrictionType" .=) <$> _arsrRestrictionType,+                  ("entry" .=) <$> _arsrEntry, ("key" .=) <$> _arsrKey,+                  ("entryValue" .=) <$> _arsrEntryValue,+                  ("defaultValue" .=) <$> _arsrDefaultValue,+                  ("title" .=) <$> _arsrTitle,+                  ("description" .=) <$> _arsrDescription])++-- | The matching user resources.+--+-- /See:/ 'usersListResponse' smart constructor.+data UsersListResponse = UsersListResponse+    { _ulrKind :: !Text+    , _ulrUser :: !(Maybe [User])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'UsersListResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ulrKind'+--+-- * 'ulrUser'+usersListResponse+    :: UsersListResponse+usersListResponse =+    UsersListResponse+    { _ulrKind = "androidenterprise#usersListResponse"+    , _ulrUser = Nothing+    }++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"androidenterprise#usersListResponse\".+ulrKind :: Lens' UsersListResponse Text+ulrKind = lens _ulrKind (\ s a -> s{_ulrKind = a})++-- | A user of an enterprise.+ulrUser :: Lens' UsersListResponse [User]+ulrUser+  = lens _ulrUser (\ s a -> s{_ulrUser = a}) . _Default+      . _Coerce++instance FromJSON UsersListResponse where+        parseJSON+          = withObject "UsersListResponse"+              (\ o ->+                 UsersListResponse <$>+                   (o .:? "kind" .!=+                      "androidenterprise#usersListResponse")+                     <*> (o .:? "user" .!= mempty))++instance ToJSON UsersListResponse where+        toJSON UsersListResponse{..}+          = object+              (catMaybes+                 [Just ("kind" .= _ulrKind),+                  ("user" .=) <$> _ulrUser])++-- | This represents a single version of the app.+--+-- /See:/ 'appVersion' smart constructor.+data AppVersion = AppVersion+    { _avVersionCode   :: !(Maybe (Textual Int32))+    , _avVersionString :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AppVersion' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'avVersionCode'+--+-- * 'avVersionString'+appVersion+    :: AppVersion+appVersion =+    AppVersion+    { _avVersionCode = Nothing+    , _avVersionString = Nothing+    }++-- | Unique increasing identifier for the app version.+avVersionCode :: Lens' AppVersion (Maybe Int32)+avVersionCode+  = lens _avVersionCode+      (\ s a -> s{_avVersionCode = a})+      . mapping _Coerce++-- | The string used in the Play Store by the app developer to identify the+-- version. The string is not necessarily unique or localized (for example,+-- the string could be \"1.4\").+avVersionString :: Lens' AppVersion (Maybe Text)+avVersionString+  = lens _avVersionString+      (\ s a -> s{_avVersionString = a})++instance FromJSON AppVersion where+        parseJSON+          = withObject "AppVersion"+              (\ o ->+                 AppVersion <$>+                   (o .:? "versionCode") <*> (o .:? "versionString"))++instance ToJSON AppVersion where+        toJSON AppVersion{..}+          = object+              (catMaybes+                 [("versionCode" .=) <$> _avVersionCode,+                  ("versionString" .=) <$> _avVersionString])++-- | The grouplicense resources for the enterprise.+--+-- /See:/ 'groupLicensesListResponse' smart constructor.+data GroupLicensesListResponse = GroupLicensesListResponse+    { _gllrGroupLicense :: !(Maybe [GroupLicense])+    , _gllrKind         :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'GroupLicensesListResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gllrGroupLicense'+--+-- * 'gllrKind'+groupLicensesListResponse+    :: GroupLicensesListResponse+groupLicensesListResponse =+    GroupLicensesListResponse+    { _gllrGroupLicense = Nothing+    , _gllrKind = "androidenterprise#groupLicensesListResponse"+    }++-- | A group license for a product approved for use in the enterprise.+gllrGroupLicense :: Lens' GroupLicensesListResponse [GroupLicense]+gllrGroupLicense+  = lens _gllrGroupLicense+      (\ s a -> s{_gllrGroupLicense = a})+      . _Default+      . _Coerce++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"androidenterprise#groupLicensesListResponse\".+gllrKind :: Lens' GroupLicensesListResponse Text+gllrKind = lens _gllrKind (\ s a -> s{_gllrKind = a})++instance FromJSON GroupLicensesListResponse where+        parseJSON+          = withObject "GroupLicensesListResponse"+              (\ o ->+                 GroupLicensesListResponse <$>+                   (o .:? "groupLicense" .!= mempty) <*>+                     (o .:? "kind" .!=+                        "androidenterprise#groupLicensesListResponse"))++instance ToJSON GroupLicensesListResponse where+        toJSON GroupLicensesListResponse{..}+          = object+              (catMaybes+                 [("groupLicense" .=) <$> _gllrGroupLicense,+                  Just ("kind" .= _gllrKind)])++-- | A collection resource defines a named set of apps that is visible to a+-- set of users in the Google Play Store app running on those users\'+-- managed devices. Those users can then install any of those apps if they+-- wish (which will trigger creation of install and entitlement resources).+-- A user cannot install an app on a managed device unless the app is+-- listed in at least one collection that is visible to that user. Note+-- that the API can be used to directly install an app regardless of+-- whether it is in any collection - so an enterprise has a choice of+-- either directly pushing apps to users, or allowing users to install apps+-- if they want. Which is appropriate will depend on the enterprise\'s+-- policies and the purpose of the apps concerned.+--+-- /See:/ 'collection' smart constructor.+data Collection = Collection+    { _colKind         :: !Text+    , _colCollectionId :: !(Maybe Text)+    , _colVisibility   :: !(Maybe Text)+    , _colName         :: !(Maybe Text)+    , _colProductId    :: !(Maybe [Text])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Collection' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'colKind'+--+-- * 'colCollectionId'+--+-- * 'colVisibility'+--+-- * 'colName'+--+-- * 'colProductId'+collection+    :: Collection+collection =+    Collection+    { _colKind = "androidenterprise#collection"+    , _colCollectionId = Nothing+    , _colVisibility = Nothing+    , _colName = Nothing+    , _colProductId = Nothing+    }++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"androidenterprise#collection\".+colKind :: Lens' Collection Text+colKind = lens _colKind (\ s a -> s{_colKind = a})++-- | Arbitrary unique ID, allocated by the API on creation.+colCollectionId :: Lens' Collection (Maybe Text)+colCollectionId+  = lens _colCollectionId+      (\ s a -> s{_colCollectionId = a})++-- | Whether this collection is visible to all users, or only to the users+-- that have been granted access through the \"Collectionviewers\" API.+-- With the launch of the \"setAvailableProductSet\" API, this property+-- should always be set to \"viewersOnly\", as the \"allUsers\" option will+-- bypass the \"availableProductSet\" for all users within a domain. The+-- \"allUsers\" setting is deprecated, and will be removed.+colVisibility :: Lens' Collection (Maybe Text)+colVisibility+  = lens _colVisibility+      (\ s a -> s{_colVisibility = a})++-- | A user-friendly name for the collection (should be unique), e.g.+-- \"Accounting apps\".+colName :: Lens' Collection (Maybe Text)+colName = lens _colName (\ s a -> s{_colName = a})++-- | The IDs of the products in the collection, in the order in which they+-- should be displayed.+colProductId :: Lens' Collection [Text]+colProductId+  = lens _colProductId (\ s a -> s{_colProductId = a})+      . _Default+      . _Coerce++instance FromJSON Collection where+        parseJSON+          = withObject "Collection"+              (\ o ->+                 Collection <$>+                   (o .:? "kind" .!= "androidenterprise#collection") <*>+                     (o .:? "collectionId")+                     <*> (o .:? "visibility")+                     <*> (o .:? "name")+                     <*> (o .:? "productId" .!= mempty))++instance ToJSON Collection where+        toJSON Collection{..}+          = object+              (catMaybes+                 [Just ("kind" .= _colKind),+                  ("collectionId" .=) <$> _colCollectionId,+                  ("visibility" .=) <$> _colVisibility,+                  ("name" .=) <$> _colName,+                  ("productId" .=) <$> _colProductId])++-- | A set of products.+--+-- /See:/ 'productSet' smart constructor.+data ProductSet = ProductSet+    { _psKind      :: !Text+    , _psProductId :: !(Maybe [Text])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProductSet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'psKind'+--+-- * 'psProductId'+productSet+    :: ProductSet+productSet =+    ProductSet+    { _psKind = "androidenterprise#productSet"+    , _psProductId = Nothing+    }++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"androidenterprise#productSet\".+psKind :: Lens' ProductSet Text+psKind = lens _psKind (\ s a -> s{_psKind = a})++-- | The list of product IDs making up the set of products.+psProductId :: Lens' ProductSet [Text]+psProductId+  = lens _psProductId (\ s a -> s{_psProductId = a}) .+      _Default+      . _Coerce++instance FromJSON ProductSet where+        parseJSON+          = withObject "ProductSet"+              (\ o ->+                 ProductSet <$>+                   (o .:? "kind" .!= "androidenterprise#productSet") <*>+                     (o .:? "productId" .!= mempty))++instance ToJSON ProductSet where+        toJSON ProductSet{..}+          = object+              (catMaybes+                 [Just ("kind" .= _psKind),+                  ("productId" .=) <$> _psProductId])++-- | The existence of an install resource indicates that an app is installed+-- on a particular device (or that an install is pending). The API can be+-- used to create an install resource using the update method. This+-- triggers the actual install of the app on the device. If the user does+-- not already have an entitlement for the app then an attempt is made to+-- create one. If this fails (e.g. because the app is not free and there is+-- no available license) then the creation of the install fails. The API+-- can also be used to update an installed app. If the update method is+-- used on an existing install then the app will be updated to the latest+-- available version. Note that it is not possible to force the+-- installation of a specific version of an app; the version code is+-- read-only. If a user installs an app themselves (as permitted by the+-- enterprise), then again an install resource and possibly an entitlement+-- resource are automatically created. The API can also be used to delete+-- an install resource, which triggers the removal of the app from the+-- device. Note that deleting an install does not automatically remove the+-- corresponding entitlement, even if there are no remaining installs. The+-- install resource will also be deleted if the user uninstalls the app+-- themselves.+--+-- /See:/ 'install' smart constructor.+data Install = Install+    { _iVersionCode  :: !(Maybe (Textual Int32))+    , _iKind         :: !Text+    , _iInstallState :: !(Maybe Text)+    , _iProductId    :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Install' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'iVersionCode'+--+-- * 'iKind'+--+-- * 'iInstallState'+--+-- * 'iProductId'+install+    :: Install+install =+    Install+    { _iVersionCode = Nothing+    , _iKind = "androidenterprise#install"+    , _iInstallState = Nothing+    , _iProductId = Nothing+    }++-- | The version of the installed product. Guaranteed to be set only if the+-- install state is \"installed\".+iVersionCode :: Lens' Install (Maybe Int32)+iVersionCode+  = lens _iVersionCode (\ s a -> s{_iVersionCode = a})+      . mapping _Coerce++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"androidenterprise#install\".+iKind :: Lens' Install Text+iKind = lens _iKind (\ s a -> s{_iKind = a})++-- | Install state. The state \"installPending\" means that an install+-- request has recently been made and download to the device is in+-- progress. The state \"installed\" means that the app has been installed.+-- This field is read-only.+iInstallState :: Lens' Install (Maybe Text)+iInstallState+  = lens _iInstallState+      (\ s a -> s{_iInstallState = a})++-- | The ID of the product that the install is for, e.g.+-- \"app:com.google.android.gm\".+iProductId :: Lens' Install (Maybe Text)+iProductId+  = lens _iProductId (\ s a -> s{_iProductId = a})++instance FromJSON Install where+        parseJSON+          = withObject "Install"+              (\ o ->+                 Install <$>+                   (o .:? "versionCode") <*>+                     (o .:? "kind" .!= "androidenterprise#install")+                     <*> (o .:? "installState")+                     <*> (o .:? "productId"))++instance ToJSON Install where+        toJSON Install{..}+          = object+              (catMaybes+                 [("versionCode" .=) <$> _iVersionCode,+                  Just ("kind" .= _iKind),+                  ("installState" .=) <$> _iInstallState,+                  ("productId" .=) <$> _iProductId])++-- | A user resource represents an individual user within the enterprise\'s+-- domain. Note that each user is associated with a Google account based on+-- the user\'s corporate email address (which must be in one of the+-- enterprise\'s domains). As part of installing an MDM app to manage a+-- device the Google account must be provisioned to the device, and so the+-- user resource must be created before that. This can be done using the+-- Google Admin SDK Directory API. The ID for a user is an opaque string.+-- It can be retrieved using the list method queried by the user\'s primary+-- email address.+--+-- /See:/ 'user' smart constructor.+data User = User+    { _uKind         :: !Text+    , _uId           :: !(Maybe Text)+    , _uPrimaryEmail :: !(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:+--+-- * 'uKind'+--+-- * 'uId'+--+-- * 'uPrimaryEmail'+user+    :: User+user =+    User+    { _uKind = "androidenterprise#user"+    , _uId = Nothing+    , _uPrimaryEmail = Nothing+    }++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"androidenterprise#user\".+uKind :: Lens' User Text+uKind = lens _uKind (\ s a -> s{_uKind = a})++-- | The unique ID for the user.+uId :: Lens' User (Maybe Text)+uId = lens _uId (\ s a -> s{_uId = a})++-- | The user\'s primary email, e.g. \"jsmith\'example.com\".+uPrimaryEmail :: Lens' User (Maybe Text)+uPrimaryEmail+  = lens _uPrimaryEmail+      (\ s a -> s{_uPrimaryEmail = a})++instance FromJSON User where+        parseJSON+          = withObject "User"+              (\ o ->+                 User <$>+                   (o .:? "kind" .!= "androidenterprise#user") <*>+                     (o .:? "id")+                     <*> (o .:? "primaryEmail"))++instance ToJSON User where+        toJSON User{..}+          = object+              (catMaybes+                 [Just ("kind" .= _uKind), ("id" .=) <$> _uId,+                  ("primaryEmail" .=) <$> _uPrimaryEmail])++--+-- /See:/ 'productsGenerateApprovalURLResponse' smart constructor.+newtype ProductsGenerateApprovalURLResponse = ProductsGenerateApprovalURLResponse+    { _pgaurURL :: Maybe Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProductsGenerateApprovalURLResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pgaurURL'+productsGenerateApprovalURLResponse+    :: ProductsGenerateApprovalURLResponse+productsGenerateApprovalURLResponse =+    ProductsGenerateApprovalURLResponse+    { _pgaurURL = Nothing+    }++-- | A URL that can be rendered in an iframe to display the permissions (if+-- any) of a product. This URL can be used to approve the product only once+-- and only within 24 hours of being generated, using the Products.approve+-- call. If the product is currently unapproved and has no permissions,+-- this URL will point to an empty page. If the product is currently+-- approved, a URL will only be generated if that product has added+-- permissions since it was last approved, and the URL will only display+-- those new permissions that have not yet been accepted.+pgaurURL :: Lens' ProductsGenerateApprovalURLResponse (Maybe Text)+pgaurURL = lens _pgaurURL (\ s a -> s{_pgaurURL = a})++instance FromJSON ProductsGenerateApprovalURLResponse+         where+        parseJSON+          = withObject "ProductsGenerateApprovalURLResponse"+              (\ o ->+                 ProductsGenerateApprovalURLResponse <$>+                   (o .:? "url"))++instance ToJSON ProductsGenerateApprovalURLResponse+         where+        toJSON ProductsGenerateApprovalURLResponse{..}+          = object (catMaybes [("url" .=) <$> _pgaurURL])++--+-- /See:/ 'enterprisesSendTestPushNotificationResponse' smart constructor.+data EnterprisesSendTestPushNotificationResponse = EnterprisesSendTestPushNotificationResponse+    { _estpnrTopicName :: !(Maybe Text)+    , _estpnrMessageId :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'EnterprisesSendTestPushNotificationResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'estpnrTopicName'+--+-- * 'estpnrMessageId'+enterprisesSendTestPushNotificationResponse+    :: EnterprisesSendTestPushNotificationResponse+enterprisesSendTestPushNotificationResponse =+    EnterprisesSendTestPushNotificationResponse+    { _estpnrTopicName = Nothing+    , _estpnrMessageId = Nothing+    }++-- | The name of the Cloud Pub\/Sub topic to which notifications for this+-- enterprise\'s enrolled account will be sent.+estpnrTopicName :: Lens' EnterprisesSendTestPushNotificationResponse (Maybe Text)+estpnrTopicName+  = lens _estpnrTopicName+      (\ s a -> s{_estpnrTopicName = a})++-- | The message ID of the test push notification that was sent.+estpnrMessageId :: Lens' EnterprisesSendTestPushNotificationResponse (Maybe Text)+estpnrMessageId+  = lens _estpnrMessageId+      (\ s a -> s{_estpnrMessageId = a})++instance FromJSON+         EnterprisesSendTestPushNotificationResponse where+        parseJSON+          = withObject+              "EnterprisesSendTestPushNotificationResponse"+              (\ o ->+                 EnterprisesSendTestPushNotificationResponse <$>+                   (o .:? "topicName") <*> (o .:? "messageId"))++instance ToJSON+         EnterprisesSendTestPushNotificationResponse where+        toJSON+          EnterprisesSendTestPushNotificationResponse{..}+          = object+              (catMaybes+                 [("topicName" .=) <$> _estpnrTopicName,+                  ("messageId" .=) <$> _estpnrMessageId])++-- | The matching enterprise resources.+--+-- /See:/ 'enterprisesListResponse' smart constructor.+data EnterprisesListResponse = EnterprisesListResponse+    { _elrKind       :: !Text+    , _elrEnterprise :: !(Maybe [Enterprise])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'EnterprisesListResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'elrKind'+--+-- * 'elrEnterprise'+enterprisesListResponse+    :: EnterprisesListResponse+enterprisesListResponse =+    EnterprisesListResponse+    { _elrKind = "androidenterprise#enterprisesListResponse"+    , _elrEnterprise = Nothing+    }++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"androidenterprise#enterprisesListResponse\".+elrKind :: Lens' EnterprisesListResponse Text+elrKind = lens _elrKind (\ s a -> s{_elrKind = a})++-- | An enterprise.+elrEnterprise :: Lens' EnterprisesListResponse [Enterprise]+elrEnterprise+  = lens _elrEnterprise+      (\ s a -> s{_elrEnterprise = a})+      . _Default+      . _Coerce++instance FromJSON EnterprisesListResponse where+        parseJSON+          = withObject "EnterprisesListResponse"+              (\ o ->+                 EnterprisesListResponse <$>+                   (o .:? "kind" .!=+                      "androidenterprise#enterprisesListResponse")+                     <*> (o .:? "enterprise" .!= mempty))++instance ToJSON EnterprisesListResponse where+        toJSON EnterprisesListResponse{..}+          = object+              (catMaybes+                 [Just ("kind" .= _elrKind),+                  ("enterprise" .=) <$> _elrEnterprise])++-- | Represents the list of app restrictions available to be pre-configured+-- for the product.+--+-- /See:/ 'appRestrictionsSchema' smart constructor.+data AppRestrictionsSchema = AppRestrictionsSchema+    { _arsKind         :: !Text+    , _arsRestrictions :: !(Maybe [AppRestrictionsSchemaRestriction])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AppRestrictionsSchema' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'arsKind'+--+-- * 'arsRestrictions'+appRestrictionsSchema+    :: AppRestrictionsSchema+appRestrictionsSchema =+    AppRestrictionsSchema+    { _arsKind = "androidenterprise#appRestrictionsSchema"+    , _arsRestrictions = Nothing+    }++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"androidenterprise#appRestrictionsSchema\".+arsKind :: Lens' AppRestrictionsSchema Text+arsKind = lens _arsKind (\ s a -> s{_arsKind = a})++-- | The set of restrictions that make up this schema.+arsRestrictions :: Lens' AppRestrictionsSchema [AppRestrictionsSchemaRestriction]+arsRestrictions+  = lens _arsRestrictions+      (\ s a -> s{_arsRestrictions = a})+      . _Default+      . _Coerce++instance FromJSON AppRestrictionsSchema where+        parseJSON+          = withObject "AppRestrictionsSchema"+              (\ o ->+                 AppRestrictionsSchema <$>+                   (o .:? "kind" .!=+                      "androidenterprise#appRestrictionsSchema")+                     <*> (o .:? "restrictions" .!= mempty))++instance ToJSON AppRestrictionsSchema where+        toJSON AppRestrictionsSchema{..}+          = object+              (catMaybes+                 [Just ("kind" .= _arsKind),+                  ("restrictions" .=) <$> _arsRestrictions])++-- | A UserToken is used by a user when setting up a managed device or+-- profile with their work account on a device. When the user enters their+-- email address and token (activation code) the appropriate MDM app can be+-- automatically downloaded.+--+-- /See:/ 'userToken' smart constructor.+data UserToken = UserToken+    { _utKind   :: !Text+    , _utToken  :: !(Maybe Text)+    , _utUserId :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'UserToken' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'utKind'+--+-- * 'utToken'+--+-- * 'utUserId'+userToken+    :: UserToken+userToken =+    UserToken+    { _utKind = "androidenterprise#userToken"+    , _utToken = Nothing+    , _utUserId = Nothing+    }++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"androidenterprise#userToken\".+utKind :: Lens' UserToken Text+utKind = lens _utKind (\ s a -> s{_utKind = a})++-- | The token (activation code) to be entered by the user. This consists of+-- a sequence of decimal digits. Note that the leading digit may be 0.+utToken :: Lens' UserToken (Maybe Text)+utToken = lens _utToken (\ s a -> s{_utToken = a})++-- | The unique ID for the user.+utUserId :: Lens' UserToken (Maybe Text)+utUserId = lens _utUserId (\ s a -> s{_utUserId = a})++instance FromJSON UserToken where+        parseJSON+          = withObject "UserToken"+              (\ o ->+                 UserToken <$>+                   (o .:? "kind" .!= "androidenterprise#userToken") <*>+                     (o .:? "token")+                     <*> (o .:? "userId"))++instance ToJSON UserToken where+        toJSON UserToken{..}+          = object+              (catMaybes+                 [Just ("kind" .= _utKind), ("token" .=) <$> _utToken,+                  ("userId" .=) <$> _utUserId])++-- | The device resources for the user.+--+-- /See:/ 'devicesListResponse' smart constructor.+data DevicesListResponse = DevicesListResponse+    { _dlrKind   :: !Text+    , _dlrDevice :: !(Maybe [Device])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DevicesListResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dlrKind'+--+-- * 'dlrDevice'+devicesListResponse+    :: DevicesListResponse+devicesListResponse =+    DevicesListResponse+    { _dlrKind = "androidenterprise#devicesListResponse"+    , _dlrDevice = Nothing+    }++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"androidenterprise#devicesListResponse\".+dlrKind :: Lens' DevicesListResponse Text+dlrKind = lens _dlrKind (\ s a -> s{_dlrKind = a})++-- | A managed device.+dlrDevice :: Lens' DevicesListResponse [Device]+dlrDevice+  = lens _dlrDevice (\ s a -> s{_dlrDevice = a}) .+      _Default+      . _Coerce++instance FromJSON DevicesListResponse where+        parseJSON+          = withObject "DevicesListResponse"+              (\ o ->+                 DevicesListResponse <$>+                   (o .:? "kind" .!=+                      "androidenterprise#devicesListResponse")+                     <*> (o .:? "device" .!= mempty))++instance ToJSON DevicesListResponse where+        toJSON DevicesListResponse{..}+          = object+              (catMaybes+                 [Just ("kind" .= _dlrKind),+                  ("device" .=) <$> _dlrDevice])++-- | An enterprise resource represents a binding between an organisation and+-- their MDM. To create an enterprise, an admin of the enterprise must+-- first go through a Play for Work sign-up flow. At the end of this the+-- admin will be presented with a token (a short opaque alphanumeric+-- string). They must then present this to the MDM, who then supplies it to+-- the enroll method. Until this is done the MDM will not have any access+-- to the enterprise. After calling enroll the MDM should call setAccount+-- to specify the service account that will be allowed to act on behalf of+-- the enterprise, which will be required for access to the enterprise\'s+-- data through this API. Only one call of setAccount is allowed for a+-- given enterprise; the only way to change the account later is to+-- unenroll the enterprise and enroll it again (obtaining a new token). The+-- MDM can unenroll an enterprise in order to sever the binding between+-- them. Re-enrolling an enterprise is possible, but requires a new token+-- to be retrieved. Enterprises.unenroll requires the MDM\'s credentials+-- (as enroll does), not the enterprise\'s. Enterprises.unenroll can only+-- be used for enterprises that were previously enrolled with the enroll+-- call. Any enterprises that were enrolled using the (deprecated)+-- Enterprises.insert call must be unenrolled with Enterprises.delete and+-- can then be re-enrolled using the Enterprises.enroll call. The ID for an+-- enterprise is an opaque string. It is returned by insert and enroll and+-- can also be retrieved if the enterprise\'s primary domain is known using+-- the list method.+--+-- /See:/ 'enterprise' smart constructor.+data Enterprise = Enterprise+    { _eKind          :: !Text+    , _ePrimaryDomain :: !(Maybe Text)+    , _eName          :: !(Maybe Text)+    , _eId            :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Enterprise' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'eKind'+--+-- * 'ePrimaryDomain'+--+-- * 'eName'+--+-- * 'eId'+enterprise+    :: Enterprise+enterprise =+    Enterprise+    { _eKind = "androidenterprise#enterprise"+    , _ePrimaryDomain = Nothing+    , _eName = Nothing+    , _eId = Nothing+    }++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"androidenterprise#enterprise\".+eKind :: Lens' Enterprise Text+eKind = lens _eKind (\ s a -> s{_eKind = a})++-- | The enterprise\'s primary domain, e.g. \"example.com\".+ePrimaryDomain :: Lens' Enterprise (Maybe Text)+ePrimaryDomain+  = lens _ePrimaryDomain+      (\ s a -> s{_ePrimaryDomain = a})++-- | The name of the enterprise, e.g. \"Example Inc\".+eName :: Lens' Enterprise (Maybe Text)+eName = lens _eName (\ s a -> s{_eName = a})++-- | The unique ID for the enterprise.+eId :: Lens' Enterprise (Maybe Text)+eId = lens _eId (\ s a -> s{_eId = a})++instance FromJSON Enterprise where+        parseJSON+          = withObject "Enterprise"+              (\ o ->+                 Enterprise <$>+                   (o .:? "kind" .!= "androidenterprise#enterprise") <*>+                     (o .:? "primaryDomain")+                     <*> (o .:? "name")+                     <*> (o .:? "id"))++instance ToJSON Enterprise where+        toJSON Enterprise{..}+          = object+              (catMaybes+                 [Just ("kind" .= _eKind),+                  ("primaryDomain" .=) <$> _ePrimaryDomain,+                  ("name" .=) <$> _eName, ("id" .=) <$> _eId])++-- | A product represents an app in the Google Play Store that is available+-- to at least some users in the enterprise. (Some apps are restricted to a+-- single enterprise, and no information about them is made available+-- outside that enterprise.) The information provided for each product+-- (localized name, icon, link to the full Google Play details page) is+-- intended to allow a basic representation of the product within an MDM+-- user interface.+--+-- /See:/ 'product' smart constructor.+data Product = Product+    { _pAuthorName           :: !(Maybe Text)+    , _pKind                 :: !Text+    , _pWorkDetailsURL       :: !(Maybe Text)+    , _pRequiresContainerApp :: !(Maybe Bool)+    , _pAppVersion           :: !(Maybe [AppVersion])+    , _pDistributionChannel  :: !(Maybe Text)+    , _pIconURL              :: !(Maybe Text)+    , _pTitle                :: !(Maybe Text)+    , _pProductId            :: !(Maybe Text)+    , _pDetailsURL           :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Product' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pAuthorName'+--+-- * 'pKind'+--+-- * 'pWorkDetailsURL'+--+-- * 'pRequiresContainerApp'+--+-- * 'pAppVersion'+--+-- * 'pDistributionChannel'+--+-- * 'pIconURL'+--+-- * 'pTitle'+--+-- * 'pProductId'+--+-- * 'pDetailsURL'+product+    :: Product+product =+    Product+    { _pAuthorName = Nothing+    , _pKind = "androidenterprise#product"+    , _pWorkDetailsURL = Nothing+    , _pRequiresContainerApp = Nothing+    , _pAppVersion = Nothing+    , _pDistributionChannel = Nothing+    , _pIconURL = Nothing+    , _pTitle = Nothing+    , _pProductId = Nothing+    , _pDetailsURL = Nothing+    }++-- | The name of the author of the product (e.g. the app developer).+pAuthorName :: Lens' Product (Maybe Text)+pAuthorName+  = lens _pAuthorName (\ s a -> s{_pAuthorName = a})++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"androidenterprise#product\".+pKind :: Lens' Product Text+pKind = lens _pKind (\ s a -> s{_pKind = a})++-- | A link to the Google Play for Work details page for the product, for use+-- by an Enterprise administrator.+pWorkDetailsURL :: Lens' Product (Maybe Text)+pWorkDetailsURL+  = lens _pWorkDetailsURL+      (\ s a -> s{_pWorkDetailsURL = a})++-- | Whether this app can only be installed on devices using the Android for+-- Work container app.+pRequiresContainerApp :: Lens' Product (Maybe Bool)+pRequiresContainerApp+  = lens _pRequiresContainerApp+      (\ s a -> s{_pRequiresContainerApp = a})++-- | App versions currently available for this product. The returned list+-- contains only public versions. Alpha and beta versions are not included.+pAppVersion :: Lens' Product [AppVersion]+pAppVersion+  = lens _pAppVersion (\ s a -> s{_pAppVersion = a}) .+      _Default+      . _Coerce++-- | How and to whom the package is made available. The value+-- publicGoogleHosted means that the package is available through the Play+-- Store and not restricted to a specific enterprise. The value+-- privateGoogleHosted means that the package is a private app (restricted+-- to an enterprise) but hosted by Google. The value privateSelfHosted+-- means that the package is a private app (restricted to an enterprise)+-- and is privately hosted.+pDistributionChannel :: Lens' Product (Maybe Text)+pDistributionChannel+  = lens _pDistributionChannel+      (\ s a -> s{_pDistributionChannel = a})++-- | A link to an image that can be used as an icon for the product.+pIconURL :: Lens' Product (Maybe Text)+pIconURL = lens _pIconURL (\ s a -> s{_pIconURL = a})++-- | The name of the product.+pTitle :: Lens' Product (Maybe Text)+pTitle = lens _pTitle (\ s a -> s{_pTitle = a})++-- | A string of the form app:. For example, app:com.google.android.gm+-- represents the Gmail app.+pProductId :: Lens' Product (Maybe Text)+pProductId+  = lens _pProductId (\ s a -> s{_pProductId = a})++-- | A link to the (consumer) Google Play details page for the product.+pDetailsURL :: Lens' Product (Maybe Text)+pDetailsURL+  = lens _pDetailsURL (\ s a -> s{_pDetailsURL = a})++instance FromJSON Product where+        parseJSON+          = withObject "Product"+              (\ o ->+                 Product <$>+                   (o .:? "authorName") <*>+                     (o .:? "kind" .!= "androidenterprise#product")+                     <*> (o .:? "workDetailsUrl")+                     <*> (o .:? "requiresContainerApp")+                     <*> (o .:? "appVersion" .!= mempty)+                     <*> (o .:? "distributionChannel")+                     <*> (o .:? "iconUrl")+                     <*> (o .:? "title")+                     <*> (o .:? "productId")+                     <*> (o .:? "detailsUrl"))++instance ToJSON Product where+        toJSON Product{..}+          = object+              (catMaybes+                 [("authorName" .=) <$> _pAuthorName,+                  Just ("kind" .= _pKind),+                  ("workDetailsUrl" .=) <$> _pWorkDetailsURL,+                  ("requiresContainerApp" .=) <$>+                    _pRequiresContainerApp,+                  ("appVersion" .=) <$> _pAppVersion,+                  ("distributionChannel" .=) <$> _pDistributionChannel,+                  ("iconUrl" .=) <$> _pIconURL,+                  ("title" .=) <$> _pTitle,+                  ("productId" .=) <$> _pProductId,+                  ("detailsUrl" .=) <$> _pDetailsURL])++-- | The entitlement resources for the user.+--+-- /See:/ 'entitlementsListResponse' smart constructor.+data EntitlementsListResponse = EntitlementsListResponse+    { _entKind        :: !Text+    , _entEntitlement :: !(Maybe [Entitlement])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'EntitlementsListResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'entKind'+--+-- * 'entEntitlement'+entitlementsListResponse+    :: EntitlementsListResponse+entitlementsListResponse =+    EntitlementsListResponse+    { _entKind = "androidenterprise#entitlementsListResponse"+    , _entEntitlement = Nothing+    }++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"androidenterprise#entitlementsListResponse\".+entKind :: Lens' EntitlementsListResponse Text+entKind = lens _entKind (\ s a -> s{_entKind = a})++-- | An entitlement of a user to a product (e.g. an app). For example, a free+-- app that they have installed, or a paid app that they have been+-- allocated a license to.+entEntitlement :: Lens' EntitlementsListResponse [Entitlement]+entEntitlement+  = lens _entEntitlement+      (\ s a -> s{_entEntitlement = a})+      . _Default+      . _Coerce++instance FromJSON EntitlementsListResponse where+        parseJSON+          = withObject "EntitlementsListResponse"+              (\ o ->+                 EntitlementsListResponse <$>+                   (o .:? "kind" .!=+                      "androidenterprise#entitlementsListResponse")+                     <*> (o .:? "entitlement" .!= mempty))++instance ToJSON EntitlementsListResponse where+        toJSON EntitlementsListResponse{..}+          = object+              (catMaybes+                 [Just ("kind" .= _entKind),+                  ("entitlement" .=) <$> _entEntitlement])++-- | Information about the permissions required by a specific app and whether+-- they have been accepted by the enterprise.+--+-- /See:/ 'productPermissions' smart constructor.+data ProductPermissions = ProductPermissions+    { _ppKind       :: !Text+    , _ppPermission :: !(Maybe [ProductPermission])+    , _ppProductId  :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProductPermissions' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ppKind'+--+-- * 'ppPermission'+--+-- * 'ppProductId'+productPermissions+    :: ProductPermissions+productPermissions =+    ProductPermissions+    { _ppKind = "androidenterprise#productPermissions"+    , _ppPermission = Nothing+    , _ppProductId = Nothing+    }++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"androidenterprise#productPermissions\".+ppKind :: Lens' ProductPermissions Text+ppKind = lens _ppKind (\ s a -> s{_ppKind = a})++-- | The permissions required by the app.+ppPermission :: Lens' ProductPermissions [ProductPermission]+ppPermission+  = lens _ppPermission (\ s a -> s{_ppPermission = a})+      . _Default+      . _Coerce++-- | The ID of the app that the permissions relate to, e.g.+-- \"app:com.google.android.gm\".+ppProductId :: Lens' ProductPermissions (Maybe Text)+ppProductId+  = lens _ppProductId (\ s a -> s{_ppProductId = a})++instance FromJSON ProductPermissions where+        parseJSON+          = withObject "ProductPermissions"+              (\ o ->+                 ProductPermissions <$>+                   (o .:? "kind" .!=+                      "androidenterprise#productPermissions")+                     <*> (o .:? "permission" .!= mempty)+                     <*> (o .:? "productId"))++instance ToJSON ProductPermissions where+        toJSON ProductPermissions{..}+          = object+              (catMaybes+                 [Just ("kind" .= _ppKind),+                  ("permission" .=) <$> _ppPermission,+                  ("productId" .=) <$> _ppProductId])++-- | A permission represents some extra capability, to be granted to an+-- Android app, which requires explicit consent. An enterprise admin must+-- consent to these permissions on behalf of their users before an+-- entitlement for the app can be created. The permissions collection is+-- read-only. The information provided for each permission (localized name+-- and description) is intended to be used in the MDM user interface when+-- obtaining consent from the enterprise.+--+-- /See:/ 'permission' smart constructor.+data Permission = Permission+    { _perKind         :: !Text+    , _perName         :: !(Maybe Text)+    , _perDescription  :: !(Maybe Text)+    , _perPermissionId :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Permission' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'perKind'+--+-- * 'perName'+--+-- * 'perDescription'+--+-- * 'perPermissionId'+permission+    :: Permission+permission =+    Permission+    { _perKind = "androidenterprise#permission"+    , _perName = Nothing+    , _perDescription = Nothing+    , _perPermissionId = Nothing+    }++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"androidenterprise#permission\".+perKind :: Lens' Permission Text+perKind = lens _perKind (\ s a -> s{_perKind = a})++-- | The name of the permission.+perName :: Lens' Permission (Maybe Text)+perName = lens _perName (\ s a -> s{_perName = a})++-- | A longer description of the permissions giving more details of what it+-- affects.+perDescription :: Lens' Permission (Maybe Text)+perDescription+  = lens _perDescription+      (\ s a -> s{_perDescription = a})++-- | An opaque string uniquely identifying the permission.+perPermissionId :: Lens' Permission (Maybe Text)+perPermissionId+  = lens _perPermissionId+      (\ s a -> s{_perPermissionId = a})++instance FromJSON Permission where+        parseJSON+          = withObject "Permission"+              (\ o ->+                 Permission <$>+                   (o .:? "kind" .!= "androidenterprise#permission") <*>+                     (o .:? "name")+                     <*> (o .:? "description")+                     <*> (o .:? "permissionId"))++instance ToJSON Permission where+        toJSON Permission{..}+          = object+              (catMaybes+                 [Just ("kind" .= _perKind), ("name" .=) <$> _perName,+                  ("description" .=) <$> _perDescription,+                  ("permissionId" .=) <$> _perPermissionId])++--+-- /See:/ 'productsApproveRequest' smart constructor.+newtype ProductsApproveRequest = ProductsApproveRequest+    { _parApprovalURLInfo :: Maybe ApprovalURLInfo+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProductsApproveRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'parApprovalURLInfo'+productsApproveRequest+    :: ProductsApproveRequest+productsApproveRequest =+    ProductsApproveRequest+    { _parApprovalURLInfo = Nothing+    }++-- | The approval URL that was shown to the user. Only the permissions shown+-- to the user with that URL will be accepted, which may not be the+-- product\'s entire set of permissions. For example, the URL may only+-- display new permissions from an update after the product was approved,+-- or not include new permissions if the product was updated since the URL+-- was generated.+parApprovalURLInfo :: Lens' ProductsApproveRequest (Maybe ApprovalURLInfo)+parApprovalURLInfo+  = lens _parApprovalURLInfo+      (\ s a -> s{_parApprovalURLInfo = a})++instance FromJSON ProductsApproveRequest where+        parseJSON+          = withObject "ProductsApproveRequest"+              (\ o ->+                 ProductsApproveRequest <$> (o .:? "approvalUrlInfo"))++instance ToJSON ProductsApproveRequest where+        toJSON ProductsApproveRequest{..}+          = object+              (catMaybes+                 [("approvalUrlInfo" .=) <$> _parApprovalURLInfo])++-- | The user resources for the collection.+--+-- /See:/ 'collectionViewersListResponse' smart constructor.+data CollectionViewersListResponse = CollectionViewersListResponse+    { _cvlrKind :: !Text+    , _cvlrUser :: !(Maybe [User])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CollectionViewersListResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cvlrKind'+--+-- * 'cvlrUser'+collectionViewersListResponse+    :: CollectionViewersListResponse+collectionViewersListResponse =+    CollectionViewersListResponse+    { _cvlrKind = "androidenterprise#collectionViewersListResponse"+    , _cvlrUser = Nothing+    }++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"androidenterprise#collectionViewersListResponse\".+cvlrKind :: Lens' CollectionViewersListResponse Text+cvlrKind = lens _cvlrKind (\ s a -> s{_cvlrKind = a})++-- | A user of an enterprise.+cvlrUser :: Lens' CollectionViewersListResponse [User]+cvlrUser+  = lens _cvlrUser (\ s a -> s{_cvlrUser = a}) .+      _Default+      . _Coerce++instance FromJSON CollectionViewersListResponse where+        parseJSON+          = withObject "CollectionViewersListResponse"+              (\ o ->+                 CollectionViewersListResponse <$>+                   (o .:? "kind" .!=+                      "androidenterprise#collectionViewersListResponse")+                     <*> (o .:? "user" .!= mempty))++instance ToJSON CollectionViewersListResponse where+        toJSON CollectionViewersListResponse{..}+          = object+              (catMaybes+                 [Just ("kind" .= _cvlrKind),+                  ("user" .=) <$> _cvlrUser])++-- | The existence of an entitlement resource means that a user has the right+-- to use a particular app on any of their devices. This might be because+-- the app is free or because they have been allocated a license to the app+-- from a group license purchased by the enterprise. It should always be+-- true that a user has an app installed on one of their devices only if+-- they have an entitlement to it. So if an entitlement is deleted, the app+-- will be uninstalled from all devices. Similarly if the user installs an+-- app (and is permitted to do so), or the MDM triggers an install of the+-- app, an entitlement to that app is automatically created. If this is+-- impossible - e.g. the enterprise has not purchased sufficient licenses -+-- then installation fails. Note that entitlements are always user+-- specific, not device specific; a user may have an entitlement even+-- though they have not installed the app anywhere. Once they have an+-- entitlement they can install the app on multiple devices. The API can be+-- used to create an entitlement. If the app is a free app, a group license+-- for that app is created. If it\'s a paid app, creating the entitlement+-- consumes one license; it remains consumed until the entitlement is+-- removed. Optionally an installation of the app on all the user\'s+-- managed devices can be triggered at the time the entitlement is created.+-- An entitlement cannot be created for an app if the app requires+-- permissions that the enterprise has not yet accepted. Entitlements for+-- paid apps that are due to purchases by the user on a non-managed profile+-- will have \"userPurchase\" as entitlement reason; those entitlements+-- cannot be removed via the API.+--+-- /See:/ 'entitlement' smart constructor.+data Entitlement = Entitlement+    { _eeKind      :: !Text+    , _eeReason    :: !(Maybe Text)+    , _eeProductId :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Entitlement' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'eeKind'+--+-- * 'eeReason'+--+-- * 'eeProductId'+entitlement+    :: Entitlement+entitlement =+    Entitlement+    { _eeKind = "androidenterprise#entitlement"+    , _eeReason = Nothing+    , _eeProductId = Nothing+    }++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"androidenterprise#entitlement\".+eeKind :: Lens' Entitlement Text+eeKind = lens _eeKind (\ s a -> s{_eeKind = a})++-- | The reason for the entitlement, e.g. \"free\" for free apps. This is+-- temporary, it will be replaced by the acquisition kind field of group+-- licenses.+eeReason :: Lens' Entitlement (Maybe Text)+eeReason = lens _eeReason (\ s a -> s{_eeReason = a})++-- | The ID of the product that the entitlement is for, e.g.+-- \"app:com.google.android.gm\".+eeProductId :: Lens' Entitlement (Maybe Text)+eeProductId+  = lens _eeProductId (\ s a -> s{_eeProductId = a})++instance FromJSON Entitlement where+        parseJSON+          = withObject "Entitlement"+              (\ o ->+                 Entitlement <$>+                   (o .:? "kind" .!= "androidenterprise#entitlement")+                     <*> (o .:? "reason")+                     <*> (o .:? "productId"))++instance ToJSON Entitlement where+        toJSON Entitlement{..}+          = object+              (catMaybes+                 [Just ("kind" .= _eeKind),+                  ("reason" .=) <$> _eeReason,+                  ("productId" .=) <$> _eeProductId])
+ gen/Network/Google/AndroidEnterprise/Types/Sum.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE LambdaCase         #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module      : Network.Google.AndroidEnterprise.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.AndroidEnterprise.Types.Sum where++import           Network.Google.Prelude
+ gen/Network/Google/Resource/AndroidEnterprise/Collections/Delete.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.AndroidEnterprise.Collections.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 a collection.+--+-- /See:/ <https://developers.google.com/play/enterprise Google Play EMM API Reference> for @androidenterprise.collections.delete@.+module Network.Google.Resource.AndroidEnterprise.Collections.Delete+    (+    -- * REST Resource+      CollectionsDeleteResource++    -- * Creating a Request+    , collectionsDelete+    , CollectionsDelete++    -- * Request Lenses+    , cddEnterpriseId+    , cddCollectionId+    ) where++import           Network.Google.AndroidEnterprise.Types+import           Network.Google.Prelude++-- | A resource alias for @androidenterprise.collections.delete@ method which the+-- 'CollectionsDelete' request conforms to.+type CollectionsDeleteResource =+     "androidenterprise" :>+       "v1" :>+         "enterprises" :>+           Capture "enterpriseId" Text :>+             "collections" :>+               Capture "collectionId" Text :>+                 QueryParam "alt" AltJSON :> Delete '[JSON] ()++-- | Deletes a collection.+--+-- /See:/ 'collectionsDelete' smart constructor.+data CollectionsDelete = CollectionsDelete+    { _cddEnterpriseId :: !Text+    , _cddCollectionId :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CollectionsDelete' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cddEnterpriseId'+--+-- * 'cddCollectionId'+collectionsDelete+    :: Text -- ^ 'cddEnterpriseId'+    -> Text -- ^ 'cddCollectionId'+    -> CollectionsDelete+collectionsDelete pCddEnterpriseId_ pCddCollectionId_ =+    CollectionsDelete+    { _cddEnterpriseId = pCddEnterpriseId_+    , _cddCollectionId = pCddCollectionId_+    }++-- | The ID of the enterprise.+cddEnterpriseId :: Lens' CollectionsDelete Text+cddEnterpriseId+  = lens _cddEnterpriseId+      (\ s a -> s{_cddEnterpriseId = a})++-- | The ID of the collection.+cddCollectionId :: Lens' CollectionsDelete Text+cddCollectionId+  = lens _cddCollectionId+      (\ s a -> s{_cddCollectionId = a})++instance GoogleRequest CollectionsDelete where+        type Rs CollectionsDelete = ()+        requestClient CollectionsDelete{..}+          = go _cddEnterpriseId _cddCollectionId (Just AltJSON)+              androidEnterpriseService+          where go+                  = buildClient+                      (Proxy :: Proxy CollectionsDeleteResource)+                      mempty
+ gen/Network/Google/Resource/AndroidEnterprise/Collections/Get.hs view
@@ -0,0 +1,98 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.AndroidEnterprise.Collections.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 details of a collection.+--+-- /See:/ <https://developers.google.com/play/enterprise Google Play EMM API Reference> for @androidenterprise.collections.get@.+module Network.Google.Resource.AndroidEnterprise.Collections.Get+    (+    -- * REST Resource+      CollectionsGetResource++    -- * Creating a Request+    , collectionsGet+    , CollectionsGet++    -- * Request Lenses+    , cgEnterpriseId+    , cgCollectionId+    ) where++import           Network.Google.AndroidEnterprise.Types+import           Network.Google.Prelude++-- | A resource alias for @androidenterprise.collections.get@ method which the+-- 'CollectionsGet' request conforms to.+type CollectionsGetResource =+     "androidenterprise" :>+       "v1" :>+         "enterprises" :>+           Capture "enterpriseId" Text :>+             "collections" :>+               Capture "collectionId" Text :>+                 QueryParam "alt" AltJSON :> Get '[JSON] Collection++-- | Retrieves the details of a collection.+--+-- /See:/ 'collectionsGet' smart constructor.+data CollectionsGet = CollectionsGet+    { _cgEnterpriseId :: !Text+    , _cgCollectionId :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CollectionsGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cgEnterpriseId'+--+-- * 'cgCollectionId'+collectionsGet+    :: Text -- ^ 'cgEnterpriseId'+    -> Text -- ^ 'cgCollectionId'+    -> CollectionsGet+collectionsGet pCgEnterpriseId_ pCgCollectionId_ =+    CollectionsGet+    { _cgEnterpriseId = pCgEnterpriseId_+    , _cgCollectionId = pCgCollectionId_+    }++-- | The ID of the enterprise.+cgEnterpriseId :: Lens' CollectionsGet Text+cgEnterpriseId+  = lens _cgEnterpriseId+      (\ s a -> s{_cgEnterpriseId = a})++-- | The ID of the collection.+cgCollectionId :: Lens' CollectionsGet Text+cgCollectionId+  = lens _cgCollectionId+      (\ s a -> s{_cgCollectionId = a})++instance GoogleRequest CollectionsGet where+        type Rs CollectionsGet = Collection+        requestClient CollectionsGet{..}+          = go _cgEnterpriseId _cgCollectionId (Just AltJSON)+              androidEnterpriseService+          where go+                  = buildClient (Proxy :: Proxy CollectionsGetResource)+                      mempty
+ gen/Network/Google/Resource/AndroidEnterprise/Collections/Insert.hs view
@@ -0,0 +1,98 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.AndroidEnterprise.Collections.Insert+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates a new collection.+--+-- /See:/ <https://developers.google.com/play/enterprise Google Play EMM API Reference> for @androidenterprise.collections.insert@.+module Network.Google.Resource.AndroidEnterprise.Collections.Insert+    (+    -- * REST Resource+      CollectionsInsertResource++    -- * Creating a Request+    , collectionsInsert+    , CollectionsInsert++    -- * Request Lenses+    , ciEnterpriseId+    , ciPayload+    ) where++import           Network.Google.AndroidEnterprise.Types+import           Network.Google.Prelude++-- | A resource alias for @androidenterprise.collections.insert@ method which the+-- 'CollectionsInsert' request conforms to.+type CollectionsInsertResource =+     "androidenterprise" :>+       "v1" :>+         "enterprises" :>+           Capture "enterpriseId" Text :>+             "collections" :>+               QueryParam "alt" AltJSON :>+                 ReqBody '[JSON] Collection :> Post '[JSON] Collection++-- | Creates a new collection.+--+-- /See:/ 'collectionsInsert' smart constructor.+data CollectionsInsert = CollectionsInsert+    { _ciEnterpriseId :: !Text+    , _ciPayload      :: !Collection+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CollectionsInsert' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ciEnterpriseId'+--+-- * 'ciPayload'+collectionsInsert+    :: Text -- ^ 'ciEnterpriseId'+    -> Collection -- ^ 'ciPayload'+    -> CollectionsInsert+collectionsInsert pCiEnterpriseId_ pCiPayload_ =+    CollectionsInsert+    { _ciEnterpriseId = pCiEnterpriseId_+    , _ciPayload = pCiPayload_+    }++-- | The ID of the enterprise.+ciEnterpriseId :: Lens' CollectionsInsert Text+ciEnterpriseId+  = lens _ciEnterpriseId+      (\ s a -> s{_ciEnterpriseId = a})++-- | Multipart request metadata.+ciPayload :: Lens' CollectionsInsert Collection+ciPayload+  = lens _ciPayload (\ s a -> s{_ciPayload = a})++instance GoogleRequest CollectionsInsert where+        type Rs CollectionsInsert = Collection+        requestClient CollectionsInsert{..}+          = go _ciEnterpriseId (Just AltJSON) _ciPayload+              androidEnterpriseService+          where go+                  = buildClient+                      (Proxy :: Proxy CollectionsInsertResource)+                      mempty
+ gen/Network/Google/Resource/AndroidEnterprise/Collections/List.hs view
@@ -0,0 +1,87 @@+{-# 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.AndroidEnterprise.Collections.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 IDs of all the collections for an enterprise.+--+-- /See:/ <https://developers.google.com/play/enterprise Google Play EMM API Reference> for @androidenterprise.collections.list@.+module Network.Google.Resource.AndroidEnterprise.Collections.List+    (+    -- * REST Resource+      CollectionsListResource++    -- * Creating a Request+    , collectionsList+    , CollectionsList++    -- * Request Lenses+    , clEnterpriseId+    ) where++import           Network.Google.AndroidEnterprise.Types+import           Network.Google.Prelude++-- | A resource alias for @androidenterprise.collections.list@ method which the+-- 'CollectionsList' request conforms to.+type CollectionsListResource =+     "androidenterprise" :>+       "v1" :>+         "enterprises" :>+           Capture "enterpriseId" Text :>+             "collections" :>+               QueryParam "alt" AltJSON :>+                 Get '[JSON] CollectionsListResponse++-- | Retrieves the IDs of all the collections for an enterprise.+--+-- /See:/ 'collectionsList' smart constructor.+newtype CollectionsList = CollectionsList+    { _clEnterpriseId :: Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CollectionsList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'clEnterpriseId'+collectionsList+    :: Text -- ^ 'clEnterpriseId'+    -> CollectionsList+collectionsList pClEnterpriseId_ =+    CollectionsList+    { _clEnterpriseId = pClEnterpriseId_+    }++-- | The ID of the enterprise.+clEnterpriseId :: Lens' CollectionsList Text+clEnterpriseId+  = lens _clEnterpriseId+      (\ s a -> s{_clEnterpriseId = a})++instance GoogleRequest CollectionsList where+        type Rs CollectionsList = CollectionsListResponse+        requestClient CollectionsList{..}+          = go _clEnterpriseId (Just AltJSON)+              androidEnterpriseService+          where go+                  = buildClient+                      (Proxy :: Proxy CollectionsListResource)+                      mempty
+ gen/Network/Google/Resource/AndroidEnterprise/Collections/Patch.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.AndroidEnterprise.Collections.Patch+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates a collection. This method supports patch semantics.+--+-- /See:/ <https://developers.google.com/play/enterprise Google Play EMM API Reference> for @androidenterprise.collections.patch@.+module Network.Google.Resource.AndroidEnterprise.Collections.Patch+    (+    -- * REST Resource+      CollectionsPatchResource++    -- * Creating a Request+    , collectionsPatch+    , CollectionsPatch++    -- * Request Lenses+    , cpEnterpriseId+    , cpCollectionId+    , cpPayload+    ) where++import           Network.Google.AndroidEnterprise.Types+import           Network.Google.Prelude++-- | A resource alias for @androidenterprise.collections.patch@ method which the+-- 'CollectionsPatch' request conforms to.+type CollectionsPatchResource =+     "androidenterprise" :>+       "v1" :>+         "enterprises" :>+           Capture "enterpriseId" Text :>+             "collections" :>+               Capture "collectionId" Text :>+                 QueryParam "alt" AltJSON :>+                   ReqBody '[JSON] Collection :>+                     Patch '[JSON] Collection++-- | Updates a collection. This method supports patch semantics.+--+-- /See:/ 'collectionsPatch' smart constructor.+data CollectionsPatch = CollectionsPatch+    { _cpEnterpriseId :: !Text+    , _cpCollectionId :: !Text+    , _cpPayload      :: !Collection+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CollectionsPatch' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cpEnterpriseId'+--+-- * 'cpCollectionId'+--+-- * 'cpPayload'+collectionsPatch+    :: Text -- ^ 'cpEnterpriseId'+    -> Text -- ^ 'cpCollectionId'+    -> Collection -- ^ 'cpPayload'+    -> CollectionsPatch+collectionsPatch pCpEnterpriseId_ pCpCollectionId_ pCpPayload_ =+    CollectionsPatch+    { _cpEnterpriseId = pCpEnterpriseId_+    , _cpCollectionId = pCpCollectionId_+    , _cpPayload = pCpPayload_+    }++-- | The ID of the enterprise.+cpEnterpriseId :: Lens' CollectionsPatch Text+cpEnterpriseId+  = lens _cpEnterpriseId+      (\ s a -> s{_cpEnterpriseId = a})++-- | The ID of the collection.+cpCollectionId :: Lens' CollectionsPatch Text+cpCollectionId+  = lens _cpCollectionId+      (\ s a -> s{_cpCollectionId = a})++-- | Multipart request metadata.+cpPayload :: Lens' CollectionsPatch Collection+cpPayload+  = lens _cpPayload (\ s a -> s{_cpPayload = a})++instance GoogleRequest CollectionsPatch where+        type Rs CollectionsPatch = Collection+        requestClient CollectionsPatch{..}+          = go _cpEnterpriseId _cpCollectionId (Just AltJSON)+              _cpPayload+              androidEnterpriseService+          where go+                  = buildClient+                      (Proxy :: Proxy CollectionsPatchResource)+                      mempty
+ gen/Network/Google/Resource/AndroidEnterprise/Collections/Update.hs view
@@ -0,0 +1,112 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.AndroidEnterprise.Collections.Update+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates a collection.+--+-- /See:/ <https://developers.google.com/play/enterprise Google Play EMM API Reference> for @androidenterprise.collections.update@.+module Network.Google.Resource.AndroidEnterprise.Collections.Update+    (+    -- * REST Resource+      CollectionsUpdateResource++    -- * Creating a Request+    , collectionsUpdate+    , CollectionsUpdate++    -- * Request Lenses+    , cuuEnterpriseId+    , cuuCollectionId+    , cuuPayload+    ) where++import           Network.Google.AndroidEnterprise.Types+import           Network.Google.Prelude++-- | A resource alias for @androidenterprise.collections.update@ method which the+-- 'CollectionsUpdate' request conforms to.+type CollectionsUpdateResource =+     "androidenterprise" :>+       "v1" :>+         "enterprises" :>+           Capture "enterpriseId" Text :>+             "collections" :>+               Capture "collectionId" Text :>+                 QueryParam "alt" AltJSON :>+                   ReqBody '[JSON] Collection :> Put '[JSON] Collection++-- | Updates a collection.+--+-- /See:/ 'collectionsUpdate' smart constructor.+data CollectionsUpdate = CollectionsUpdate+    { _cuuEnterpriseId :: !Text+    , _cuuCollectionId :: !Text+    , _cuuPayload      :: !Collection+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CollectionsUpdate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cuuEnterpriseId'+--+-- * 'cuuCollectionId'+--+-- * 'cuuPayload'+collectionsUpdate+    :: Text -- ^ 'cuuEnterpriseId'+    -> Text -- ^ 'cuuCollectionId'+    -> Collection -- ^ 'cuuPayload'+    -> CollectionsUpdate+collectionsUpdate pCuuEnterpriseId_ pCuuCollectionId_ pCuuPayload_ =+    CollectionsUpdate+    { _cuuEnterpriseId = pCuuEnterpriseId_+    , _cuuCollectionId = pCuuCollectionId_+    , _cuuPayload = pCuuPayload_+    }++-- | The ID of the enterprise.+cuuEnterpriseId :: Lens' CollectionsUpdate Text+cuuEnterpriseId+  = lens _cuuEnterpriseId+      (\ s a -> s{_cuuEnterpriseId = a})++-- | The ID of the collection.+cuuCollectionId :: Lens' CollectionsUpdate Text+cuuCollectionId+  = lens _cuuCollectionId+      (\ s a -> s{_cuuCollectionId = a})++-- | Multipart request metadata.+cuuPayload :: Lens' CollectionsUpdate Collection+cuuPayload+  = lens _cuuPayload (\ s a -> s{_cuuPayload = a})++instance GoogleRequest CollectionsUpdate where+        type Rs CollectionsUpdate = Collection+        requestClient CollectionsUpdate{..}+          = go _cuuEnterpriseId _cuuCollectionId (Just AltJSON)+              _cuuPayload+              androidEnterpriseService+          where go+                  = buildClient+                      (Proxy :: Proxy CollectionsUpdateResource)+                      mempty
+ gen/Network/Google/Resource/AndroidEnterprise/Collectionviewers/Delete.hs view
@@ -0,0 +1,116 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.AndroidEnterprise.Collectionviewers.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)+--+-- Removes the user from the list of those specifically allowed to see the+-- collection. If the collection\'s visibility is set to viewersOnly then+-- only such users will see the collection.+--+-- /See:/ <https://developers.google.com/play/enterprise Google Play EMM API Reference> for @androidenterprise.collectionviewers.delete@.+module Network.Google.Resource.AndroidEnterprise.Collectionviewers.Delete+    (+    -- * REST Resource+      CollectionviewersDeleteResource++    -- * Creating a Request+    , collectionviewersDelete+    , CollectionviewersDelete++    -- * Request Lenses+    , cdEnterpriseId+    , cdCollectionId+    , cdUserId+    ) where++import           Network.Google.AndroidEnterprise.Types+import           Network.Google.Prelude++-- | A resource alias for @androidenterprise.collectionviewers.delete@ method which the+-- 'CollectionviewersDelete' request conforms to.+type CollectionviewersDeleteResource =+     "androidenterprise" :>+       "v1" :>+         "enterprises" :>+           Capture "enterpriseId" Text :>+             "collections" :>+               Capture "collectionId" Text :>+                 "users" :>+                   Capture "userId" Text :>+                     QueryParam "alt" AltJSON :> Delete '[JSON] ()++-- | Removes the user from the list of those specifically allowed to see the+-- collection. If the collection\'s visibility is set to viewersOnly then+-- only such users will see the collection.+--+-- /See:/ 'collectionviewersDelete' smart constructor.+data CollectionviewersDelete = CollectionviewersDelete+    { _cdEnterpriseId :: !Text+    , _cdCollectionId :: !Text+    , _cdUserId       :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CollectionviewersDelete' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cdEnterpriseId'+--+-- * 'cdCollectionId'+--+-- * 'cdUserId'+collectionviewersDelete+    :: Text -- ^ 'cdEnterpriseId'+    -> Text -- ^ 'cdCollectionId'+    -> Text -- ^ 'cdUserId'+    -> CollectionviewersDelete+collectionviewersDelete pCdEnterpriseId_ pCdCollectionId_ pCdUserId_ =+    CollectionviewersDelete+    { _cdEnterpriseId = pCdEnterpriseId_+    , _cdCollectionId = pCdCollectionId_+    , _cdUserId = pCdUserId_+    }++-- | The ID of the enterprise.+cdEnterpriseId :: Lens' CollectionviewersDelete Text+cdEnterpriseId+  = lens _cdEnterpriseId+      (\ s a -> s{_cdEnterpriseId = a})++-- | The ID of the collection.+cdCollectionId :: Lens' CollectionviewersDelete Text+cdCollectionId+  = lens _cdCollectionId+      (\ s a -> s{_cdCollectionId = a})++-- | The ID of the user.+cdUserId :: Lens' CollectionviewersDelete Text+cdUserId = lens _cdUserId (\ s a -> s{_cdUserId = a})++instance GoogleRequest CollectionviewersDelete where+        type Rs CollectionviewersDelete = ()+        requestClient CollectionviewersDelete{..}+          = go _cdEnterpriseId _cdCollectionId _cdUserId+              (Just AltJSON)+              androidEnterpriseService+          where go+                  = buildClient+                      (Proxy :: Proxy CollectionviewersDeleteResource)+                      mempty
+ gen/Network/Google/Resource/AndroidEnterprise/Collectionviewers/Get.hs view
@@ -0,0 +1,117 @@+{-# 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.AndroidEnterprise.Collectionviewers.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 ID of the user if they have been specifically allowed to+-- see the collection. If the collection\'s visibility is set to+-- viewersOnly then only these users will see the collection.+--+-- /See:/ <https://developers.google.com/play/enterprise Google Play EMM API Reference> for @androidenterprise.collectionviewers.get@.+module Network.Google.Resource.AndroidEnterprise.Collectionviewers.Get+    (+    -- * REST Resource+      CollectionviewersGetResource++    -- * Creating a Request+    , collectionviewersGet+    , CollectionviewersGet++    -- * Request Lenses+    , cggEnterpriseId+    , cggCollectionId+    , cggUserId+    ) where++import           Network.Google.AndroidEnterprise.Types+import           Network.Google.Prelude++-- | A resource alias for @androidenterprise.collectionviewers.get@ method which the+-- 'CollectionviewersGet' request conforms to.+type CollectionviewersGetResource =+     "androidenterprise" :>+       "v1" :>+         "enterprises" :>+           Capture "enterpriseId" Text :>+             "collections" :>+               Capture "collectionId" Text :>+                 "users" :>+                   Capture "userId" Text :>+                     QueryParam "alt" AltJSON :> Get '[JSON] User++-- | Retrieves the ID of the user if they have been specifically allowed to+-- see the collection. If the collection\'s visibility is set to+-- viewersOnly then only these users will see the collection.+--+-- /See:/ 'collectionviewersGet' smart constructor.+data CollectionviewersGet = CollectionviewersGet+    { _cggEnterpriseId :: !Text+    , _cggCollectionId :: !Text+    , _cggUserId       :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CollectionviewersGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cggEnterpriseId'+--+-- * 'cggCollectionId'+--+-- * 'cggUserId'+collectionviewersGet+    :: Text -- ^ 'cggEnterpriseId'+    -> Text -- ^ 'cggCollectionId'+    -> Text -- ^ 'cggUserId'+    -> CollectionviewersGet+collectionviewersGet pCggEnterpriseId_ pCggCollectionId_ pCggUserId_ =+    CollectionviewersGet+    { _cggEnterpriseId = pCggEnterpriseId_+    , _cggCollectionId = pCggCollectionId_+    , _cggUserId = pCggUserId_+    }++-- | The ID of the enterprise.+cggEnterpriseId :: Lens' CollectionviewersGet Text+cggEnterpriseId+  = lens _cggEnterpriseId+      (\ s a -> s{_cggEnterpriseId = a})++-- | The ID of the collection.+cggCollectionId :: Lens' CollectionviewersGet Text+cggCollectionId+  = lens _cggCollectionId+      (\ s a -> s{_cggCollectionId = a})++-- | The ID of the user.+cggUserId :: Lens' CollectionviewersGet Text+cggUserId+  = lens _cggUserId (\ s a -> s{_cggUserId = a})++instance GoogleRequest CollectionviewersGet where+        type Rs CollectionviewersGet = User+        requestClient CollectionviewersGet{..}+          = go _cggEnterpriseId _cggCollectionId _cggUserId+              (Just AltJSON)+              androidEnterpriseService+          where go+                  = buildClient+                      (Proxy :: Proxy CollectionviewersGetResource)+                      mempty
+ gen/Network/Google/Resource/AndroidEnterprise/Collectionviewers/List.hs view
@@ -0,0 +1,106 @@+{-# 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.AndroidEnterprise.Collectionviewers.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 IDs of the users who have been specifically allowed to see+-- the collection. If the collection\'s visibility is set to viewersOnly+-- then only these users will see the collection.+--+-- /See:/ <https://developers.google.com/play/enterprise Google Play EMM API Reference> for @androidenterprise.collectionviewers.list@.+module Network.Google.Resource.AndroidEnterprise.Collectionviewers.List+    (+    -- * REST Resource+      CollectionviewersListResource++    -- * Creating a Request+    , collectionviewersList+    , CollectionviewersList++    -- * Request Lenses+    , cEnterpriseId+    , cCollectionId+    ) where++import           Network.Google.AndroidEnterprise.Types+import           Network.Google.Prelude++-- | A resource alias for @androidenterprise.collectionviewers.list@ method which the+-- 'CollectionviewersList' request conforms to.+type CollectionviewersListResource =+     "androidenterprise" :>+       "v1" :>+         "enterprises" :>+           Capture "enterpriseId" Text :>+             "collections" :>+               Capture "collectionId" Text :>+                 "users" :>+                   QueryParam "alt" AltJSON :>+                     Get '[JSON] CollectionViewersListResponse++-- | Retrieves the IDs of the users who have been specifically allowed to see+-- the collection. If the collection\'s visibility is set to viewersOnly+-- then only these users will see the collection.+--+-- /See:/ 'collectionviewersList' smart constructor.+data CollectionviewersList = CollectionviewersList+    { _cEnterpriseId :: !Text+    , _cCollectionId :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CollectionviewersList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cEnterpriseId'+--+-- * 'cCollectionId'+collectionviewersList+    :: Text -- ^ 'cEnterpriseId'+    -> Text -- ^ 'cCollectionId'+    -> CollectionviewersList+collectionviewersList pCEnterpriseId_ pCCollectionId_ =+    CollectionviewersList+    { _cEnterpriseId = pCEnterpriseId_+    , _cCollectionId = pCCollectionId_+    }++-- | The ID of the enterprise.+cEnterpriseId :: Lens' CollectionviewersList Text+cEnterpriseId+  = lens _cEnterpriseId+      (\ s a -> s{_cEnterpriseId = a})++-- | The ID of the collection.+cCollectionId :: Lens' CollectionviewersList Text+cCollectionId+  = lens _cCollectionId+      (\ s a -> s{_cCollectionId = a})++instance GoogleRequest CollectionviewersList where+        type Rs CollectionviewersList =+             CollectionViewersListResponse+        requestClient CollectionviewersList{..}+          = go _cEnterpriseId _cCollectionId (Just AltJSON)+              androidEnterpriseService+          where go+                  = buildClient+                      (Proxy :: Proxy CollectionviewersListResource)+                      mempty
+ gen/Network/Google/Resource/AndroidEnterprise/Collectionviewers/Patch.hs view
@@ -0,0 +1,132 @@+{-# 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.AndroidEnterprise.Collectionviewers.Patch+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Adds the user to the list of those specifically allowed to see the+-- collection. If the collection\'s visibility is set to viewersOnly then+-- only such users will see the collection. This method supports patch+-- semantics.+--+-- /See:/ <https://developers.google.com/play/enterprise Google Play EMM API Reference> for @androidenterprise.collectionviewers.patch@.+module Network.Google.Resource.AndroidEnterprise.Collectionviewers.Patch+    (+    -- * REST Resource+      CollectionviewersPatchResource++    -- * Creating a Request+    , collectionviewersPatch+    , CollectionviewersPatch++    -- * Request Lenses+    , cppEnterpriseId+    , cppCollectionId+    , cppPayload+    , cppUserId+    ) where++import           Network.Google.AndroidEnterprise.Types+import           Network.Google.Prelude++-- | A resource alias for @androidenterprise.collectionviewers.patch@ method which the+-- 'CollectionviewersPatch' request conforms to.+type CollectionviewersPatchResource =+     "androidenterprise" :>+       "v1" :>+         "enterprises" :>+           Capture "enterpriseId" Text :>+             "collections" :>+               Capture "collectionId" Text :>+                 "users" :>+                   Capture "userId" Text :>+                     QueryParam "alt" AltJSON :>+                       ReqBody '[JSON] User :> Patch '[JSON] User++-- | Adds the user to the list of those specifically allowed to see the+-- collection. If the collection\'s visibility is set to viewersOnly then+-- only such users will see the collection. This method supports patch+-- semantics.+--+-- /See:/ 'collectionviewersPatch' smart constructor.+data CollectionviewersPatch = CollectionviewersPatch+    { _cppEnterpriseId :: !Text+    , _cppCollectionId :: !Text+    , _cppPayload      :: !User+    , _cppUserId       :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CollectionviewersPatch' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cppEnterpriseId'+--+-- * 'cppCollectionId'+--+-- * 'cppPayload'+--+-- * 'cppUserId'+collectionviewersPatch+    :: Text -- ^ 'cppEnterpriseId'+    -> Text -- ^ 'cppCollectionId'+    -> User -- ^ 'cppPayload'+    -> Text -- ^ 'cppUserId'+    -> CollectionviewersPatch+collectionviewersPatch pCppEnterpriseId_ pCppCollectionId_ pCppPayload_ pCppUserId_ =+    CollectionviewersPatch+    { _cppEnterpriseId = pCppEnterpriseId_+    , _cppCollectionId = pCppCollectionId_+    , _cppPayload = pCppPayload_+    , _cppUserId = pCppUserId_+    }++-- | The ID of the enterprise.+cppEnterpriseId :: Lens' CollectionviewersPatch Text+cppEnterpriseId+  = lens _cppEnterpriseId+      (\ s a -> s{_cppEnterpriseId = a})++-- | The ID of the collection.+cppCollectionId :: Lens' CollectionviewersPatch Text+cppCollectionId+  = lens _cppCollectionId+      (\ s a -> s{_cppCollectionId = a})++-- | Multipart request metadata.+cppPayload :: Lens' CollectionviewersPatch User+cppPayload+  = lens _cppPayload (\ s a -> s{_cppPayload = a})++-- | The ID of the user.+cppUserId :: Lens' CollectionviewersPatch Text+cppUserId+  = lens _cppUserId (\ s a -> s{_cppUserId = a})++instance GoogleRequest CollectionviewersPatch where+        type Rs CollectionviewersPatch = User+        requestClient CollectionviewersPatch{..}+          = go _cppEnterpriseId _cppCollectionId _cppUserId+              (Just AltJSON)+              _cppPayload+              androidEnterpriseService+          where go+                  = buildClient+                      (Proxy :: Proxy CollectionviewersPatchResource)+                      mempty
+ gen/Network/Google/Resource/AndroidEnterprise/Collectionviewers/Update.hs view
@@ -0,0 +1,129 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.AndroidEnterprise.Collectionviewers.Update+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Adds the user to the list of those specifically allowed to see the+-- collection. If the collection\'s visibility is set to viewersOnly then+-- only such users will see the collection.+--+-- /See:/ <https://developers.google.com/play/enterprise Google Play EMM API Reference> for @androidenterprise.collectionviewers.update@.+module Network.Google.Resource.AndroidEnterprise.Collectionviewers.Update+    (+    -- * REST Resource+      CollectionviewersUpdateResource++    -- * Creating a Request+    , collectionviewersUpdate+    , CollectionviewersUpdate++    -- * Request Lenses+    , cuEnterpriseId+    , cuCollectionId+    , cuPayload+    , cuUserId+    ) where++import           Network.Google.AndroidEnterprise.Types+import           Network.Google.Prelude++-- | A resource alias for @androidenterprise.collectionviewers.update@ method which the+-- 'CollectionviewersUpdate' request conforms to.+type CollectionviewersUpdateResource =+     "androidenterprise" :>+       "v1" :>+         "enterprises" :>+           Capture "enterpriseId" Text :>+             "collections" :>+               Capture "collectionId" Text :>+                 "users" :>+                   Capture "userId" Text :>+                     QueryParam "alt" AltJSON :>+                       ReqBody '[JSON] User :> Put '[JSON] User++-- | Adds the user to the list of those specifically allowed to see the+-- collection. If the collection\'s visibility is set to viewersOnly then+-- only such users will see the collection.+--+-- /See:/ 'collectionviewersUpdate' smart constructor.+data CollectionviewersUpdate = CollectionviewersUpdate+    { _cuEnterpriseId :: !Text+    , _cuCollectionId :: !Text+    , _cuPayload      :: !User+    , _cuUserId       :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CollectionviewersUpdate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cuEnterpriseId'+--+-- * 'cuCollectionId'+--+-- * 'cuPayload'+--+-- * 'cuUserId'+collectionviewersUpdate+    :: Text -- ^ 'cuEnterpriseId'+    -> Text -- ^ 'cuCollectionId'+    -> User -- ^ 'cuPayload'+    -> Text -- ^ 'cuUserId'+    -> CollectionviewersUpdate+collectionviewersUpdate pCuEnterpriseId_ pCuCollectionId_ pCuPayload_ pCuUserId_ =+    CollectionviewersUpdate+    { _cuEnterpriseId = pCuEnterpriseId_+    , _cuCollectionId = pCuCollectionId_+    , _cuPayload = pCuPayload_+    , _cuUserId = pCuUserId_+    }++-- | The ID of the enterprise.+cuEnterpriseId :: Lens' CollectionviewersUpdate Text+cuEnterpriseId+  = lens _cuEnterpriseId+      (\ s a -> s{_cuEnterpriseId = a})++-- | The ID of the collection.+cuCollectionId :: Lens' CollectionviewersUpdate Text+cuCollectionId+  = lens _cuCollectionId+      (\ s a -> s{_cuCollectionId = a})++-- | Multipart request metadata.+cuPayload :: Lens' CollectionviewersUpdate User+cuPayload+  = lens _cuPayload (\ s a -> s{_cuPayload = a})++-- | The ID of the user.+cuUserId :: Lens' CollectionviewersUpdate Text+cuUserId = lens _cuUserId (\ s a -> s{_cuUserId = a})++instance GoogleRequest CollectionviewersUpdate where+        type Rs CollectionviewersUpdate = User+        requestClient CollectionviewersUpdate{..}+          = go _cuEnterpriseId _cuCollectionId _cuUserId+              (Just AltJSON)+              _cuPayload+              androidEnterpriseService+          where go+                  = buildClient+                      (Proxy :: Proxy CollectionviewersUpdateResource)+                      mempty
+ gen/Network/Google/Resource/AndroidEnterprise/Devices/Get.hs view
@@ -0,0 +1,110 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.AndroidEnterprise.Devices.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 details of a device.+--+-- /See:/ <https://developers.google.com/play/enterprise Google Play EMM API Reference> for @androidenterprise.devices.get@.+module Network.Google.Resource.AndroidEnterprise.Devices.Get+    (+    -- * REST Resource+      DevicesGetResource++    -- * Creating a Request+    , devicesGet+    , DevicesGet++    -- * Request Lenses+    , dgEnterpriseId+    , dgUserId+    , dgDeviceId+    ) where++import           Network.Google.AndroidEnterprise.Types+import           Network.Google.Prelude++-- | A resource alias for @androidenterprise.devices.get@ method which the+-- 'DevicesGet' request conforms to.+type DevicesGetResource =+     "androidenterprise" :>+       "v1" :>+         "enterprises" :>+           Capture "enterpriseId" Text :>+             "users" :>+               Capture "userId" Text :>+                 "devices" :>+                   Capture "deviceId" Text :>+                     QueryParam "alt" AltJSON :> Get '[JSON] Device++-- | Retrieves the details of a device.+--+-- /See:/ 'devicesGet' smart constructor.+data DevicesGet = DevicesGet+    { _dgEnterpriseId :: !Text+    , _dgUserId       :: !Text+    , _dgDeviceId     :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DevicesGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dgEnterpriseId'+--+-- * 'dgUserId'+--+-- * 'dgDeviceId'+devicesGet+    :: Text -- ^ 'dgEnterpriseId'+    -> Text -- ^ 'dgUserId'+    -> Text -- ^ 'dgDeviceId'+    -> DevicesGet+devicesGet pDgEnterpriseId_ pDgUserId_ pDgDeviceId_ =+    DevicesGet+    { _dgEnterpriseId = pDgEnterpriseId_+    , _dgUserId = pDgUserId_+    , _dgDeviceId = pDgDeviceId_+    }++-- | The ID of the enterprise.+dgEnterpriseId :: Lens' DevicesGet Text+dgEnterpriseId+  = lens _dgEnterpriseId+      (\ s a -> s{_dgEnterpriseId = a})++-- | The ID of the user.+dgUserId :: Lens' DevicesGet Text+dgUserId = lens _dgUserId (\ s a -> s{_dgUserId = a})++-- | The ID of the device.+dgDeviceId :: Lens' DevicesGet Text+dgDeviceId+  = lens _dgDeviceId (\ s a -> s{_dgDeviceId = a})++instance GoogleRequest DevicesGet where+        type Rs DevicesGet = Device+        requestClient DevicesGet{..}+          = go _dgEnterpriseId _dgUserId _dgDeviceId+              (Just AltJSON)+              androidEnterpriseService+          where go+                  = buildClient (Proxy :: Proxy DevicesGetResource)+                      mempty
+ gen/Network/Google/Resource/AndroidEnterprise/Devices/GetState.hs view
@@ -0,0 +1,121 @@+{-# 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.AndroidEnterprise.Devices.GetState+-- 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 whether a device is enabled or disabled for access by the user+-- to Google services. The device state takes effect only if enforcing EMM+-- policies on Android devices is enabled in the Google Admin Console.+-- Otherwise, the device state is ignored and all devices are allowed+-- access to Google services.+--+-- /See:/ <https://developers.google.com/play/enterprise Google Play EMM API Reference> for @androidenterprise.devices.getState@.+module Network.Google.Resource.AndroidEnterprise.Devices.GetState+    (+    -- * REST Resource+      DevicesGetStateResource++    -- * Creating a Request+    , devicesGetState+    , DevicesGetState++    -- * Request Lenses+    , dgsEnterpriseId+    , dgsUserId+    , dgsDeviceId+    ) where++import           Network.Google.AndroidEnterprise.Types+import           Network.Google.Prelude++-- | A resource alias for @androidenterprise.devices.getState@ method which the+-- 'DevicesGetState' request conforms to.+type DevicesGetStateResource =+     "androidenterprise" :>+       "v1" :>+         "enterprises" :>+           Capture "enterpriseId" Text :>+             "users" :>+               Capture "userId" Text :>+                 "devices" :>+                   Capture "deviceId" Text :>+                     "state" :>+                       QueryParam "alt" AltJSON :> Get '[JSON] DeviceState++-- | Retrieves whether a device is enabled or disabled for access by the user+-- to Google services. The device state takes effect only if enforcing EMM+-- policies on Android devices is enabled in the Google Admin Console.+-- Otherwise, the device state is ignored and all devices are allowed+-- access to Google services.+--+-- /See:/ 'devicesGetState' smart constructor.+data DevicesGetState = DevicesGetState+    { _dgsEnterpriseId :: !Text+    , _dgsUserId       :: !Text+    , _dgsDeviceId     :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DevicesGetState' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dgsEnterpriseId'+--+-- * 'dgsUserId'+--+-- * 'dgsDeviceId'+devicesGetState+    :: Text -- ^ 'dgsEnterpriseId'+    -> Text -- ^ 'dgsUserId'+    -> Text -- ^ 'dgsDeviceId'+    -> DevicesGetState+devicesGetState pDgsEnterpriseId_ pDgsUserId_ pDgsDeviceId_ =+    DevicesGetState+    { _dgsEnterpriseId = pDgsEnterpriseId_+    , _dgsUserId = pDgsUserId_+    , _dgsDeviceId = pDgsDeviceId_+    }++-- | The ID of the enterprise.+dgsEnterpriseId :: Lens' DevicesGetState Text+dgsEnterpriseId+  = lens _dgsEnterpriseId+      (\ s a -> s{_dgsEnterpriseId = a})++-- | The ID of the user.+dgsUserId :: Lens' DevicesGetState Text+dgsUserId+  = lens _dgsUserId (\ s a -> s{_dgsUserId = a})++-- | The ID of the device.+dgsDeviceId :: Lens' DevicesGetState Text+dgsDeviceId+  = lens _dgsDeviceId (\ s a -> s{_dgsDeviceId = a})++instance GoogleRequest DevicesGetState where+        type Rs DevicesGetState = DeviceState+        requestClient DevicesGetState{..}+          = go _dgsEnterpriseId _dgsUserId _dgsDeviceId+              (Just AltJSON)+              androidEnterpriseService+          where go+                  = buildClient+                      (Proxy :: Proxy DevicesGetStateResource)+                      mempty
+ gen/Network/Google/Resource/AndroidEnterprise/Devices/List.hs view
@@ -0,0 +1,98 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.AndroidEnterprise.Devices.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 IDs of all of a user\'s devices.+--+-- /See:/ <https://developers.google.com/play/enterprise Google Play EMM API Reference> for @androidenterprise.devices.list@.+module Network.Google.Resource.AndroidEnterprise.Devices.List+    (+    -- * REST Resource+      DevicesListResource++    -- * Creating a Request+    , devicesList+    , DevicesList++    -- * Request Lenses+    , dlEnterpriseId+    , dlUserId+    ) where++import           Network.Google.AndroidEnterprise.Types+import           Network.Google.Prelude++-- | A resource alias for @androidenterprise.devices.list@ method which the+-- 'DevicesList' request conforms to.+type DevicesListResource =+     "androidenterprise" :>+       "v1" :>+         "enterprises" :>+           Capture "enterpriseId" Text :>+             "users" :>+               Capture "userId" Text :>+                 "devices" :>+                   QueryParam "alt" AltJSON :>+                     Get '[JSON] DevicesListResponse++-- | Retrieves the IDs of all of a user\'s devices.+--+-- /See:/ 'devicesList' smart constructor.+data DevicesList = DevicesList+    { _dlEnterpriseId :: !Text+    , _dlUserId       :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DevicesList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dlEnterpriseId'+--+-- * 'dlUserId'+devicesList+    :: Text -- ^ 'dlEnterpriseId'+    -> Text -- ^ 'dlUserId'+    -> DevicesList+devicesList pDlEnterpriseId_ pDlUserId_ =+    DevicesList+    { _dlEnterpriseId = pDlEnterpriseId_+    , _dlUserId = pDlUserId_+    }++-- | The ID of the enterprise.+dlEnterpriseId :: Lens' DevicesList Text+dlEnterpriseId+  = lens _dlEnterpriseId+      (\ s a -> s{_dlEnterpriseId = a})++-- | The ID of the user.+dlUserId :: Lens' DevicesList Text+dlUserId = lens _dlUserId (\ s a -> s{_dlUserId = a})++instance GoogleRequest DevicesList where+        type Rs DevicesList = DevicesListResponse+        requestClient DevicesList{..}+          = go _dlEnterpriseId _dlUserId (Just AltJSON)+              androidEnterpriseService+          where go+                  = buildClient (Proxy :: Proxy DevicesListResource)+                      mempty
+ gen/Network/Google/Resource/AndroidEnterprise/Devices/SetState.hs view
@@ -0,0 +1,135 @@+{-# 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.AndroidEnterprise.Devices.SetState+-- 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)+--+-- Sets whether a device is enabled or disabled for access by the user to+-- Google services. The device state takes effect only if enforcing EMM+-- policies on Android devices is enabled in the Google Admin Console.+-- Otherwise, the device state is ignored and all devices are allowed+-- access to Google services.+--+-- /See:/ <https://developers.google.com/play/enterprise Google Play EMM API Reference> for @androidenterprise.devices.setState@.+module Network.Google.Resource.AndroidEnterprise.Devices.SetState+    (+    -- * REST Resource+      DevicesSetStateResource++    -- * Creating a Request+    , devicesSetState+    , DevicesSetState++    -- * Request Lenses+    , dssEnterpriseId+    , dssPayload+    , dssUserId+    , dssDeviceId+    ) where++import           Network.Google.AndroidEnterprise.Types+import           Network.Google.Prelude++-- | A resource alias for @androidenterprise.devices.setState@ method which the+-- 'DevicesSetState' request conforms to.+type DevicesSetStateResource =+     "androidenterprise" :>+       "v1" :>+         "enterprises" :>+           Capture "enterpriseId" Text :>+             "users" :>+               Capture "userId" Text :>+                 "devices" :>+                   Capture "deviceId" Text :>+                     "state" :>+                       QueryParam "alt" AltJSON :>+                         ReqBody '[JSON] DeviceState :>+                           Put '[JSON] DeviceState++-- | Sets whether a device is enabled or disabled for access by the user to+-- Google services. The device state takes effect only if enforcing EMM+-- policies on Android devices is enabled in the Google Admin Console.+-- Otherwise, the device state is ignored and all devices are allowed+-- access to Google services.+--+-- /See:/ 'devicesSetState' smart constructor.+data DevicesSetState = DevicesSetState+    { _dssEnterpriseId :: !Text+    , _dssPayload      :: !DeviceState+    , _dssUserId       :: !Text+    , _dssDeviceId     :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DevicesSetState' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dssEnterpriseId'+--+-- * 'dssPayload'+--+-- * 'dssUserId'+--+-- * 'dssDeviceId'+devicesSetState+    :: Text -- ^ 'dssEnterpriseId'+    -> DeviceState -- ^ 'dssPayload'+    -> Text -- ^ 'dssUserId'+    -> Text -- ^ 'dssDeviceId'+    -> DevicesSetState+devicesSetState pDssEnterpriseId_ pDssPayload_ pDssUserId_ pDssDeviceId_ =+    DevicesSetState+    { _dssEnterpriseId = pDssEnterpriseId_+    , _dssPayload = pDssPayload_+    , _dssUserId = pDssUserId_+    , _dssDeviceId = pDssDeviceId_+    }++-- | The ID of the enterprise.+dssEnterpriseId :: Lens' DevicesSetState Text+dssEnterpriseId+  = lens _dssEnterpriseId+      (\ s a -> s{_dssEnterpriseId = a})++-- | Multipart request metadata.+dssPayload :: Lens' DevicesSetState DeviceState+dssPayload+  = lens _dssPayload (\ s a -> s{_dssPayload = a})++-- | The ID of the user.+dssUserId :: Lens' DevicesSetState Text+dssUserId+  = lens _dssUserId (\ s a -> s{_dssUserId = a})++-- | The ID of the device.+dssDeviceId :: Lens' DevicesSetState Text+dssDeviceId+  = lens _dssDeviceId (\ s a -> s{_dssDeviceId = a})++instance GoogleRequest DevicesSetState where+        type Rs DevicesSetState = DeviceState+        requestClient DevicesSetState{..}+          = go _dssEnterpriseId _dssUserId _dssDeviceId+              (Just AltJSON)+              _dssPayload+              androidEnterpriseService+          where go+                  = buildClient+                      (Proxy :: Proxy DevicesSetStateResource)+                      mempty
+ gen/Network/Google/Resource/AndroidEnterprise/Enterprises/Delete.hs view
@@ -0,0 +1,91 @@+{-# 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.AndroidEnterprise.Enterprises.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 binding between the MDM and enterprise. This is now+-- deprecated; use this to unenroll customers that were previously enrolled+-- with the \'insert\' call, then enroll them again with the \'enroll\'+-- call.+--+-- /See:/ <https://developers.google.com/play/enterprise Google Play EMM API Reference> for @androidenterprise.enterprises.delete@.+module Network.Google.Resource.AndroidEnterprise.Enterprises.Delete+    (+    -- * REST Resource+      EnterprisesDeleteResource++    -- * Creating a Request+    , enterprisesDelete+    , EnterprisesDelete++    -- * Request Lenses+    , edEnterpriseId+    ) where++import           Network.Google.AndroidEnterprise.Types+import           Network.Google.Prelude++-- | A resource alias for @androidenterprise.enterprises.delete@ method which the+-- 'EnterprisesDelete' request conforms to.+type EnterprisesDeleteResource =+     "androidenterprise" :>+       "v1" :>+         "enterprises" :>+           Capture "enterpriseId" Text :>+             QueryParam "alt" AltJSON :> Delete '[JSON] ()++-- | Deletes the binding between the MDM and enterprise. This is now+-- deprecated; use this to unenroll customers that were previously enrolled+-- with the \'insert\' call, then enroll them again with the \'enroll\'+-- call.+--+-- /See:/ 'enterprisesDelete' smart constructor.+newtype EnterprisesDelete = EnterprisesDelete+    { _edEnterpriseId :: Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'EnterprisesDelete' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'edEnterpriseId'+enterprisesDelete+    :: Text -- ^ 'edEnterpriseId'+    -> EnterprisesDelete+enterprisesDelete pEdEnterpriseId_ =+    EnterprisesDelete+    { _edEnterpriseId = pEdEnterpriseId_+    }++-- | The ID of the enterprise.+edEnterpriseId :: Lens' EnterprisesDelete Text+edEnterpriseId+  = lens _edEnterpriseId+      (\ s a -> s{_edEnterpriseId = a})++instance GoogleRequest EnterprisesDelete where+        type Rs EnterprisesDelete = ()+        requestClient EnterprisesDelete{..}+          = go _edEnterpriseId (Just AltJSON)+              androidEnterpriseService+          where go+                  = buildClient+                      (Proxy :: Proxy EnterprisesDeleteResource)+                      mempty
+ gen/Network/Google/Resource/AndroidEnterprise/Enterprises/Enroll.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.AndroidEnterprise.Enterprises.Enroll+-- 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)+--+-- Enrolls an enterprise with the calling MDM.+--+-- /See:/ <https://developers.google.com/play/enterprise Google Play EMM API Reference> for @androidenterprise.enterprises.enroll@.+module Network.Google.Resource.AndroidEnterprise.Enterprises.Enroll+    (+    -- * REST Resource+      EnterprisesEnrollResource++    -- * Creating a Request+    , enterprisesEnroll+    , EnterprisesEnroll++    -- * Request Lenses+    , eeToken+    , eePayload+    ) where++import           Network.Google.AndroidEnterprise.Types+import           Network.Google.Prelude++-- | A resource alias for @androidenterprise.enterprises.enroll@ method which the+-- 'EnterprisesEnroll' request conforms to.+type EnterprisesEnrollResource =+     "androidenterprise" :>+       "v1" :>+         "enterprises" :>+           "enroll" :>+             QueryParam "token" Text :>+               QueryParam "alt" AltJSON :>+                 ReqBody '[JSON] Enterprise :> Post '[JSON] Enterprise++-- | Enrolls an enterprise with the calling MDM.+--+-- /See:/ 'enterprisesEnroll' smart constructor.+data EnterprisesEnroll = EnterprisesEnroll+    { _eeToken   :: !Text+    , _eePayload :: !Enterprise+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'EnterprisesEnroll' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'eeToken'+--+-- * 'eePayload'+enterprisesEnroll+    :: Text -- ^ 'eeToken'+    -> Enterprise -- ^ 'eePayload'+    -> EnterprisesEnroll+enterprisesEnroll pEeToken_ pEePayload_ =+    EnterprisesEnroll+    { _eeToken = pEeToken_+    , _eePayload = pEePayload_+    }++-- | The token provided by the enterprise to register the MDM.+eeToken :: Lens' EnterprisesEnroll Text+eeToken = lens _eeToken (\ s a -> s{_eeToken = a})++-- | Multipart request metadata.+eePayload :: Lens' EnterprisesEnroll Enterprise+eePayload+  = lens _eePayload (\ s a -> s{_eePayload = a})++instance GoogleRequest EnterprisesEnroll where+        type Rs EnterprisesEnroll = Enterprise+        requestClient EnterprisesEnroll{..}+          = go (Just _eeToken) (Just AltJSON) _eePayload+              androidEnterpriseService+          where go+                  = buildClient+                      (Proxy :: Proxy EnterprisesEnrollResource)+                      mempty
+ gen/Network/Google/Resource/AndroidEnterprise/Enterprises/Get.hs view
@@ -0,0 +1,84 @@+{-# 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.AndroidEnterprise.Enterprises.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 name and domain of an enterprise.+--+-- /See:/ <https://developers.google.com/play/enterprise Google Play EMM API Reference> for @androidenterprise.enterprises.get@.+module Network.Google.Resource.AndroidEnterprise.Enterprises.Get+    (+    -- * REST Resource+      EnterprisesGetResource++    -- * Creating a Request+    , enterprisesGet+    , EnterprisesGet++    -- * Request Lenses+    , eEnterpriseId+    ) where++import           Network.Google.AndroidEnterprise.Types+import           Network.Google.Prelude++-- | A resource alias for @androidenterprise.enterprises.get@ method which the+-- 'EnterprisesGet' request conforms to.+type EnterprisesGetResource =+     "androidenterprise" :>+       "v1" :>+         "enterprises" :>+           Capture "enterpriseId" Text :>+             QueryParam "alt" AltJSON :> Get '[JSON] Enterprise++-- | Retrieves the name and domain of an enterprise.+--+-- /See:/ 'enterprisesGet' smart constructor.+newtype EnterprisesGet = EnterprisesGet+    { _eEnterpriseId :: Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'EnterprisesGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'eEnterpriseId'+enterprisesGet+    :: Text -- ^ 'eEnterpriseId'+    -> EnterprisesGet+enterprisesGet pEEnterpriseId_ =+    EnterprisesGet+    { _eEnterpriseId = pEEnterpriseId_+    }++-- | The ID of the enterprise.+eEnterpriseId :: Lens' EnterprisesGet Text+eEnterpriseId+  = lens _eEnterpriseId+      (\ s a -> s{_eEnterpriseId = a})++instance GoogleRequest EnterprisesGet where+        type Rs EnterprisesGet = Enterprise+        requestClient EnterprisesGet{..}+          = go _eEnterpriseId (Just AltJSON)+              androidEnterpriseService+          where go+                  = buildClient (Proxy :: Proxy EnterprisesGetResource)+                      mempty
+ gen/Network/Google/Resource/AndroidEnterprise/Enterprises/Insert.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.AndroidEnterprise.Enterprises.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)+--+-- Establishes the binding between the MDM and an enterprise. This is now+-- deprecated; use enroll instead.+--+-- /See:/ <https://developers.google.com/play/enterprise Google Play EMM API Reference> for @androidenterprise.enterprises.insert@.+module Network.Google.Resource.AndroidEnterprise.Enterprises.Insert+    (+    -- * REST Resource+      EnterprisesInsertResource++    -- * Creating a Request+    , enterprisesInsert+    , EnterprisesInsert++    -- * Request Lenses+    , eiToken+    , eiPayload+    ) where++import           Network.Google.AndroidEnterprise.Types+import           Network.Google.Prelude++-- | A resource alias for @androidenterprise.enterprises.insert@ method which the+-- 'EnterprisesInsert' request conforms to.+type EnterprisesInsertResource =+     "androidenterprise" :>+       "v1" :>+         "enterprises" :>+           QueryParam "token" Text :>+             QueryParam "alt" AltJSON :>+               ReqBody '[JSON] Enterprise :> Post '[JSON] Enterprise++-- | Establishes the binding between the MDM and an enterprise. This is now+-- deprecated; use enroll instead.+--+-- /See:/ 'enterprisesInsert' smart constructor.+data EnterprisesInsert = EnterprisesInsert+    { _eiToken   :: !Text+    , _eiPayload :: !Enterprise+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'EnterprisesInsert' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'eiToken'+--+-- * 'eiPayload'+enterprisesInsert+    :: Text -- ^ 'eiToken'+    -> Enterprise -- ^ 'eiPayload'+    -> EnterprisesInsert+enterprisesInsert pEiToken_ pEiPayload_ =+    EnterprisesInsert+    { _eiToken = pEiToken_+    , _eiPayload = pEiPayload_+    }++-- | The token provided by the enterprise to register the MDM.+eiToken :: Lens' EnterprisesInsert Text+eiToken = lens _eiToken (\ s a -> s{_eiToken = a})++-- | Multipart request metadata.+eiPayload :: Lens' EnterprisesInsert Enterprise+eiPayload+  = lens _eiPayload (\ s a -> s{_eiPayload = a})++instance GoogleRequest EnterprisesInsert where+        type Rs EnterprisesInsert = Enterprise+        requestClient EnterprisesInsert{..}+          = go (Just _eiToken) (Just AltJSON) _eiPayload+              androidEnterpriseService+          where go+                  = buildClient+                      (Proxy :: Proxy EnterprisesInsertResource)+                      mempty
+ gen/Network/Google/Resource/AndroidEnterprise/Enterprises/List.hs view
@@ -0,0 +1,84 @@+{-# 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.AndroidEnterprise.Enterprises.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)+--+-- Looks up an enterprise by domain name.+--+-- /See:/ <https://developers.google.com/play/enterprise Google Play EMM API Reference> for @androidenterprise.enterprises.list@.+module Network.Google.Resource.AndroidEnterprise.Enterprises.List+    (+    -- * REST Resource+      EnterprisesListResource++    -- * Creating a Request+    , enterprisesList+    , EnterprisesList++    -- * Request Lenses+    , elDomain+    ) where++import           Network.Google.AndroidEnterprise.Types+import           Network.Google.Prelude++-- | A resource alias for @androidenterprise.enterprises.list@ method which the+-- 'EnterprisesList' request conforms to.+type EnterprisesListResource =+     "androidenterprise" :>+       "v1" :>+         "enterprises" :>+           QueryParam "domain" Text :>+             QueryParam "alt" AltJSON :>+               Get '[JSON] EnterprisesListResponse++-- | Looks up an enterprise by domain name.+--+-- /See:/ 'enterprisesList' smart constructor.+newtype EnterprisesList = EnterprisesList+    { _elDomain :: Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'EnterprisesList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'elDomain'+enterprisesList+    :: Text -- ^ 'elDomain'+    -> EnterprisesList+enterprisesList pElDomain_ =+    EnterprisesList+    { _elDomain = pElDomain_+    }++-- | The exact primary domain name of the enterprise to look up.+elDomain :: Lens' EnterprisesList Text+elDomain = lens _elDomain (\ s a -> s{_elDomain = a})++instance GoogleRequest EnterprisesList where+        type Rs EnterprisesList = EnterprisesListResponse+        requestClient EnterprisesList{..}+          = go (Just _elDomain) (Just AltJSON)+              androidEnterpriseService+          where go+                  = buildClient+                      (Proxy :: Proxy EnterprisesListResource)+                      mempty
+ gen/Network/Google/Resource/AndroidEnterprise/Enterprises/SendTestPushNotification.hs view
@@ -0,0 +1,93 @@+{-# 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.AndroidEnterprise.Enterprises.SendTestPushNotification+-- 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)+--+-- Sends a test push notification to validate the MDM integration with the+-- Google Cloud Pub\/Sub service for this enterprise.+--+-- /See:/ <https://developers.google.com/play/enterprise Google Play EMM API Reference> for @androidenterprise.enterprises.sendTestPushNotification@.+module Network.Google.Resource.AndroidEnterprise.Enterprises.SendTestPushNotification+    (+    -- * REST Resource+      EnterprisesSendTestPushNotificationResource++    -- * Creating a Request+    , enterprisesSendTestPushNotification+    , EnterprisesSendTestPushNotification++    -- * Request Lenses+    , estpnEnterpriseId+    ) where++import           Network.Google.AndroidEnterprise.Types+import           Network.Google.Prelude++-- | A resource alias for @androidenterprise.enterprises.sendTestPushNotification@ method which the+-- 'EnterprisesSendTestPushNotification' request conforms to.+type EnterprisesSendTestPushNotificationResource =+     "androidenterprise" :>+       "v1" :>+         "enterprises" :>+           Capture "enterpriseId" Text :>+             "sendTestPushNotification" :>+               QueryParam "alt" AltJSON :>+                 Post '[JSON]+                   EnterprisesSendTestPushNotificationResponse++-- | Sends a test push notification to validate the MDM integration with the+-- Google Cloud Pub\/Sub service for this enterprise.+--+-- /See:/ 'enterprisesSendTestPushNotification' smart constructor.+newtype EnterprisesSendTestPushNotification = EnterprisesSendTestPushNotification+    { _estpnEnterpriseId :: Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'EnterprisesSendTestPushNotification' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'estpnEnterpriseId'+enterprisesSendTestPushNotification+    :: Text -- ^ 'estpnEnterpriseId'+    -> EnterprisesSendTestPushNotification+enterprisesSendTestPushNotification pEstpnEnterpriseId_ =+    EnterprisesSendTestPushNotification+    { _estpnEnterpriseId = pEstpnEnterpriseId_+    }++-- | The ID of the enterprise.+estpnEnterpriseId :: Lens' EnterprisesSendTestPushNotification Text+estpnEnterpriseId+  = lens _estpnEnterpriseId+      (\ s a -> s{_estpnEnterpriseId = a})++instance GoogleRequest+         EnterprisesSendTestPushNotification where+        type Rs EnterprisesSendTestPushNotification =+             EnterprisesSendTestPushNotificationResponse+        requestClient EnterprisesSendTestPushNotification{..}+          = go _estpnEnterpriseId (Just AltJSON)+              androidEnterpriseService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy EnterprisesSendTestPushNotificationResource)+                      mempty
+ gen/Network/Google/Resource/AndroidEnterprise/Enterprises/SetAccount.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.AndroidEnterprise.Enterprises.SetAccount+-- 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)+--+-- Set the account that will be used to authenticate to the API as the+-- enterprise.+--+-- /See:/ <https://developers.google.com/play/enterprise Google Play EMM API Reference> for @androidenterprise.enterprises.setAccount@.+module Network.Google.Resource.AndroidEnterprise.Enterprises.SetAccount+    (+    -- * REST Resource+      EnterprisesSetAccountResource++    -- * Creating a Request+    , enterprisesSetAccount+    , EnterprisesSetAccount++    -- * Request Lenses+    , esaEnterpriseId+    , esaPayload+    ) where++import           Network.Google.AndroidEnterprise.Types+import           Network.Google.Prelude++-- | A resource alias for @androidenterprise.enterprises.setAccount@ method which the+-- 'EnterprisesSetAccount' request conforms to.+type EnterprisesSetAccountResource =+     "androidenterprise" :>+       "v1" :>+         "enterprises" :>+           Capture "enterpriseId" Text :>+             "account" :>+               QueryParam "alt" AltJSON :>+                 ReqBody '[JSON] EnterpriseAccount :>+                   Put '[JSON] EnterpriseAccount++-- | Set the account that will be used to authenticate to the API as the+-- enterprise.+--+-- /See:/ 'enterprisesSetAccount' smart constructor.+data EnterprisesSetAccount = EnterprisesSetAccount+    { _esaEnterpriseId :: !Text+    , _esaPayload      :: !EnterpriseAccount+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'EnterprisesSetAccount' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'esaEnterpriseId'+--+-- * 'esaPayload'+enterprisesSetAccount+    :: Text -- ^ 'esaEnterpriseId'+    -> EnterpriseAccount -- ^ 'esaPayload'+    -> EnterprisesSetAccount+enterprisesSetAccount pEsaEnterpriseId_ pEsaPayload_ =+    EnterprisesSetAccount+    { _esaEnterpriseId = pEsaEnterpriseId_+    , _esaPayload = pEsaPayload_+    }++-- | The ID of the enterprise.+esaEnterpriseId :: Lens' EnterprisesSetAccount Text+esaEnterpriseId+  = lens _esaEnterpriseId+      (\ s a -> s{_esaEnterpriseId = a})++-- | Multipart request metadata.+esaPayload :: Lens' EnterprisesSetAccount EnterpriseAccount+esaPayload+  = lens _esaPayload (\ s a -> s{_esaPayload = a})++instance GoogleRequest EnterprisesSetAccount where+        type Rs EnterprisesSetAccount = EnterpriseAccount+        requestClient EnterprisesSetAccount{..}+          = go _esaEnterpriseId (Just AltJSON) _esaPayload+              androidEnterpriseService+          where go+                  = buildClient+                      (Proxy :: Proxy EnterprisesSetAccountResource)+                      mempty
+ gen/Network/Google/Resource/AndroidEnterprise/Enterprises/Unenroll.hs view
@@ -0,0 +1,86 @@+{-# 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.AndroidEnterprise.Enterprises.Unenroll+-- 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)+--+-- Unenrolls an enterprise from the calling MDM.+--+-- /See:/ <https://developers.google.com/play/enterprise Google Play EMM API Reference> for @androidenterprise.enterprises.unenroll@.+module Network.Google.Resource.AndroidEnterprise.Enterprises.Unenroll+    (+    -- * REST Resource+      EnterprisesUnenrollResource++    -- * Creating a Request+    , enterprisesUnenroll+    , EnterprisesUnenroll++    -- * Request Lenses+    , euuEnterpriseId+    ) where++import           Network.Google.AndroidEnterprise.Types+import           Network.Google.Prelude++-- | A resource alias for @androidenterprise.enterprises.unenroll@ method which the+-- 'EnterprisesUnenroll' request conforms to.+type EnterprisesUnenrollResource =+     "androidenterprise" :>+       "v1" :>+         "enterprises" :>+           Capture "enterpriseId" Text :>+             "unenroll" :>+               QueryParam "alt" AltJSON :> Post '[JSON] ()++-- | Unenrolls an enterprise from the calling MDM.+--+-- /See:/ 'enterprisesUnenroll' smart constructor.+newtype EnterprisesUnenroll = EnterprisesUnenroll+    { _euuEnterpriseId :: Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'EnterprisesUnenroll' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'euuEnterpriseId'+enterprisesUnenroll+    :: Text -- ^ 'euuEnterpriseId'+    -> EnterprisesUnenroll+enterprisesUnenroll pEuuEnterpriseId_ =+    EnterprisesUnenroll+    { _euuEnterpriseId = pEuuEnterpriseId_+    }++-- | The ID of the enterprise.+euuEnterpriseId :: Lens' EnterprisesUnenroll Text+euuEnterpriseId+  = lens _euuEnterpriseId+      (\ s a -> s{_euuEnterpriseId = a})++instance GoogleRequest EnterprisesUnenroll where+        type Rs EnterprisesUnenroll = ()+        requestClient EnterprisesUnenroll{..}+          = go _euuEnterpriseId (Just AltJSON)+              androidEnterpriseService+          where go+                  = buildClient+                      (Proxy :: Proxy EnterprisesUnenrollResource)+                      mempty
+ gen/Network/Google/Resource/AndroidEnterprise/Entitlements/Delete.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.AndroidEnterprise.Entitlements.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)+--+-- Removes an entitlement to an app for a user and uninstalls it.+--+-- /See:/ <https://developers.google.com/play/enterprise Google Play EMM API Reference> for @androidenterprise.entitlements.delete@.+module Network.Google.Resource.AndroidEnterprise.Entitlements.Delete+    (+    -- * REST Resource+      EntitlementsDeleteResource++    -- * Creating a Request+    , entitlementsDelete+    , EntitlementsDelete++    -- * Request Lenses+    , entEntitlementId+    , entEnterpriseId+    , entUserId+    ) where++import           Network.Google.AndroidEnterprise.Types+import           Network.Google.Prelude++-- | A resource alias for @androidenterprise.entitlements.delete@ method which the+-- 'EntitlementsDelete' request conforms to.+type EntitlementsDeleteResource =+     "androidenterprise" :>+       "v1" :>+         "enterprises" :>+           Capture "enterpriseId" Text :>+             "users" :>+               Capture "userId" Text :>+                 "entitlements" :>+                   Capture "entitlementId" Text :>+                     QueryParam "alt" AltJSON :> Delete '[JSON] ()++-- | Removes an entitlement to an app for a user and uninstalls it.+--+-- /See:/ 'entitlementsDelete' smart constructor.+data EntitlementsDelete = EntitlementsDelete+    { _entEntitlementId :: !Text+    , _entEnterpriseId  :: !Text+    , _entUserId        :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'EntitlementsDelete' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'entEntitlementId'+--+-- * 'entEnterpriseId'+--+-- * 'entUserId'+entitlementsDelete+    :: Text -- ^ 'entEntitlementId'+    -> Text -- ^ 'entEnterpriseId'+    -> Text -- ^ 'entUserId'+    -> EntitlementsDelete+entitlementsDelete pEntEntitlementId_ pEntEnterpriseId_ pEntUserId_ =+    EntitlementsDelete+    { _entEntitlementId = pEntEntitlementId_+    , _entEnterpriseId = pEntEnterpriseId_+    , _entUserId = pEntUserId_+    }++-- | The ID of the entitlement, e.g. \"app:com.google.android.gm\".+entEntitlementId :: Lens' EntitlementsDelete Text+entEntitlementId+  = lens _entEntitlementId+      (\ s a -> s{_entEntitlementId = a})++-- | The ID of the enterprise.+entEnterpriseId :: Lens' EntitlementsDelete Text+entEnterpriseId+  = lens _entEnterpriseId+      (\ s a -> s{_entEnterpriseId = a})++-- | The ID of the user.+entUserId :: Lens' EntitlementsDelete Text+entUserId+  = lens _entUserId (\ s a -> s{_entUserId = a})++instance GoogleRequest EntitlementsDelete where+        type Rs EntitlementsDelete = ()+        requestClient EntitlementsDelete{..}+          = go _entEnterpriseId _entUserId _entEntitlementId+              (Just AltJSON)+              androidEnterpriseService+          where go+                  = buildClient+                      (Proxy :: Proxy EntitlementsDeleteResource)+                      mempty
+ gen/Network/Google/Resource/AndroidEnterprise/Entitlements/Get.hs view
@@ -0,0 +1,112 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.AndroidEnterprise.Entitlements.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 details of an entitlement.+--+-- /See:/ <https://developers.google.com/play/enterprise Google Play EMM API Reference> for @androidenterprise.entitlements.get@.+module Network.Google.Resource.AndroidEnterprise.Entitlements.Get+    (+    -- * REST Resource+      EntitlementsGetResource++    -- * Creating a Request+    , entitlementsGet+    , EntitlementsGet++    -- * Request Lenses+    , egEntitlementId+    , egEnterpriseId+    , egUserId+    ) where++import           Network.Google.AndroidEnterprise.Types+import           Network.Google.Prelude++-- | A resource alias for @androidenterprise.entitlements.get@ method which the+-- 'EntitlementsGet' request conforms to.+type EntitlementsGetResource =+     "androidenterprise" :>+       "v1" :>+         "enterprises" :>+           Capture "enterpriseId" Text :>+             "users" :>+               Capture "userId" Text :>+                 "entitlements" :>+                   Capture "entitlementId" Text :>+                     QueryParam "alt" AltJSON :> Get '[JSON] Entitlement++-- | Retrieves details of an entitlement.+--+-- /See:/ 'entitlementsGet' smart constructor.+data EntitlementsGet = EntitlementsGet+    { _egEntitlementId :: !Text+    , _egEnterpriseId  :: !Text+    , _egUserId        :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'EntitlementsGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'egEntitlementId'+--+-- * 'egEnterpriseId'+--+-- * 'egUserId'+entitlementsGet+    :: Text -- ^ 'egEntitlementId'+    -> Text -- ^ 'egEnterpriseId'+    -> Text -- ^ 'egUserId'+    -> EntitlementsGet+entitlementsGet pEgEntitlementId_ pEgEnterpriseId_ pEgUserId_ =+    EntitlementsGet+    { _egEntitlementId = pEgEntitlementId_+    , _egEnterpriseId = pEgEnterpriseId_+    , _egUserId = pEgUserId_+    }++-- | The ID of the entitlement, e.g. \"app:com.google.android.gm\".+egEntitlementId :: Lens' EntitlementsGet Text+egEntitlementId+  = lens _egEntitlementId+      (\ s a -> s{_egEntitlementId = a})++-- | The ID of the enterprise.+egEnterpriseId :: Lens' EntitlementsGet Text+egEnterpriseId+  = lens _egEnterpriseId+      (\ s a -> s{_egEnterpriseId = a})++-- | The ID of the user.+egUserId :: Lens' EntitlementsGet Text+egUserId = lens _egUserId (\ s a -> s{_egUserId = a})++instance GoogleRequest EntitlementsGet where+        type Rs EntitlementsGet = Entitlement+        requestClient EntitlementsGet{..}+          = go _egEnterpriseId _egUserId _egEntitlementId+              (Just AltJSON)+              androidEnterpriseService+          where go+                  = buildClient+                      (Proxy :: Proxy EntitlementsGetResource)+                      mempty
+ gen/Network/Google/Resource/AndroidEnterprise/Entitlements/List.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.AndroidEnterprise.Entitlements.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)+--+-- List of all entitlements for the specified user. Only the ID is set.+--+-- /See:/ <https://developers.google.com/play/enterprise Google Play EMM API Reference> for @androidenterprise.entitlements.list@.+module Network.Google.Resource.AndroidEnterprise.Entitlements.List+    (+    -- * REST Resource+      EntitlementsListResource++    -- * Creating a Request+    , entitlementsList+    , EntitlementsList++    -- * Request Lenses+    , elEnterpriseId+    , elUserId+    ) where++import           Network.Google.AndroidEnterprise.Types+import           Network.Google.Prelude++-- | A resource alias for @androidenterprise.entitlements.list@ method which the+-- 'EntitlementsList' request conforms to.+type EntitlementsListResource =+     "androidenterprise" :>+       "v1" :>+         "enterprises" :>+           Capture "enterpriseId" Text :>+             "users" :>+               Capture "userId" Text :>+                 "entitlements" :>+                   QueryParam "alt" AltJSON :>+                     Get '[JSON] EntitlementsListResponse++-- | List of all entitlements for the specified user. Only the ID is set.+--+-- /See:/ 'entitlementsList' smart constructor.+data EntitlementsList = EntitlementsList+    { _elEnterpriseId :: !Text+    , _elUserId       :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'EntitlementsList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'elEnterpriseId'+--+-- * 'elUserId'+entitlementsList+    :: Text -- ^ 'elEnterpriseId'+    -> Text -- ^ 'elUserId'+    -> EntitlementsList+entitlementsList pElEnterpriseId_ pElUserId_ =+    EntitlementsList+    { _elEnterpriseId = pElEnterpriseId_+    , _elUserId = pElUserId_+    }++-- | The ID of the enterprise.+elEnterpriseId :: Lens' EntitlementsList Text+elEnterpriseId+  = lens _elEnterpriseId+      (\ s a -> s{_elEnterpriseId = a})++-- | The ID of the user.+elUserId :: Lens' EntitlementsList Text+elUserId = lens _elUserId (\ s a -> s{_elUserId = a})++instance GoogleRequest EntitlementsList where+        type Rs EntitlementsList = EntitlementsListResponse+        requestClient EntitlementsList{..}+          = go _elEnterpriseId _elUserId (Just AltJSON)+              androidEnterpriseService+          where go+                  = buildClient+                      (Proxy :: Proxy EntitlementsListResource)+                      mempty
+ gen/Network/Google/Resource/AndroidEnterprise/Entitlements/Patch.hs view
@@ -0,0 +1,143 @@+{-# 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.AndroidEnterprise.Entitlements.Patch+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Adds or updates an entitlement to an app for a user. This method+-- supports patch semantics.+--+-- /See:/ <https://developers.google.com/play/enterprise Google Play EMM API Reference> for @androidenterprise.entitlements.patch@.+module Network.Google.Resource.AndroidEnterprise.Entitlements.Patch+    (+    -- * REST Resource+      EntitlementsPatchResource++    -- * Creating a Request+    , entitlementsPatch+    , EntitlementsPatch++    -- * Request Lenses+    , epEntitlementId+    , epEnterpriseId+    , epPayload+    , epInstall+    , epUserId+    ) where++import           Network.Google.AndroidEnterprise.Types+import           Network.Google.Prelude++-- | A resource alias for @androidenterprise.entitlements.patch@ method which the+-- 'EntitlementsPatch' request conforms to.+type EntitlementsPatchResource =+     "androidenterprise" :>+       "v1" :>+         "enterprises" :>+           Capture "enterpriseId" Text :>+             "users" :>+               Capture "userId" Text :>+                 "entitlements" :>+                   Capture "entitlementId" Text :>+                     QueryParam "install" Bool :>+                       QueryParam "alt" AltJSON :>+                         ReqBody '[JSON] Entitlement :>+                           Patch '[JSON] Entitlement++-- | Adds or updates an entitlement to an app for a user. This method+-- supports patch semantics.+--+-- /See:/ 'entitlementsPatch' smart constructor.+data EntitlementsPatch = EntitlementsPatch+    { _epEntitlementId :: !Text+    , _epEnterpriseId  :: !Text+    , _epPayload       :: !Entitlement+    , _epInstall       :: !(Maybe Bool)+    , _epUserId        :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'EntitlementsPatch' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'epEntitlementId'+--+-- * 'epEnterpriseId'+--+-- * 'epPayload'+--+-- * 'epInstall'+--+-- * 'epUserId'+entitlementsPatch+    :: Text -- ^ 'epEntitlementId'+    -> Text -- ^ 'epEnterpriseId'+    -> Entitlement -- ^ 'epPayload'+    -> Text -- ^ 'epUserId'+    -> EntitlementsPatch+entitlementsPatch pEpEntitlementId_ pEpEnterpriseId_ pEpPayload_ pEpUserId_ =+    EntitlementsPatch+    { _epEntitlementId = pEpEntitlementId_+    , _epEnterpriseId = pEpEnterpriseId_+    , _epPayload = pEpPayload_+    , _epInstall = Nothing+    , _epUserId = pEpUserId_+    }++-- | The ID of the entitlement, e.g. \"app:com.google.android.gm\".+epEntitlementId :: Lens' EntitlementsPatch Text+epEntitlementId+  = lens _epEntitlementId+      (\ s a -> s{_epEntitlementId = a})++-- | The ID of the enterprise.+epEnterpriseId :: Lens' EntitlementsPatch Text+epEnterpriseId+  = lens _epEnterpriseId+      (\ s a -> s{_epEnterpriseId = a})++-- | Multipart request metadata.+epPayload :: Lens' EntitlementsPatch Entitlement+epPayload+  = lens _epPayload (\ s a -> s{_epPayload = a})++-- | Set to true to also install the product on all the user\'s devices where+-- possible. Failure to install on one or more devices will not prevent+-- this operation from returning successfully, as long as the entitlement+-- was successfully assigned to the user.+epInstall :: Lens' EntitlementsPatch (Maybe Bool)+epInstall+  = lens _epInstall (\ s a -> s{_epInstall = a})++-- | The ID of the user.+epUserId :: Lens' EntitlementsPatch Text+epUserId = lens _epUserId (\ s a -> s{_epUserId = a})++instance GoogleRequest EntitlementsPatch where+        type Rs EntitlementsPatch = Entitlement+        requestClient EntitlementsPatch{..}+          = go _epEnterpriseId _epUserId _epEntitlementId+              _epInstall+              (Just AltJSON)+              _epPayload+              androidEnterpriseService+          where go+                  = buildClient+                      (Proxy :: Proxy EntitlementsPatchResource)+                      mempty
+ gen/Network/Google/Resource/AndroidEnterprise/Entitlements/Update.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.AndroidEnterprise.Entitlements.Update+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Adds or updates an entitlement to an app for a user.+--+-- /See:/ <https://developers.google.com/play/enterprise Google Play EMM API Reference> for @androidenterprise.entitlements.update@.+module Network.Google.Resource.AndroidEnterprise.Entitlements.Update+    (+    -- * REST Resource+      EntitlementsUpdateResource++    -- * Creating a Request+    , entitlementsUpdate+    , EntitlementsUpdate++    -- * Request Lenses+    , euEntitlementId+    , euEnterpriseId+    , euPayload+    , euInstall+    , euUserId+    ) where++import           Network.Google.AndroidEnterprise.Types+import           Network.Google.Prelude++-- | A resource alias for @androidenterprise.entitlements.update@ method which the+-- 'EntitlementsUpdate' request conforms to.+type EntitlementsUpdateResource =+     "androidenterprise" :>+       "v1" :>+         "enterprises" :>+           Capture "enterpriseId" Text :>+             "users" :>+               Capture "userId" Text :>+                 "entitlements" :>+                   Capture "entitlementId" Text :>+                     QueryParam "install" Bool :>+                       QueryParam "alt" AltJSON :>+                         ReqBody '[JSON] Entitlement :>+                           Put '[JSON] Entitlement++-- | Adds or updates an entitlement to an app for a user.+--+-- /See:/ 'entitlementsUpdate' smart constructor.+data EntitlementsUpdate = EntitlementsUpdate+    { _euEntitlementId :: !Text+    , _euEnterpriseId  :: !Text+    , _euPayload       :: !Entitlement+    , _euInstall       :: !(Maybe Bool)+    , _euUserId        :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'EntitlementsUpdate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'euEntitlementId'+--+-- * 'euEnterpriseId'+--+-- * 'euPayload'+--+-- * 'euInstall'+--+-- * 'euUserId'+entitlementsUpdate+    :: Text -- ^ 'euEntitlementId'+    -> Text -- ^ 'euEnterpriseId'+    -> Entitlement -- ^ 'euPayload'+    -> Text -- ^ 'euUserId'+    -> EntitlementsUpdate+entitlementsUpdate pEuEntitlementId_ pEuEnterpriseId_ pEuPayload_ pEuUserId_ =+    EntitlementsUpdate+    { _euEntitlementId = pEuEntitlementId_+    , _euEnterpriseId = pEuEnterpriseId_+    , _euPayload = pEuPayload_+    , _euInstall = Nothing+    , _euUserId = pEuUserId_+    }++-- | The ID of the entitlement, e.g. \"app:com.google.android.gm\".+euEntitlementId :: Lens' EntitlementsUpdate Text+euEntitlementId+  = lens _euEntitlementId+      (\ s a -> s{_euEntitlementId = a})++-- | The ID of the enterprise.+euEnterpriseId :: Lens' EntitlementsUpdate Text+euEnterpriseId+  = lens _euEnterpriseId+      (\ s a -> s{_euEnterpriseId = a})++-- | Multipart request metadata.+euPayload :: Lens' EntitlementsUpdate Entitlement+euPayload+  = lens _euPayload (\ s a -> s{_euPayload = a})++-- | Set to true to also install the product on all the user\'s devices where+-- possible. Failure to install on one or more devices will not prevent+-- this operation from returning successfully, as long as the entitlement+-- was successfully assigned to the user.+euInstall :: Lens' EntitlementsUpdate (Maybe Bool)+euInstall+  = lens _euInstall (\ s a -> s{_euInstall = a})++-- | The ID of the user.+euUserId :: Lens' EntitlementsUpdate Text+euUserId = lens _euUserId (\ s a -> s{_euUserId = a})++instance GoogleRequest EntitlementsUpdate where+        type Rs EntitlementsUpdate = Entitlement+        requestClient EntitlementsUpdate{..}+          = go _euEnterpriseId _euUserId _euEntitlementId+              _euInstall+              (Just AltJSON)+              _euPayload+              androidEnterpriseService+          where go+                  = buildClient+                      (Proxy :: Proxy EntitlementsUpdateResource)+                      mempty
+ gen/Network/Google/Resource/AndroidEnterprise/GrouplicenseUsers/List.hs view
@@ -0,0 +1,106 @@+{-# 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.AndroidEnterprise.GrouplicenseUsers.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 IDs of the users who have been granted entitlements under+-- the license.+--+-- /See:/ <https://developers.google.com/play/enterprise Google Play EMM API Reference> for @androidenterprise.grouplicenseusers.list@.+module Network.Google.Resource.AndroidEnterprise.GrouplicenseUsers.List+    (+    -- * REST Resource+      GrouplicenseUsersListResource++    -- * Creating a Request+    , grouplicenseUsersList+    , GrouplicenseUsersList++    -- * Request Lenses+    , gulEnterpriseId+    , gulGroupLicenseId+    ) where++import           Network.Google.AndroidEnterprise.Types+import           Network.Google.Prelude++-- | A resource alias for @androidenterprise.grouplicenseusers.list@ method which the+-- 'GrouplicenseUsersList' request conforms to.+type GrouplicenseUsersListResource =+     "androidenterprise" :>+       "v1" :>+         "enterprises" :>+           Capture "enterpriseId" Text :>+             "groupLicenses" :>+               Capture "groupLicenseId" Text :>+                 "users" :>+                   QueryParam "alt" AltJSON :>+                     Get '[JSON] GroupLicenseUsersListResponse++-- | Retrieves the IDs of the users who have been granted entitlements under+-- the license.+--+-- /See:/ 'grouplicenseUsersList' smart constructor.+data GrouplicenseUsersList = GrouplicenseUsersList+    { _gulEnterpriseId   :: !Text+    , _gulGroupLicenseId :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'GrouplicenseUsersList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gulEnterpriseId'+--+-- * 'gulGroupLicenseId'+grouplicenseUsersList+    :: Text -- ^ 'gulEnterpriseId'+    -> Text -- ^ 'gulGroupLicenseId'+    -> GrouplicenseUsersList+grouplicenseUsersList pGulEnterpriseId_ pGulGroupLicenseId_ =+    GrouplicenseUsersList+    { _gulEnterpriseId = pGulEnterpriseId_+    , _gulGroupLicenseId = pGulGroupLicenseId_+    }++-- | The ID of the enterprise.+gulEnterpriseId :: Lens' GrouplicenseUsersList Text+gulEnterpriseId+  = lens _gulEnterpriseId+      (\ s a -> s{_gulEnterpriseId = a})++-- | The ID of the product the group license is for, e.g.+-- \"app:com.google.android.gm\".+gulGroupLicenseId :: Lens' GrouplicenseUsersList Text+gulGroupLicenseId+  = lens _gulGroupLicenseId+      (\ s a -> s{_gulGroupLicenseId = a})++instance GoogleRequest GrouplicenseUsersList where+        type Rs GrouplicenseUsersList =+             GroupLicenseUsersListResponse+        requestClient GrouplicenseUsersList{..}+          = go _gulEnterpriseId _gulGroupLicenseId+              (Just AltJSON)+              androidEnterpriseService+          where go+                  = buildClient+                      (Proxy :: Proxy GrouplicenseUsersListResource)+                      mempty
+ gen/Network/Google/Resource/AndroidEnterprise/Grouplicenses/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.AndroidEnterprise.Grouplicenses.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 details of an enterprise\'s group license for a product.+--+-- /See:/ <https://developers.google.com/play/enterprise Google Play EMM API Reference> for @androidenterprise.grouplicenses.get@.+module Network.Google.Resource.AndroidEnterprise.Grouplicenses.Get+    (+    -- * REST Resource+      GrouplicensesGetResource++    -- * Creating a Request+    , grouplicensesGet+    , GrouplicensesGet++    -- * Request Lenses+    , ggEnterpriseId+    , ggGroupLicenseId+    ) where++import           Network.Google.AndroidEnterprise.Types+import           Network.Google.Prelude++-- | A resource alias for @androidenterprise.grouplicenses.get@ method which the+-- 'GrouplicensesGet' request conforms to.+type GrouplicensesGetResource =+     "androidenterprise" :>+       "v1" :>+         "enterprises" :>+           Capture "enterpriseId" Text :>+             "groupLicenses" :>+               Capture "groupLicenseId" Text :>+                 QueryParam "alt" AltJSON :> Get '[JSON] GroupLicense++-- | Retrieves details of an enterprise\'s group license for a product.+--+-- /See:/ 'grouplicensesGet' smart constructor.+data GrouplicensesGet = GrouplicensesGet+    { _ggEnterpriseId   :: !Text+    , _ggGroupLicenseId :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'GrouplicensesGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ggEnterpriseId'+--+-- * 'ggGroupLicenseId'+grouplicensesGet+    :: Text -- ^ 'ggEnterpriseId'+    -> Text -- ^ 'ggGroupLicenseId'+    -> GrouplicensesGet+grouplicensesGet pGgEnterpriseId_ pGgGroupLicenseId_ =+    GrouplicensesGet+    { _ggEnterpriseId = pGgEnterpriseId_+    , _ggGroupLicenseId = pGgGroupLicenseId_+    }++-- | The ID of the enterprise.+ggEnterpriseId :: Lens' GrouplicensesGet Text+ggEnterpriseId+  = lens _ggEnterpriseId+      (\ s a -> s{_ggEnterpriseId = a})++-- | The ID of the product the group license is for, e.g.+-- \"app:com.google.android.gm\".+ggGroupLicenseId :: Lens' GrouplicensesGet Text+ggGroupLicenseId+  = lens _ggGroupLicenseId+      (\ s a -> s{_ggGroupLicenseId = a})++instance GoogleRequest GrouplicensesGet where+        type Rs GrouplicensesGet = GroupLicense+        requestClient GrouplicensesGet{..}+          = go _ggEnterpriseId _ggGroupLicenseId (Just AltJSON)+              androidEnterpriseService+          where go+                  = buildClient+                      (Proxy :: Proxy GrouplicensesGetResource)+                      mempty
+ gen/Network/Google/Resource/AndroidEnterprise/Grouplicenses/List.hs view
@@ -0,0 +1,89 @@+{-# 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.AndroidEnterprise.Grouplicenses.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 IDs of all products for which the enterprise has a group+-- license.+--+-- /See:/ <https://developers.google.com/play/enterprise Google Play EMM API Reference> for @androidenterprise.grouplicenses.list@.+module Network.Google.Resource.AndroidEnterprise.Grouplicenses.List+    (+    -- * REST Resource+      GrouplicensesListResource++    -- * Creating a Request+    , grouplicensesList+    , GrouplicensesList++    -- * Request Lenses+    , glEnterpriseId+    ) where++import           Network.Google.AndroidEnterprise.Types+import           Network.Google.Prelude++-- | A resource alias for @androidenterprise.grouplicenses.list@ method which the+-- 'GrouplicensesList' request conforms to.+type GrouplicensesListResource =+     "androidenterprise" :>+       "v1" :>+         "enterprises" :>+           Capture "enterpriseId" Text :>+             "groupLicenses" :>+               QueryParam "alt" AltJSON :>+                 Get '[JSON] GroupLicensesListResponse++-- | Retrieves IDs of all products for which the enterprise has a group+-- license.+--+-- /See:/ 'grouplicensesList' smart constructor.+newtype GrouplicensesList = GrouplicensesList+    { _glEnterpriseId :: Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'GrouplicensesList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'glEnterpriseId'+grouplicensesList+    :: Text -- ^ 'glEnterpriseId'+    -> GrouplicensesList+grouplicensesList pGlEnterpriseId_ =+    GrouplicensesList+    { _glEnterpriseId = pGlEnterpriseId_+    }++-- | The ID of the enterprise.+glEnterpriseId :: Lens' GrouplicensesList Text+glEnterpriseId+  = lens _glEnterpriseId+      (\ s a -> s{_glEnterpriseId = a})++instance GoogleRequest GrouplicensesList where+        type Rs GrouplicensesList = GroupLicensesListResponse+        requestClient GrouplicensesList{..}+          = go _glEnterpriseId (Just AltJSON)+              androidEnterpriseService+          where go+                  = buildClient+                      (Proxy :: Proxy GrouplicensesListResource)+                      mempty
+ gen/Network/Google/Resource/AndroidEnterprise/Installs/Delete.hs view
@@ -0,0 +1,129 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.AndroidEnterprise.Installs.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)+--+-- Requests to remove an app from a device. A call to get or list will+-- still show the app as installed on the device until it is actually+-- removed.+--+-- /See:/ <https://developers.google.com/play/enterprise Google Play EMM API Reference> for @androidenterprise.installs.delete@.+module Network.Google.Resource.AndroidEnterprise.Installs.Delete+    (+    -- * REST Resource+      InstallsDeleteResource++    -- * Creating a Request+    , installsDelete+    , InstallsDelete++    -- * Request Lenses+    , idEnterpriseId+    , idUserId+    , idInstallId+    , idDeviceId+    ) where++import           Network.Google.AndroidEnterprise.Types+import           Network.Google.Prelude++-- | A resource alias for @androidenterprise.installs.delete@ method which the+-- 'InstallsDelete' request conforms to.+type InstallsDeleteResource =+     "androidenterprise" :>+       "v1" :>+         "enterprises" :>+           Capture "enterpriseId" Text :>+             "users" :>+               Capture "userId" Text :>+                 "devices" :>+                   Capture "deviceId" Text :>+                     "installs" :>+                       Capture "installId" Text :>+                         QueryParam "alt" AltJSON :> Delete '[JSON] ()++-- | Requests to remove an app from a device. A call to get or list will+-- still show the app as installed on the device until it is actually+-- removed.+--+-- /See:/ 'installsDelete' smart constructor.+data InstallsDelete = InstallsDelete+    { _idEnterpriseId :: !Text+    , _idUserId       :: !Text+    , _idInstallId    :: !Text+    , _idDeviceId     :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'InstallsDelete' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'idEnterpriseId'+--+-- * 'idUserId'+--+-- * 'idInstallId'+--+-- * 'idDeviceId'+installsDelete+    :: Text -- ^ 'idEnterpriseId'+    -> Text -- ^ 'idUserId'+    -> Text -- ^ 'idInstallId'+    -> Text -- ^ 'idDeviceId'+    -> InstallsDelete+installsDelete pIdEnterpriseId_ pIdUserId_ pIdInstallId_ pIdDeviceId_ =+    InstallsDelete+    { _idEnterpriseId = pIdEnterpriseId_+    , _idUserId = pIdUserId_+    , _idInstallId = pIdInstallId_+    , _idDeviceId = pIdDeviceId_+    }++-- | The ID of the enterprise.+idEnterpriseId :: Lens' InstallsDelete Text+idEnterpriseId+  = lens _idEnterpriseId+      (\ s a -> s{_idEnterpriseId = a})++-- | The ID of the user.+idUserId :: Lens' InstallsDelete Text+idUserId = lens _idUserId (\ s a -> s{_idUserId = a})++-- | The ID of the product represented by the install, e.g.+-- \"app:com.google.android.gm\".+idInstallId :: Lens' InstallsDelete Text+idInstallId+  = lens _idInstallId (\ s a -> s{_idInstallId = a})++-- | The Android ID of the device.+idDeviceId :: Lens' InstallsDelete Text+idDeviceId+  = lens _idDeviceId (\ s a -> s{_idDeviceId = a})++instance GoogleRequest InstallsDelete where+        type Rs InstallsDelete = ()+        requestClient InstallsDelete{..}+          = go _idEnterpriseId _idUserId _idDeviceId+              _idInstallId+              (Just AltJSON)+              androidEnterpriseService+          where go+                  = buildClient (Proxy :: Proxy InstallsDeleteResource)+                      mempty
+ gen/Network/Google/Resource/AndroidEnterprise/Installs/Get.hs view
@@ -0,0 +1,125 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.AndroidEnterprise.Installs.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 details of an installation of an app on a device.+--+-- /See:/ <https://developers.google.com/play/enterprise Google Play EMM API Reference> for @androidenterprise.installs.get@.+module Network.Google.Resource.AndroidEnterprise.Installs.Get+    (+    -- * REST Resource+      InstallsGetResource++    -- * Creating a Request+    , installsGet+    , InstallsGet++    -- * Request Lenses+    , igEnterpriseId+    , igUserId+    , igInstallId+    , igDeviceId+    ) where++import           Network.Google.AndroidEnterprise.Types+import           Network.Google.Prelude++-- | A resource alias for @androidenterprise.installs.get@ method which the+-- 'InstallsGet' request conforms to.+type InstallsGetResource =+     "androidenterprise" :>+       "v1" :>+         "enterprises" :>+           Capture "enterpriseId" Text :>+             "users" :>+               Capture "userId" Text :>+                 "devices" :>+                   Capture "deviceId" Text :>+                     "installs" :>+                       Capture "installId" Text :>+                         QueryParam "alt" AltJSON :> Get '[JSON] Install++-- | Retrieves details of an installation of an app on a device.+--+-- /See:/ 'installsGet' smart constructor.+data InstallsGet = InstallsGet+    { _igEnterpriseId :: !Text+    , _igUserId       :: !Text+    , _igInstallId    :: !Text+    , _igDeviceId     :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'InstallsGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'igEnterpriseId'+--+-- * 'igUserId'+--+-- * 'igInstallId'+--+-- * 'igDeviceId'+installsGet+    :: Text -- ^ 'igEnterpriseId'+    -> Text -- ^ 'igUserId'+    -> Text -- ^ 'igInstallId'+    -> Text -- ^ 'igDeviceId'+    -> InstallsGet+installsGet pIgEnterpriseId_ pIgUserId_ pIgInstallId_ pIgDeviceId_ =+    InstallsGet+    { _igEnterpriseId = pIgEnterpriseId_+    , _igUserId = pIgUserId_+    , _igInstallId = pIgInstallId_+    , _igDeviceId = pIgDeviceId_+    }++-- | The ID of the enterprise.+igEnterpriseId :: Lens' InstallsGet Text+igEnterpriseId+  = lens _igEnterpriseId+      (\ s a -> s{_igEnterpriseId = a})++-- | The ID of the user.+igUserId :: Lens' InstallsGet Text+igUserId = lens _igUserId (\ s a -> s{_igUserId = a})++-- | The ID of the product represented by the install, e.g.+-- \"app:com.google.android.gm\".+igInstallId :: Lens' InstallsGet Text+igInstallId+  = lens _igInstallId (\ s a -> s{_igInstallId = a})++-- | The Android ID of the device.+igDeviceId :: Lens' InstallsGet Text+igDeviceId+  = lens _igDeviceId (\ s a -> s{_igDeviceId = a})++instance GoogleRequest InstallsGet where+        type Rs InstallsGet = Install+        requestClient InstallsGet{..}+          = go _igEnterpriseId _igUserId _igDeviceId+              _igInstallId+              (Just AltJSON)+              androidEnterpriseService+          where go+                  = buildClient (Proxy :: Proxy InstallsGetResource)+                      mempty
+ gen/Network/Google/Resource/AndroidEnterprise/Installs/List.hs view
@@ -0,0 +1,112 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.AndroidEnterprise.Installs.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 details of all apps installed on the specified device.+--+-- /See:/ <https://developers.google.com/play/enterprise Google Play EMM API Reference> for @androidenterprise.installs.list@.+module Network.Google.Resource.AndroidEnterprise.Installs.List+    (+    -- * REST Resource+      InstallsListResource++    -- * Creating a Request+    , installsList+    , InstallsList++    -- * Request Lenses+    , ilEnterpriseId+    , ilUserId+    , ilDeviceId+    ) where++import           Network.Google.AndroidEnterprise.Types+import           Network.Google.Prelude++-- | A resource alias for @androidenterprise.installs.list@ method which the+-- 'InstallsList' request conforms to.+type InstallsListResource =+     "androidenterprise" :>+       "v1" :>+         "enterprises" :>+           Capture "enterpriseId" Text :>+             "users" :>+               Capture "userId" Text :>+                 "devices" :>+                   Capture "deviceId" Text :>+                     "installs" :>+                       QueryParam "alt" AltJSON :>+                         Get '[JSON] InstallsListResponse++-- | Retrieves the details of all apps installed on the specified device.+--+-- /See:/ 'installsList' smart constructor.+data InstallsList = InstallsList+    { _ilEnterpriseId :: !Text+    , _ilUserId       :: !Text+    , _ilDeviceId     :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'InstallsList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ilEnterpriseId'+--+-- * 'ilUserId'+--+-- * 'ilDeviceId'+installsList+    :: Text -- ^ 'ilEnterpriseId'+    -> Text -- ^ 'ilUserId'+    -> Text -- ^ 'ilDeviceId'+    -> InstallsList+installsList pIlEnterpriseId_ pIlUserId_ pIlDeviceId_ =+    InstallsList+    { _ilEnterpriseId = pIlEnterpriseId_+    , _ilUserId = pIlUserId_+    , _ilDeviceId = pIlDeviceId_+    }++-- | The ID of the enterprise.+ilEnterpriseId :: Lens' InstallsList Text+ilEnterpriseId+  = lens _ilEnterpriseId+      (\ s a -> s{_ilEnterpriseId = a})++-- | The ID of the user.+ilUserId :: Lens' InstallsList Text+ilUserId = lens _ilUserId (\ s a -> s{_ilUserId = a})++-- | The Android ID of the device.+ilDeviceId :: Lens' InstallsList Text+ilDeviceId+  = lens _ilDeviceId (\ s a -> s{_ilDeviceId = a})++instance GoogleRequest InstallsList where+        type Rs InstallsList = InstallsListResponse+        requestClient InstallsList{..}+          = go _ilEnterpriseId _ilUserId _ilDeviceId+              (Just AltJSON)+              androidEnterpriseService+          where go+                  = buildClient (Proxy :: Proxy InstallsListResource)+                      mempty
+ gen/Network/Google/Resource/AndroidEnterprise/Installs/Patch.hs view
@@ -0,0 +1,142 @@+{-# 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.AndroidEnterprise.Installs.Patch+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Requests to install the latest version of an app to a device. If the app+-- is already installed then it is updated to the latest version if+-- necessary. This method supports patch semantics.+--+-- /See:/ <https://developers.google.com/play/enterprise Google Play EMM API Reference> for @androidenterprise.installs.patch@.+module Network.Google.Resource.AndroidEnterprise.Installs.Patch+    (+    -- * REST Resource+      InstallsPatchResource++    -- * Creating a Request+    , installsPatch+    , InstallsPatch++    -- * Request Lenses+    , ipEnterpriseId+    , ipPayload+    , ipUserId+    , ipInstallId+    , ipDeviceId+    ) where++import           Network.Google.AndroidEnterprise.Types+import           Network.Google.Prelude++-- | A resource alias for @androidenterprise.installs.patch@ method which the+-- 'InstallsPatch' request conforms to.+type InstallsPatchResource =+     "androidenterprise" :>+       "v1" :>+         "enterprises" :>+           Capture "enterpriseId" Text :>+             "users" :>+               Capture "userId" Text :>+                 "devices" :>+                   Capture "deviceId" Text :>+                     "installs" :>+                       Capture "installId" Text :>+                         QueryParam "alt" AltJSON :>+                           ReqBody '[JSON] Install :> Patch '[JSON] Install++-- | Requests to install the latest version of an app to a device. If the app+-- is already installed then it is updated to the latest version if+-- necessary. This method supports patch semantics.+--+-- /See:/ 'installsPatch' smart constructor.+data InstallsPatch = InstallsPatch+    { _ipEnterpriseId :: !Text+    , _ipPayload      :: !Install+    , _ipUserId       :: !Text+    , _ipInstallId    :: !Text+    , _ipDeviceId     :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'InstallsPatch' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ipEnterpriseId'+--+-- * 'ipPayload'+--+-- * 'ipUserId'+--+-- * 'ipInstallId'+--+-- * 'ipDeviceId'+installsPatch+    :: Text -- ^ 'ipEnterpriseId'+    -> Install -- ^ 'ipPayload'+    -> Text -- ^ 'ipUserId'+    -> Text -- ^ 'ipInstallId'+    -> Text -- ^ 'ipDeviceId'+    -> InstallsPatch+installsPatch pIpEnterpriseId_ pIpPayload_ pIpUserId_ pIpInstallId_ pIpDeviceId_ =+    InstallsPatch+    { _ipEnterpriseId = pIpEnterpriseId_+    , _ipPayload = pIpPayload_+    , _ipUserId = pIpUserId_+    , _ipInstallId = pIpInstallId_+    , _ipDeviceId = pIpDeviceId_+    }++-- | The ID of the enterprise.+ipEnterpriseId :: Lens' InstallsPatch Text+ipEnterpriseId+  = lens _ipEnterpriseId+      (\ s a -> s{_ipEnterpriseId = a})++-- | Multipart request metadata.+ipPayload :: Lens' InstallsPatch Install+ipPayload+  = lens _ipPayload (\ s a -> s{_ipPayload = a})++-- | The ID of the user.+ipUserId :: Lens' InstallsPatch Text+ipUserId = lens _ipUserId (\ s a -> s{_ipUserId = a})++-- | The ID of the product represented by the install, e.g.+-- \"app:com.google.android.gm\".+ipInstallId :: Lens' InstallsPatch Text+ipInstallId+  = lens _ipInstallId (\ s a -> s{_ipInstallId = a})++-- | The Android ID of the device.+ipDeviceId :: Lens' InstallsPatch Text+ipDeviceId+  = lens _ipDeviceId (\ s a -> s{_ipDeviceId = a})++instance GoogleRequest InstallsPatch where+        type Rs InstallsPatch = Install+        requestClient InstallsPatch{..}+          = go _ipEnterpriseId _ipUserId _ipDeviceId+              _ipInstallId+              (Just AltJSON)+              _ipPayload+              androidEnterpriseService+          where go+                  = buildClient (Proxy :: Proxy InstallsPatchResource)+                      mempty
+ gen/Network/Google/Resource/AndroidEnterprise/Installs/Update.hs view
@@ -0,0 +1,142 @@+{-# 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.AndroidEnterprise.Installs.Update+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Requests to install the latest version of an app to a device. If the app+-- is already installed then it is updated to the latest version if+-- necessary.+--+-- /See:/ <https://developers.google.com/play/enterprise Google Play EMM API Reference> for @androidenterprise.installs.update@.+module Network.Google.Resource.AndroidEnterprise.Installs.Update+    (+    -- * REST Resource+      InstallsUpdateResource++    -- * Creating a Request+    , installsUpdate+    , InstallsUpdate++    -- * Request Lenses+    , iuEnterpriseId+    , iuPayload+    , iuUserId+    , iuInstallId+    , iuDeviceId+    ) where++import           Network.Google.AndroidEnterprise.Types+import           Network.Google.Prelude++-- | A resource alias for @androidenterprise.installs.update@ method which the+-- 'InstallsUpdate' request conforms to.+type InstallsUpdateResource =+     "androidenterprise" :>+       "v1" :>+         "enterprises" :>+           Capture "enterpriseId" Text :>+             "users" :>+               Capture "userId" Text :>+                 "devices" :>+                   Capture "deviceId" Text :>+                     "installs" :>+                       Capture "installId" Text :>+                         QueryParam "alt" AltJSON :>+                           ReqBody '[JSON] Install :> Put '[JSON] Install++-- | Requests to install the latest version of an app to a device. If the app+-- is already installed then it is updated to the latest version if+-- necessary.+--+-- /See:/ 'installsUpdate' smart constructor.+data InstallsUpdate = InstallsUpdate+    { _iuEnterpriseId :: !Text+    , _iuPayload      :: !Install+    , _iuUserId       :: !Text+    , _iuInstallId    :: !Text+    , _iuDeviceId     :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'InstallsUpdate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'iuEnterpriseId'+--+-- * 'iuPayload'+--+-- * 'iuUserId'+--+-- * 'iuInstallId'+--+-- * 'iuDeviceId'+installsUpdate+    :: Text -- ^ 'iuEnterpriseId'+    -> Install -- ^ 'iuPayload'+    -> Text -- ^ 'iuUserId'+    -> Text -- ^ 'iuInstallId'+    -> Text -- ^ 'iuDeviceId'+    -> InstallsUpdate+installsUpdate pIuEnterpriseId_ pIuPayload_ pIuUserId_ pIuInstallId_ pIuDeviceId_ =+    InstallsUpdate+    { _iuEnterpriseId = pIuEnterpriseId_+    , _iuPayload = pIuPayload_+    , _iuUserId = pIuUserId_+    , _iuInstallId = pIuInstallId_+    , _iuDeviceId = pIuDeviceId_+    }++-- | The ID of the enterprise.+iuEnterpriseId :: Lens' InstallsUpdate Text+iuEnterpriseId+  = lens _iuEnterpriseId+      (\ s a -> s{_iuEnterpriseId = a})++-- | Multipart request metadata.+iuPayload :: Lens' InstallsUpdate Install+iuPayload+  = lens _iuPayload (\ s a -> s{_iuPayload = a})++-- | The ID of the user.+iuUserId :: Lens' InstallsUpdate Text+iuUserId = lens _iuUserId (\ s a -> s{_iuUserId = a})++-- | The ID of the product represented by the install, e.g.+-- \"app:com.google.android.gm\".+iuInstallId :: Lens' InstallsUpdate Text+iuInstallId+  = lens _iuInstallId (\ s a -> s{_iuInstallId = a})++-- | The Android ID of the device.+iuDeviceId :: Lens' InstallsUpdate Text+iuDeviceId+  = lens _iuDeviceId (\ s a -> s{_iuDeviceId = a})++instance GoogleRequest InstallsUpdate where+        type Rs InstallsUpdate = Install+        requestClient InstallsUpdate{..}+          = go _iuEnterpriseId _iuUserId _iuDeviceId+              _iuInstallId+              (Just AltJSON)+              _iuPayload+              androidEnterpriseService+          where go+                  = buildClient (Proxy :: Proxy InstallsUpdateResource)+                      mempty
+ gen/Network/Google/Resource/AndroidEnterprise/Permissions/Get.hs view
@@ -0,0 +1,98 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.AndroidEnterprise.Permissions.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 details of an Android app permission for display to an+-- enterprise admin.+--+-- /See:/ <https://developers.google.com/play/enterprise Google Play EMM API Reference> for @androidenterprise.permissions.get@.+module Network.Google.Resource.AndroidEnterprise.Permissions.Get+    (+    -- * REST Resource+      PermissionsGetResource++    -- * Creating a Request+    , permissionsGet+    , PermissionsGet++    -- * Request Lenses+    , pgLanguage+    , pgPermissionId+    ) where++import           Network.Google.AndroidEnterprise.Types+import           Network.Google.Prelude++-- | A resource alias for @androidenterprise.permissions.get@ method which the+-- 'PermissionsGet' request conforms to.+type PermissionsGetResource =+     "androidenterprise" :>+       "v1" :>+         "permissions" :>+           Capture "permissionId" Text :>+             QueryParam "language" Text :>+               QueryParam "alt" AltJSON :> Get '[JSON] Permission++-- | Retrieves details of an Android app permission for display to an+-- enterprise admin.+--+-- /See:/ 'permissionsGet' smart constructor.+data PermissionsGet = PermissionsGet+    { _pgLanguage     :: !(Maybe Text)+    , _pgPermissionId :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PermissionsGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pgLanguage'+--+-- * 'pgPermissionId'+permissionsGet+    :: Text -- ^ 'pgPermissionId'+    -> PermissionsGet+permissionsGet pPgPermissionId_ =+    PermissionsGet+    { _pgLanguage = Nothing+    , _pgPermissionId = pPgPermissionId_+    }++-- | The BCP47 tag for the user\'s preferred language (e.g. \"en-US\",+-- \"de\")+pgLanguage :: Lens' PermissionsGet (Maybe Text)+pgLanguage+  = lens _pgLanguage (\ s a -> s{_pgLanguage = a})++-- | The ID of the permission.+pgPermissionId :: Lens' PermissionsGet Text+pgPermissionId+  = lens _pgPermissionId+      (\ s a -> s{_pgPermissionId = a})++instance GoogleRequest PermissionsGet where+        type Rs PermissionsGet = Permission+        requestClient PermissionsGet{..}+          = go _pgPermissionId _pgLanguage (Just AltJSON)+              androidEnterpriseService+          where go+                  = buildClient (Proxy :: Proxy PermissionsGetResource)+                      mempty
+ gen/Network/Google/Resource/AndroidEnterprise/Products/Approve.hs view
@@ -0,0 +1,115 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.AndroidEnterprise.Products.Approve+-- 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)+--+-- Approves the specified product (and the relevant app permissions, if+-- any).+--+-- /See:/ <https://developers.google.com/play/enterprise Google Play EMM API Reference> for @androidenterprise.products.approve@.+module Network.Google.Resource.AndroidEnterprise.Products.Approve+    (+    -- * REST Resource+      ProductsApproveResource++    -- * Creating a Request+    , productsApprove+    , ProductsApprove++    -- * Request Lenses+    , paEnterpriseId+    , paPayload+    , paProductId+    ) where++import           Network.Google.AndroidEnterprise.Types+import           Network.Google.Prelude++-- | A resource alias for @androidenterprise.products.approve@ method which the+-- 'ProductsApprove' request conforms to.+type ProductsApproveResource =+     "androidenterprise" :>+       "v1" :>+         "enterprises" :>+           Capture "enterpriseId" Text :>+             "products" :>+               Capture "productId" Text :>+                 "approve" :>+                   QueryParam "alt" AltJSON :>+                     ReqBody '[JSON] ProductsApproveRequest :>+                       Post '[JSON] ()++-- | Approves the specified product (and the relevant app permissions, if+-- any).+--+-- /See:/ 'productsApprove' smart constructor.+data ProductsApprove = ProductsApprove+    { _paEnterpriseId :: !Text+    , _paPayload      :: !ProductsApproveRequest+    , _paProductId    :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProductsApprove' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'paEnterpriseId'+--+-- * 'paPayload'+--+-- * 'paProductId'+productsApprove+    :: Text -- ^ 'paEnterpriseId'+    -> ProductsApproveRequest -- ^ 'paPayload'+    -> Text -- ^ 'paProductId'+    -> ProductsApprove+productsApprove pPaEnterpriseId_ pPaPayload_ pPaProductId_ =+    ProductsApprove+    { _paEnterpriseId = pPaEnterpriseId_+    , _paPayload = pPaPayload_+    , _paProductId = pPaProductId_+    }++-- | The ID of the enterprise.+paEnterpriseId :: Lens' ProductsApprove Text+paEnterpriseId+  = lens _paEnterpriseId+      (\ s a -> s{_paEnterpriseId = a})++-- | Multipart request metadata.+paPayload :: Lens' ProductsApprove ProductsApproveRequest+paPayload+  = lens _paPayload (\ s a -> s{_paPayload = a})++-- | The ID of the product.+paProductId :: Lens' ProductsApprove Text+paProductId+  = lens _paProductId (\ s a -> s{_paProductId = a})++instance GoogleRequest ProductsApprove where+        type Rs ProductsApprove = ()+        requestClient ProductsApprove{..}+          = go _paEnterpriseId _paProductId (Just AltJSON)+              _paPayload+              androidEnterpriseService+          where go+                  = buildClient+                      (Proxy :: Proxy ProductsApproveResource)+                      mempty
+ gen/Network/Google/Resource/AndroidEnterprise/Products/GenerateApprovalURL.hs view
@@ -0,0 +1,132 @@+{-# 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.AndroidEnterprise.Products.GenerateApprovalURL+-- 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)+--+-- Generates a URL that can be rendered in an iframe to display the+-- permissions (if any) of a product. An enterprise admin must view these+-- permissions and accept them on behalf of their organization in order to+-- approve that product. Admins should accept the displayed permissions by+-- interacting with a separate UI element in the EMM console, which in turn+-- should trigger the use of this URL as the approvalUrlInfo.approvalUrl+-- property in a Products.approve call to approve the product. This URL can+-- only be used to display permissions for up to 1 day.+--+-- /See:/ <https://developers.google.com/play/enterprise Google Play EMM API Reference> for @androidenterprise.products.generateApprovalUrl@.+module Network.Google.Resource.AndroidEnterprise.Products.GenerateApprovalURL+    (+    -- * REST Resource+      ProductsGenerateApprovalURLResource++    -- * Creating a Request+    , productsGenerateApprovalURL+    , ProductsGenerateApprovalURL++    -- * Request Lenses+    , pgauLanguageCode+    , pgauEnterpriseId+    , pgauProductId+    ) where++import           Network.Google.AndroidEnterprise.Types+import           Network.Google.Prelude++-- | A resource alias for @androidenterprise.products.generateApprovalUrl@ method which the+-- 'ProductsGenerateApprovalURL' request conforms to.+type ProductsGenerateApprovalURLResource =+     "androidenterprise" :>+       "v1" :>+         "enterprises" :>+           Capture "enterpriseId" Text :>+             "products" :>+               Capture "productId" Text :>+                 "generateApprovalUrl" :>+                   QueryParam "languageCode" Text :>+                     QueryParam "alt" AltJSON :>+                       Post '[JSON] ProductsGenerateApprovalURLResponse++-- | Generates a URL that can be rendered in an iframe to display the+-- permissions (if any) of a product. An enterprise admin must view these+-- permissions and accept them on behalf of their organization in order to+-- approve that product. Admins should accept the displayed permissions by+-- interacting with a separate UI element in the EMM console, which in turn+-- should trigger the use of this URL as the approvalUrlInfo.approvalUrl+-- property in a Products.approve call to approve the product. This URL can+-- only be used to display permissions for up to 1 day.+--+-- /See:/ 'productsGenerateApprovalURL' smart constructor.+data ProductsGenerateApprovalURL = ProductsGenerateApprovalURL+    { _pgauLanguageCode :: !(Maybe Text)+    , _pgauEnterpriseId :: !Text+    , _pgauProductId    :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProductsGenerateApprovalURL' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pgauLanguageCode'+--+-- * 'pgauEnterpriseId'+--+-- * 'pgauProductId'+productsGenerateApprovalURL+    :: Text -- ^ 'pgauEnterpriseId'+    -> Text -- ^ 'pgauProductId'+    -> ProductsGenerateApprovalURL+productsGenerateApprovalURL pPgauEnterpriseId_ pPgauProductId_ =+    ProductsGenerateApprovalURL+    { _pgauLanguageCode = Nothing+    , _pgauEnterpriseId = pPgauEnterpriseId_+    , _pgauProductId = pPgauProductId_+    }++-- | The BCP 47 language code used for permission names and descriptions in+-- the returned iframe, for instance \"en-US\".+pgauLanguageCode :: Lens' ProductsGenerateApprovalURL (Maybe Text)+pgauLanguageCode+  = lens _pgauLanguageCode+      (\ s a -> s{_pgauLanguageCode = a})++-- | The ID of the enterprise.+pgauEnterpriseId :: Lens' ProductsGenerateApprovalURL Text+pgauEnterpriseId+  = lens _pgauEnterpriseId+      (\ s a -> s{_pgauEnterpriseId = a})++-- | The ID of the product.+pgauProductId :: Lens' ProductsGenerateApprovalURL Text+pgauProductId+  = lens _pgauProductId+      (\ s a -> s{_pgauProductId = a})++instance GoogleRequest ProductsGenerateApprovalURL+         where+        type Rs ProductsGenerateApprovalURL =+             ProductsGenerateApprovalURLResponse+        requestClient ProductsGenerateApprovalURL{..}+          = go _pgauEnterpriseId _pgauProductId+              _pgauLanguageCode+              (Just AltJSON)+              androidEnterpriseService+          where go+                  = buildClient+                      (Proxy :: Proxy ProductsGenerateApprovalURLResource)+                      mempty
+ gen/Network/Google/Resource/AndroidEnterprise/Products/Get.hs view
@@ -0,0 +1,110 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.AndroidEnterprise.Products.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 details of a product for display to an enterprise admin.+--+-- /See:/ <https://developers.google.com/play/enterprise Google Play EMM API Reference> for @androidenterprise.products.get@.+module Network.Google.Resource.AndroidEnterprise.Products.Get+    (+    -- * REST Resource+      ProductsGetResource++    -- * Creating a Request+    , productsGet+    , ProductsGet++    -- * Request Lenses+    , proEnterpriseId+    , proLanguage+    , proProductId+    ) where++import           Network.Google.AndroidEnterprise.Types+import           Network.Google.Prelude++-- | A resource alias for @androidenterprise.products.get@ method which the+-- 'ProductsGet' request conforms to.+type ProductsGetResource =+     "androidenterprise" :>+       "v1" :>+         "enterprises" :>+           Capture "enterpriseId" Text :>+             "products" :>+               Capture "productId" Text :>+                 QueryParam "language" Text :>+                   QueryParam "alt" AltJSON :> Get '[JSON] Product++-- | Retrieves details of a product for display to an enterprise admin.+--+-- /See:/ 'productsGet' smart constructor.+data ProductsGet = ProductsGet+    { _proEnterpriseId :: !Text+    , _proLanguage     :: !(Maybe Text)+    , _proProductId    :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProductsGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'proEnterpriseId'+--+-- * 'proLanguage'+--+-- * 'proProductId'+productsGet+    :: Text -- ^ 'proEnterpriseId'+    -> Text -- ^ 'proProductId'+    -> ProductsGet+productsGet pProEnterpriseId_ pProProductId_ =+    ProductsGet+    { _proEnterpriseId = pProEnterpriseId_+    , _proLanguage = Nothing+    , _proProductId = pProProductId_+    }++-- | The ID of the enterprise.+proEnterpriseId :: Lens' ProductsGet Text+proEnterpriseId+  = lens _proEnterpriseId+      (\ s a -> s{_proEnterpriseId = a})++-- | The BCP47 tag for the user\'s preferred language (e.g. \"en-US\",+-- \"de\").+proLanguage :: Lens' ProductsGet (Maybe Text)+proLanguage+  = lens _proLanguage (\ s a -> s{_proLanguage = a})++-- | The ID of the product, e.g. \"app:com.google.android.gm\".+proProductId :: Lens' ProductsGet Text+proProductId+  = lens _proProductId (\ s a -> s{_proProductId = a})++instance GoogleRequest ProductsGet where+        type Rs ProductsGet = Product+        requestClient ProductsGet{..}+          = go _proEnterpriseId _proProductId _proLanguage+              (Just AltJSON)+              androidEnterpriseService+          where go+                  = buildClient (Proxy :: Proxy ProductsGetResource)+                      mempty
+ gen/Network/Google/Resource/AndroidEnterprise/Products/GetAppRestrictionsSchema.hs view
@@ -0,0 +1,123 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.AndroidEnterprise.Products.GetAppRestrictionsSchema+-- 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 schema defining app restrictions configurable for this+-- product. All products have a schema, but this may be empty if no app+-- restrictions are defined.+--+-- /See:/ <https://developers.google.com/play/enterprise Google Play EMM API Reference> for @androidenterprise.products.getAppRestrictionsSchema@.+module Network.Google.Resource.AndroidEnterprise.Products.GetAppRestrictionsSchema+    (+    -- * REST Resource+      ProductsGetAppRestrictionsSchemaResource++    -- * Creating a Request+    , productsGetAppRestrictionsSchema+    , ProductsGetAppRestrictionsSchema++    -- * Request Lenses+    , pgarsEnterpriseId+    , pgarsLanguage+    , pgarsProductId+    ) where++import           Network.Google.AndroidEnterprise.Types+import           Network.Google.Prelude++-- | A resource alias for @androidenterprise.products.getAppRestrictionsSchema@ method which the+-- 'ProductsGetAppRestrictionsSchema' request conforms to.+type ProductsGetAppRestrictionsSchemaResource =+     "androidenterprise" :>+       "v1" :>+         "enterprises" :>+           Capture "enterpriseId" Text :>+             "products" :>+               Capture "productId" Text :>+                 "appRestrictionsSchema" :>+                   QueryParam "language" Text :>+                     QueryParam "alt" AltJSON :>+                       Get '[JSON] AppRestrictionsSchema++-- | Retrieves the schema defining app restrictions configurable for this+-- product. All products have a schema, but this may be empty if no app+-- restrictions are defined.+--+-- /See:/ 'productsGetAppRestrictionsSchema' smart constructor.+data ProductsGetAppRestrictionsSchema = ProductsGetAppRestrictionsSchema+    { _pgarsEnterpriseId :: !Text+    , _pgarsLanguage     :: !(Maybe Text)+    , _pgarsProductId    :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProductsGetAppRestrictionsSchema' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pgarsEnterpriseId'+--+-- * 'pgarsLanguage'+--+-- * 'pgarsProductId'+productsGetAppRestrictionsSchema+    :: Text -- ^ 'pgarsEnterpriseId'+    -> Text -- ^ 'pgarsProductId'+    -> ProductsGetAppRestrictionsSchema+productsGetAppRestrictionsSchema pPgarsEnterpriseId_ pPgarsProductId_ =+    ProductsGetAppRestrictionsSchema+    { _pgarsEnterpriseId = pPgarsEnterpriseId_+    , _pgarsLanguage = Nothing+    , _pgarsProductId = pPgarsProductId_+    }++-- | The ID of the enterprise.+pgarsEnterpriseId :: Lens' ProductsGetAppRestrictionsSchema Text+pgarsEnterpriseId+  = lens _pgarsEnterpriseId+      (\ s a -> s{_pgarsEnterpriseId = a})++-- | The BCP47 tag for the user\'s preferred language (e.g. \"en-US\",+-- \"de\").+pgarsLanguage :: Lens' ProductsGetAppRestrictionsSchema (Maybe Text)+pgarsLanguage+  = lens _pgarsLanguage+      (\ s a -> s{_pgarsLanguage = a})++-- | The ID of the product.+pgarsProductId :: Lens' ProductsGetAppRestrictionsSchema Text+pgarsProductId+  = lens _pgarsProductId+      (\ s a -> s{_pgarsProductId = a})++instance GoogleRequest+         ProductsGetAppRestrictionsSchema where+        type Rs ProductsGetAppRestrictionsSchema =+             AppRestrictionsSchema+        requestClient ProductsGetAppRestrictionsSchema{..}+          = go _pgarsEnterpriseId _pgarsProductId+              _pgarsLanguage+              (Just AltJSON)+              androidEnterpriseService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy ProductsGetAppRestrictionsSchemaResource)+                      mempty
+ gen/Network/Google/Resource/AndroidEnterprise/Products/GetPermissions.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.AndroidEnterprise.Products.GetPermissions+-- 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 Android app permissions required by this app.+--+-- /See:/ <https://developers.google.com/play/enterprise Google Play EMM API Reference> for @androidenterprise.products.getPermissions@.+module Network.Google.Resource.AndroidEnterprise.Products.GetPermissions+    (+    -- * REST Resource+      ProductsGetPermissionsResource++    -- * Creating a Request+    , productsGetPermissions+    , ProductsGetPermissions++    -- * Request Lenses+    , pgpEnterpriseId+    , pgpProductId+    ) where++import           Network.Google.AndroidEnterprise.Types+import           Network.Google.Prelude++-- | A resource alias for @androidenterprise.products.getPermissions@ method which the+-- 'ProductsGetPermissions' request conforms to.+type ProductsGetPermissionsResource =+     "androidenterprise" :>+       "v1" :>+         "enterprises" :>+           Capture "enterpriseId" Text :>+             "products" :>+               Capture "productId" Text :>+                 "permissions" :>+                   QueryParam "alt" AltJSON :>+                     Get '[JSON] ProductPermissions++-- | Retrieves the Android app permissions required by this app.+--+-- /See:/ 'productsGetPermissions' smart constructor.+data ProductsGetPermissions = ProductsGetPermissions+    { _pgpEnterpriseId :: !Text+    , _pgpProductId    :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProductsGetPermissions' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pgpEnterpriseId'+--+-- * 'pgpProductId'+productsGetPermissions+    :: Text -- ^ 'pgpEnterpriseId'+    -> Text -- ^ 'pgpProductId'+    -> ProductsGetPermissions+productsGetPermissions pPgpEnterpriseId_ pPgpProductId_ =+    ProductsGetPermissions+    { _pgpEnterpriseId = pPgpEnterpriseId_+    , _pgpProductId = pPgpProductId_+    }++-- | The ID of the enterprise.+pgpEnterpriseId :: Lens' ProductsGetPermissions Text+pgpEnterpriseId+  = lens _pgpEnterpriseId+      (\ s a -> s{_pgpEnterpriseId = a})++-- | The ID of the product.+pgpProductId :: Lens' ProductsGetPermissions Text+pgpProductId+  = lens _pgpProductId (\ s a -> s{_pgpProductId = a})++instance GoogleRequest ProductsGetPermissions where+        type Rs ProductsGetPermissions = ProductPermissions+        requestClient ProductsGetPermissions{..}+          = go _pgpEnterpriseId _pgpProductId (Just AltJSON)+              androidEnterpriseService+          where go+                  = buildClient+                      (Proxy :: Proxy ProductsGetPermissionsResource)+                      mempty
+ gen/Network/Google/Resource/AndroidEnterprise/Products/UpdatePermissions.hs view
@@ -0,0 +1,117 @@+{-# 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.AndroidEnterprise.Products.UpdatePermissions+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates the set of Android app permissions for this app that have been+-- accepted by the enterprise.+--+-- /See:/ <https://developers.google.com/play/enterprise Google Play EMM API Reference> for @androidenterprise.products.updatePermissions@.+module Network.Google.Resource.AndroidEnterprise.Products.UpdatePermissions+    (+    -- * REST Resource+      ProductsUpdatePermissionsResource++    -- * Creating a Request+    , productsUpdatePermissions+    , ProductsUpdatePermissions++    -- * Request Lenses+    , pupEnterpriseId+    , pupPayload+    , pupProductId+    ) where++import           Network.Google.AndroidEnterprise.Types+import           Network.Google.Prelude++-- | A resource alias for @androidenterprise.products.updatePermissions@ method which the+-- 'ProductsUpdatePermissions' request conforms to.+type ProductsUpdatePermissionsResource =+     "androidenterprise" :>+       "v1" :>+         "enterprises" :>+           Capture "enterpriseId" Text :>+             "products" :>+               Capture "productId" Text :>+                 "permissions" :>+                   QueryParam "alt" AltJSON :>+                     ReqBody '[JSON] ProductPermissions :>+                       Put '[JSON] ProductPermissions++-- | Updates the set of Android app permissions for this app that have been+-- accepted by the enterprise.+--+-- /See:/ 'productsUpdatePermissions' smart constructor.+data ProductsUpdatePermissions = ProductsUpdatePermissions+    { _pupEnterpriseId :: !Text+    , _pupPayload      :: !ProductPermissions+    , _pupProductId    :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProductsUpdatePermissions' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pupEnterpriseId'+--+-- * 'pupPayload'+--+-- * 'pupProductId'+productsUpdatePermissions+    :: Text -- ^ 'pupEnterpriseId'+    -> ProductPermissions -- ^ 'pupPayload'+    -> Text -- ^ 'pupProductId'+    -> ProductsUpdatePermissions+productsUpdatePermissions pPupEnterpriseId_ pPupPayload_ pPupProductId_ =+    ProductsUpdatePermissions+    { _pupEnterpriseId = pPupEnterpriseId_+    , _pupPayload = pPupPayload_+    , _pupProductId = pPupProductId_+    }++-- | The ID of the enterprise.+pupEnterpriseId :: Lens' ProductsUpdatePermissions Text+pupEnterpriseId+  = lens _pupEnterpriseId+      (\ s a -> s{_pupEnterpriseId = a})++-- | Multipart request metadata.+pupPayload :: Lens' ProductsUpdatePermissions ProductPermissions+pupPayload+  = lens _pupPayload (\ s a -> s{_pupPayload = a})++-- | The ID of the product.+pupProductId :: Lens' ProductsUpdatePermissions Text+pupProductId+  = lens _pupProductId (\ s a -> s{_pupProductId = a})++instance GoogleRequest ProductsUpdatePermissions+         where+        type Rs ProductsUpdatePermissions =+             ProductPermissions+        requestClient ProductsUpdatePermissions{..}+          = go _pupEnterpriseId _pupProductId (Just AltJSON)+              _pupPayload+              androidEnterpriseService+          where go+                  = buildClient+                      (Proxy :: Proxy ProductsUpdatePermissionsResource)+                      mempty
+ gen/Network/Google/Resource/AndroidEnterprise/Users/GenerateToken.hs view
@@ -0,0 +1,103 @@+{-# 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.AndroidEnterprise.Users.GenerateToken+-- 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)+--+-- Generates a token (activation code) to allow this user to configure+-- their work account in the Android Setup Wizard. Revokes any previously+-- generated token.+--+-- /See:/ <https://developers.google.com/play/enterprise Google Play EMM API Reference> for @androidenterprise.users.generateToken@.+module Network.Google.Resource.AndroidEnterprise.Users.GenerateToken+    (+    -- * REST Resource+      UsersGenerateTokenResource++    -- * Creating a Request+    , usersGenerateToken+    , UsersGenerateToken++    -- * Request Lenses+    , ugtEnterpriseId+    , ugtUserId+    ) where++import           Network.Google.AndroidEnterprise.Types+import           Network.Google.Prelude++-- | A resource alias for @androidenterprise.users.generateToken@ method which the+-- 'UsersGenerateToken' request conforms to.+type UsersGenerateTokenResource =+     "androidenterprise" :>+       "v1" :>+         "enterprises" :>+           Capture "enterpriseId" Text :>+             "users" :>+               Capture "userId" Text :>+                 "token" :>+                   QueryParam "alt" AltJSON :> Post '[JSON] UserToken++-- | Generates a token (activation code) to allow this user to configure+-- their work account in the Android Setup Wizard. Revokes any previously+-- generated token.+--+-- /See:/ 'usersGenerateToken' smart constructor.+data UsersGenerateToken = UsersGenerateToken+    { _ugtEnterpriseId :: !Text+    , _ugtUserId       :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'UsersGenerateToken' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ugtEnterpriseId'+--+-- * 'ugtUserId'+usersGenerateToken+    :: Text -- ^ 'ugtEnterpriseId'+    -> Text -- ^ 'ugtUserId'+    -> UsersGenerateToken+usersGenerateToken pUgtEnterpriseId_ pUgtUserId_ =+    UsersGenerateToken+    { _ugtEnterpriseId = pUgtEnterpriseId_+    , _ugtUserId = pUgtUserId_+    }++-- | The ID of the enterprise.+ugtEnterpriseId :: Lens' UsersGenerateToken Text+ugtEnterpriseId+  = lens _ugtEnterpriseId+      (\ s a -> s{_ugtEnterpriseId = a})++-- | The ID of the user.+ugtUserId :: Lens' UsersGenerateToken Text+ugtUserId+  = lens _ugtUserId (\ s a -> s{_ugtUserId = a})++instance GoogleRequest UsersGenerateToken where+        type Rs UsersGenerateToken = UserToken+        requestClient UsersGenerateToken{..}+          = go _ugtEnterpriseId _ugtUserId (Just AltJSON)+              androidEnterpriseService+          where go+                  = buildClient+                      (Proxy :: Proxy UsersGenerateTokenResource)+                      mempty
+ gen/Network/Google/Resource/AndroidEnterprise/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.AndroidEnterprise.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)+--+-- Retrieves a user\'s details.+--+-- /See:/ <https://developers.google.com/play/enterprise Google Play EMM API Reference> for @androidenterprise.users.get@.+module Network.Google.Resource.AndroidEnterprise.Users.Get+    (+    -- * REST Resource+      UsersGetResource++    -- * Creating a Request+    , usersGet+    , UsersGet++    -- * Request Lenses+    , ugEnterpriseId+    , ugUserId+    ) where++import           Network.Google.AndroidEnterprise.Types+import           Network.Google.Prelude++-- | A resource alias for @androidenterprise.users.get@ method which the+-- 'UsersGet' request conforms to.+type UsersGetResource =+     "androidenterprise" :>+       "v1" :>+         "enterprises" :>+           Capture "enterpriseId" Text :>+             "users" :>+               Capture "userId" Text :>+                 QueryParam "alt" AltJSON :> Get '[JSON] User++-- | Retrieves a user\'s details.+--+-- /See:/ 'usersGet' smart constructor.+data UsersGet = UsersGet+    { _ugEnterpriseId :: !Text+    , _ugUserId       :: !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:+--+-- * 'ugEnterpriseId'+--+-- * 'ugUserId'+usersGet+    :: Text -- ^ 'ugEnterpriseId'+    -> Text -- ^ 'ugUserId'+    -> UsersGet+usersGet pUgEnterpriseId_ pUgUserId_ =+    UsersGet+    { _ugEnterpriseId = pUgEnterpriseId_+    , _ugUserId = pUgUserId_+    }++-- | The ID of the enterprise.+ugEnterpriseId :: Lens' UsersGet Text+ugEnterpriseId+  = lens _ugEnterpriseId+      (\ s a -> s{_ugEnterpriseId = a})++-- | The ID of the user.+ugUserId :: Lens' UsersGet Text+ugUserId = lens _ugUserId (\ s a -> s{_ugUserId = a})++instance GoogleRequest UsersGet where+        type Rs UsersGet = User+        requestClient UsersGet{..}+          = go _ugEnterpriseId _ugUserId (Just AltJSON)+              androidEnterpriseService+          where go+                  = buildClient (Proxy :: Proxy UsersGetResource)+                      mempty
+ gen/Network/Google/Resource/AndroidEnterprise/Users/GetAvailableProductSet.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.AndroidEnterprise.Users.GetAvailableProductSet+-- 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 set of products a user is entitled to access.+--+-- /See:/ <https://developers.google.com/play/enterprise Google Play EMM API Reference> for @androidenterprise.users.getAvailableProductSet@.+module Network.Google.Resource.AndroidEnterprise.Users.GetAvailableProductSet+    (+    -- * REST Resource+      UsersGetAvailableProductSetResource++    -- * Creating a Request+    , usersGetAvailableProductSet+    , UsersGetAvailableProductSet++    -- * Request Lenses+    , ugapsEnterpriseId+    , ugapsUserId+    ) where++import           Network.Google.AndroidEnterprise.Types+import           Network.Google.Prelude++-- | A resource alias for @androidenterprise.users.getAvailableProductSet@ method which the+-- 'UsersGetAvailableProductSet' request conforms to.+type UsersGetAvailableProductSetResource =+     "androidenterprise" :>+       "v1" :>+         "enterprises" :>+           Capture "enterpriseId" Text :>+             "users" :>+               Capture "userId" Text :>+                 "availableProductSet" :>+                   QueryParam "alt" AltJSON :> Get '[JSON] ProductSet++-- | Retrieves the set of products a user is entitled to access.+--+-- /See:/ 'usersGetAvailableProductSet' smart constructor.+data UsersGetAvailableProductSet = UsersGetAvailableProductSet+    { _ugapsEnterpriseId :: !Text+    , _ugapsUserId       :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'UsersGetAvailableProductSet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ugapsEnterpriseId'+--+-- * 'ugapsUserId'+usersGetAvailableProductSet+    :: Text -- ^ 'ugapsEnterpriseId'+    -> Text -- ^ 'ugapsUserId'+    -> UsersGetAvailableProductSet+usersGetAvailableProductSet pUgapsEnterpriseId_ pUgapsUserId_ =+    UsersGetAvailableProductSet+    { _ugapsEnterpriseId = pUgapsEnterpriseId_+    , _ugapsUserId = pUgapsUserId_+    }++-- | The ID of the enterprise.+ugapsEnterpriseId :: Lens' UsersGetAvailableProductSet Text+ugapsEnterpriseId+  = lens _ugapsEnterpriseId+      (\ s a -> s{_ugapsEnterpriseId = a})++-- | The ID of the user.+ugapsUserId :: Lens' UsersGetAvailableProductSet Text+ugapsUserId+  = lens _ugapsUserId (\ s a -> s{_ugapsUserId = a})++instance GoogleRequest UsersGetAvailableProductSet+         where+        type Rs UsersGetAvailableProductSet = ProductSet+        requestClient UsersGetAvailableProductSet{..}+          = go _ugapsEnterpriseId _ugapsUserId (Just AltJSON)+              androidEnterpriseService+          where go+                  = buildClient+                      (Proxy :: Proxy UsersGetAvailableProductSetResource)+                      mempty
+ gen/Network/Google/Resource/AndroidEnterprise/Users/List.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.AndroidEnterprise.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)+--+-- Looks up a user by email address.+--+-- /See:/ <https://developers.google.com/play/enterprise Google Play EMM API Reference> for @androidenterprise.users.list@.+module Network.Google.Resource.AndroidEnterprise.Users.List+    (+    -- * REST Resource+      UsersListResource++    -- * Creating a Request+    , usersList+    , UsersList++    -- * Request Lenses+    , ulEmail+    , ulEnterpriseId+    ) where++import           Network.Google.AndroidEnterprise.Types+import           Network.Google.Prelude++-- | A resource alias for @androidenterprise.users.list@ method which the+-- 'UsersList' request conforms to.+type UsersListResource =+     "androidenterprise" :>+       "v1" :>+         "enterprises" :>+           Capture "enterpriseId" Text :>+             "users" :>+               QueryParam "email" Text :>+                 QueryParam "alt" AltJSON :>+                   Get '[JSON] UsersListResponse++-- | Looks up a user by email address.+--+-- /See:/ 'usersList' smart constructor.+data UsersList = UsersList+    { _ulEmail        :: !Text+    , _ulEnterpriseId :: !Text+    } 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:+--+-- * 'ulEmail'+--+-- * 'ulEnterpriseId'+usersList+    :: Text -- ^ 'ulEmail'+    -> Text -- ^ 'ulEnterpriseId'+    -> UsersList+usersList pUlEmail_ pUlEnterpriseId_ =+    UsersList+    { _ulEmail = pUlEmail_+    , _ulEnterpriseId = pUlEnterpriseId_+    }++-- | The exact primary email address of the user to look up.+ulEmail :: Lens' UsersList Text+ulEmail = lens _ulEmail (\ s a -> s{_ulEmail = a})++-- | The ID of the enterprise.+ulEnterpriseId :: Lens' UsersList Text+ulEnterpriseId+  = lens _ulEnterpriseId+      (\ s a -> s{_ulEnterpriseId = a})++instance GoogleRequest UsersList where+        type Rs UsersList = UsersListResponse+        requestClient UsersList{..}+          = go _ulEnterpriseId (Just _ulEmail) (Just AltJSON)+              androidEnterpriseService+          where go+                  = buildClient (Proxy :: Proxy UsersListResource)+                      mempty
+ gen/Network/Google/Resource/AndroidEnterprise/Users/RevokeToken.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.AndroidEnterprise.Users.RevokeToken+-- 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)+--+-- Revokes a previously generated token (activation code) for the user.+--+-- /See:/ <https://developers.google.com/play/enterprise Google Play EMM API Reference> for @androidenterprise.users.revokeToken@.+module Network.Google.Resource.AndroidEnterprise.Users.RevokeToken+    (+    -- * REST Resource+      UsersRevokeTokenResource++    -- * Creating a Request+    , usersRevokeToken+    , UsersRevokeToken++    -- * Request Lenses+    , urtEnterpriseId+    , urtUserId+    ) where++import           Network.Google.AndroidEnterprise.Types+import           Network.Google.Prelude++-- | A resource alias for @androidenterprise.users.revokeToken@ method which the+-- 'UsersRevokeToken' request conforms to.+type UsersRevokeTokenResource =+     "androidenterprise" :>+       "v1" :>+         "enterprises" :>+           Capture "enterpriseId" Text :>+             "users" :>+               Capture "userId" Text :>+                 "token" :>+                   QueryParam "alt" AltJSON :> Delete '[JSON] ()++-- | Revokes a previously generated token (activation code) for the user.+--+-- /See:/ 'usersRevokeToken' smart constructor.+data UsersRevokeToken = UsersRevokeToken+    { _urtEnterpriseId :: !Text+    , _urtUserId       :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'UsersRevokeToken' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'urtEnterpriseId'+--+-- * 'urtUserId'+usersRevokeToken+    :: Text -- ^ 'urtEnterpriseId'+    -> Text -- ^ 'urtUserId'+    -> UsersRevokeToken+usersRevokeToken pUrtEnterpriseId_ pUrtUserId_ =+    UsersRevokeToken+    { _urtEnterpriseId = pUrtEnterpriseId_+    , _urtUserId = pUrtUserId_+    }++-- | The ID of the enterprise.+urtEnterpriseId :: Lens' UsersRevokeToken Text+urtEnterpriseId+  = lens _urtEnterpriseId+      (\ s a -> s{_urtEnterpriseId = a})++-- | The ID of the user.+urtUserId :: Lens' UsersRevokeToken Text+urtUserId+  = lens _urtUserId (\ s a -> s{_urtUserId = a})++instance GoogleRequest UsersRevokeToken where+        type Rs UsersRevokeToken = ()+        requestClient UsersRevokeToken{..}+          = go _urtEnterpriseId _urtUserId (Just AltJSON)+              androidEnterpriseService+          where go+                  = buildClient+                      (Proxy :: Proxy UsersRevokeTokenResource)+                      mempty
+ gen/Network/Google/Resource/AndroidEnterprise/Users/SetAvailableProductSet.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.AndroidEnterprise.Users.SetAvailableProductSet+-- 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)+--+-- Modifies the set of products a user is entitled to access.+--+-- /See:/ <https://developers.google.com/play/enterprise Google Play EMM API Reference> for @androidenterprise.users.setAvailableProductSet@.+module Network.Google.Resource.AndroidEnterprise.Users.SetAvailableProductSet+    (+    -- * REST Resource+      UsersSetAvailableProductSetResource++    -- * Creating a Request+    , usersSetAvailableProductSet+    , UsersSetAvailableProductSet++    -- * Request Lenses+    , usapsEnterpriseId+    , usapsPayload+    , usapsUserId+    ) where++import           Network.Google.AndroidEnterprise.Types+import           Network.Google.Prelude++-- | A resource alias for @androidenterprise.users.setAvailableProductSet@ method which the+-- 'UsersSetAvailableProductSet' request conforms to.+type UsersSetAvailableProductSetResource =+     "androidenterprise" :>+       "v1" :>+         "enterprises" :>+           Capture "enterpriseId" Text :>+             "users" :>+               Capture "userId" Text :>+                 "availableProductSet" :>+                   QueryParam "alt" AltJSON :>+                     ReqBody '[JSON] ProductSet :> Put '[JSON] ProductSet++-- | Modifies the set of products a user is entitled to access.+--+-- /See:/ 'usersSetAvailableProductSet' smart constructor.+data UsersSetAvailableProductSet = UsersSetAvailableProductSet+    { _usapsEnterpriseId :: !Text+    , _usapsPayload      :: !ProductSet+    , _usapsUserId       :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'UsersSetAvailableProductSet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'usapsEnterpriseId'+--+-- * 'usapsPayload'+--+-- * 'usapsUserId'+usersSetAvailableProductSet+    :: Text -- ^ 'usapsEnterpriseId'+    -> ProductSet -- ^ 'usapsPayload'+    -> Text -- ^ 'usapsUserId'+    -> UsersSetAvailableProductSet+usersSetAvailableProductSet pUsapsEnterpriseId_ pUsapsPayload_ pUsapsUserId_ =+    UsersSetAvailableProductSet+    { _usapsEnterpriseId = pUsapsEnterpriseId_+    , _usapsPayload = pUsapsPayload_+    , _usapsUserId = pUsapsUserId_+    }++-- | The ID of the enterprise.+usapsEnterpriseId :: Lens' UsersSetAvailableProductSet Text+usapsEnterpriseId+  = lens _usapsEnterpriseId+      (\ s a -> s{_usapsEnterpriseId = a})++-- | Multipart request metadata.+usapsPayload :: Lens' UsersSetAvailableProductSet ProductSet+usapsPayload+  = lens _usapsPayload (\ s a -> s{_usapsPayload = a})++-- | The ID of the user.+usapsUserId :: Lens' UsersSetAvailableProductSet Text+usapsUserId+  = lens _usapsUserId (\ s a -> s{_usapsUserId = a})++instance GoogleRequest UsersSetAvailableProductSet+         where+        type Rs UsersSetAvailableProductSet = ProductSet+        requestClient UsersSetAvailableProductSet{..}+          = go _usapsEnterpriseId _usapsUserId (Just AltJSON)+              _usapsPayload+              androidEnterpriseService+          where go+                  = buildClient+                      (Proxy :: Proxy UsersSetAvailableProductSetResource)+                      mempty
+ gogol-android-enterprise.cabal view
@@ -0,0 +1,95 @@+name:                  gogol-android-enterprise+version:               0.0.1+synopsis:              Google Play EMM 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:+    Allows MDMs\/EMMs and enterprises to manage the deployment of apps to+    Android for Work users.+    .+    /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 @v1@+    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.AndroidEnterprise+        , Network.Google.AndroidEnterprise.Types+        , Network.Google.Resource.AndroidEnterprise.Collections.Delete+        , Network.Google.Resource.AndroidEnterprise.Collections.Get+        , Network.Google.Resource.AndroidEnterprise.Collections.Insert+        , Network.Google.Resource.AndroidEnterprise.Collections.List+        , Network.Google.Resource.AndroidEnterprise.Collections.Patch+        , Network.Google.Resource.AndroidEnterprise.Collections.Update+        , Network.Google.Resource.AndroidEnterprise.Collectionviewers.Delete+        , Network.Google.Resource.AndroidEnterprise.Collectionviewers.Get+        , Network.Google.Resource.AndroidEnterprise.Collectionviewers.List+        , Network.Google.Resource.AndroidEnterprise.Collectionviewers.Patch+        , Network.Google.Resource.AndroidEnterprise.Collectionviewers.Update+        , Network.Google.Resource.AndroidEnterprise.Devices.Get+        , Network.Google.Resource.AndroidEnterprise.Devices.GetState+        , Network.Google.Resource.AndroidEnterprise.Devices.List+        , Network.Google.Resource.AndroidEnterprise.Devices.SetState+        , Network.Google.Resource.AndroidEnterprise.Enterprises.Delete+        , Network.Google.Resource.AndroidEnterprise.Enterprises.Enroll+        , Network.Google.Resource.AndroidEnterprise.Enterprises.Get+        , Network.Google.Resource.AndroidEnterprise.Enterprises.Insert+        , Network.Google.Resource.AndroidEnterprise.Enterprises.List+        , Network.Google.Resource.AndroidEnterprise.Enterprises.SendTestPushNotification+        , Network.Google.Resource.AndroidEnterprise.Enterprises.SetAccount+        , Network.Google.Resource.AndroidEnterprise.Enterprises.Unenroll+        , Network.Google.Resource.AndroidEnterprise.Entitlements.Delete+        , Network.Google.Resource.AndroidEnterprise.Entitlements.Get+        , Network.Google.Resource.AndroidEnterprise.Entitlements.List+        , Network.Google.Resource.AndroidEnterprise.Entitlements.Patch+        , Network.Google.Resource.AndroidEnterprise.Entitlements.Update+        , Network.Google.Resource.AndroidEnterprise.GrouplicenseUsers.List+        , Network.Google.Resource.AndroidEnterprise.Grouplicenses.Get+        , Network.Google.Resource.AndroidEnterprise.Grouplicenses.List+        , Network.Google.Resource.AndroidEnterprise.Installs.Delete+        , Network.Google.Resource.AndroidEnterprise.Installs.Get+        , Network.Google.Resource.AndroidEnterprise.Installs.List+        , Network.Google.Resource.AndroidEnterprise.Installs.Patch+        , Network.Google.Resource.AndroidEnterprise.Installs.Update+        , Network.Google.Resource.AndroidEnterprise.Permissions.Get+        , Network.Google.Resource.AndroidEnterprise.Products.Approve+        , Network.Google.Resource.AndroidEnterprise.Products.GenerateApprovalURL+        , Network.Google.Resource.AndroidEnterprise.Products.Get+        , Network.Google.Resource.AndroidEnterprise.Products.GetAppRestrictionsSchema+        , Network.Google.Resource.AndroidEnterprise.Products.GetPermissions+        , Network.Google.Resource.AndroidEnterprise.Products.UpdatePermissions+        , Network.Google.Resource.AndroidEnterprise.Users.GenerateToken+        , Network.Google.Resource.AndroidEnterprise.Users.Get+        , Network.Google.Resource.AndroidEnterprise.Users.GetAvailableProductSet+        , Network.Google.Resource.AndroidEnterprise.Users.List+        , Network.Google.Resource.AndroidEnterprise.Users.RevokeToken+        , Network.Google.Resource.AndroidEnterprise.Users.SetAvailableProductSet++    other-modules:+          Network.Google.AndroidEnterprise.Types.Product+        , Network.Google.AndroidEnterprise.Types.Sum++    build-depends:+          gogol-core == 0.0.1.*+        , base       >= 4.7 && < 5